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

Store: only store header + DA header #182

Closed
liamsi opened this issue Mar 7, 2021 · 1 comment
Closed

Store: only store header + DA header #182

liamsi opened this issue Mar 7, 2021 · 1 comment
Assignees
Labels
C:data-availability Component: Data Availability Proofs C:tendermint-modifications Required change to core tendermint components beyond types

Comments

@liamsi
Copy link
Member

liamsi commented Mar 7, 2021

Summary

Tendermint currently stores the block including all data in its own block store (interface).

For LazyLedger only storing the header + DA header is sufficient. The block data, or rather more often only a portion of the data, will be stored on ipfs. See #163, #178

Problem Definition

Storing the data additionally in tendermint's store will be redundant as it is already stored (and pinned) on ipfs. Also, some nodes won't even have the whole block data.

Proposal

Update the block store accordingly. The design should be fleshed out upfront.

This depends on #178 and a corresponding "read equivalent" where the block data can be sampled or be fully reconstructed from the network using ipfs (or, more generally speaking, a DHT + some IPLD block-exchange protocol, e.g. graph-sync later down the road).

Note that fleshing out the design and starting the implementation can still be done independently. Only full integration of the feature and replacing the existing storage mechanism depends on adding the possibility to read/write to ipld.

@liamsi liamsi added C:data-availability Component: Data Availability Proofs C:tendermint-modifications Required change to core tendermint components beyond types labels Mar 7, 2021
This was referenced Mar 22, 2021
@liamsi liamsi mentioned this issue Jun 2, 2021
17 tasks
@liamsi
Copy link
Member Author

liamsi commented Aug 16, 2021

Closing this for now as we decided to treat tendermint more as blackbox until we have our devnet out of the door. We can later optimize to only store the block data once (only on the Celestia nodes) but for now we won't work on that.

Let's not delete the branch yet though.

@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
C:data-availability Component: Data Availability Proofs C:tendermint-modifications Required change to core tendermint components beyond types
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants