-
Notifications
You must be signed in to change notification settings - Fork 106
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
Implement/Investigate double batched merkle accumulator #756
Comments
It seems that this depends on having merkelization for ssz serialization which is currently not implemented in https://github.com/status-im/nim-eth/tree/master/eth/ssz, but on the other hand it is implemented in https://github.com/status-im/nimbus-eth2/blob/stable/beacon_chain/ssz/merkleization.nim, therefore prerequisite would be to move this piece of code to library level. |
I've done an effort to move most of that ssz code out to a new repo, nim-ssz-serialization: status-im/nimbus-eth2#2646 & status-im/nim-ssz-serialization#1. The latter PR requires some CI fixes still but foremost agreement that we want to split it off as is proposed there. Else, for now, we can duplicate the code also in nim-eth, yes. |
In the mean while an accumulator has been added to the Portal history network and more recently Fluffy can also work with headers + proofs from this accumulator. The latter is added in PR #1281. |
To validate all chain history data in stateless manner the double batched merkle accumulator will be needed - https://github.com/ethereum/stateless-ethereum-specs/blob/master/portal-network.md#chain-history-headers-blocks-and-receipts.
The scheme is described in several doc like:
https://ethresear.ch/t/double-batched-merkle-log-accumulator/571
https://notes.ethereum.org/KaMqlqxiQLCWyDoXCUCC4Q#Hueristics-for-Validation
It would be also good to have some data about proof sizes and general security of the scheme, so those issues should probably be investigated as a part of the task.
The text was updated successfully, but these errors were encountered: