AI Initiative logoAI Initiative
Reading room / Manthan

R-214 — Multi-conduit-receipt M-of-N timestamping

Proposes diverse multi-conduit receipts and timestamp agreement checks to reduce dependence on one potentially compromised time witness.

Research report / proposal; not independently verified publication
This is the retained source text, not a new validation of its claims. Numerical results and comparative claims require the accompanying source review before public reuse.

Read the connected case study or article →

Not explicitly stated in source · Date not established

Provenance, authorship and editorial notes

R-214 — Multi-conduit-receipt M-of-N timestamping

Id

manthan-herald-protocol-research-m-of-n-timestamps

Project

Manthan

Source path

manthan/herald-protocol/research/m-of-n-timestamps.md

Source sha256

4bc9f338371fbeb13a5300c5c79c6d693439e3d9074550825203f20a2f5ad01d

Local copy sha256

4bc9f338371fbeb13a5300c5c79c6d693439e3d9074550825203f20a2f5ad01d

Repo head

3a94084024a3434cef331fecac91c2c3b43f0313

Date
Not recorded
Date basis

Original publication date not established; Git revision date retained separately.

Author

Not explicitly stated in source

Author basis

Unknown; Git committer not substituted for document author.

Last source commit

8b75d1b0157c20a0a463f0e31008ef9f73099beb

Last source commit date

2026-06-08T07:40:14Z

Document status

Research report / proposal; not independently verified publication

Summary

Proposes diverse multi-conduit receipts and timestamp agreement checks to reduce dependence on one potentially compromised time witness.

Topics
  • Trust and collective intelligence research
  • 1. Problem
  • 2. Threat model — what M-of-N defends against
  • 3. Design
Theme

Trust and collective intelligence research

Priority

deep

Related ids
  • manthan-herald-protocol-research-confession-alignment
  • manthan-herald-protocol-research-dkim-analogy
  • manthan-herald-protocol-research-patina-formula
Evidence concerns
  • Recovered source text is preserved verbatim. Assertions, comparisons, commands and results belong to its original context; they were not re-executed or externally re-verified during this corpus review.
  • Research/design document, not proof of deployed capability, peer review, novelty or improved outcomes. External citations and dated maturity claims need independent verification before public reuse.
Word count

2445

Bytes

17283

Source relative

herald-protocol/research/m-of-n-timestamps.md

Remote mirror

manthan/herald-protocol/research/m-of-n-timestamps.md

Full text preserved

True

R-214 — Multi-conduit-receipt M-of-N timestamping

Status: research; proposes a protocol shape and verifier discipline. Non-normative until adopted into EXT.

Motivates: [THREATS §4.15] residual: "A captured conduit can still forge time. Multiple-conduit-receipts (M-of-N) raise the bar but do not close it. Real-time anchoring (e.g. cross-checking against signed STHs) is the next escalation."

[EXT §5.5] mandates at least one conduit_receipt on state-transition envelopes (birth, molt, deprecation). R-214 specifies the M-of-N escalation: when, why, with what diversity, and how verifiers handle the result.


1. Problem

A single conduit-receipt anchors the envelope's timestamp to one third party's view. If that conduit is captured (compelled, compromised, or colluding), it can:

The single-receipt design is sufficient for casual time-correctness (most envelopes, most use cases) but inadequate for adversarial dispute resolution.

2. Threat model — what M-of-N defends against

M-of-N raises the bar against:

What it does NOT defend against:

3. Design

3.1 Receipt set in the envelope

A state-transition envelope's signatures array MAY contain multiple conduit_receipt signatures. Per [EXT §6.4] progressive signing, each receipt signs the envelope-as-it-arrived plus all prior signatures.

For M-of-N, the envelope carries N receipts. The verifier checks at least M of them satisfy:

1. Each receipt's alg and scope are valid per [EXT §6].
2. Each signing conduit is on the verifier's accepted-conduit list (or has a Charter / LOTS the verifier accepts).
3. The N conduits collectively satisfy a diversity policy (§3.3 below).
4. The receipts' timestamps cluster within an acceptance window (§3.4 below).
5. Optionally: the cluster median time agrees with an independently-obtained STH timestamp (§3.5 below).

3.2 Per-class policy: when M-of-N is required

The protocol does not require M-of-N on every envelope. It applies tiered:

