Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec out FastSync and StateSync #273

Closed
liamsi opened this issue Apr 7, 2021 · 3 comments
Closed

Spec out FastSync and StateSync #273

liamsi opened this issue Apr 7, 2021 · 3 comments

Comments

@liamsi
Copy link
Member

liamsi commented Apr 7, 2021

Will add more details shortly

@liamsi
Copy link
Member Author

liamsi commented May 2, 2021

I think, it makes sense to at least consider writing a custom block-sync (aka fast-sync) reactor using libp2p instead of modifying the current blockchain reactors:
https://github.com/lazyledger/lazyledger-core/tree/master/blockchain

Alternatively, and the first thing we should investigate thoroughly: we could make the blockchain reactor load the block data from the IPFS data store instead of the tendermint store - which will only store headers moving forward: #182.
We would basically change this line and in the blockchain reactor to load the whole block (locally) from the IPFS datastore: https://github.com/lazyledger/lazyledger-core/blob/c48bd16994a9fb707c9e15bc76070c9a4eeb29a1/blockchain/v0/reactor.go#L181

We'd have to make sure, that this works with the different kinds of validator nodes though. DAS light validator nodes would only care about the headers + DAS sampling for instance so they would not run the blockchain reactor but would still run the consensus reactor.

Given that the blockchain reactor looks kinda horrible and the v2 is still not stable (ref: #309) and also not really straightforward to understand, we should probably write our own block-sync protocol in the long run. We should first think through if we can leverage the existing one first though as it is used in production for several years now.

@liamsi
Copy link
Member Author

liamsi commented May 29, 2021

ref: #191

@liamsi liamsi removed their assignment May 31, 2021
@liamsi
Copy link
Member Author

liamsi commented Aug 16, 2021

Closing this for now. We will use tendermint more as a black box. in case we later merge core and celestia node into one node repo, this becomes relevant again.

@liamsi liamsi closed this as completed Aug 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants