-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Merkleise beacon chain blocks #40
Comments
I'd personally prefer to hold off on making special-case decisions like that until we decide whether the special-case route is even the correct route in the first place. The alternative is that we create a general-purpose merkle-hashing algorithm for SImpleSerialize, and that way we get beacon chain blocks and the active and crystallized state. |
For sure, (re)using the same logic as for state merkle-hashing is the way forward. (I'm just suggesting moving away from naive hashing for beacon blocks.) |
Agree! And I'm suggesting doing what you want as part of a common general strategy for moving away from naive hashing for everything :) |
It would be nice to make validator set a part of that strategy too. |
Closing in favour of #54 👍 |
Currently beacon chain blocks are hashed as monoliths. This is not friendly to light clients because beacon chain blocks could be quite large (as currently specced,
attestations
andspecials
are unbounded arrays of records).My suggestion is to hash the individual fields in a
BeaconChainBlock
(of which there are 8) and then consider those as leaves of a Merkle tree. We then replaceancestor_hashes
,oblique_parent_hashes
,justified_block_hash
, etc. withancestor_roots
,oblique_parent_roots
,justified_block_root
, etc.The text was updated successfully, but these errors were encountered: