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

Header Oracle: have a way to be able to validate block data in history network #1084

Closed
kdeme opened this issue May 12, 2022 · 1 comment
Closed
Assignees
Labels

Comments

@kdeme
Copy link
Contributor

kdeme commented May 12, 2022

Currently data is not validated as to be part of the canonical chain.
This means that in an offer/accept flow, as long as the content meets the structure of a block (header/body/receipts) it will be stored.

Another step is required to verify these blocks, but this requires header data. Eventually this could use the header gossip network to verify.
For now however, we will need another way, for example by downloading block headers and constructing the header accumulator already without the header gossip network. Or could use a full node endpoint to download the blocks (with only tx hashes) (yeah, sure, a bit silly for the Portal use case).

@kdeme
Copy link
Contributor Author

kdeme commented Nov 4, 2022

As first step, this was implemented by requesting the epoch accumulators and using those in combination with the master accumulator to verify the headers (and related block bodies and receipts).

As a second step (and more efficient way), it was adjusted to provide headers with accumulator proofs, so that no additional request is needed to verify them. All the node needs is the master accumulator. This is implemented in #1281

@kdeme kdeme closed this as completed Nov 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant