C2SP tlog-witness cosigning
Checkpoint witness nodes.
Witness nodes verify RFC 9162 Merkle consistency proofs before cosigning each new log checkpoint, ensuring earlier log entries are not rewritten.
Operator disclosure (A5)
What witness independence means: a witness is independent only when operated by a separate legal entity on separate infrastructure. Current status: w0..w2 in eu-frankfurt-1, ch-zurich-1, and ie-dublin-1 are operated by Hypereum. External witnesses: none yet.
| Witness ID | Region | Operator | Key ID | Public Verifier Key |
|---|---|---|---|---|
w0 (w0.vectors.example) |
eu-frankfurt-1 |
operated by Hypereum | ff781263 |
w0.vectors.example+ff781263+BEsN29/svaig6s2xQWxCQffX8l8luhrDtYFLYLQEmqq7 |
w1 (w1.vectors.example) |
ch-zurich-1 |
operated by Hypereum | 4dbbe78a |
w1.vectors.example+4dbbe78a+BDx15KCrM0gf4Z01cH77dHPDoKVjBgWejzsGTlWzIFPG |
w2 (w2.vectors.example) |
ie-dublin-1 |
operated by Hypereum | d9e3d611 |
w2.vectors.example+d9e3d611+BDr+xmThyZhj9QcOKJo3xa1Docl6JlKUkkPO1Qwa1Kjk |
Quorum policy: 3 cosignatures, 2 required (w0..w2 operated by Hypereum). External witnesses: none yet.
Open-source witness daemon
Run a witness node in three commands.
Partner organizations and auditors can run the Apache-2.0 Go witness binary to cosign checkpoints directly.
# Build and start the stateless Go witness daemon (public module path bound in publishing-targets.json)
$(cd services/receipts-witness && go build -o receipts-witness .)
$./receipts-witness init --name w3.audit-firm.example --out ./witness-key.json
$./receipts-witness serve --listen :8791 --db ./witness.db