Mike Ault's thoughts on various topics, Oracle related and not. Note: I reserve the right to delete comments that are not contributing to the overall theme of the BLOG or are insulting or demeaning to anyone. The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer.

Sunday, February 18, 2018

Ethereum as a Competitor to Hyperledger


Ethereum as a Blockchain Competitor to Hyperledger

Ethereum, a cryptocurrency based on blockchain, is making a bid to become a competitor in the non-cryptocurrency uses of blockchain. In recent months Ethereum has released the ERC721 protocol for non-fungible assets for use with their blockchain. An example of the use of the ERC721 nonfungible token standard with Ethereum is the internet based trading of Cryptotkitties.

Ethereum as a basic cryptocurrency requires that the producer provide proof of work to create an Ether coin similar to Bitcoin. The creation of an Ether coin generates a block. The entity keeping the block and the creator establish a relation through the use of crypto-keys and wallets. A wallet can be as simple as a piece of paper holding the keys or a fully secure electronic wallet. If the key values are lost there is no way for the holder of the Ether coins to get to their assets and they are forfeit.

Ethereum transactions have grown from just over a thousand transactions per day in August of 2015 to close to one million with a peak of 1,349,890 on January 4, 2018. As of February 18, 2018, the total Ethereum supply was 97,693,097.41 with a market capitalization of $92,305,323,083 USD. The three supply types for Ethereum are Genesis, Block Rewards and Uncle Rewards with Genesis holding the majority supply at 72,009,990 coins.

Cryptokitties as a Non-Fungible Example

While Cryptokitties sounds frivolous and has no purpose other than to demonstrate PT Barnum's famous axiom, it shows the potential for this Hyperledger competitor. Cryptokitties are cartoon images of cats that have specific digital genes. When two of the Cryptokitties are bred by their owners, a proprietary algorithm is used to combine the digital genes and produce a new offspring with characteristics blended from both parents. People buy and sell these Cryptokitties using Ethereum cryptocurrency. Each Cryptokitty is supportedby a blockchain. The initial trading of Cryptokitties generated millions of dollars of activity and shut down the Ethereum network on their first day of trading, proving sometimes a project's worse enemy is success. You may laugh at this but a recent “rare” Cryptokitty sold for the equivalent of $110,000.00 USD. From their launch in November of 2017 to December 17, a mere 27 days, 153,739 kitties were bought and sold at a value of 16.6 million USD.

Changes to Ethereum

Ethereum currently uses proof of work (POW) as a basis, similar to Bitcoin. Ethereum wants to move to proof of stake (POS) to reduce computing requirements. Each Ethereum contract uses two components, gas and Ether. Gas is a subset of Ethereum and is used to pay for the transaction, the more gas you give, the more computing resource can be applied to your contract. It wasn’t clear what happens to the resource (measured in Wei) represented by gas, it could be assumed that is collected by the Ethereum resource provider as payment for use of the Ethereum network. Wei is the Ethereum currency and is what is traded in a non-ERC721 token. The fungible type of token is based on ERC20 fungible token standard and is how Ether is traded.

Getting Gas

In Ethereum, gas is a measure of computational effort. Each operation is accorded a fixed amount of gas. A possible example would be doing a simple addition would cost 3 gas, doing a hash, 30 and sending a transaction 21000. A single unit of gas is fixed in price at 10 Szabo which is 1/100,000 of an ether (a single Ethereum coin.)

Ethereum Denominations

Ether is measured in Finney, Szabo and Wei. Finney was named for Hal Finney, the first bitcoin user after Satoshi Nakamoto. The Szabo is named for Nick Szabo who developed bit gold and the concept of smart contracts and the Wei is named for Wei Dai who developed the concept of bit-money.

ERC20 and ERC721

ERC20

ERC stands for Ethereum Request for Comments and is the protocol for creating Ethereum standards. ERC20 defines how Ethereum coins are defined. Coins are not differentiated by serial number and can be broken down in increments as small as 0.000001 Ether. There is no difference between any Ethereum coin and another, a digitization of the concept of a real coin. By law a paper currency must be serialized giving each bill a unique identification, however coins do not have this restriction, so any coin is treated like any other, this is the basis of the ERC20 fungible token.

ERC721

ERC721 is a way to create unique asset identifiers in Ethereum allowing the Ethereum blockchain to be used to track unique assets as well as standard Ethereum coins. An ERC721 defined asset cannot be portioned, it is sold or bought in its entirety. For example, the concept of buying a fractional Cryptokitty is impossible. This ERC721 can be used to generate a unique identifier for any non-fungible asset such as art, land, diamonds or other non-currency assets.

Cost of storage

A reoccurring issue in Ethereum is the cost of storage for the blockchain entries. It is assumed that to store in the Ethereum blockchain requires more gas per transaction. Since blockchains store data essentially forever, the cost is paid upfront for permanent storage. An example would be if the Interplanetary database (IPDB) is used to store blockchain values the cost for permanent storage is estimated to be $100 USD per gigabyte according to Jammila Omaar, and Internet Policy intern at IPDB foundation. Using storage cost models that incorporate pricing models based on storage of multiple copies and a backup with decreasing storage costs. One gig of storage can store many transactions with an estimate of 1000 transactions per 16 MB of storage. This type of cost is leading to the use of IPFS.

The internet protocol file system (IPFS), also known as the interplanetary file system, is a way of tagging a picture, document or other object and then using the tag in an Ethereum blockchain instead of storing the entire object. IPFS is envisioned as a distributed file system that seeks to connect all computing devices with the same system of files. IPFS is a versioned file system that tracks versions over time. IPFS is similar to bittorrent.

The computer object is scanned and a digital hash tag is generated that is unique (at least as unique as hash can be) for the object. The object is stored locally but referenced by that tag in the blockchain. The IPFS entry is two components, a data blob of less than 256kB and an array of links to other IPFS objects. The link has a name, the hash and the cumulative size of the linked object. Each time the object is reloaded it is re-scanned and the hash compared to the existing hash, if the hash is different the new hash is chained to the old and the object is versioned. This a peer-to-peer model where the hash is sent to the network and all participants are queried if they own the object represented by the hash. This indicates that in order for the ID to be useful the local storage must be accessible to all clients of the blockchain. The IPFS standard is still evolving and the security issues are rife. If someone attempts to scan the same object, or a copy, the same hash is given them. This begs the question: do they then get access to your copy utilizing your storage resources to access it?

Of course you don’t have to use IPFS and can store links to data in a local database or filesystem in the blockchain if desired.

Future goals of Ethereum

Listening to the presentations at ETHDenver 2018 showed that the goal of Ethereum is to replace fiat currencies with digital currency, the premise being that fiat currencies have nothing to back them while digital currencies do. None of the speakers seemed to give thought to the myriad of digital disasters that could devastate a digital-only currency. Essentially their goal is to replace currencies backed the good faith and credit of countries with one backed by computer algorithms. Why this is a better basis for currency was never made clear. Most of the primary presenters at the conference seemed to be out of western Europe. With this move towards non-fungible asset tracking in Ethereum it could be a credible contender against Hyperledger in the non-fungible asset tracking arena.

One of the goals of the ETHDenver hackathon was of course the hackathon itself. Nearly two dozen projects were pitched. Of the two dozen or so projects most were fluff. Several involved supply chain, a couple were to assist Colorado in tracking absentee voters and one was to help track sexual predators within the volunteer networks such as Doctors without borders and such. In listening to the people pitch their products I was left with questions as to whether they, or I, misunderstood the concept of Ethereum and blockchain as most of their applications could easily be done outside of Ethereum altogether as a simple App on a Iphone or Android. Of course, since the average age appeared to be mid to low twenties this could explain the leaning toward app like constructs.

Competing with Ethereum based Blockchain

The major limiting factor of Ethereum is the dependence on the concepts of tokens, gas and Ether itself. These concepts bind applications into using Ether coins as a basis of performing any transactions within the Ethereum environment as you must utilize gas to do any transaction in their computing model. They also still use POW and POS to generate transaction models which are computer and resource intensive. The major issues they discussed at EthDenver related to scalability and security of their models.

I believe IBM must get Hyperledger into the hands of these 20-something blockchain developers. Perhaps a Hyperthon hackathon in Raleigh or Atlanta where IBM or other sponsors offer prizes for the best Hyperledger based products with practical applications. Show how the Hyperledger permissioned model, which doesn’t depend on POW or POS, is a more scalable, flexible, as well as cost effective solution.

Ethereum Support

There are many startup companies based on Ethereum. Ehtereum Foundation, Consensys, POANetwork, Blockgeeks, Maiden, Satis, Gitcoin, Dharma Labs, Livepeer, Zeppelin Solutions, FBG Capital and BlockGeeks are just a few represented at ETHDenver. All have websites where they share whitepapers and Ethereum code examples.

Summary

The EthDenver was a fascinating look into the Ethereum universe. With Ethereum branching out into non-fungible assets they could become a competitor to Hyperledger if they can overcome scalability and security issues.