[SCITT] Re: Closing omission from the receiver's vantage — what a record must carry

Joel Hillier <jhillier@certisyn.com> Thu, 20 August 2026 00:19 UTC

Return-Path: <jhillier@certisyn.com>
X-Original-To: scitt@mail2.ietf.org
Delivered-To: scitt@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 9C40612C89DD3 for <scitt@mail2.ietf.org>; Wed, 19 Aug 2026 17:19:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1787185196; bh=Bbi3WaGRjoz6VhehUVoHUIYY0MSWv0hjZBqMjAY8sj8=; h=From:To:CC:Subject:Date:References:In-Reply-To; b=qP0OHjd3bk8KdigVxVZm3p4/rIbs6cBFX3ZncSUfRtxtmhP2ecnhH7yJEk08Rpl+h rXrFaQ3uDAmRmV/uw0Mexv6iw3pzLnlaAgT/RpCXfZE8t+lZO4qiJLPRF6tvei9tVi ixzj8TEvgoJRhABxr/UKb8F1b666zIT3MKCAmOyA=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id e8ULLbVkT3SD for <scitt@mail2.ietf.org>; Wed, 19 Aug 2026 17:19:55 -0700 (PDT)
Received: from SA9PR02CU001.outbound.protection.outlook.com (mail-southcentralusazon11023138.outbound.protection.outlook.com [40.93.196.138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C8E9612C89DCC for <scitt@ietf.org>; Wed, 19 Aug 2026 17:19:55 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LzzCev+9y7ltsOW6z8lYYQxJU3xANmttG65OUVwUKuhwR+7qzQWMeGkuu+PoHDKjRh4gnpNvRNpuE0Na0cG+RmhKaPodB46hIix3sFiyoe11sR/gnPZBh4rcLbmoedksr/6C1IW/tWdY8gyjxcQwndRHyMVEbaYRc1XpRhWQp1jP7Bn7s5zMmszZFv5A4FKHShNJNytBhtE9ULc/hl5zfYYxtCvegVTTxtEOKvWgHWocVyZpDCwziI6yXLtOuPMUOKXv+kip8h4ndFI2ety/znnd7ctNBxEDAtWP7wCY/esgpIPOnwQfPfJmZ6JHlvh0+icD1WFEtDg/EQcZVwDo1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Bbi3WaGRjoz6VhehUVoHUIYY0MSWv0hjZBqMjAY8sj8=; b=bdvDQb/LW/0EfqwdN/TmaufPXtRva291zCRK1KojekWaNCSL5zCyPlYPXMK4+HsuGHgDLVPXbsUPuW1hRiWs/0GXoOJdsViaW1YqQ3AVbwrJgSeFF9Qj58X5vNzOFF/tSF3UnGse6koAEEZPi637Rjn2+NPpr+8ZpOenSwnUowlxzEb+Xg4Ys5HlYitp0DEXDkuVHUHE65+VCEK7i+5ANr/K34UkBsysHNGku1ejNRQIMoa2nr/g+EMSq1CfRkrFkGOkirtCgddJCZhZ7npkP2dJ6IBmUeEO33WoitVeR/vqLAKKf/Gyl0Gq6/7fZ40Z2kix892ZUoq8Fo0Fe3kM+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=certisyn.com; dmarc=pass action=none header.from=certisyn.com; dkim=pass header.d=certisyn.com; arc=none
Received: from BYAPR19MB2806.namprd19.prod.outlook.com (2603:10b6:a03:fa::15) by SA0PR19MB4521.namprd19.prod.outlook.com (2603:10b6:806:b8::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.339.8; Thu, 20 Aug 2026 00:19:48 +0000
Received: from BYAPR19MB2806.namprd19.prod.outlook.com ([fe80::6c0f:94c8:c4c8:3fbb]) by BYAPR19MB2806.namprd19.prod.outlook.com ([fe80::6c0f:94c8:c4c8:3fbb%6]) with mapi id 15.21.0339.007; Thu, 20 Aug 2026 00:19:48 +0000
From: Joel Hillier <jhillier@certisyn.com>
To: Walter Hawkins <wdhawkins46@gmail.com>, "hello@vaara.io" <hello@vaara.io>, "Todd.Gibson@t-mobile.com" <Todd.Gibson@t-mobile.com>
Thread-Topic: [SCITT] Closing omission from the receiver's vantage — what a record must carry
Thread-Index: AQHdMBzSRu6w7hbPl0qFc9KVdC4O+Lal+SIK
Date: Thu, 20 Aug 2026 00:19:48 +0000
Message-ID: <BYAPR19MB28068611ABACFA3B2744185DADA52@BYAPR19MB2806.namprd19.prod.outlook.com>
References: <CALc05oEEg_BVvy6UCDBBgyrV8ASvLuJYWxNoES3k9jgE22mccA@mail.gmail.com>
In-Reply-To: <CALc05oEEg_BVvy6UCDBBgyrV8ASvLuJYWxNoES3k9jgE22mccA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
x-ai-generated: mcp-office365
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=certisyn.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR19MB2806:EE_|SA0PR19MB4521:EE_
x-ms-office365-filtering-correlation-id: 2e7d3666-03c8-46e0-b0fa-08defe50becb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|23010399003|366016|38070700021|7055299009|3023799007|5023799004|56012099006|10067099003|8096899003|18002099003|22082099003;
x-microsoft-antispam-message-info: yUJAs7u3fgD8gERJqx5TDSJ7ZeU1CPeGDDOuNaXO9mREcZmkLQJwLISk36dgGS8lkFQWEmJeBRpzVwqioYMfwIyOyRyi0rVdw/7WzueiGYFby/VwCqdrOhlvX9OGIv8pl/zhuo579rPrxjxIMPveDEMWkOtVVu34LRxeFPOOOok/Qc1Bc+94DQgw4mGJo0MI3ciu/cfLSyt6CvhnNvO4k1iBaVEO5RBxIdlIswiHgJp+IinrZ5D/BqXkcTIX5lI4xPvWrvj/X3NZT7BIy6VefuW/DaDTLGewLLb9zP/CsLZSzK1EHcd0HeZGrEtLPWmN3uSK6W/dblgyns2NMQsRzIZWtyqPYTtfznixnH7mAWHzzRRsCn+BuZhRsjZ/mMyVH7Tz8YM0gbiAViwpveSHGbpy6TKMM+WWRu9dROqdmxapv3MgD/hTJa2cmbhR4W+k1UiIqqRCTsvGQ++gWM/uE2z5wS3BqHETvKsQqwaTFXDm1UxY+1GsHcnVIISsdNKtgHFPq4gpkZsNOBN8S+6FSFafdQewvG3kv8F7NYlKeifnuyDmF5EjKgJzvDAUpiYDIhp6UhJXIggAkpbpMHBPld3XRXNUrDe+iqqCqJQgpKKoouu32qgje3HWvbSKTzL4qTIM3zvZ6fpeiZ10p35nFkYCof85LdLd3CsGx8jFzEUAuRgSNajVbkQixYrFwx/6CXdsoD1Rr6qWAprGRKbTmoo9zeAylrT1qda8PEzhhZCNHVTTFQogBQbB0k7DROCd
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR19MB2806.namprd19.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(38070700021)(7055299009)(3023799007)(5023799004)(56012099006)(10067099003)(8096899003)(18002099003)(22082099003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: caal53dULCXkPmVNPFRraEaFjaIqSjFGidGMxZDNZFa91U53FNLMsnLxpkxI9ph/HFTTviqttDikbMWvHmZ7yeOIeGz9VZJCjZzdMfAxuD1K2yVWRIaTeyXOLwKeCtZ+mJh1P+vBn8qS2cMXQih4lqDsCp6h8Awi89Jljra2oUAjipJucyy7dsSrGr3zgBbCxKj2wPITY6Q9fmy23fyg4JySJtvg6Af0UespouR3xqE09vKfz8sjYh+6KkEXXOHBdlx/kB5J+9UuSmeA7IRnMDaxNu96jg2BDJN/2Pmu0+GjbYKj6vbQM7RTSk9KSFqWeRRjRlzDYVgMnGSOIUGngwgj9B0DC1qHm76LNGzR7I/OhyK0EsSOEEm+8KPhfjQ6Q6J4KTTghZeXIJdEyVJ5bMmphdcpYsxGD1KHDQaMb8L4FyLjKwkdeQMVpKDLkQVkVC4RINDhsKn3QQLvWJc4pfiZop8zb5mFU3J4V//5UAhkIr1WqnwKqTaLj16Tw/Aspo0IIDUGlSgErJAGog2XMDwhUbwTHPDQlaC+ZP/LHJs0sY4mIHe9tJTe8y2eUufnkYCQJsIs4OgfzDkTbj7FebYb8TFu/rR8JYUiyqrA/yea+lUKiU2CqpCWZ5YZhKVqB9cfz5VyVK9os1ic3gwcFrNF9eOjWxkU/ropLmzD1AqzE9H+zxichb3lLzabJG5gDHsrOLfIMlHmsQ4uLjmMdF2MrflaWFlYPcuPOTAiXhtsoi6wCN/Km9mbAAMCvDof5HdVEQqiWlb+8xl3rUFPUlqpwAoOx2S6nduGCfTdW2SjCsUea+h3/wTN07hqTUmFMrjbrnEXPcxUe2YkfPEPg8mB6bW5YVK4ZRJlO2UwN7AOUAuK/EqHrDoARKoNFsdYNOul16yKFVRwrpmJS8DpZ1vnmNWyENX6t9VRRViRSb2KbNxId1nvenqgLMuA5oM7OW/OKEbeuUjttcsOrFBa2NGbjXbF9+4qZKvGRznIKPJGsbKV6jQ6DJAg3vF+4pkFT2XNEcNwiCqTqtRgLCMZPCI3dO5uBDigtj2VsDCgf46l9vnjtc5CjDM2zVsKibC5V71cf8RqJU5eV9K/yPuPYk9xBYdmlMJHERlULexvlhBlKW/1p9Dc2hAA3km+CeRJ66QP+N2QUfgGSJrPNXjWKz8mE/aHckEUqD7nnfKF208y7CyVGNhCew6LTD2LjPhLSo7H1fQ3KTtnxSMbkvLZ40fYq0RwedJW5spFr3rIIBrj3F///xHvAhpZsyN388WOMQ9HliWMz+IVFqFhxwGxHYWxoeApOrVoeH53h5s5f2LzSqDEA7qVmC4OWO/kh4+2/Xf/Uhyyp0hSyfxTjsfxNl4vyREPn7PA2uYEmx88UU6Q02BlrftoCUO4cTMW64z7ERhFLu4QslgbK0zm1fWe++4w1BE+qKrYEtNDUoWCpQ6GrO6UcftbENDaGmJnmfsIn6eXm143x7wTxwKtmQtNFo+Lu5MCxgz9IIsyq7/sEbDdgvcsLzbg58bB2/v3AodeJEiPeUDXXC/1nsrR492U+I8CXQv7QSVaI2aRvovvCJN3Cq3l7K9H3uSn+p6prLnkKDk2aUxklVjy9ogcevPmF0oDy6yn0+toxHVFGuKxsSVXl+xV84SUtrTEgk84+hGc7Pimd4NNaatuyi8mcepZCTpsPMBG7U8GrTrOzG+MUXg8tWItNFcP6P2w398glyxY
Content-Type: multipart/alternative; boundary="_000_BYAPR19MB28068611ABACFA3B2744185DADA52BYAPR19MB2806namp_"
MIME-Version: 1.0
X-OriginatorOrg: certisyn.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR19MB2806.namprd19.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e7d3666-03c8-46e0-b0fa-08defe50becb
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2026 00:19:48.4749 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 539494d9-b23d-4e5a-bc74-62613e2403f0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Nfbp7OT+62tcIb1b9glCH+rCPT+7lgLU1N2TCTrfDh03ebwUbnV1JfVhO25ezu1Fvt1nSe/9zoQcS9Cejxo29Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR19MB4521
Message-ID-Hash: 5EON2SYJYDNNO6AT75O7IXHKS5YZKHZP
X-Message-ID-Hash: 5EON2SYJYDNNO6AT75O7IXHKS5YZKHZP
X-MailFrom: jhillier@certisyn.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "scitt@ietf.org" <scitt@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [SCITT] Re: Closing omission from the receiver's vantage — what a record must carry
List-Id: "Supply Chain Integrity, Transparency, and Trust" <scitt.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/scitt/SCSDabb-_zmCb1pQu3fdQwkf6YQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scitt>
List-Help: <mailto:scitt-request@ietf.org?subject=help>
List-Owner: <mailto:scitt-owner@ietf.org>
List-Post: <mailto:scitt@ietf.org>
List-Subscribe: <mailto:scitt-join@ietf.org>
List-Unsubscribe: <mailto:scitt-leave@ietf.org>

Walter, Henri, Todd,

Supporting this, and offering a fourth data point that I think strengthens the case for a shared substrate rather than weakening it: a document with no payments in it has both halves you describe, arrived at independently, and hit the same limit.

ARP is cross-sovereign claim reconciliation, not payment. It has an issuer-assigned completeness component and it has a distinct-vantage party, and the split between them is exactly the one Walter draws.

The completeness component is an Examined-Set Root: a Merkle root over the distinct Claim Hashes a retroactive evaluation sweep examined, with a count beside it, signed by the reconciliation server. It catches a record removed from a set from the bytes alone. It says nothing about a record never created, and for precisely the reason Walter gives about Henri's: the set is assigned by the server, and the server is the party that benefits from the omission. That limit is written into the document rather than left to a reader, and it was written there because a reviewer put it there.

The distinct vantage is the requester. In ARP the party who commissioned a reconciliation holds a Reconciliation Identifier and a signed acknowledgment, and cannot be made to un-know that an output was owed. The document already says the Examined-Set Root lets an Audience Member require the operator to prove that its own reconciliation was in the set it claims to have examined. That is Todd's receiver in a setting with no money in it, which is the argument for the substrate: the vantage is not a property of payments, it is a property of being the party that knows an answer was owed. Payments make it concrete and legible, and the 21.20% figure is what makes it urgent, but the structure survives the subject matter changing.

One refinement I would offer to the three things a record must let a receiver resolve, because ARP has a fourth that turned out to be load-bearing and I suspect it generalises.

Between "what bound was in force when it settled" and "is the set complete" there is a question about the corpus the answer was computed against. ARP separates a verdict changing because the policy changed from a verdict changing because the underlying published corpus changed — a sanctions list issuing a delta, say — and carries a source-data version identifier taken from the publisher rather than from the answering party. Without it, a later re-evaluation that produces a different answer is unattributable, and unattributable is the state an omitting party is happy to leave you in. For a payment rail the analogue is whatever the settlement state was read against. It may fold into your item 2; I would rather it were named than folded silently.

The other thing worth stating for the substrate, since I have just spent two days on it: completeness evidence and equivocation evidence need different parties, and neither is the other. ARP now carries a witness quorum over ledger heads — countersignatures from observers independent of the responding service, with the rule that entries under common control count once, because two instances of one observer are not two observers. Its limit belongs in the same breath: that independence is declared by the witnesses, not proven from the bytes, so a verifier can check the declarations are pairwise distinct and cannot check that they are true. Even so, it catches an operator serving two chains. It does not catch an operator omitting from one chain, and no amount of it ever will. Your receiver catches the omission and cannot see the fork. Two failure modes, two parties is right, and a substrate that names three vantages — issuer, independent observer, and the party owed the answer — with what each one cannot see, would be more useful than one that names two.

I would read and comment on the statement, and if it is useful I will contribute ARP's Examined-Set Root construction and its stated limit as a non-payment worked example, so the substrate has a second subject matter in it from the start rather than being generalised from payments afterwards.

Walter — on the rail enumeration, the property I would want stated explicitly is the one you have implied: the enumerator must be reachable by a party who has only the settled transaction, and not by a party who must first be handed a list. ARP's equivalent is enumerating from a Claim Hash rather than from the server's index, and the difference between those two only becomes visible on the day the index is wrong.

Joel
________________________________
From: Walter Hawkins <wdhawkins46@gmail.com>
Sent: Wednesday, 19 August 2026 20:53:29
To: hello@vaara.io; Todd.Gibson@t-mobile.com
Cc: scitt@ietf.org
Subject: [SCITT] Closing omission from the receiver's vantage — what a record must carry
Henri, Todd,

Opening this as its own thread, off all three of our drafts, because the piece it's about belongs to none of them and touches all of them.

The gap is the one Henri named and Todd occupies from the other side: closing omission needs a party who knows an answer was owed. A hash-chained receipt makes deletion and reordering detectable and leaves omission open — a payment that never entered the chain leaves no gap to find. A sender-side attestation can't help either, because the party that can suppress the record is the same party producing the attestation. The only actor in the loop who knows a payment was owed, and cannot be made to un-know it, is the one receiving the money. Todd's PRVO-2 is that actor, and the 21.20% fictitious-settlement figure is what makes the vantage concrete rather than theoretical.

So the question worth answering here, and I think it's a small one: what does a record have to carry for a party in the receiving position to use it, resolving all of it without ever contacting the executor? Henri put the shape better than I would have — three things:

1. which authorization governed this payment,
2. what bound was in force when it settled, and
3. whether the set of records claiming to cover this payment is complete.

The third is where the two failure modes separate cleanly, and why this composes instead of competing. An issuer-assigned, gap-free sequence with a running count — Henri's completeness component — makes a short set provably short from the bytes alone, no second party required. It catches a record removed from a set. It says nothing about a record never created, because that is issuer-assigned, and the issuer sits on the side that benefits from the omission. The receiver catches exactly that: the executor can suppress a record; it cannot suppress the arrival of money. Two failure modes, two parties, and neither party covers both — which is the whole argument for treating the receiver as a distinct evidence vantage rather than folding it into any one draft.

The natural enumerator on the receiver's side is the settlement rail: records bound to the settled transaction's own digest, one per payee leg, so an absent party enumerates from the rail instead of from a list the executor hands them, and a missing leg is visible to whoever holds it. That is the part I would rather pull out of my x402 profile and specify here, where it is not subordinate to one payment-authorization draft.

What I would propose we produce, if you are both willing: a short statement of the receiver as an evidence vantage — the three things a record must let it resolve, the completeness component and its stated limit, and what a rail profile has to say for the rail's own records to serve the enumeration. Not a fourth draft competing with the three we have; the shared substrate the other three can each reference.

Henri, the completeness component and its limit are yours to state. Todd, the fraud side — why the receiver's knowledge is the input the sending side cannot manufacture — is what keeps this grounded in a real failure rather than a neat construction. I will bring the rail-enumeration binding and a testnet EVM rail to exercise it against real settled transactions.

Walter