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

Proposal: Remove the PartSetHeader from the Header and don't Sign over it when Voting #511

Closed
3 tasks
Tracked by #491
evan-forbes opened this issue Aug 23, 2021 · 1 comment
Closed
3 tasks
Tracked by #491

Comments

@evan-forbes
Copy link
Member

evan-forbes commented Aug 23, 2021

Summary

Since we use the DataAvailabilityHeader to commit to block data, the PartSetHeader is redundant and should be removed from the header so it is not included in the header hash or signed over.

Details

As described in ADR 007 #504, we are treating our fork of tendermint like a black box and minimizing changes. This means reverting the changes we've made so far to get rid of the PartSetHeader (see #509 and #510). Despite this, we still don't want to sign over the PartSetHeader or include it in the header hash, as it is a redundant commit to the block data. Previously, this was already done in #456, which removed the PSH from the header and the canonical vote. We can no longer use that mechanism to remove the PSH from the header, since we still need the BlockID and are reverting #441 in #510.

Proposal

Replace the BlockID struct with a simple hash only in header.LastBlockID and CanonicalVote.CanonicalBlockID. Notably, we will also likely have to change some BlockID methods to not use the PartSetHeader such as Equals, ValidateBasic, and Key.

Implementation

  • replace header.LastBlockID with a simple hash
  • replace CanonicalVote.CanonicalBlockID with a simple hash
  • investigate whether or not we have to alter certain methods of BlockID to use the PSH

References

ADR #504
Blocked by #510
Blocked by #492

@evan-forbes
Copy link
Member Author

this is no longer planned afaiu, please reopen @liamsi or @adlerjohn if this is not the case

Repository owner moved this from TODO to Done in Celestia Node Nov 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Archived in project
Development

No branches or pull requests

1 participant