Ethereum Assignment Solution
Advertisement

a) Why is the average block generation time in ethereum is around 15 seconds but not 10 minutes?

Ans. Block time is basically the time it takes to mine a block. Average block generation time in bitcoin is around 10 minutes, on the other hand, the average block generation time in ethereum is around 10-17 seconds. So basically block time is adjusted on the basis of difficulty level. In bitcoin, even though the computational power increases the difficulty adjustment is done to maintain the constant value. But in the case of etherium, the block time adjusted in each block based on the computational power due to the difficulty bomb (not trying to keep it at a constant value). 

 

Difficulty (Ethereum) [Homestead release]

Block_time = current_block_timestamp — parent_block_timestamp

current_block_difficulty = parent_block_difficulty + (parent_block_difficulty // 2048) * max(1 — (block_time// 10), -99) + int(2**((current_block_number // 100000) — 2))

 

Above  difficulty formula is for ethereum homestead release. Difficulty increases only when the block is mined in less than 10 seconds and in that case factor is positive. Difficulty decreases only when the block is mined in greater than 20 seconds and in this case factor is negative. And difficulty will not change when the block time is in between 10 to 19 seconds. So the block time adjusted in each block based on the computational power to match the difficulty bomb. 

Advertisement

Now, what are the main challenges faced in smaller block time?

Firstly, the same block is mined by more number of miners and hence there will be no rewards and wastage of computational power and further this results in more number of forks. Due to these forks, every miner switches to the network which continues by finding the longest blockchain. So, to overcome these problems ethereum uses GHOST(Greedy Heaviest Observed Subtree) protocol. GHOST protocol overcomes  this problem by including uncle blocks in the calculation of the longest chain and also rewarding them. The uncle block gets some percentage of the normal block economic incentives. In this way, the computational powers are not wasted with no incentives, which is spent on mining the uncle blocks. 

 

So the average block generation time in ethereum is around 10-17 seconds. because that is as fast as possible, although there are many research going on to reduce the block time. In 2013 Decker and Wattenhofer published a paper, in that paper the author measures bitcoin network latency, and found out that 12.6 seconds time a new block will estimately need to propagate 95% of  the nodes

Advertisement
and also found out that the bulk of the propagation time is directly proportional to block size. Another reason is that basically not all uncle blocks are rewarded in ethereum, one block can include up to two uncle/orphan blocks and one of these uncle blocks include another two uncle blocks likewise. So, these are the main reasons that ethereum block generation time is not 10 minutes.

Read More: Blockchain Ethereum Assignment Solution : Merkle Patricia tree, radix tree, ETHASH

b) Is it possible to run a blockchain with 2 seconds block generation time? State your reasons.

Ans.

No. it is not possible to run a blockchain with 2 seconds block generation time. The average block generation time in ethereum is around 10-17 seconds. because that is as fast as possible, although there are many research going on to reduce the block time. In 2013 Decker and Wattenhofer published a  paper, in that paper the author measures bitcoin network latency, and found out that 12.6 seconds time a new block will estimately need to propagate 95% of the nodes and also found out that the bulk of the propagation time is directly proportional to block size. In etherium the uncle block receives some percentage of the normal block reward.  In this way, the computational powers are not wasted with no incentives, which is spent on mining the uncle blocks. So basically, Block time should not encourage more number of orphan/uncle blocks. So, not all uncle blocks are rewarded in ethereum, one block can include up to two uncle/orphan blocks and one of these blocks include another two uncle blocks likewise.

Sources 

—————————————————————————————————-

1 COMMENT

LEAVE A REPLY

Please enter your comment!
Please enter your name here