Skip to content

[Consensus] State Sync - Documentation & Initial Block By Block Design #125

@Olshansk

Description

@Olshansk

Objective

Design an interface and outline a flow for a block by block state sync

Origin Document

As described in the V1 Pocket Network Consensus Specification, we need to fully implement state sync to enable new and existing nodes to stay in sync with each other.

Goals / Deliverables

  • A sequence diagram showing the flow of blocks and data between different components during state sync using mermaid flow charts. For an example, see what we have in the persistence module architecture doc.
  • A flow chart showing which components and modules are involved in this process using mermaid flow charts
  • The interface that each node will need to expose in order to request & receive blocks
  • Follow up tasks of things that need to be design and implemented (e.g. fast sync design, slow sync implementation, etc...)

Non-goals

  • Implementing any part of state sync (i.e. no code)
  • Fast sync design (i.e. no synching from a snapshot yet)

Industry References

As a starting point, we can reference how other chains implement this mechanism.

Tendermint

Flow

Aptos


Creator: @Olshansk
Co-Owners: @andrewnguyen22

Metadata

Metadata

Labels

consensusConsensus specific changescoreCore infrastructure - protocol related

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions