feat: vector based merkle tree and proofs#294
feat: vector based merkle tree and proofs#294FawadHa1der wants to merge 3 commits intoVerified-zkEVM:mainfrom
Conversation
🤖 Gemini PR SummaryThis PR implements vector-based Merkle trees and proof generation within the Features
Refactoring
Fixes
Documentation
Analysis of Changes
Lean Declarations ❌ **Added:** 10 declaration(s)
🎨 **Style Guide Adherence**The following lines violate the style guide:
📄 **Per-File Summaries**
Last updated: 2026-02-26 12:36 UTC. |
|
Definitely this is still of interest |
|
The soundness theorem is not implemented as it wasn't yet implemented in InductiveMerkleTree either. I could take a look but I imagine this would require some assumptions/knowledge about the hash functions etc. |
|
oh let me look at the style guide, sorry |
|
This is implemented with the help Codex/Claude combo. |
|
Hello! Thanks for the PR and sorry for the delay in getting to this. I'll be merging the 4.26 PR soon, which might break a few things, and get back to all the other PRs including this one. |
|
/review External: Internal: Comments: |
🤖 AI Review (with external context)🤖 AI ReviewOverall Summary: 📄 **Review for `ArkLib/CommitmentScheme/MerkleTree.lean`**Review of Verdict: Correct The changes in Analysis of Changes:
Conclusion: The code is a correct formalization of a vector-based Merkle Tree commitment scheme. The implementation is robust, and the accompanying proofs provide high confidence in its correctness. No changes are required. |
|
|
||
| /-- Figure out the indices of the Merkle tree nodes that are needed to | ||
| recompute the root from the given leaf -/ | ||
| def findNeighbors {n : ℕ} (i : Fin (2 ^ n)) (layer : Fin n) : |
There was a problem hiding this comment.
If this is no longer used (or for illustration only as indicated in the comment further down), maybe we can just remove it?
|
@FawadHa1der could you give me access to your branch? I've fixed the merge conflicts and resulting broken proofs but cannot push (otherwise I can also open another PR with you as co-author to merge this?). (disregard the last merge commit.) |
@quangvdao this is related https://github.com/Verified-zkEVM/ArkLib/issues/4 I am not sure if vector based merkletree proofs are still required or not.