1

We know that on the Ethereum mainnet, generating a block always costs about 15 seconds in order to maintain the synchronization. Yet, why it is set to 15 seconds but not a larger or smaller value?

Furthermore, in a Ethereum private network, the difficulty can be set as a extremely low value, such as 0x01. If there are lots of nodes in the private network, e.g., 2000 nodes, does a low difficulty trigger security issues?

1

Faster block times are convenient for users because they both reduce both the time typically taken for an initial confirmation and the time necessary to be reasonably confident that the transaction won't be reversed in a reorg.

However, fast block times also increase the number of which become orphans (or in Ethereum "uncles") because the network did not get them in time to build on top of them before they got another, competing block. Having a block orphaned costs a miner money, and it's more profitable if they can avoid it. Increasing the proportion of blocks that are orphaned can create an incentive for miners to centralize into larger pools, which is considered harmful to the security of the network. See more about this here. Ethereum partly offsets this effect by rewarding miners whose blocks are orphaned, with a reward for "uncles" of the winning blocks. However, this does not eliminate this effect entirely.

The 15 second number is chosen as a trade-off between these conflicting considerations.

The appropriate settings for a private network will depend on the situation. In some setups miners are compensated in the same way as they are in a normal public one, in which case the same considerations apply. But in others mining is paid for by some other mechanism, and the block rewards aren't important. In the latter case you don't need to worry about centralization incentives, so you can make blocks faster. Also, if you are designing your own private network, you may be able to ensure better connectivity than that expected on a public network, which will also allow you to use faster confirmation times. However, if you go too far in this direction you will simply end up creating very high proportions of orphaned blocks, which is unhelpful for performance.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.