Sovereign-Labs / sovereign-sdk

A framework for building seamlessly scalable and interoperable rollups that can run on any blockchain
https://sovereign.xyz
Apache License 2.0
384 stars 108 forks source link

Update jmt to remove honest treereader assumption. #246

Closed preston-evans98 closed 1 year ago

preston-evans98 commented 1 year ago

Currently, the JMT supports trustless proof verification but it does not support trustless updates. Specifically, there's currently no way to enforce that every sibling hash in an updated merkle tree is the same as the sibling hash in the old merkle tree *in the absence of a trusted treereader`. To fix this, we need to prove the correctness of every sibling hash used to compute the new merkle root against the old merkle root.

citizen-stig commented 1 year ago

@preston-evans98, does it belong to this repo? If so, what changes do we expect to do here?

Or is it just for tracking?

preston-evans98 commented 1 year ago

This will require changes here. We'll need to update the validate_and_commit method for ProverStorage and ZkStorage

erwanor commented 1 year ago

Released in jmt@0.7.0 https://crates.io/crates/jmt/0.7.0