A block is a collection of data consisting of a header, the transactions incorporated within the block, and a list of uncles (stale blocks). Ethereum uses a generalized notion of uncles, where an uncle is a direct child of a kth generation ancestor of the including block, for 2 < k < 7. An uncle cannot be a direct ancestor of the including block.

Block headers include a hash of the state (after all transactions in the block are executed) and the difficulty level of the block. Among other fields, block headers also contain the hash of the parent block’s header and the beneficiary’s address. The beneficiary is the account that is rewarded for successfully mining the block.

Mining and Blockchain

Similar to Bitcoin, mining is used to (1) confirm transactions and (2) issue Ether postlaunch. Mining consists of brute-forcing the header’s nonce until the Proof- of-Work (PoW) algorithm output is below a certain threshold. Since this threshold is based on the block’s difficulty, mining gives both meaning and credence to the notion of difficulty [8]. The difficulty level is dynamically adjusted to achieve an average block generation time of approximately 15 seconds [9].

Note that the structure resulting from mining is a block tree. Consensus is needed on the path, starting from the genesis block, that should be selected as the blockchain. This is achieved by choosing the path that exhibits the highest total difficulty and thus possesses the highest amount of computation backing it. Similar to Bitcoin, an attacker aiming at rewriting the history would need to outperform the honest part of the Ethereum network.

Successful mining of a winning block is rewarded in multiple ways. A static block reward of 5 Ether is added to the beneficiary’s balance. The beneficiary also receives the gas expended by executing all transactions in the block. Finally, an extra reward is given for including uncles. Contrary to Bitcoin, miners of uncles are rewarded in Ethereum as well, and receive 7/8 of the static block reward [9].

Ethereum’s PoW is expected to incorporate the GHOST protocol. GHOST [10] is an alternative to the longest chain rule for establishing consensus in PoW-based blockchains and aims to alleviate the negative impacts of stale blocks by incorporating the difficulty of uncle blocks when measuring the longest chain.[1]

Note that it is also envisioned that the PoW consensus utilized by Ethereum will be replaced by virtual mining in the form of Proofs of Stake, where each entity has to deposit some stake in the system to be held accountable in case of misbehavior.

Basic architecture of Open Blockchain

Figure 9.3 Basic architecture of Open Blockchain.

  • [1] At the time of writing, Ethereum does not incorporate the difficulty of uncle blocks when measuringthe longest chain.
< Prev   CONTENTS   Source   Next >