MCPcopy Create free account
hub / github.com/Lagrange-Labs/reckle-trees

github.com/Lagrange-Labs/reckle-trees @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
180 symbols 283 edges 42 files ⚖ custom 7 documented · 4% updated 2y ago★ 331 open issues

Browse by type

Functions 137 Types & classes 43
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Reckle Trees

Reckle trees is a new vector commitment based on succinct RECursive arguments and MerKLE trees. Reckle trees' distinguishing feature is their support for succinct batch proofs that are updatable.

This repository contains the circuits from the paper:

"Reckle Trees: Updatable Merkle Batch Proofs with Applications," Charalampos Papamanthou, Shravan Srinivasan, Nicolas Gailly, Ismael Hishon-Rezaizadeh, Andrus Salumets, and Stjepan Golemac.

Instructions

git clone git@github.com:Lagrange-Labs/reckle-trees.git
cd reckle-trees
rustup override set nightly-2024-01-21

cargo test rec_benches --release -- --nocapture # Optimized Reckle trees (Figure 4)
cargo test bucket_benches --release -- --nocapture # Optimized Reckle trees + bucketing (Section 3.7)
cargo test dt_benches --release -- --nocapture # Digest translation (Figure 7)
cargo test bls_benches --release -- --nocapture # BLS pk aggregation (Figure 8)

# Baseline: Monolithic circuits (Section 5.3)
cargo test dt_mono_benches --release -- --nocapture
cargo test bls_mono_benches --release -- --nocapture

Note: - Modify log_tree_sizes and log_subset_sizes to set the tree sizes and the subset sizes, respectively - Increase the sample size of the benchmarks to collect reliable measurements

License

Please see the license here.

Acknowledgements

Special thanks to Nicolas Gailly and the Lagrange Engineering team for their support with this work.

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 80
Function 57
Class 42
Interface 1

Languages

Rust100%

Modules by API surface

src/utils/helpers.rs23 symbols
src/utils/mt_binary.rs19 symbols
src/reckle_std/binary_tree.rs10 symbols
src/reckle_std/provers.rs8 symbols
src/reckle_bucket/provers.rs8 symbols
src/digest_translation/provers.rs8 symbols
src/bls/provers.rs8 symbols
src/utils/canonical.rs7 symbols
src/reckle_bucket/binary_tree.rs7 symbols
src/digest_translation/binary_tree.rs7 symbols
src/bls/binary_tree.rs7 symbols
src/reckle_std/wire_information.rs5 symbols

For agents

$ claude mcp add reckle-trees \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page