Replies: 5 comments 6 replies
-
I think we need to have some distinct names here to avoid confusion. |
Beta Was this translation helpful? Give feedback.
-
Thankfully, we do have JMT storage already. |
Beta Was this translation helpful? Give feedback.
-
@musitdev I think we should already pull out state syncing and bootstrapping as its own discussion. It's IMO the top priority of in your domain--even without exact node types and composition clearly defined. I think if we define the requirements of syncing and bootstrapping first we can both (a) have an path to progressive implementation and (b) be better equipped to discuss the ideal here. This may be best for said other thread, but here's how I would begin to prioritize:
|
Beta Was this translation helpful? Give feedback.
-
Ultimately, I do think we can target the compositional pattern we discussed here. |
Beta Was this translation helpful? Give feedback.
-
Ok I break the state / proof / sync and bootstrap in separate discussions. |
Beta Was this translation helpful? Give feedback.
-
Node types implementations
Node type
Light node
DA light node
See rfc https://github.com/movementlabsxyz/rfcs/blob/main/0012-m2-da-light-node/rfc-m2-da-light-node.md.
It mostly use the Celestia Light node to verify blob sent by the sequencer and validated by celestia network.
Light Mode
See rfc: https://github.com/movementlabsxyz/rfcs/blob/main/0017-m2-light-modes/rfc-m2-light-modes.md
Mostly to get chain state in a trusted way and validate / execute a Tx.
Use state sync to get the state.
Full node
Get block from Celestia DA, execute them, update its state and send a commitment on chain to get block finality.
Current implementation integrate the Sequencer role and aggregate Tx in a blob to send it to Celestia DA. Should the Sequencer role be removed from the Full node to have an independent Sequencer node?
RPC node
Provide Aptos Rest API to query the blockchain. 2 possibilities:
State Sync
See rfc: https://github.com/movementlabsxyz/rfcs/blob/main/0024-m2-state-gossip/rfc-m2-state-gossip.md
State sync is use by Light Mode to get state in a trusted way.
State sync provide 2 modes:
-> Inclusion Proofs mechanism is not defined for single state or snapshot.
-> State content is not defined
Libp2p usage is clear.
State proof
It's a proof that allow to trust a state. Can be applied to a state or a snapshot.
To Be Defined.
Bootstrap process
Bootstrap process is mostly the way to generate snapshot of the blockchain needed to get all the data from the beginning until a specific point.
Do we define a specific node that generate snapshot or all full / RPC node generate a snapshot from time to time?
The state sync process uses the bootstrap process to get snapshot.
Implementation steps
Beta Was this translation helpful? Give feedback.
All reactions