diff --git a/src/xrpld/app/consensus/ConsensusExtensionsDesign.md b/src/xrpld/app/consensus/ConsensusExtensionsDesign.md index 8a56d5746..6f495bf14 100644 --- a/src/xrpld/app/consensus/ConsensusExtensionsDesign.md +++ b/src/xrpld/app/consensus/ConsensusExtensionsDesign.md @@ -546,6 +546,13 @@ read current manifests. Historical replay consumes the same witness bytes and committee SLE and never regenerates shares. An explicitly erased latch makes a concurrently ordered witness an evidence-only no-op. +The witness is quorum-attested evidence, not a self-verifying archive of +historical manifest bindings. Live admission proves each signing-key-to-master +attribution before collector entry; validated witness inclusion records that +the materializing validators performed that check. Replay can recheck the +stored signatures, bitmap, qC, and immutable committee, but cannot reconstruct +the historical manifest cache from witness bytes alone. + The full release-stamped payload and signatures are stored once in the witness. The latch stores only `sfExportSignatureHash`. Read-time assembly uses the witness's target and signatures, empty `SigningPubKey`, canonical AccountID diff --git a/src/xrpld/app/consensus/ExportIntent.md b/src/xrpld/app/consensus/ExportIntent.md index 9f9d290f9..0b699a689 100644 --- a/src/xrpld/app/consensus/ExportIntent.md +++ b/src/xrpld/app/consensus/ExportIntent.md @@ -110,6 +110,10 @@ derives size and qC, validates the contributor positions and every target signature, records the witness transaction ID on the latch, and removes the pending-work link. It does not consult mutable manifest state. Historical replay consumes the same bytes and parent state and never regenerates shares. +The witness bytes therefore do not independently prove the historical +master-to-signing-key bindings. Validated witness inclusion attests that live +materializing validators checked those bindings before the witness entered the +ledger; replay rechecks the durable signatures and committee-relative shape. **INV-8 - Store the signature evidence once.** The full release-stamped payload and signatures live in the witness transaction. @@ -173,7 +177,9 @@ committee-relative sufficient signature set. The accepted sidecar root selects the material before injection; closed-ledger apply sees only transaction bytes and parent ledger state. -The witness is not an XPOP-style proof that unmodified XRPL can interpret. -Validated inclusion is the source-chain attestation. XPOP remains the reverse -proof: it demonstrates that one assembled target transaction reached target -finality and drives the Hook callback against the matching origin latch. +The witness is not an XPOP-style proof that unmodified XRPL can interpret, nor +is it a self-verifying archive of historical manifest state. Validated +inclusion is the source-chain attestation that live membership attribution was +checked. XPOP remains the reverse proof: it demonstrates that one assembled +target transaction reached target finality and drives the Hook callback against +the matching origin latch.