Skip to content
GitLab
    • Why GitLab
    • Pricing
    • Contact Sales
    • Explore
  • Why GitLab
  • Pricing
  • Contact Sales
  • Explore
  • Sign in
  • Get free trial
  • TezosTezos
  • tezostezos
  • Issues
  • #1027

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 (say minimal_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 (in lib_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
Edited Apr 09, 2021 by Eugen Zalinescu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking