-
Notifications
You must be signed in to change notification settings - Fork 7
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
Commit to a next power table and additional commitments #273
Conversation
Posting this so we can discuss with respect to #151. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #273 +/- ##
==========================================
- Coverage 71.78% 70.11% -1.67%
==========================================
Files 35 35
Lines 2545 2617 +72
==========================================
+ Hits 1827 1835 +8
- Misses 588 651 +63
- Partials 130 131 +1
|
f4dcf71
to
ccce9d6
Compare
Fuzz test failed on commit ccce9d6. To troubleshoot locally, download the seed corpus using GitHub CLI by running: gh run download 9218069385 -n testdata Aleternatively, download directly from here. |
11ce69c
to
c46676d
Compare
The first commit contains all the changes, the last one just renames This isn't quite ready for merging yet, but I would like some feedback before I put the finishing touches (tests) on it. |
Fuzz test failed on commit c46676d. To troubleshoot locally, download the seed corpus using GitHub CLI by running: gh run download 9229851709 -n testdata Aleternatively, download directly from here. |
dedcb40
to
c06302f
Compare
I think we're ready for a final review and merging here unless we want to wait for power table lookback to land first. |
00bab73
to
458718c
Compare
Ah, actually, let's land #264 today and then I can rebase/finish this one. |
458718c
to
1fb9a61
Compare
1fb9a61
to
3f8e683
Compare
In addition to committing to the power table for each tipset, we commit to the power table used to validate the next instance in the instance root (along with a merkle-tree of arbitrary commitments). fixes #257
That way we match tipsets. We could sign just the payloads in both cases but... alignment isn't _that_ important here. The only important part is that the first 3 words (32-byte) are aligned: 1. The first word has to be created inside the smart contract. The 32-byte alignment lets us AND the fixed prefix and the 8-byte instance number. 2. The second word is the commitment tree root and will likely be used by, e.g., snarks for validation. 3. The third word is the root of the tipset tree. But smart contracts aren't usually going to even _look_ at the power table CID. And if they do, the variable-size is going to be the least of their costs/complexity.
89c48a5
to
17a2552
Compare
In addition to committing to a power table in each tipset, agree on:
fixes #257