Skip to main content

Module authorship

Module authorship 

Source
Expand description

Authorship leaves of a write part, its keyed tree and multiproofs (D11).

Each part commits to its original creations, cells, deletions and SQL operations as separate leaves, so a snapshot can prove one surviving cell or a row’s creation without revealing values that were later overwritten. Hashing is keyed with the part’s audience key; the tree splits like RFC 6962, the left side holding the largest power of two below the count.

Structs§

Creation
A row’s selected original creation (D7 section 6): the generation-zero insert with the lowest claimed slot, then lowest write number, and the creation it names as its owner, which differs only for an audience copy (§9.6).
Multiproof
Opened leaves of one part and one hash per maximal unopened subtree, in left-to-right order (D7). The tree’s shape follows from leaves.
RootBuilder
Computes a part’s root from its leaves in order, keeping one hash per complete subtree, so a streamed part never holds its leaves.
WriteEvidence
A write’s evidence for its part in one audience (D7 section 7): the cleartext prefix, the sealed header chunk, every part root, the header signature and a multiproof of that part’s needed leaves.

Enums§

CellKind
Whether a cell was set by an insert or an update.
KeptLeaf
One leaf of a kept record (D7.3, D11): known whole, a cell whose value the record holds only as a digest, or an operation, never opened.
Leaf
One authenticated original fact of a part (D11).

Traits§

PartHasher
Keyed hashing of one part’s leaves. Branches are unkeyed (D11).

Functions§

change_leaves
A net change’s leaves, then one per operation (D11).
execution_leaves
An execution-only row’s leaves: one per operation.
kept_leaves
A kept record’s leaves, in the order its original record had them.
part_leaves
Every leaf of a part, in its stream’s record order. Dismissals have none.
record_leaves
One record’s leaves.
root
The root of a part over its leaves.
root_of_hashes
The root over a part’s leaf hashes, without its key.