Page MenuHomePhabricator

Preconsensus
Open, HighPublic

Description

Preconsensus is a trustless mechanism for miners to agree about the contents of the next block with high probability. This is accomplished by repeated rounds of voting whereby nodes agree about a subset of the mempool which will be included in the next block. It is possible for this consensus mechanism to fail, in which case the next block will provide a source of truth. In the normal case, preconsensus will succeed and validation will be complete prior to receiving the next block header. Miners who normally follow preconsensus rules will have an advantage in block validation times, and thus an incentive to participate. Blocks mined following these rules will validate faster, and thus have an advantage against blocks mined without regard for preconsensus results.

Enables:

  • Provides even faster block propagation
  • Continues to expand on feasible block sizes
  • Provides better guarantees for zero-conf transactions.

Trade-offs:

  • Mempool synchronization code and protocol becomes more complicated.

Related Objects

StatusAssignedTask
OpenNone
Opendeadalnix
Opendeadalnix
OpenNone

Event Timeline

schancel triaged this task as High priority.Feb 27 2018, 18:35
schancel created this task.
schancel added a parent task: T252: Tiered Memory Pool.
schancel removed a parent task: T252: Tiered Memory Pool.