Hacker News new | ask | show | jobs
by DennisP 2356 days ago
> You can't make it much more frequent because the amount of time for the difficulty has to be balanced against propagation time for blocks or else you will have lots of forks.

The same problem also limits block size, since large blocks take longer to propagate.

But that's why Ethereum went with GHOST, which was originally proposed for Bitcoin. Instead of choosing the block with the most hashpower behind it, you choose the block with the most hashpower in the entire tree after it, so that forks contribute to a block's security. The original paper calculated that this allowed both faster blocks and higher throughput, and it's the reason Ethereum has 15-second blocks.

Here are a couple papers:

https://eprint.iacr.org/2013/881.pdf

https://eprint.iacr.org/2016/545.pdf

1 comments

Ethereum abandoned ghost because of its amplification of selfish mining. Inclusion of 'uncles' does not increase block selection weight there.
Looks like you're right. I found this stackoverflow answer:

https://ethereum.stackexchange.com/questions/38121/why-did-e...

...which says Ethereum actually uses a version of the "Inclusive Protocol," which according to its paper has similar advantages:

https://www.cse.huji.ac.il/~yoni_sompo/pubs/15/inclusive_ful...

> non-conflicting transactions of blocks outside the main chain are included in the ledger

I am pretty sure that isn't true. I'm looking at the code, and the only thing I see included for 'uncles' is the header. This has the beneficial property that higher orphan rates increase difficulty which should lower orphan rates.

OTOH, it doesn't appear that including other people's orphans is incentive compatible without the rest of ghost (because it lowers your own future income).

"a version of" -- there is no close in cryptography. :) Security analysis usually do not apply well to approximations.

Edit: See also this answer, https://ethereum.stackexchange.com/a/41647