A MERKLE_LOG seal signs the MMR root, the bagged peaks over the accumulator, under the operator key. It does not prove when that accumulator state existed against a clock no operator runs. An OpenTimestamps proof over the bagged-peak root is an existence witness with a trust root nobody runs, verifiable offline alongside veracity.
Demonstrated on an MMR(39) accumulator built from the MMRIVER reference construction (spec test vector, peaks at 1-based 30, 37, 38):
- accumulator sha256
0a3f00d3ffdbf0d2d8900814e5463931b951231289e2f9be38c0ad1fc9a99d2c
- OpenTimestamps proof confirmed in Bitcoin block 957403, verify offline with the stock
ots client
Scope: existence and ordering at a time only. Not consistency, not append-only. It complements the seal, it does not replace it.
The .ots and verifiers are ready, and the same anchor re-runs unchanged over a live forestrie checkpoint. Tell me where this does not compose with the MMR model.
A MERKLE_LOG seal signs the MMR root, the bagged peaks over the accumulator, under the operator key. It does not prove when that accumulator state existed against a clock no operator runs. An OpenTimestamps proof over the bagged-peak root is an existence witness with a trust root nobody runs, verifiable offline alongside veracity.
Demonstrated on an MMR(39) accumulator built from the MMRIVER reference construction (spec test vector, peaks at 1-based 30, 37, 38):
0a3f00d3ffdbf0d2d8900814e5463931b951231289e2f9be38c0ad1fc9a99d2cotsclientScope: existence and ordering at a time only. Not consistency, not append-only. It complements the seal, it does not replace it.
The
.otsand verifiers are ready, and the same anchor re-runs unchanged over a live forestrie checkpoint. Tell me where this does not compose with the MMR model.