Everything You Need To Know About Consensus Algorithms (Part 5)
Ethereum
The Ethereum network is permissionless, like Bitcoin’s; no central entity controls either the production of Ether or is involved in their transfer. In its current release (HOMESTEAD), Ethereum uses a Proof-of-Work algorithm (‘Ethhash’) like Bitcoin’s, but with two modifications to reduce the risk of mining centralization:
Memory Hardness
The algorithm operates with a protocol favouring nodes using computer memory rather than ASICs (Application-Specific Integrated Circuits) to discourage formation of ASIC-using mining pools.
Ghost
Nodes producing orphaned blocks, or that include orphaned blocks in the blockchain, receive a reduced block reward to encourage them instead to continue with the latest block in the Ethereum blockchain.
Proof-of-Stake
Proof-of-stake is one of the two most commonly used blockchain consensus algorithms (together with Proof-of-work). In Proof-of-stake, new blocks are said to be ‘forged’ (or ‘minted’) rather than ‘mined’. Under Proof-of-stake, the node selected to create the next block is chosen through a pseudorandom process that depends partly on the wealth in its associated wallet (i.e. in its staking pool). As the selection is pseudorandom, no node can predict its turn in advance. A certain number of coins are kept in the staking pool to purchase block creation chances.
Proof-of-stake has the following advantages over Proof-of-work, it does not consuming significant computing power, reduces the risk of malicious attacks as it discourages centralized mining pools and as block-generators own coins, those ‘guarding’ the coins also own them (this is not necessarily the case in Proof-of-Work).
Weaknesses
‘Nothing at Stake’ - Precisely because there is no cost in voting for multiple blockchain histories (as opposed to just one), a block-generator experiences no deterrent against working on multiple blockchains. This can prevent the consensus from forming, and increases the risk of ‘double spend’.
Good post.
Great information. This would definitely be useful for someone who knows nothing about blockchain / cryptocurrencies.
To branch off proof-of-stake, Qtum seems like a interesting project to look into. Anyways, nice post - very useful!