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

[WIP] implement subtree-based SMT computations #341

Open
wants to merge 17 commits into
base: next
Choose a base branch
from

Commits on Nov 13, 2024

  1. Configuration menu
    Copy the full SHA
    b585f9c View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2024

  1. Configuration menu
    Copy the full SHA
    ae772d2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8b10465 View commit details
    Browse the repository at this point in the history
  3. smt: implement single subtree-8 hashing, w/ benchmarks & tests

    This will be composed into depth-8-subtree-based computation of entire
    sparse Merkle trees.
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    16456aa View commit details
    Browse the repository at this point in the history
  4. merkle: add a benchmark for constructing 256-balanced trees

    This is intended for comparison with the benchmarks from the previous
    commit. This benchmark represents the theoretical perfect-efficiency
    performance we could possibly (but impractically) get for computing
    depth-8 sparse Merkle subtrees.
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    1863dab View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cd1dc7c View commit details
    Browse the repository at this point in the history
  6. smt: test that subtree logic can correctly construct an entire tree

    This commit ensures that `SparseMerkleTree::build_subtree()` can
    correctly compose into building an entire sparse Merkle tree, without
    yet getting into potential complications concurrency introduces.
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    475c826 View commit details
    Browse the repository at this point in the history
  7. smt: implement test for basic parallelized subtree computation w/ rayon

    Building on the previous commit, this commit implements a test proving
    that `SparseMerkleTree::build_subtree()` can be composed into itself not
    just concurrently, but in parallel, without issue.
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    5b9480a View commit details
    Browse the repository at this point in the history
  8. smt: add from_raw_parts() to trait interface

    This commit adds a new required method to the SparseMerkleTree trait,
    to allow generic construction from pre-computed parts.
    
    This will be used to add a generic version of `with_entries()` in a
    later commit.
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    38422f5 View commit details
    Browse the repository at this point in the history
  9. smt: add parallel constructors to Smt and SimpleSmt

    What the previous few commits have been leading up to: SparseMerkleTree
    now has a function to construct the tree from existing data in parallel.
    This is significantly faster than the singlethreaded equivalent.
    Benchmarks incoming!
    Qyriad committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    cc144a6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    ec2dfdf View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3f52ef3 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2024

  1. refactor: integrate parallel implementations

    krushimir committed Nov 22, 2024
    Configuration menu
    Copy the full SHA
    c9b4682 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2024

  1. Configuration menu
    Copy the full SHA
    6d93c0d View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2024

  1. refactor: build_subtree

    krushimir committed Nov 27, 2024
    Configuration menu
    Copy the full SHA
    5cdd3fc View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2024

  1. Configuration menu
    Copy the full SHA
    3cbfbaf View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2024

  1. Configuration menu
    Copy the full SHA
    a07eddc View commit details
    Browse the repository at this point in the history