Faster block finality in Emmy+
It is desired to decrease of the time to finality in the next protocol proposal.
To achieves this, two mechanisms have been proposed:
- increase the number of "endorsers per block", for instance to 128 or 256; (recall that this actually represents the number of selected rolls; the maximum number of endorsements will vary and it will smaller on average)
- update the block delay formula as follows (proposal by @murbard, and updated after discussions with @mbouaziz, and @chambart):
emmy*_delay(p,e) = if p = 0 && e >= 3*te/5
then db0
else emmy+_delay(p,e)
emmy+_delay(p,e) = db + dp * p + de * max(ie - e, 0)
where the following abbreviations are used:
-
db0
new introduced constant (sayminimal_block_delay
) db = time_between_blocks[0]
dp = time_between_blocks[1]
te = endorsers_per_block
ie = initial_endorsers
de = delay_per_missing_endorsement
In addition, de
changes from 8 to 4 (see #1193 (closed)).
The following tasks should be performed:
-
check that the new formula indeed represents an improvement over the current Emmy+ formula in the presence of a Byzantine attacker -
adapt the (baking and) endorsing rewards and deposits accordingly -
check that the new formula resists as well as the current one to selfish and deflationary baking -
implement the required changes in the economic protocol and in the baker -
reduce the value of Clock_draft.max_timestamp_drift
(inlib_shell
) from 15s to say 5s -
reduce the gas limit -
potentially increase the mempool cache size to store the endorsements that end up as branch_delayed
- @vbot suggested 2000 -> 3000 (to be done by @vect0r), to be stress-tested
- conclusion: no need to change the constant, tested manually
MRs/issues that deal with these tasks:
- tzip/tzip!150 TZIP for Emmy*
- #1193 (closed): update Emmy*
- !2386 (merged): new block delay formula
-
!2531 (merged): double
blocks_per_cycle
and related constants -
!2532 (merged): reduce
max_timestamp_drift
value -
!2471 (merged): make endorsement check
O(1)
instead of linear - nomadic-labs/tezos#326