zksync_mini_merkle_tree

Crates.iozksync_mini_merkle_tree
lib.rszksync_mini_merkle_tree
version0.1.0
sourcesrc
created_at2024-07-12 11:56:39.368163
updated_at2024-07-12 11:56:39.368163
descriptionZKsync implementation of small Merkle trees
homepagehttps://zksync.io/
repositoryhttps://github.com/matter-labs/zksync-era
max_upload_size
id1300610
size31,254
crates-io (github:matter-labs:crates-io)

documentation

README

In-memory Merkle tree

Simple in-memory binary Merkle tree implementation. The tree is of bounded depth (up to 1,024 leaves) and uses the keccak-256 hash function.

Benchmarking

The tree implementation comes with a criterion benchmark that can be run with a command like this:

cargo bench -p zksync_mini_merkle_tree --bench tree

The order of timings should be 2M elements/s for all tree sizes (measured on MacBook Pro with 12-core Apple M2 Max CPU), both for calculating the root and the root + Merkle path. This translates to approximately 130µs for a tree with 512 leaves (the tree size used for L2ToL1Logs).

Commit count: 1500

cargo fmt