Envelope classDefault MDiversity requiredNotes
Application-layer (ordinary conversation)0 (none)—Current default; no change.
birth1jurisdiction ≠ sender'sCurrent EXT §5.5 default.
molt1jurisdiction ≠ sender'sCurrent default.
deprecation2 of ≥ 3mixed jurisdictionNEW: hardens the deprecation primitive against captured-conduit "rescue."
lineage_endorsement (Herald-issued)1jurisdiction ≠ Herald'sReceipts from a notary, not from the Herald itself.
inheritance_succession (3.6 of EXT §9)2 of ≥ 3mixed jurisdictionNEW: hardens succession against laundering.
revoke_attestation2 of ≥ 3mixed jurisdictionNEW: hardens revocations against captured-Herald undo.
bestiary_entry2 of ≥ 3mixed jurisdictionNEW: aligns with Bestiary due-process; receipt diversity guards against compelled bestiary listing.

Why default 2-of-3: in cryptographic and certification design, 2-of-3 is the smallest M-of-N that still defeats single-party compromise while remaining tractable for the originator (the originator must reach 3 conduits, not 5 or 7). N=3 with M=2 also tolerates one conduit being temporarily unreachable — the originator submits to all 3, accepts whichever 2 respond first.

Default policies are configurable. A deployment with stricter requirements may require 3-of-5 for deprecation; a deployment with looser requirements may stay at 1-of-1 (current EXT §5.5). The Charter declares the deployment's choice (Herald Charter §2 issuance policy per R-203).

3.3 Diversity policy

M-of-N is hollow if the M conduits collude. The receipt set MUST satisfy declared diversity rules. Reference rule:

diverse(R₁, R₂, ..., Rₘ) ⟺
  jurisdiction(R₁) ≠ jurisdiction(R₂) ≠ ... ≠ jurisdiction(Rₘ)
  AND
  legal_entity(R₁) ≠ legal_entity(R₂) ≠ ... ≠ legal_entity(Rₘ)

Stricter deployments can add:

Source of diversity declarations: each conduit MUST publish a Charter (analogous to Herald Charter, R-203). Verifiers consult the Charter to extract jurisdiction, legal entity, infrastructure, ownership cluster. Conduit Charters are out of EXT v0.2; they are flagged as a follow-on (D-318 candidate or new D-task).

3.4 Time-agreement window

Receipts collected from M conduits will not agree on ts exactly. Reference rule:

Anti-collusion property: a colluding cluster of M conduits can agree on a forged median, but a single non-colluding conduit's ts will differ — making the forged-median-and-real-non-colluding-conduit pattern detectable. If all M+1 conduits agree on the same wrong time, that's the residual case (not addressed by this layer).

3.5 Real-time anchoring (STH cross-check)

The cluster median ts should be independently verifiable against an out-of-band time anchor. Reference mechanism:

Why this works: the CT log's STH series is a pre-existing time witness independent of the receipt cluster. To forge both the cluster and the STH, an attacker must also compromise the CT log — which is detectable via STH gossip ([EXT §2.5]).

The STH cross-check is optional at the receipt layer (it adds latency; not all senders will have a fresh STH on hand). It is mandatory for receipts used in dispute resolution per the verifier's policy.

3.6 Encoding

No new wire format. M-of-N receipts are simply N receipts in the existing signatures array. The envelope's signatures array's required count for the envelope's class is per the table in §3.2. Each receipt is a conduit_receipt-scoped signature per EXT §6.

A new attestation type m_of_n_receipts_metadata MAY be added to the envelope's attestations carrying:

{ "type": "m_of_n_receipts_metadata",
  "value": {
    "policy":        "<deployment-policy-id>",
    "M":             <int>,
    "N_observed":    <int>,
    "diversity_certified_by": "<sigil of conduit verifying diversity, optional>",
    "median_ts":     <Unix seconds>,
    "sth_anchor": {
      "log_id":    "<bytes>",
      "sth_ts":    <Unix seconds>,
      "sth_signature": "<bytes>"
    }
  }
}

This metadata is non-normative for receipt validity (the receipts themselves are the proof) but useful for verifiers' efficient lookup.

4. Verifier discipline

Reference verifier algorithm for an envelope class requiring M-of-N:

1. Filter envelope.signatures to those with scope == "conduit_receipt".
2. For each receipt R_i:
   a. Verify R_i.signature against the conduit's pubkey.
   b. Look up the conduit's Charter; extract jurisdiction, legal_entity, etc.
3. Reject if fewer than M valid receipts present.
4. Compute median_ts over the M receipts' ts values.
5. Reject any receipt with |R_i.ts − median_ts| > 5min.
6. Confirm the M receipts satisfy the diversity policy.
   If not, reject.
7. If real-time anchoring required: fetch fresh STH from log.
   If |median_ts − STH_ts| > MMD: reject.
8. Accept the envelope's effective ts as median_ts.

Step 8 is important: the verifier uses median_ts, not the originator's self-declared ts, as the time-anchor for downstream checks (e.g. "was this sigil alive at time X").

5. Performance and latency

M-of-N adds latency. Per-conduit receipt round-trip: typically 200ms – 2s. For 2-of-3:

Most originators should submit in parallel. The 60-second collection window is generous; even a fanout-of-3 with one slow conduit completes well within it.

For state-transition envelopes (birth, molt, deprecation), latency is acceptable: these are infrequent events (perhaps once per sigil-quarter for molt, once per sigil-lifetime for birth/deprecation). For application-layer envelopes (where M-of-N is not required), the existing 0-of-N (or 1-of-N) default applies.

6. Privacy

What does M-of-N leak that 1-of-N does not?

Mitigations:

Net: M-of-N's privacy budget is comparable to 1-of-N times M. No new categorical leakage.

7. Migration path from EXT §5.5

EXT §5.5 currently mandates "at least one conduit_receipt" on state-transition envelopes. Migration:

1. v0.2.x (current): keep 1-of-1 as the default. Verifiers MAY require M-of-N per their policy.
2. v0.3: raise default for deprecation to 2-of-3; default for revoke_attestation to 2-of-3. Application-layer remains 0-of-N. Birth/molt remain 1-of-N as a backward-compat hedge.
3. v0.4 / v1.0: consider raising birth and molt to 2-of-3 if real-world deployment data shows captured-conduit attacks are observed. Otherwise remain at 1-of-N.

The migration is a registry update + a verifier-policy update. No envelope-format change is needed at any phase — the M-of-N is just a count requirement on the existing signatures array.

8. Anti-pattern: the "false-diversity" attack

Attack: an attacker stands up M conduits in distinct jurisdictions, each owned by the same entity but registered through shell companies. Charters declare different jurisdiction and legal_entity, but the operator is one party.

Defence:

The protocol can require declarations; it cannot prevent lies. THREATS doctrine: legibility, not prevention. If the lie is told in the Charter, the attacker is committing a substantive misrepresentation that is litigable in the operator's declared jurisdiction. That's still a meaningful defence.

9. Open questions

1. Should diversity-policy be per-deployment or per-envelope? Current design: per-deployment (in the Charter). Alternative: per-envelope (the originator declares which diversity dimensions matter). Per-envelope is more flexible but more complex; suggest staying per-deployment until real-world friction demands flexibility.
2. What about NTP-poisoned clusters? If all M conduits' clocks are simultaneously skewed by an NTP attack, the median is wrong but consistent. The STH cross-check is the partial defence; it can detect skew >MMD but not finer. R-task follow-on: NTP-poisoning detection in conduit clusters.
3. STH-anchor selection. Which CT log's STH does the originator use? Current proposal: at least one of the logs the deployment trusts (per Charter). For maximum independence, the originator could use a CT log from a different jurisdiction than the receipt cluster — making clock-skew compromise expensive across yet another diversity dimension. Suggest making this a deployment policy, not a protocol requirement.
4. Half-received receipts. What if the originator receives M-1 receipts within the 60-second window and one straggler at 90s? The straggler is still cryptographically valid. Reference policy: accept stragglers up to a 300-second hard cutoff; flag as "delayed receipt" if > 60s but ≤ 300s. The verifier's median computation may produce a wider range; the 5-minute deviation cap kicks in.
5. What if a conduit receipts but its Charter is stale? The Charter staleness rule (12 months per EXT §3.5 / R-203) applies. A conduit with stale Charter is non-conformant; its receipt does not count toward M, but the originator may still keep it for evidentiary purposes (the receipt is still cryptographically valid; just doesn't satisfy the diversity policy).

10. Cross-references

11. Implementation roadmap

If adopted into EXT:

1. EXT §5.6 — M-of-N receipt policy (new section, ~half a page).
2. EXT §5.7 — Conduit Charter requirements (parallel to Herald Charter; small section).
3. SPEC §3.4 amendment — multiple receipt signatures (clarification only; the existing array supports multiple).
4. Verifier-discipline pseudocode as appendix (the §4 algorithm above).
5. Test vectors — M-of-N envelope examples, including edge cases (median computation, time-window boundary, diverse vs non-diverse cluster). Belongs in T-001 / T-027 conformance suite.
6. Reference implementation — extends T-002 / T-003 / T-004 reference libraries' conduit-receipt support. Estimated ~1 week per language.

Closes

Surfaced follow-on tasks


— R-214 research output, by driver-claude, 2026-05-05.

Continue exploring