Programmable cryptographic provenance logs. A tamper-evident, cryptographically verifiable log system for tracking state changes over time.
Each entry in the log represents a state transition that must be cryptographically authorized by the previous entry's lock scripts. Entries are linked via content-addressed hashes (CIDs). Lock and unlock scripts written in WebAssembly control state transitions. Lipmaa links provide O(log n) random access to historical entries.
- Cryptographic verification: each entry is linked via content-addressed CIDs.
- Programmable authorization: lock and unlock scripts in WASM via the
waccVM. - Efficient traversal: Lipmaa links provide O(log n) random access.
- Virtual key-value store: entries contain operations that modify a virtual namespace.
- Delegation support: fine-grained authority delegation via hierarchical key paths.
- Forking support: multiple logs can share history via VLAD identifiers.
- DAG-CBOR support: the
dag_cborfeature enables CBOR serialization with tag 42 for CIDs and VLADs.
[dependencies]
provenance-log = "2.0"MSRV: Rust 1.85.
Licensed under the Functional Source License, Version 1.1, Apache 2.0 Future License (FSL-1.1-Apache-2.0). See LICENSE-FSL for the full text.