After we have seen in the first two parts of this series, which problems could be solved with a blockchain (Blockchain: Decentralised Byzantine Generals) and how this is done technically (Blockchain: Hash Functions and Merkle Trees), we’ll focus in this last post on the differences between Bitcoin and Ethereum blockchains.

Similarities

Both blockchains are large Merkle trees, which consists of many branches. Today the size of the whole Bitcoin blockchain is around 200 Gigabyte. Depending on the implementation of the node, Ethereum has different blockchain sizes. Due to exponential grow in the beginning of 2018 the size of the Ethereum blockchain is more than 1 Terabyte (1,000 Gigabyte). All processes (transactions) in this rather huge amount of data are linked by hashs. Anyone who uses the data can (and should) verify the accuracy of it. When checking the data, the individual blocks are loaded by physically separate computers. This is similar to the files in the Bittorrent protocol. After verification, you are part of the distributed project, a so-called node.

Properties

The two systems are not “competitors” but focus on different tasks. While Bitcoin is “only” a currency, Ethereum offers a currency called Ether and a way to make contracts. A contract can be thought of as a service with certain rules that is automatically completed and fulfilled.

The beginning of both projects was different.
Bitcoin “suddenly appeared”. The first block of the Bitcoin blockchain was generated like all following blocks too. At Ethereum, there was a pre-sale of their currency called Ether at fixed rates. Ethereum itself started a year later. Both projects generate consensus through work that needs to be done (generating hash values ​​from transactions). However, Ethereum started in 2018 to use a consensus algorithm based on participation. This is important because the work currently consumes a lot of electrical energy and a participation algorithm “saves electricity”. Bitcoin uses the SHA-256 standard to create the hashes, Ethereum uses its own system Ethash. A block is generated every 10 minutes for Bitcoin, every 14-15 seconds for Ethereum.

Bitcoin Ethereum
Inventor Satoshi Nakamoto Vitalik Buterin
Start 9/1/2008 7/30/2015
Method First Block Generated
(genesis block)
Presale in 2014
(2000 Eth cost 1 Bitcoin = about US $ 600)
Use of Blockchain  Currency (Bitcoin)  Currency (Ether) and contracts (“Smart Contracts”)
Consensus algorithm through work
(Proof of Work)
currently through work (proof of work),
later through a form of participation (proof of stake). 
Mining  SHA-256  Ethash
Blocktakt every 10 minutes  every 14-15 seconds

There are many more features and differences, especially in terms of transactions.
For an overview of the basic structure, the above overview is sufficient.

Blockchain

Generally, a blockchain looks like this graphic.

General structure of a blockchain

General structure of a blockchain

Each block consists of four parts:

  1. the hash of the previous block,
  2. the root hash of the transactions (a Merkle tree)
  3. a timestamp
  4. a nonce (random content string)

From these four components, the hash of the block is calculated. A blockchain is actually the chain of many Merkle trees.

Bitcoin blockchain

The Bitcoin blockchain deals with the management of transactions. For example, if I want to “wire” two bitcoins to you, that transaction must be hashed into the Bitcoin blockchain. A simplified representation looks like this:

very simplified Bitcoin blockchain

very simplified Bitcoin blockchain

Each block contains Bitcoin transactions, including my “transfer”.

Ethereum blockchain

Ethereum is a bit different. A transaction at Ethereum is the status of programming code.

very simplified Ethereum blockchain

very simplified Ethereum blockchain

So when it comes to transferring the Ethereum Currency Ether, the status of the program managing the Ether is saved. This feature of Ethereum makes it possible to store any other states of program code. This feature is called Ethereum Smart Contract. At first glance, a smart contract is something like a contract with individual paragraphs. At second glance, it is a program with certain storable states.

Examples

The most illustrative example is probably CryptoKitties.

A CryptoKitties’ ownership is tracked via a smart contract on the Ethereum blockchain. CryptoKitties are distributed automatically, via smart contracts, at the rate of one every 15 minutes (672 per week) for one year. Each CryptoKitty is represented in the form of a non-fungible ERC-721 token, which allows for each entity to have specific attributes. There is a limit of 4 billion cats that can be “bred”. Each cat has a certain appearance (“phenotype”), which is determined by its invariable genes (“genotype”). The genes are stored in the smart contract. Since the cats are tokens in the blockchain, they can be bought, sold or digitally transferred (“transferred”) set in Ether (ETH).

Beside the gaming industry there are several projects based on Ethereum blockchain. To get a better idea I want to mention two of them.

uPort

uPort is an identity management platform. In November 2018, the Swiss city of Zug officially launched its Zug eID, an opportunity for its residents to register for a decentralized, digital identity. Since then, Zug residents have been able to adopt e-services such as online voting and proof of residency. Based on the eID it’s also possible to use services like AirBie, a bike sharing service in the city of Zug.

Golem

Golem is a global marketplace for idle computing power. You can use Golem as a Requestor, to rent computing power and speed up your workflow, and/or as a Provider, renting your unused processing power to others in the network. ETH is used to cover transaction fees on the Ethereum Blockchain. It is useful e.g. for rendering and video transcoding. Think of Netflix and the size of the global market for video streaming und transcoding. Golem is a kind of Airbnb for your computer.

The difference

Bitcoin is more of a product, Ethereum is a platform on which products such as Cryptokitties, uPort and Golem can be developed.

Links