Skip to content

New block delay formula

Context

This MR implements a new block delay formula for Emmy+:

emmy*_delay(p,e) = if p = 0 && e >= 3 * te / 5 
                   then md 
                   else emmy+_delay(p,e)              

where emmy+_delay(p,e) = bd + pd * p + ed * max(ie - e, 0) is the block delay formula introduced in Babylon; the following abbreviations are used:

  • md, for "minimal delay", refers to the newly introduced constant minimal_block_delay
  • bd = time_between_blocks[0] (for "base delay")
  • pd = time_between_blocks[1] (for "priority delay")
  • te = endorsers_per_block (for "total endorsing power")
  • ie = initial_endorsers (for "initially required endorsing power")
  • ed = delay_per_missing_endorsement (for "endorsement delay" per missing endorsing slot).

This MR fixes part of #1027 (closed).

Remaining todos:

  • Decide the value of endorsers_per_block; currently set to 256; however this might change depending on the feedback obtained by running a testnet (see nomadic-labs/tezos!326)
  • Update the rewards and the deposits
  • Update the doc

Checklist

  • Document the interface of any function added or modified
  • Provide automatic testing: an integration test and a unit test are provided
Edited by Mehdi Bouaziz

Merge request reports