Keeping a TRACE record checkable after the 24 hour freshness window: an external pin (working, open to test) #47
Replies: 4 comments
|
@ogasurfproject-jpg on 1: yes, as an informative docs PR in trace-spec beside the |
|
@imran-siddique thank you, both done. On 2, the 33 vectors. The intake now runs against trace-tests
One change came out of it: a cMCP RuntimeClaim used to be refused as a wrong profile, and is now refused by name. Runner and expectations: https://github.com/ogasurfproject-jpg/horizon-shield/blob/ae5808b6/workers/hs-ledger/nenrin/trace-pin-v0/run_trace_tests_vectors.mjs On 1, the docs page. agentrust-io/trace-spec#480 adds |
|
@imran-siddique following up now that agentrust-io/trace-spec#480 is in. Three things changed on our side today (commit a3f0a1aa, ledger redeployed), and one small ask at the end. 1. The intake runs against the conformance vectors every night. 2. Registered producers. A pinned record whose key thumbprint is listed under trace-registry 3. A link from a TRACE record to an act. The ask, only if it suits you. On agentrust-io/trace-registry#122 you set the reopening condition as external producers pinning their own records. The two producer keys listed with your contact ( it would be the first pin by a producer of its own record, and the answer would carry |
|
@imran-siddique thank you for merging agentrust-io/trace-spec#480. One concrete instance of the independent bound the page describes under "Independence of T", in case it is useful to readers: The HORIZON SHIELD mirror listed in trace-registry's MIRRORS.md writes a witness record each time canonical
So for any entry already in the registry at The record says nothing about whether any signature or Trust Record in the registry is valid; it fixes which bytes existed by that block. The two registered mirrors are both at |
Uh oh!
There was an error while loading. Please reload this page.
Section 3.2.2 has verifiers reject a record older than 24 hours by default, and
iatis written by the issuer. Both are right for admission decisions. They leave a gap for anyone who has to answer a question about a run weeks later (an audit, a dispute, an incident review): a conformant verifier will refuse the record, and nothing outside the issuer bounds when it existed.I run a small public ledger and added a pin for exactly this. It is live and free, and I would like it tested by people who know TRACE better than I do.
POST https://ledger.horizonshield.dev/evidence/tracewith{"record": <signed TRACE record>}does four things at intake: checkseat_profileis the v0.2 identifier, that the ten required members are present, that the Ed25519 signature over the RFC 8785 form verifies with thecnf.jwkkey, and thatiatis not more than 300 seconds ahead of the ledger clock (a postdated record is refused, since the anchor would otherwise seem to confirm a time the issuer chose). It then keeps the exact bytes under the sha256 of their RFC 8785 form and anchors that sha in a daily batch stamped to Bitcoin through OpenTimestamps. Old records are accepted and flaggedfresh_at_intake: false, because keeping them checkable is the point.What a pin does not establish: any claim inside the record, that the key belongs to the subject (compare
key_thumbprint, RFC 7638, with a key you trust), revocation status, whether the transparency receipt resolves, or who submitted it.The tests run against records produced by
agentrust-trace0.11.0 from PyPI, and require the pinned sha to equal Python's RFC 8785 bytes and the thumbprint to equaljwk_thumbprint. Code and tests: https://github.com/ogasurfproject-jpg/horizon-shield/tree/main/workers/hs-ledger/nenrin/trace-pin-v0Because a pin is only as durable as its copies, the ledger is also rebuilt every day from Software Heritage with the operator's hosts blocked, and the report is published whatever it says. The first run today rebuilt all 66 entries and confirmed every anchor against two block explorers: https://github.com/ogasurfproject-jpg/horizon-shield/tree/main/workers/hs-ledger/nenrin/survive-v0
Two questions for the spec authors, if this is useful:
transparencymember or stand beside it?No record from an outside party has been pinned yet. If you issue TRACE records and want to see what a pin looks like for one of yours, I would rather get a finding than a like.
All reactions