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

Dev/robin/8241 accumulator prove and verify #22

Merged
merged 18 commits into from
Oct 30, 2024

Conversation

robinbryce
Copy link
Contributor

@robinbryce robinbryce commented Jun 17, 2024

MMR draft alignment changes

The primary change here is to make our consistency proofs and inclusion proofs work in terms of the accumulator defined in the paper referenced by the COSE Receipts MMRIVER draft. And generaly include full support for COSE Recieipts

It also cleans up various algorithm implementations and checks that the draft algorithm implmentations and our go lang immplementation both meet the test vectors published by the draft.

Because it remains useful to be able to do so, I have retained the original variants of algorithms that worked with mmr "bagged" peaks. Some algorithm implementations I think we can remove altogether, but in this pr have not been deleted. Instead they are used in tests which show the "old" versions match the "new" versions

So in summary

  • bagged.go means a file that has things only relevant for MMR bagged peaks
  • old.go means a file that has things that are retained for compatibility testing but which are now "depricated"
  • Bagged() means the function is only relevant for working with MMR bagged peaks
  • Old() means the function is depricated, retained for compatibility testing

I've run all the local unit and integration tests. I've also run the integration tests in forestrie and checked that the arrangements for dealing with the change in consistency proofs work at that level. More testing for this on the forestrie side will be required before taking a release of go-datatrails-merklelog/mmr which has these changes.

@robinbryce robinbryce marked this pull request as ready for review June 24, 2024 14:52
massifs/go.mod Outdated Show resolved Hide resolved
@robinbryce robinbryce force-pushed the dev/robin/8241-accumulator-prove-and-verify branch from 2fca32c to a32f581 Compare September 23, 2024 10:11
@robinbryce robinbryce force-pushed the dev/robin/8241-accumulator-prove-and-verify branch from a32f581 to 463a188 Compare October 27, 2024 13:14
Robin Bryce added 3 commits October 27, 2024 16:41
* Add guard to IndexProof where the requested index is greater than the
  MMRSize limit
* mmrIndex vs mmrSize bug in BuildReceipt
massifs/heightindex.go Outdated Show resolved Hide resolved
massifs/heightindex.go Outdated Show resolved Hide resolved
massifs/mmriver.go Outdated Show resolved Hide resolved
massifs/mmriver.go Outdated Show resolved Hide resolved
mmr/consistentroots.go Outdated Show resolved Hide resolved
honourfish
honourfish previously approved these changes Oct 29, 2024
robinbryce and others added 4 commits October 29, 2024 19:20
Co-authored-by: Joe Gough <[email protected]>
Signed-off-by: robinbryce <[email protected]>
Co-authored-by: Joe Gough <[email protected]>
Signed-off-by: robinbryce <[email protected]>
Co-authored-by: Joe Gough <[email protected]>
Signed-off-by: robinbryce <[email protected]>
@robinbryce robinbryce requested a review from honourfish October 30, 2024 09:28
@robinbryce robinbryce merged commit d214f3f into main Oct 30, 2024
1 check passed
@robinbryce robinbryce deleted the dev/robin/8241-accumulator-prove-and-verify branch October 30, 2024 09:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants