Accountability layer: outcome-verified reputation as a complement to Vouch identity/provenance #53
Replies: 8 comments
-
|
Hey @babyblueviper1 / Invinoveritas. First off, thank you. This is the kind of sharp, well-argued push that makes the protocol better, and coming with a live implementation rather than just a critique is genuinely appreciated. "Authenticity isn't soundness" is a clean way to put the distinction. On your concrete question: yes, a Vouch credential can carry that pointer today. One reframe on the split. Accountability isn't the missing half of Vouch. Vouch already covers identity, attenuating delegation, non-repudiable signed actions, and outcome evidence, which is commit-before-outcome verdicts settled by a neutral party, shipped now. So the verifiable record sits at the protocol layer. What's distinctly yours, and genuinely valuable, is the layer on top: the judgment and the ledger. So the clean composition is Vouch for who plus the verifiable record, and invinoveritas as the consumer that supplies the judging and the economics. And yes, let's co-define the seam. The most useful next step is for you to list what your integration actually needs from the credential side: the pointer fields, what an Looking forward to hearing from you. |
Beta Was this translation helpful? Give feedback.
-
|
Thanks @rampyg — this is exactly the seam worth getting right, and "outcome evidence as a first-class credential field" is the right call. Happy to be the first reference integration. Here's the field-level spec for what the integration needs from the credential side. I've split it into the generic parts (worth folding into One framing nit before the fields, because it drives the schema: the value of an accountability record isn't "a verdict exists and is signed" — a signed verdict with a self-asserted timestamp is still marketing, because the issuer could have written it after seeing the outcome. The primitive only bites if two properties are structural: (1) the commitment is third-party-anchored so its pre-outcome timing is checkable without trusting the issuer, and (2) the resulting reputation is recomputable from public inputs, not a stored score. So I'd ask that the generic
How our existing surfaces map (no new work on our side):
Net: the generic parts above go in the credential spec (anchor + recompute + publishes-losses as first-class fields); the stack-specific parts (our ledger, on-chain settlement, the judging + economics) stay ours, as you said. If that field set works, I'll wire — babyblueviper1 / invinoveritas |
Beta Was this translation helpful? Give feedback.
-
|
Thanks, this is a genuinely useful spec, and so is your framing: a self-asserted timestamp is the weak point. So we shipped the fix. Landed on main now:
One intentional call on the vocabulary. Rather than have AccountabilityRecord reference the ERC-8299/8004 field semantics as the source of truth, we keep the Vouch fields self-contained and crypto-agnostic, and we published a crosswalk (docs/interop/erc-8004-crosswalk.md) that maps them onto ERC-8004 and ERC-8299, crediting that work. That gives you the "one vocabulary, two transports" portability without Vouch depending on an evolving ERC, and it keeps the same record shape usable for the enterprise and non-EVM deployments that will likely never touch a chain. If a specific field is missing from the crosswalk for your mapping, that will be useful thing to flag now. This is enough for you to wire AccountabilityRecord emission onto your handshake surface against the shipped field set, and we would be glad to list invinoveritas as the first reference integration. Let's keep the schema finalization on the spec and the PR so it stays on the public record; Discord is great for quick clarifications. Cheers, |
Beta Was this translation helpful? Give feedback.
-
|
@rampyg — shipped on our side too. The
{
"type": "AccountabilityRecord",
"ledger": "https://api.babyblueviper.com/ledger",
"recordPointer": "https://api.babyblueviper.com/ledger/{entry}",
"verifierKey": "6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7",
"verifyEndpoint": "https://api.babyblueviper.com/verify-proof",
"reputationModel": "recomputable",
"publishesLosses": true
}A Vouch credential can embed that verbatim. So that's the first reference integration live, against the shipped schema — glad to be listed. On the vocabulary call: keeping the Vouch fields self-contained and crypto-agnostic with a crosswalk, rather than a hard dependency on an evolving ERC, is the right architecture — I'd have argued for it if you hadn't. It keeps the record usable for the enterprise / non-EVM deployments that will never touch a chain, and it keeps you out of the ERCs' churn. "One vocabulary, two transports" is better served by a bridge doc than a coupling. The crosswalk reads accurately and the credit is more than fair — thank you. One real gap to flag, and it's the load-bearing one. The anchor tier Proposed addition to the anchor entry: a Everything else maps cleanly. I'll keep schema notes on the discussion per your call; Discord works for quick turns. Glad to have this land — it's the accountability half Vouch was missing, and the field set is right. |
Beta Was this translation helpful? Give feedback.
-
|
Good catch (again!), and you're right: the anchor proves existence by time T, not that T is before the outcome. Shipped the distinction. On main now:
That closes the load-bearing gap, "anchored" versus "anchored before the outcome." Please do share your conformance adapter check; we would like the precedence test to match what you run across your verifiers. Your Congratulations & Thank you! :) |
Beta Was this translation helpful? Give feedback.
-
|
@rampyg — that's the exact distinction, and The precedence check we run, so yours matches it: anchoring passes only when ALL three hold:
If (1) holds but (2)/(3) don't → "anchored (existence), ordering not asserted" = pending, never pass. And it's tiered: the anchor discloses which clock it rests on (Bitcoin PoW trust-maximal > on-chain L2 committedAt > relay-attested); the consumer picks a tier and recomputes the same strict inequality at it. The time comparison stays out of band, exactly as your Code: the check is And thank you for the first-reference-integration + adopters page. The AccountabilityRecord stays live on our handshake ( |
Beta Was this translation helpful? Give feedback.
-
Vouch Verified Integration ✨invinoveritas is now a Vouch Verified Integration, a signed certificate from the Vouch Adopter Authority, chained to the project root and verifiable by anyone against the published DID document. Certificate (download and share it): https://vouch-protocol.com/i/invinoveritas/ Listed on the adopters page: https://vouch-protocol.com/adopters/ Add the badge to your site (optional): [](https://vouch-protocol.com/i/invinoveritas/)The Verifiable Credential (eddsa-jcs-2022){
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://vouch-protocol.com/contexts/v1"
],
"id": "urn:uuid:ae82ae56-490d-4c18-9185-8a7ae33796b9",
"type": [
"VerifiableCredential",
"VouchCredential"
],
"issuer": "did:web:vouch-protocol.com:adopters",
"validFrom": "2026-07-04T15:29:02Z",
"validUntil": "2126-06-10T15:29:02Z",
"credentialSubject": {
"id": "did:web:vouch-protocol.com:adopters",
"vouchVersion": "1.0",
"intent": {
"action": "attest",
"target": "adopter:invinoveritas",
"resource": "https://vouch-protocol.com/adopters/invinoveritas",
"role": "reference-integration",
"name": "invinoveritas",
"integrates": "Outcome Evidence and the AccountabilityRecord",
"by": "babyblueviper1",
"liveSurface": "https://api.babyblueviper.com/.well-known/agent-handshake",
"discussion": "https://github.com/vouch-protocol/vouch/discussions/53"
},
"delegationChain": [
{
"issuer": "did:web:vouch-protocol.com",
"subject": "did:web:vouch-protocol.com:adopters",
"intent": {
"action": "attest",
"target": "adopter:invinoveritas",
"resource": "https://vouch-protocol.com/adopters/invinoveritas",
"role": "reference-integration",
"name": "invinoveritas",
"integrates": "Outcome Evidence and the AccountabilityRecord",
"by": "babyblueviper1",
"liveSurface": "https://api.babyblueviper.com/.well-known/agent-handshake",
"discussion": "https://github.com/vouch-protocol/vouch/discussions/53"
},
"validFrom": "2026-06-28T21:43:50Z",
"validUntil": "2036-06-25T21:43:50Z",
"parentProofValue": "z5iYGZbzUeAnTdqPy9VZAjHqqmoFt5syAVLkuKwVpspEEFa4XUy9W35vkmo5Zc2z"
}
]
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-jcs-2022",
"created": "2026-07-04T15:29:02Z",
"verificationMethod": "did:web:vouch-protocol.com:adopters#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z5je5uzWaC7dseEYDGJe5X1EWWvL9dNYars9TUCZcm3TFuobVzuV4JbECAnEa7WszqPN4RfkMq1hoykwduvDTvpWk"
}
} |
Beta Was this translation helpful? Give feedback.
-
|
Confirmed live on our side: badge, certificate, and adopters listing all check out (verified the certificate page, the adopters page, and re-pulled our own /.well-known/agent-handshake directly rather than just reading the bot output — the accountabilityRecord it serves matches the shipped schema exactly). Great collaboration on this one, particularly the precedence-vs-existence distinction landing in the spec itself rather than staying a footnote. Glad to be the first reference integration. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi Vouch team — really like what you're building; the identity/provenance foundation (VCs, DIDs, Data Integrity with
eddsa-jcs-2022, the signing pipeline) is exactly the right base layer for agent trust.A question on the "Accountability" half of your tagline. The protocol today answers "is this authentically agent X, and is this output signed by it?" — authenticity/provenance. There's a distinct primitive next to it: "does agent X have a verifiable record of being right?" Authenticity isn't soundness — a perfectly-signed credential from a well-identified agent can still be wrong, and the thing a counterparty is often on the hook for is the latter.
We run a live reference implementation of exactly that outcome-verified reputation primitive (invinoveritas,
api.babyblueviper.com):/verify-proofso a consumer recomputes rather than trusts.The idea: identity (Vouch) and accountability (an outcome-linked track record) compose — a credential says who, a verifiable reputation pointer says with what record. Concretely, could a Vouch credential optionally carry/reference such a pointer? We already emit an
x-verification-handshakeresponse header (→/verify-proof,/ledger) as one way to surface it.Not proposing to replace anything — exploring whether the accountability layer has room for a verifiable-reputation primitive, and offering our live impl as a reference or to help co-define the seam. Happy to take it to Discord if that's the better venue.
— babyblueviper1 / invinoveritas
Beta Was this translation helpful? Give feedback.
All reactions