Skip to content

Access the Merkle tree #35

@IS4Code

Description

@IS4Code

BLAKE3 is internally a Merkle tree, which means that individual hashes are computed from the binary chunks (the Merkle leaf node) which are then combined to eventually get the root hash of the tree - the result of the whole hash function.

Would it be possible to access the hash list at any individual depth of the Merkle tree, and "store it for later"? Let's say the file is 4 GiB in size, so we have 4194304 individual hashes. I want to reduce this a few times (say thrice to 524288), intercept the current state of the computation (store the 524288 hashes at this level in the tree) as a binary blob, and then use this hash list in a completely new context to compute the final hash, which would be identical to the hash if computed without the interception in the middle.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions