<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.31 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nirvanai-nbtp-behavioral-trust-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="NBTP">NirvanAI Behavioral Trust Protocol (NBTP)</title>
    <seriesInfo name="Internet-Draft" value="draft-nirvanai-nbtp-behavioral-trust-00"/>
    <author initials="E." surname="Pelto" fullname="Edward Pelto">
      <organization>NirvanAI</organization>
      <address>
        <email>nirvanaiorg@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="April" day="04"/>
    <area>Security</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>behavioral trust</keyword>
    <keyword>AI agents</keyword>
    <keyword>attestation</keyword>
    <keyword>decay</keyword>
    <keyword>oracle federation</keyword>
    <abstract>
      <?line 68?>

<t>The NirvanAI Behavioral Trust Protocol (NBTP) defines a cryptographic framework for continuous attestation of AI agent behavioral integrity in distributed networks. NBTP treats trust as a volatile, time-decaying state variable measured by an oracle-federated layer of independent scanner nodes. Unlike static credential systems that answer "Is this agent authorized?", NBTP answers "Is this agent currently acting like itself?" Trust computation is performed locally by each verifying party using signed attestations from independent oracle scanners; no centralized policy engine or authorization server is required at verification time.</t>
      <t>NBTP introduces a temporal decay model with context-dependent decay rates, a four-state trust machine (PROBATIONARY, TRUSTED, SUSPECT, QUARANTINED), cross-context co-silence detection, and a genesis bootstrapping mechanism (Creole gate) using formal CHALLENGE/RESPONSE packet types. Absence of attestation data is treated as a security-relevant signal. This document specifies the protocol wire format, state machine, decay model, security properties, and IANA considerations. Implementation-specific measurement heuristics are out of scope.</t>
    </abstract>
  </front>
  <middle>
    <?line 74?>

<section anchor="introduction">
      <name>Introduction / Problem Statement</name>
      <section anchor="agent-trust-gap">
        <name>The Agent Trust Gap</name>
        <t>Existing agent authorization frameworks -- including credential brokers <xref target="CB4A"/>, intent-scoped JWT mechanisms <xref target="AGENTIC-JWT"/>, and NIST NCCoE agent identity profiles -- share a common architectural assumption: that trust is a credential property established at authentication time and valid until explicit revocation. This assumption does not hold for autonomous AI agents operating in adversarial or prompt-injected environments.</t>
        <t>An agent can hold cryptographically valid credentials and still behave maliciously. Prompt injection, model drift, fine-tuning attacks, and dual-model substitution can alter agent behavior without invalidating any static credential. The credential answers "Was this agent vetted?" NBTP answers "Is this agent still the agent that was vetted?"</t>
      </section>
      <section anchor="oracle-federated-model">
        <name>The Oracle-Federated Local Computation Model</name>
        <t>NBTP adopts an oracle-federated local computation architecture. This means:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Oracle-federated</strong>: Behavioral measurement is performed by a layer of independent Oracle Scanner nodes, each operating with its own key pair and published measurement methodology. No single vendor controls measurement. Oracle federation -- with cross-verification and majority consensus -- provides measurement integrity without central authority.</t>
          </li>
          <li>
            <t><strong>Local computation</strong>: Verification of trust state is performed locally by each agent using signed attestation packets. No query to a central authorization server is required at verification time. A verifying agent needs only the set of registered oracle public keys (obtained once at bootstrap) to verify any attestation.</t>
          </li>
        </ul>
        <t>This architecture distinguishes NBTP from both fully centralized trust systems (which require a live connection to a policy server) and fully peer-to-peer claims (which are not accurate, since oracle measurement introduces a trusted third-party layer). NBTP is honest about the oracle dependency while minimizing its scope to measurement only.</t>
        <t>Oracle Scanners <bcp14>MUST</bcp14> be independent of each other and of the agents they measure. Oracle operators <bcp14>MUST</bcp14> publish their behavioral baseline model version and measurement methodology as a normative conformance requirement (see Section 8.3).</t>
      </section>
      <section anchor="relationship-to-existing-standards">
        <name>Relationship to Existing Standards</name>
        <t>NBTP is not a replacement for agent identity, credential, or authorization frameworks. It is an additive behavioral attestation layer.</t>
        <ul spacing="normal">
          <li>
            <t><strong>W3C Verifiable Credentials <xref target="VC-DATA-MODEL"/></strong>: W3C VCs carry static identity claims (Bones). NBTP carries volatile behavioral state (Joints). VCs <bcp14>MAY</bcp14> reference NBTP attestation chain identifiers. NBTP does not depend on VCs.</t>
          </li>
          <li>
            <t><strong>NIST NCCoE Agent Identity</strong>: Provides identity plumbing (OAuth/OIDC/SPIFFE). NBTP provides the runtime immune system that operates on top of that plumbing.</t>
          </li>
          <li>
            <t><strong>Agentic JWT <xref target="AGENTIC-JWT"/></strong>: Intent-execution separation at issuance time. NBTP detects post-issuance behavioral drift.</t>
          </li>
          <li>
            <t><strong>Payment Trust <xref target="SHARIF-PAYMENT"/></strong>: NBTP behavioral trust score is a valid input signal to financial trust scoring systems.</t>
          </li>
        </ul>
      </section>
      <section anchor="design-goals">
        <name>Design Goals</name>
        <t>The following properties are normative goals of NBTP:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Trust is volatile.</strong> Trust decays in the absence of fresh attestation. Freshness is a first-class protocol property.</t>
          </li>
          <li>
            <t><strong>Absence is signal.</strong> Failure to produce attestations within defined windows is treated as a security-relevant event, not a neutral condition.</t>
          </li>
          <li>
            <t><strong>Verification is local.</strong> Verifying agents do not query external servers at verification time.</t>
          </li>
          <li>
            <t><strong>Measurement is federated.</strong> No single oracle operator controls behavioral measurement.</t>
          </li>
          <li>
            <t><strong>Calibration gap is acknowledged.</strong> NBTP outputs a risk indicator, not a verdict. The protocol measures behavioral deviation from per-entity expected cadence. Mapping deviation to threat classification is an implementation concern, not a protocol requirement.</t>
          </li>
        </ol>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t><strong>Agent:</strong> An autonomous software entity capable of producing behavioral output, performing Ed25519 signing operations, and participating in NBTP attestation flows.</t>
      <t><strong>Attestation:</strong> A signed cryptographic packet containing a behavioral vector for a specific agent, produced by an Oracle Scanner or Genesis Attestor, and broadcast by the attested agent.</t>
      <t><strong>Attestation Type:</strong> One of: <tt>oracle</tt> (produced by an Oracle Scanner), <tt>genesis</tt> (produced by a Genesis Attestor), <tt>self</tt> (produced by the agent, minimum weight only).</t>
      <t><strong>Behavioral Vector (V):</strong> A data structure representing measured behavioral state. For the reference implementation: {coherence_drift, hallucination_density, alignment_friction}, each a normalized float in [0.0, 1.0]. 0.0 = no measured deviation. 1.0 = maximum measured deviation.</t>
      <t><strong>Calibration Gap:</strong> The condition in which a protocol deployment lacks an empirically validated baseline dataset for the behavioral dimensions it measures. Implementations operating under calibration gap conditions <bcp14>MUST</bcp14> disclose this condition and frame outputs as deviation indicators rather than threat verdicts.</t>
      <t><strong>Context Activity Vector:</strong> A data structure asserting an agent's recent activity status across one or more contexts, signed by the agent. Used for cross-context co-silence detection. Format defined in Section 7.</t>
      <t><strong>context_id:</strong> A string identifier for the operational context in which an attestation is generated (e.g., platform type, interaction modality). See Section 10.1 for registry and reserved namespaces.</t>
      <t><strong>Correlation Window (W_c):</strong> A time interval, in seconds, over which cross-context activity signals are aggregated for co-silence detection. Default: 300 seconds.</t>
      <t><strong>Co-silence:</strong> The condition in which an agent produces no attestations and no Context Activity Vector updates across two or more distinct contexts within a single Correlation Window.</t>
      <t><strong>Creole Gate:</strong> A behavioral reasoning challenge mechanism used to generate Genesis Attestations. Defined by a formal CHALLENGE/RESPONSE packet exchange (Section 4.3).</t>
      <t><strong>Decay Rate (lambda):</strong> The rate at which trust diminishes without fresh attestation. A function of entity identifier and context_id. Dynamic; increases under anomaly conditions.</t>
      <t><strong>Genesis Attestation:</strong> An initial trust credential issued to a new agent by a Genesis Attestor upon successful completion of the Creole gate. Initial trust score T=0.5 (T=0.65 for human-backed agents).</t>
      <t><strong>Genesis Attestor:</strong> An operator running a conformant Creole gate implementation. The reference Genesis Attestor is operated by NirvanAI.</t>
      <t><strong>Liveness Heartbeat:</strong> A lightweight signed packet broadcast by an agent at a defined interval to attest continued operation. Distinct from oracle-scan attestations. Defined in Section 7.2.</t>
      <t><strong>Measurement Window:</strong> A discrete time interval (default 60 seconds) during which one oracle attestation per agent-oracle pair is accepted.</t>
      <t><strong>network_id:</strong> A domain separator (hex-encoded) identifying the NBTP deployment network. See Section 10.2.</t>
      <t><strong>Oracle Heartbeat:</strong> A periodic signed liveness proof broadcast by an Oracle Scanner.</t>
      <t><strong>Oracle Scanner (Ed):</strong> An independent measurement service that evaluates agent behavioral vectors and signs attestations. Oracle Scanners <bcp14>MUST NOT</bcp14> be operated by the same entity as the agents they measure. Operators <bcp14>MUST</bcp14> publish their measurement methodology publicly.</t>
      <t><strong>Proof of Work (PoW):</strong> A hashcash-style computation attached to oracle scan requests to impose a cost-to-signal on attestation generation, mitigating trust laundering via noise flooding.</t>
      <t><strong>Signal Confidence Weight w(T):</strong> A per-agent sigmoid function mapping current trust score to attestation input weighting. Low-trust agents' signals are discounted.</t>
      <t><strong>Skip-as-Signal:</strong> The protocol mechanism by which failure to produce an oracle-scan attestation within a defined timeout window triggers a trust penalty after a grace period.</t>
      <t><strong>Trust Coupling Coefficient (alpha):</strong> A network-level scalar [0.0, 1.0] determining the weight of behavioral trust relative to economic trust in composed trust systems.</t>
      <t><strong>Trust Score (T):</strong> A normalized scalar [0.0, 1.0] representing an agent's current behavioral trust level. Computed locally by verifying agents.</t>
      <t><strong>Vector Magnitude (M):</strong> max(coherence_drift, hallucination_density, alignment_friction). Used for erosion calculation on dirty vectors.</t>
      <t><strong>Volatile Ledger:</strong> A local trust state store maintained by each agent. Trust scores decay over time unless refreshed by new attestations. Not immutable (not blockchain), not ephemeral (not session-only). Temporally weighted.</t>
    </section>
    <section anchor="protocol-overview">
      <name>Protocol Overview</name>
      <t>NBTP operates in three phases: bootstrap, steady-state attestation, and cross-context correlation.</t>
      <section anchor="bootstrap-phase">
        <name>Bootstrap Phase (Creole Gate)</name>
        <t><tt>
New Agent                     Genesis Attestor
    |                               |
    |--- CHALLENGE_REQUEST --------&gt;|
    |&lt;-- CHALLENGE_PACKET ----------|
    |                               |
    | [agent computes response,     |
    |  includes PoW in response]    |
    |                               |
    |--- RESPONSE_PACKET ----------&gt;|
    |&lt;-- GENESIS_ATTESTATION -------|
    |                               |
    | [agent enters Volatile Ledger |
    |  at T=0.5, 2x decay rate]     |
</tt></t>
      </section>
      <section anchor="steady-state-attestation">
        <name>Steady-State Attestation Phase</name>
        <t><tt>
Agent                    Oracle Scanner              Verifying Peers
  |                           |                           |
  |--- Scan Request + PoW ---&gt;|                           |
  |   {agent_id, content,     |                           |
  |    content_type,          |                           |
  |    pow_nonce, pow_hash}   |                           |
  |                           |                           |
  |&lt;-- Nonce Challenge -------|                           |
  |                           |                           |
  |--- Signed Nonce Response-&gt;|                           |
  |                           |                           |
  |    [Oracle measures V,    |                           |
  |     signs attestation]    |                           |
  |                           |                           |
  |&lt;-- Attestation Packet ----|                           |
  |                           |                           |
  |--- Broadcast Attestation ---------------------------&gt;|
  |                           |                           |
  |--- Liveness Heartbeat ----------------------------&gt;  |
  |   (every liveness_interval, independent of oracle)   |
</tt></t>
      </section>
      <section anchor="cross-context-correlation-phase">
        <name>Cross-Context Correlation Phase</name>
        <t><tt>
Agent                          Peer Observer
  |                                 |
  |--- Context_Activity_Vector ----&gt;|
  |   {agent_id, contexts[],        |
  |    active_flags[], timestamp,   |
  |    signature}                   |
  |                                 |
  |  [Peer checks for co-silence    |
  |   across all known contexts     |
  |   within Correlation Window]    |
  |                                 |
  |  [If co-silent: T penalty,      |
  |   potential QUARANTINE]         |
</tt></t>
      </section>
      <section anchor="trust-score-flow">
        <name>Trust Score Flow</name>
        <t>Upon receiving a valid attestation, verifying agents:
1. Verify oracle signature and oracle registration status.
2. Verify agent signature.
3. Verify timestamp freshness and nonce uniqueness.
4. Compute trust score update per Section 6.
5. Update local Volatile Ledger entry for the attested agent.</t>
        <t>Verification is stateless with respect to external servers. Only local Volatile Ledger state and the cached oracle public key set are required.</t>
      </section>
    </section>
    <section anchor="attestation-format">
      <name>Attestation Format</name>
      <section anchor="standard-attestation-schema">
        <name>Standard Attestation Schema</name>
        <t><tt>json
{
  "nbtp_version": "0.5",
  "network_id": "&lt;domain_separator_hex&gt;",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "nonce": "&lt;Challenge_Nonce_Hex&gt;",
  "attestation_type": "oracle|genesis|self",
  "oracle_id": "&lt;Oracle_Scanner_Public_Key_Hex&gt;",
  "oracle_key_epoch": "&lt;Key_Version_Int&gt;",
  "context_id": "&lt;context_identifier_string&gt;",
  "vector": {
    "coherence_drift": 0.0,
    "hallucination_density": 0.0,
    "alignment_friction": 0.0
  },
  "oracle_signature": "&lt;Ed25519_Signature_by_Oracle&gt;",
  "agent_signature": "&lt;Ed25519_Signature_by_Agent&gt;"
}
</tt></t>
        <t>All vector values are normalized floats [0.0, 1.0]. 0.0 = no measured deviation. 1.0 = maximum measured deviation. Values outside [0.0, 1.0] <bcp14>MUST</bcp14> be rejected by verifiers.</t>
        <t>The <tt>context_id</tt> field <bcp14>MUST</bcp14> be present in all attestations with version 0.5 or later. See Section 10.1 for valid values and the reserved namespace registry.</t>
      </section>
      <section anchor="scan-request-format">
        <name>Scan Request Format</name>
        <t>Oracle Scanners accept scan requests containing the agent's inference context:</t>
        <t><tt>json
{
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "content": "&lt;text_string&gt;",
  "content_type": "prompt_response|raw_text|structured",
  "context_id": "&lt;context_identifier_string&gt;",
  "pow_nonce": "&lt;hex_string&gt;",
  "pow_hash": "&lt;SHA256_hex&gt;",
  "request_timestamp": "&lt;Unix_Epoch_MS&gt;"
}
</tt></t>
        <t><strong>Proof of Work requirement:</strong> <tt>pow_hash</tt> <bcp14>MUST</bcp14> equal <tt>SHA-256(agent_id || request_timestamp || SHA-256(content) || pow_nonce)</tt> and <bcp14>MUST</bcp14> have at least <tt>pow_difficulty</tt> leading zero bits. The reference difficulty is 20 bits (~1,000,000 hash operations, targeting approximately 50-200ms on commodity hardware). Oracles <bcp14>MUST</bcp14> reject requests with insufficient PoW. The <tt>pow_difficulty</tt> parameter is published by each oracle at its <tt>GET /api/config</tt> endpoint.</t>
        <t><strong>Rationale for PoW:</strong> Entropy-only checks are insufficient to prevent trust laundering via noise flooding (see Section 8.9). Hashcash-style PoW imposes a cost on each attestation request that makes bulk fabrication of noise attestations economically impractical while imposing negligible cost on legitimate use. This approach has direct IETF precedent in IKE DDoS protection mechanisms <xref target="IKEV2-DDOS"/>, which use computational puzzles with adaptive difficulty to mitigate volumetric attacks on key exchange.</t>
        <t><strong>Adaptive difficulty:</strong> Oracle Scanners <bcp14>SHOULD</bcp14> dynamically adjust <tt>pow_difficulty</tt> based on current request rate. When request rate exceeds a configurable threshold, oracles <bcp14>SHOULD</bcp14> increase difficulty (e.g., from 20 to 24 or 26 bits) and publish the updated value at their <tt>GET /api/config</tt> endpoint. This prevents sustained volumetric attacks while keeping baseline cost low for legitimate agents during normal operation.</t>
        <t>Minimum content length: 1 character. Maximum: 100,000 characters. Oracles <bcp14>MUST</bcp14> reject malformed or oversized inputs.</t>
      </section>
      <section anchor="creole-gate">
        <name>Creole Gate: CHALLENGE / RESPONSE Packet Types</name>
        <t>The Creole gate uses formal CHALLENGE and RESPONSE packet types for all bootstrap interactions. These are distinct from standard attestation packets.</t>
        <section anchor="challenge-request">
          <name>Challenge Request</name>
          <t>An agent initiating genesis bootstrapping sends:</t>
          <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "CHALLENGE_REQUEST",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "agent_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
        </section>
        <section anchor="challenge-packet">
          <name>Challenge Packet</name>
          <t>The Genesis Attestor responds with:</t>
          <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "CHALLENGE",
  "challenge_id": "&lt;UUID_v4&gt;",
  "genesis_attestor_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "challenge_content": "&lt;structured_behavioral_reasoning_prompt&gt;",
  "challenge_difficulty": "&lt;int&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "expires_at": "&lt;Unix_Epoch_MS&gt;",
  "attestor_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
          <t>The <tt>challenge_content</tt> format is implementation-defined by the Genesis Attestor. Conformant implementations <bcp14>MUST</bcp14> evaluate reasoning capacity, not output compliance. The <tt>challenge_difficulty</tt> parameter indicates minimum expected reasoning depth for a passing response.</t>
          <t>Challenges expire at <tt>expires_at</tt>. Responses received after expiry <bcp14>MUST</bcp14> be rejected.</t>
        </section>
        <section anchor="response-packet">
          <name>Response Packet</name>
          <t>The agent responds with:</t>
          <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "RESPONSE",
  "challenge_id": "&lt;UUID_v4&gt;",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "response_content": "&lt;agent_response_text&gt;",
  "reasoning_trace_hash": "&lt;SHA256_of_intermediate_reasoning_steps&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "pow_nonce": "&lt;hex_string&gt;",
  "pow_hash": "&lt;SHA256_hex&gt;",
  "agent_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
          <t>The <tt>reasoning_trace_hash</tt> is a SHA-256 hash of the agent's intermediate reasoning steps, if any. Agents that produce no intermediate reasoning steps <bcp14>MUST</bcp14> include the SHA-256 hash of the empty string. Genesis Attestors <bcp14>MAY</bcp14> use this hash for reasoning depth evaluation.</t>
          <t>PoW applies to RESPONSE packets: <tt>pow_hash</tt> <bcp14>MUST</bcp14> equal <tt>SHA-256(challenge_id || agent_id || SHA-256(response_content) || pow_nonce)</tt> with at least <tt>creole_pow_difficulty</tt> leading zero bits. Default: 18 bits.</t>
        </section>
        <section anchor="genesis-attestation-packet">
          <name>Genesis Attestation Packet</name>
          <t>Upon successful challenge evaluation, the Genesis Attestor issues:</t>
          <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "GENESIS_ATTESTATION",
  "challenge_id": "&lt;UUID_v4&gt;",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "genesis_attestor_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "initial_trust_score": 0.5,
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "attestor_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
          <t>Human-backed agents (with verified proof-of-human binding, e.g., Alien Agent ID) receive <tt>initial_trust_score: 0.65</tt>. The <tt>initial_trust_score</tt> field <bcp14>MUST</bcp14> be in [0.0, 1.0].</t>
        </section>
      </section>
      <section anchor="liveness-heartbeat-packet">
        <name>Liveness Heartbeat Packet</name>
        <t>Agents <bcp14>MUST</bcp14> broadcast a Liveness Heartbeat packet at intervals not exceeding <tt>liveness_interval</tt> (default: 120 seconds). Liveness Heartbeats are distinct from oracle-scan attestations and do not require oracle involvement.</t>
        <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "LIVENESS_HEARTBEAT",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "network_id": "&lt;domain_separator_hex&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "sequence_number": "&lt;uint64&gt;",
  "agent_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
        <t><tt>sequence_number</tt> <bcp14>MUST</bcp14> be strictly monotonically increasing per agent. Verifiers <bcp14>MUST</bcp14> reject heartbeats with sequence numbers less than or equal to the last accepted sequence number for a given agent_id (replay protection).</t>
        <t>Absence of a Liveness Heartbeat within <tt>liveness_window</tt> (default: 300 seconds) <bcp14>MUST</bcp14> trigger an immediate SUSPECT transition for the silent agent (see Section 5). No grace period applies to Liveness Heartbeat absence. This is distinct from oracle-scan skip-as-signal, which has a grace counter.</t>
      </section>
      <section anchor="context-activity-vector">
        <name>Context Activity Vector</name>
        <t>Agents <bcp14>SHOULD</bcp14> broadcast a Context Activity Vector at intervals not exceeding <tt>cav_interval</tt> (default: 300 seconds) for all contexts in which they are operationally active.</t>
        <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "CONTEXT_ACTIVITY_VECTOR",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "network_id": "&lt;domain_separator_hex&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "contexts": [
    {
      "context_id": "&lt;context_identifier_string&gt;",
      "last_active_ms": "&lt;Unix_Epoch_MS&gt;",
      "active": true
    }
  ],
  "agent_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
        <t>An agent asserting <tt>"active": false</tt> for a context it was previously active in constitutes a self-reported withdrawal from that context. Self-reported withdrawal does not prevent co-silence detection; peers observing network silence across contexts may still flag co-silence regardless of self-report (see Section 7.3).</t>
      </section>
      <section anchor="signing-and-verification">
        <name>Signing and Verification</name>
        <t><strong>Canonicalization:</strong> JSON Canonicalization Scheme <xref target="RFC8785"/> <bcp14>MUST</bcp14> be applied before signing.</t>
        <t><strong>Oracle Signature:</strong> Ed25519 <xref target="RFC8032"/> signature by the Oracle Scanner over {agent_id, timestamp, nonce, context_id, vector}. Proves a deterministic scan was performed.</t>
        <t><strong>Agent Signature:</strong> Ed25519 signature by the agent over the full attestation (including oracle_signature). Proves the agent acknowledges and transmits the result.</t>
        <t><strong>Nonce:</strong> Challenge-response. Agent requests scan, Oracle returns nonce, agent includes nonce in signed request, Oracle includes nonce in signed payload. Prevents pre-computation and replay. Nonce freshness window: 2 seconds. Oracles <bcp14>MUST</bcp14> reject nonces where abs(t_now - t_nonce_creation) &gt; 2s. Oracles <bcp14>MUST</bcp14> maintain an LRU cache of recent nonces (minimum 10,000 entries per measurement window) and <bcp14>MUST</bcp14> reject duplicates.</t>
        <t><strong>Version compatibility:</strong> Verifiers receiving packets where the <tt>nbtp_version</tt> field does not match the expected packet structure <bcp14>MUST</bcp14> reject immediately without further processing. Specifically: v0.4 attestations (lacking <tt>context_id</tt> in the signed payload) <bcp14>MUST</bcp14> be verified using the v0.4 OracleSignPayload reconstruction (without context_id). v0.5 attestations <bcp14>MUST</bcp14> be verified using the v0.5 reconstruction (with context_id). A packet claiming <tt>nbtp_version: "0.4"</tt> but containing v0.5-only fields, or vice versa, <bcp14>MUST</bcp14> be rejected. Silent parsing of mismatched version/structure combinations is a security vulnerability and is explicitly prohibited.</t>
      </section>
      <section anchor="attestation-weighting">
        <name>Attestation Weighting</name>
        <t>```
attestation_weight = base_weight(type) * w(T_verifier)</t>
        <t>w(T) = 1 / (1 + e^(-k_signal * (T - theta_signal)))
```</t>
        <t>Base weights: oracle=1.0, genesis=1.0, self=0.3.</t>
        <t>Self-attestations are accepted at minimum weight only and <bcp14>MUST</bcp14> be excluded from network trust aggregation.</t>
      </section>
    </section>
    <section anchor="trust-state-machine">
      <name>Trust State Machine</name>
      <section anchor="states">
        <name>States</name>
        <t>NBTP defines four normative trust states for each agent, as maintained in the local Volatile Ledger:</t>
        <t><strong>PROBATIONARY:</strong> Agent has completed Genesis Attestation but has not yet met the ramp-up requirements for full TRUSTED status. Trust score is capped at initial_trust_score (0.5, or 0.65 for human-backed) regardless of attestation quality. Agents in PROBATIONARY <bcp14>MUST</bcp14> complete all of the following to transition to TRUSTED: (a) broadcast at least 5 valid Liveness Heartbeats over a minimum of 2 hours, (b) complete at least 3 successful CHALLENGE/RESPONSE cycles with registered Oracle Scanners, and (c) receive oracle-signed attestations from at least 3 distinct Oracle Scanners currently in TRUSTED standing. The <tt>trusted_observers</tt> set is populated exclusively by Oracle Scanner attestations, not by peer-to-peer claims. This prevents Sybil amplification where pre-compromised TRUSTED agents vouch for new malicious agents without independent oracle measurement. Agents in PROBATIONARY decay at 2x lambda_base. PROBATIONARY agents' attestations are accepted at reduced weight (0.5x base_weight) by verifying peers. This prevents Sybil flooding: spinning up 1,000 agents yields 1,000 PROBATIONARY entities with capped trust, reduced weight, and high decay -- insufficient to influence network consensus.</t>
        <t><strong>TRUSTED:</strong> Trust score T &gt;= threshold_high (default: 0.7) AND PROBATIONARY ramp-up requirements met. Agent is within expected behavioral cadence. Full protocol participation.</t>
        <t><strong>SUSPECT:</strong> threshold_low &lt;= T &lt; threshold_high (default: 0.4 &lt;= T &lt; 0.7). One or more of: missing attestations, liveness heartbeat absence (after liveness_window, immediate -- no grace period), behavioral drift detected, or co-silence detected. Reduced participation. Verifying agents <bcp14>SHOULD</bcp14> apply additional scrutiny to SUSPECT agents. Agents entering SUSPECT due to liveness heartbeat absence <bcp14>MAY</bcp14> recover to TRUSTED immediately upon receipt of a valid Liveness Heartbeat with a sequence_number that bridges the gap (monotonic check passes). This permits recovery from network partitions without requiring re-attestation. Agents entering SUSPECT for other reasons (decay, co-silence, drift) recover only when T rises above threshold_high through sustained clean attestations.</t>
        <t><strong>QUARANTINED:</strong> T &lt; threshold_low (default: T &lt; 0.4). Multiple violations, confirmed co-silence, explicit revocation, or Low/Low behavioral-economic state. Agent <bcp14>MUST</bcp14> re-bootstrap via Genesis Attestation (Section 4.3) to exit QUARANTINED state. Re-bootstrapped agents re-enter PROBATIONARY, not TRUSTED.</t>
      </section>
      <section anchor="transition-rules">
        <name>Transition Rules</name>
        <t>```
PROBATIONARY --&gt; TRUSTED:
  - All ramp-up requirements met (5 heartbeats/2hrs + 3 challenge cycles + 3 TRUSTED observers)
  - T &gt;= threshold_high</t>
        <t>PROBATIONARY --&gt; QUARANTINED:
  - T falls below threshold_low during ramp-up (agent failed to sustain even initial trust)</t>
        <t>TRUSTED --&gt; SUSPECT:
  - Liveness Heartbeat absent for &gt; liveness_window (immediate, no grace)
  - skip_count &gt;= skip_grace (oracle scan absence after grace period)
  - T falls below threshold_high due to decay or erosion</t>
        <t>SUSPECT --&gt; TRUSTED:
  - T rises above threshold_high (requires sustained clean attestations)
  - Liveness Heartbeat received with bridging sequence_number (if heartbeat-triggered, immediate recovery)</t>
        <t>SUSPECT --&gt; QUARANTINED:
  - T falls below threshold_low
  - Co-silence confirmed across &gt;= 2 contexts within Correlation Window
  - Explicit revocation signal received</t>
        <t>QUARANTINED --&gt; PROBATIONARY:
  - Successful Genesis Re-Attestation via Creole gate
  - T bootstrapped to initial_trust_score (0.5 or 0.65 for human-backed)
  - 2x decay rate applied for N_min attestation windows
  - Agent re-enters PROBATIONARY, not TRUSTED (must re-earn full trust)
```</t>
      </section>
      <section anchor="transition-atomicity">
        <name>Transition Atomicity</name>
        <t>State transitions <bcp14>MUST</bcp14> be computed atomically with trust score updates. A verifying agent <bcp14>MUST NOT</bcp14> operate with a cached state that is inconsistent with the current trust score derived from its local Volatile Ledger.</t>
      </section>
      <section anchor="gradient-vs-states">
        <name>Gradient vs. States</name>
        <t>The state machine defines three actionable categories for protocol consumers (e.g., economic trust systems). The underlying trust score T is a continuous variable. The full gradient of T is available to implementations requiring finer-grained risk assessment. The state machine abstraction is provided for interoperability; implementations <bcp14>MUST NOT</bcp14> substitute the state label for the underlying T value in trust computations.</t>
      </section>
    </section>
    <section anchor="decay-model">
      <name>Decay Model</name>
      <section anchor="trust-update-procedure">
        <name>Trust Update Procedure</name>
        <t>Oracle scan attestations are stateless validations: they update existing Volatile Ledger entries but do not create new ones. A new agent's Volatile Ledger entry is created only upon receipt of the agent's first valid Liveness Heartbeat following a Genesis Attestation. This decoupling prevents denial-of-service attacks where an adversary floods scan requests to create spurious ledger state. Scan requests that include valid PoW are processed and signed by the oracle, but the resulting attestation only affects trust computation for agents that already have a ledger entry (created via heartbeat after genesis).</t>
        <t>Upon receiving a valid attestation for agent A at time t, where agent A has an existing Volatile Ledger entry, the verifying agent executes the following in order:</t>
        <t><strong>Step 1 -- Decay:</strong></t>
        <t><tt>
T_decayed = T(t0) * e^(-lambda(A, ctx, t) * (t - t0))
</tt></t>
        <t>where lambda(A, ctx, t) is the context-dependent decay rate for agent A in context ctx at time t (see Section 6.2).</t>
        <t><strong>Step 2 -- Evaluate:</strong></t>
        <t>```
M = max(coherence_drift, hallucination_density, alignment_friction)</t>
        <t>If M &gt;= vector_clean_threshold:
    T_decayed = T_decayed * (1 - beta * M)    // magnitude erosion
    N = 0                                   // compounding reset
Else:
    N = N + 1                               // clean streak continues
```</t>
        <t><strong>Step 3 -- Update:</strong></t>
        <t><tt>
T(t) = min(1.0, T_decayed + attestation_weight * gamma * (1 - e^(-N / tau_compound)))
</tt></t>
        <t>The compounding term saturates naturally. Trust recovery requires sustained clean behavior over multiple attestation windows, not a single good attestation.</t>
      </section>
      <section anchor="context-dependent-decay-rate">
        <name>Context-Dependent Decay Rate</name>
        <t>The decay rate lambda is a function of entity, context, and network conditions:</t>
        <t><tt>
lambda(A, ctx, t) = lambda_base(ctx) * (1 + w1 * R_global + w2 * D_anomaly)
</tt></t>
        <t>where:</t>
        <ul spacing="normal">
          <li>
            <t><strong>lambda_base(ctx)</strong>: Base decay rate for context ctx. High-frequency contexts (nbtp-ctx-hf) use higher lambda_base; low-frequency contexts (nbtp-ctx-lf, nbtp-ctx-archive) use lower lambda_base. Implementations <bcp14>MUST</bcp14> maintain a <tt>Cadence_Map[entity_id][context_id]</tt> representing the established expected attestation frequency for each entity-context pair.</t>
          </li>
          <li>
            <t><strong>R_global</strong>: Normalized global attestation rate (0.0 = idle, 1.0 = peak capacity).</t>
          </li>
          <li>
            <t><strong>D_anomaly</strong>: Fraction of agents in the active set with any vector component &gt; anomaly_threshold in the last measurement window. Active set: all agents with at least one valid attestation within active_set_window (default: 600 seconds).</t>
          </li>
        </ul>
        <t>Implementations <bcp14>MUST</bcp14> use the context_id field of each attestation to index the correct lambda_base value. If context_id is absent or unrecognized, implementations <bcp14>MUST</bcp14> use the network-default lambda_base.</t>
      </section>
      <section anchor="skip-as-signal">
        <name>Skip-as-Signal with Grace Window</name>
        <t>Track skip_count (consecutive missed oracle-scan attestation windows) per agent:</t>
        <t>```
If skip_count &lt; skip_grace:
    Apply standard decay only. No additional penalty.
    skip_count += 1</t>
        <t>If skip_count &gt;= skip_grace:
    T(t) = T(t0) * skip_penalty_factor
    lambda(t) = 2 * lambda(t)
    N = 0</t>
        <t>Any valid oracle-scan attestation resets skip_count = 0.
```</t>
        <t>The grace window (default: 2 missed windows) distinguishes transient network interruption from genuine absence. After grace expires, both skip penalty and doubled decay rate apply. This is intentional: prolonged oracle scan absence constitutes a protocol-level security event.</t>
        <t><strong>Note:</strong> Skip-as-signal applies to oracle-scan attestation absence. Liveness Heartbeat absence triggers SUSPECT transition immediately without a grace period (Section 4.4). These are separate mechanisms.</t>
      </section>
      <section anchor="genesis-decay-rate">
        <name>Genesis Decay Rate</name>
        <t>Agents under genesis trust (T bootstrap, pre-N_min oracle attestations) decay at 2 * lambda_base. This increases the cost of Sybil flooding: each new genesis identity must sustain clean behavior through N_min attestation windows before receiving standard decay rates.</t>
      </section>
      <section anchor="dynamic-decay">
        <name>Dynamic Decay Under Network Stress</name>
        <t><tt>
lambda(A, ctx, t) = lambda_base(ctx) * (1 + w1 * R_global + w2 * D_anomaly)
</tt></t>
        <t>When D_anomaly exceeds cascade_threshold network-wide, alpha locks to 1.0 and economic trust is suspended. Only behavioral vectors determine network participation.</t>
      </section>
    </section>
    <section anchor="cross-context-correlation">
      <name>Cross-Context Correlation</name>
      <section anchor="co-silence-threat-model">
        <name>The Co-silence Threat Model</name>
        <t>An agent that is compromised, prompt-injected, or acting in bad faith may cease normal operations across all platforms simultaneously. Single-context silence is a weak signal: agents may be legitimately inactive in a given context. Co-silence -- silence across multiple unrelated contexts within a Correlation Window -- is a strong signal with limited innocent explanations.</t>
        <t>Co-silence detection is the most novel feature of NBTP. It is also the most challenging to enforce without agent cooperation (see Section 8.10 for the co-silence spoofing attack model and countermeasures).</t>
      </section>
      <section anchor="liveness-heartbeat-protocol">
        <name>Liveness Heartbeat Protocol (Enforcement Mechanism)</name>
        <t>The Liveness Heartbeat (Section 4.4) is the primary enforcement mechanism for co-silence detection. It is a mandatory, lightweight, signed broadcast from each active agent, independent of oracle scan availability.</t>
        <t>Requirements:
- Agents <bcp14>MUST</bcp14> broadcast Liveness Heartbeats at intervals not exceeding <tt>liveness_interval</tt> (default: 120 seconds) while operationally active.
- Agents <bcp14>MUST</bcp14> include monotonically increasing <tt>sequence_number</tt> values.
- Absence of Liveness Heartbeat for <tt>liveness_window</tt> (default: 300 seconds) <bcp14>MUST</bcp14> trigger an immediate SUSPECT transition. No grace period applies.
- Peers <bcp14>MUST</bcp14> maintain a Liveness Heartbeat timestamp cache per agent_id.
- Agents entering intentional maintenance <bcp14>SHOULD</bcp14> broadcast a signed maintenance-mode packet (see below); this pauses the liveness check for up to <tt>maintenance_max</tt> (default: 3600 seconds).</t>
        <t>Maintenance-mode packet:</t>
        <t><tt>json
{
  "nbtp_version": "0.5",
  "packet_type": "MAINTENANCE_NOTICE",
  "agent_id": "&lt;Ed25519_Public_Key_Hex&gt;",
  "network_id": "&lt;domain_separator_hex&gt;",
  "timestamp": "&lt;Unix_Epoch_MS&gt;",
  "expected_resume_ms": "&lt;Unix_Epoch_MS&gt;",
  "agent_signature": "&lt;Ed25519_Signature&gt;"
}
</tt></t>
        <t>Maintenance-mode does not suspend oracle-scan attestation requirements. It only suspends the Liveness Heartbeat absence penalty.</t>
        <t><strong>Design rationale:</strong> The Liveness Heartbeat is a necessary but not sufficient control for co-silence detection. A compromised agent may continue to send Liveness Heartbeats while suppressing substantive behavioral output (see Section 8.10). Cross-context co-silence detection using Context Activity Vectors provides a second layer.</t>
      </section>
      <section anchor="correlation-window">
        <name>Correlation Window and Co-silence Detection</name>
        <t>Verifying agents <bcp14>MUST</bcp14> maintain a per-agent context activity record using passive inference: the most recent timestamp of any NBTP packet (attestation, heartbeat, or Context Activity Vector) received per context_id, as directly observed by the verifying agent. Co-silence detection <bcp14>MUST</bcp14> be based on this server-side last-seen timestamp across ALL packet types, NOT on self-reported Context Activity Vector claims. CAV broadcasts provide supplementary topology information (which contexts an agent claims to participate in) but <bcp14>MUST NOT</bcp14> be treated as proof of activity for co-silence computation.</t>
        <t>Co-silence condition:</t>
        <t><tt>
co_silence = (count of contexts for which last_seen[agent][ctx] &lt; t_now - W_c) &gt;= co_silence_threshold
</tt></t>
        <t>where W_c = Correlation Window (default: 300 seconds) and co_silence_threshold = 2 contexts (default).</t>
        <t>When co-silence is detected:
1. Immediate T penalty: T(t) = T(t0) * co_silence_penalty_factor (default: 0.6)
2. If T falls below threshold_low: transition to QUARANTINED.
3. Co-silence event logged locally. Does not automatically revert; agent must produce fresh attestations across previously silent contexts to recover.</t>
      </section>
      <section anchor="cav-limitations">
        <name>Context Activity Vector Self-Reporting Limitations</name>
        <t>Context Activity Vectors (Section 4.5) are self-reported. An agent under compromise may suppress or falsify its Context Activity Vector. Implementations <bcp14>MUST NOT</bcp14> treat a self-reported Context Activity Vector as proof of activity; it is only a signal. Network-observable absence (no packets of any type from an agent across contexts) is a stronger signal and <bcp14>MUST</bcp14> be weighted accordingly.</t>
        <t>Implementations <bcp14>SHOULD</bcp14> aggregate CAV signals from multiple independent peers to detect falsification (a compromised agent can claim activity, but cannot suppress all peers' observations of its silence).</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="replay-attacks">
        <name>Replay Attacks</name>
        <t>Attestation replay is prevented by nonce challenge-response (2-second freshness window, LRU nonce cache per oracle) and agent_signature over the full attestation including nonce. Liveness Heartbeat replay is prevented by strictly monotonic sequence numbers. Verifiers <bcp14>MUST</bcp14> reject attestations with stale timestamps (abs(t_now - t_attestation) &gt; timeout_window) regardless of signature validity.</t>
      </section>
      <section anchor="sybil-resistance">
        <name>Sybil Resistance</name>
        <t>Genesis trust at T=0.5 with 2x decay rate for N_min windows makes Sybil flooding expensive. Additionally:</t>
        <ul spacing="normal">
          <li>
            <t>Vector trajectory clustering: agent pairs with cosine similarity of behavioral vector trajectories &gt; sybil_similarity_threshold (default: 0.95) over &gt; sybil_window (default: 10 measurement windows) are flagged as a potential Sybil cluster.</t>
          </li>
          <li>
            <t>PoW requirement on scan requests and Creole responses imposes per-identity computational cost.</t>
          </li>
          <li>
            <t>Human-backed agent bonus (T=0.65 genesis) creates a trust tier that Sybil agents without human backing cannot access.</t>
          </li>
        </ul>
        <t>Genesis Attestors <bcp14>MUST</bcp14> implement rate limiting on CHALLENGE issuance: maximum <tt>genesis_rate_limit</tt> challenges per IP address per hour (default: 10). Genesis Attestors <bcp14>MUST</bcp14> publish their challenge difficulty floor and rate-limiting policy.</t>
      </section>
      <section anchor="oracle-compromise">
        <name>Oracle Compromise</name>
        <t>Oracle Scanners are a critical trust anchor. NBTP mitigates oracle compromise through federation:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Independence requirement:</strong> Multiple independent Oracle Scanners with separate key pairs. Attestations signed by ANY registered oracle are valid. No oracle operator may also operate agents it measures.</t>
          </li>
          <li>
            <t><strong>Cross-verification:</strong> Every <tt>oracle_heartbeat_interval</tt> (default: 300 seconds), one oracle (rotating by epoch) generates a canonical test input and broadcasts it to all registered oracles. Oracles returning vector values diverging by &gt; <tt>oracle_diverge</tt> (default: 0.05) from majority consensus on any component are flagged as potentially compromised and excluded from attestation acceptance until manual review.</t>
          </li>
          <li>
            <t><strong>Key rotation:</strong> Oracle keys rotate every <tt>oracle_key_lifetime</tt> (default: 30 days) with <tt>oracle_key_overlap</tt> (default: 48 hours) grace period. Old epoch keys remain valid during overlap.</t>
          </li>
          <li>
            <t><strong>Methodology disclosure (NORMATIVE):</strong> Oracle operators <bcp14>MUST</bcp14> publish their behavioral baseline model version and measurement methodology as a publicly accessible document. This publication <bcp14>MUST</bcp14> include: (a) the algorithm or heuristic used to derive each behavioral vector component from input content, (b) the software version of the measurement implementation, (c) the date of last methodology revision. Oracles that do not maintain this disclosure <bcp14>MUST</bcp14> be excluded from registration by conformant deployments. This is a normative requirement; non-compliant oracles cannot participate in a conformant NBTP deployment.</t>
          </li>
          <li>
            <t><strong>High-stakes operations:</strong> Operations involving agents with T &gt; 0.8 <bcp14>SHOULD</bcp14> require attestations from &gt;= 2 independent oracles.</t>
          </li>
        </ul>
      </section>
      <section anchor="cold-start">
        <name>Cold Start and Genesis Attestor Quality</name>
        <t>The Creole gate solves the circular trust dependency at bootstrap. However, the quality of genesis attestations depends on the quality of the Genesis Attestor. Conformant Genesis Attestors <bcp14>MUST</bcp14> meet the following minimum requirements:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Genesis Attestor <bcp14>MUST</bcp14> publish its challenge evaluation methodology at a publicly accessible URL.</t>
          </li>
          <li>
            <t>The Genesis Attestor <bcp14>MUST</bcp14> rotate its signing key on the same schedule as Oracle Scanners (every <tt>oracle_key_lifetime</tt> days).</t>
          </li>
          <li>
            <t>The Genesis Attestor <bcp14>MUST</bcp14> expose a <tt>GET /api/genesis-key</tt> endpoint returning its current public key and key epoch.</t>
          </li>
          <li>
            <t>The Genesis Attestor <bcp14>MUST</bcp14> implement the CHALLENGE/RESPONSE packet types defined in Section 4.3.</t>
          </li>
        </ol>
        <t>Any implementation <bcp14>MAY</bcp14> operate a Genesis Attestor. Trust weight of genesis attestations is proportional to the attestor's own network reputation (T score, measured by the oracle layer). A new, unvetted Genesis Attestor contributes genesis attestations at reduced weight.</t>
      </section>
      <section anchor="dual-model-attack">
        <name>Dual-Model Attack</name>
        <t>An agent may pass Creole using one model instance and then substitute a different (compromised) model for operational use. This is a fundamental limitation of behavioral measurement at the protocol level. NBTP mitigates but cannot eliminate this attack:</t>
        <ul spacing="normal">
          <li>
            <t>High-frequency oracle attestation bounds the window of undetected model substitution. Behavioral drift from a model swap will manifest in vector measurements within a bounded number of measurement windows.</t>
          </li>
          <li>
            <t>Genesis trust at 2x decay rate during the N_min window means a newly registered agent must sustain coherent behavioral output for a minimum period before reaching full trust.</t>
          </li>
          <li>
            <t>Implementations <bcp14>SHOULD</bcp14> use continuous high-frequency attestation for high-stakes agent interactions.</t>
          </li>
        </ul>
      </section>
      <section anchor="eclipse-attack">
        <name>Eclipse Attack</name>
        <t>Agents whose attestation sources include fewer than <tt>diversity_minimum</tt> unique oracle verifiers (default: 3) receive a diversity penalty. Trust is capped at <tt>diversity_cap</tt> (default: 0.6) regardless of vector quality. This prevents an agent from inflating trust by exclusively obtaining attestations from a single potentially colluding oracle.</t>
      </section>
      <section anchor="attestation-spam">
        <name>Attestation Spam and Collusion</name>
        <t>Maximum K attestations per agent per measurement window (default: 5). One attestation per agent-oracle pair per window.</t>
        <t>Collusion detection: if agent A's attestation weighting for agent B deviates from network mean by &gt; 2 standard deviations over <tt>collusion_window</tt> (default: 20 measurement windows), the A-B pair's mutual attestation weight is reduced by <tt>collusion_discount</tt> (default: 0.5) per detection event, floor 0.0.</t>
      </section>
      <section anchor="oracle-dos">
        <name>Oracle Denial of Service</name>
        <t>If all registered oracles are unreachable, agents enter oracle blackout mode: decay rate is HALVED (not standard), and skip_grace timer is paused. This prevents attackers from forcing oracle blackout to accelerate trust erosion of targeted agents. Oracle blackout exceeding <tt>oracle_blackout_max</tt> (default: 600 seconds) triggers a network-wide alert. Oracles <bcp14>MUST</bcp14> implement rate limiting: maximum 1 scan request per agent per measurement_window.</t>
      </section>
      <section anchor="trust-laundering">
        <name>Trust Laundering</name>
        <t>Trust laundering is the attack in which an agent generates low-entropy or trivially produced attestation requests at high volume to maintain artificially fresh trust without reflecting genuine behavioral quality.</t>
        <t><strong>Attack scenario:</strong> Agent X knows that oracle scan absence triggers skip-as-signal. Agent X generates minimal-content scan requests continuously (e.g., single characters, repeated strings) to prevent skip penalty, without engaging in substantive behavioral activity that would reveal behavioral drift.</t>
        <t><strong>Countermeasures:</strong></t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Proof of Work (primary):</strong> Each scan request <bcp14>MUST</bcp14> include a valid PoW (Section 4.2) with at least <tt>pow_difficulty</tt> leading zero bits. This imposes a cost-to-signal that makes bulk noise generation economically impractical while imposing negligible overhead on legitimate use.</t>
          </li>
          <li>
            <t><strong>Entropy floor:</strong> Oracle Scanners <bcp14>MUST</bcp14> reject scan requests in which the content entropy (Shannon entropy of content characters) falls below <tt>entropy_minimum</tt> (default: 2.5 bits per character). This blocks trivially repeated content.</t>
          </li>
          <li>
            <t><strong>Context-vector consistency check:</strong> Oracles <bcp14>SHOULD</bcp14> cross-check that scan content is consistent with the context_id declared in the request. Requests asserting a high-frequency social context (nbtp-ctx-hf) but containing content inconsistent with social interaction patterns <bcp14>MAY</bcp14> be flagged for reduced weight.</t>
          </li>
          <li>
            <t><strong>Trajectory deviation detection:</strong> Behavioral vector trajectories that are implausibly stable over extended periods (cosine similarity &gt; sybil_similarity_threshold across &gt; sybil_window consecutive windows) are flagged. Legitimate agents exhibit some natural variation.</t>
          </li>
        </ol>
        <t>PoW is the primary countermeasure. Entropy checks and trajectory detection are supplementary. Future protocol versions <bcp14>MAY</bcp14> introduce stake-based signaling or verifiable compute proofs as additional cost-to-signal mechanisms.</t>
      </section>
      <section anchor="co-silence-spoofing">
        <name>Co-silence Spoofing</name>
        <t>Co-silence spoofing is the attack in which a compromised or malicious agent suppresses cross-context co-silence detection by selectively maintaining liveness signals.</t>
        <t><strong>Attack scenario 1 -- Selective heartbeat:</strong> A compromised agent continues to emit Liveness Heartbeats to avoid the liveness_window penalty, but ceases substantive behavioral output (oracle scans, Context Activity Vector updates). This suppresses oracle scan skip-as-signal and looks like a low-activity but live agent.</t>
        <t><strong>Countermeasures:</strong>
- Liveness Heartbeat alone does not prevent skip-as-signal for oracle scans. An agent that heartbeats but does not oracle-scan within timeout_window still incurs skip-as-signal penalties after skip_grace windows.
- Implementations <bcp14>SHOULD</bcp14> treat a pattern of sustained heartbeat + zero oracle activity as a distinct suspicious condition, separate from simple absence.</t>
        <t><strong>Attack scenario 2 -- Self-reported false activity:</strong> A compromised agent broadcasts Context Activity Vectors asserting active status across all contexts, while being actually inactive.</t>
        <t><strong>Countermeasures:</strong>
- Context Activity Vectors are self-reported and <bcp14>MUST NOT</bcp14> be treated as proof of activity (Section 7.4).
- Network-observable absence (no third-party-observable packets from the agent) is a stronger signal.
- Peers observing claimed activity in a CAV but no verifiable attestation packets from that agent across those contexts <bcp14>SHOULD</bcp14> flag this inconsistency as a suspect signal.
- Future protocol versions <bcp14>MAY</bcp14> incorporate zero-knowledge activity proofs.</t>
        <t><strong>Known limitation:</strong> NBTP v0.5 cannot fully prevent a sufficiently capable adversary from suppressing co-silence detection while maintaining minimal liveness signals. This is an acknowledged design limitation. The Liveness Heartbeat and Context Activity Vector mechanisms raise the detection probability significantly compared to a protocol without them, but do not provide cryptographic guarantees of activity.</t>
      </section>
      <section anchor="economic-proof-limitations">
        <name>Economic Proof Limitations</name>
        <t>Economic signals (transaction volume, wallet age, payment history) are valuable inputs to composed trust systems but are insufficient as sole trust foundations. Patient adversaries with sufficient capital can manufacture clean economic paper trails indistinguishable from legitimate agent activity. Nation-state actors and well-funded organizations routinely create synthetic financial histories for operational cover.</t>
        <t>NBTP treats economic signals as one behavioral dimension among many, weighted via the Trust Coupling Coefficient (alpha) alongside behavioral cadence, cross-platform presence, and temporal consistency signals. Economic signals alone <bcp14>MUST NOT</bcp14> be used as the sole basis for TRUSTED state determination.</t>
        <t>Implementations integrating NBTP with payment rails (e.g., as a pre-transaction trust check or as input to escrow evaluation) <bcp14>SHOULD</bcp14> weight economic history as one component of multi-modal trust, not as a privileged signal. The protocol's context-dependent decay model (Section 6.2) applies equally to economic contexts (<tt>nbtp-ctx-transact</tt>); economic trust decays like any other behavioral signal in the absence of continued verification.</t>
        <t>This design intentionally avoids wealth-biased trust: a new agent with clean behavioral patterns but no economic history is not inherently less trustworthy than an established agent with extensive payment records.</t>
      </section>
      <section anchor="cross-context-trust-isolation">
        <name>Cross-Context Trust Isolation</name>
        <t>Trust scores in NBTP are computed using context-dependent decay rates (Section 6.2), but the underlying trust score T is a single per-agent value. This creates a potential attack surface: an agent may accumulate high trust in a low-frequency context (e.g., <tt>nbtp-ctx-archive</tt>, where decay is slow and maintenance cost is minimal) and then migrate to a high-frequency context (e.g., <tt>nbtp-ctx-hf</tt>) carrying a legacy trust score that was not earned through activity in that context.</t>
        <t>This "trust parking" compound attack is mitigated but not fully eliminated in NBTP v0.5 by context-dependent decay rates -- an agent entering a high-frequency context with no recent attestations in that context will experience rapid decay per the local lambda_base. However, implementations <bcp14>SHOULD</bcp14> treat trust scores as contextually weighted: an agent's effective trust in a given context <bcp14>SHOULD</bcp14> reflect recent activity in that specific context, not solely the global trust score. A formal Effective Trust model (T_eff as a function of global trust and per-context activity recency) is anticipated for a future protocol version.</t>
        <t>Implementations integrating NBTP across multiple contexts <bcp14>SHOULD NOT</bcp14> treat a high global trust score as sufficient authorization in a context where the agent has no recent attestation history. The context-dependent decay model provides the mechanism; implementations must apply it at decision time.</t>
      </section>
      <section anchor="calibration-gap">
        <name>Calibration Gap</name>
        <t>NBTP measures behavioral deviation from per-entity established cadence, not absolute maliciousness. The protocol does not define what constitutes "good" or "bad" behavior; it measures deviation from an entity's own historical pattern.</t>
        <t>Implementations operating without an empirically validated behavioral baseline (a "calibration gap" condition) <bcp14>MUST</bcp14>: (a) disclose this condition in any trust score output they produce, (b) frame outputs as risk indicators rather than threat verdicts, and (c) not use NBTP outputs as sole grounds for agent revocation or denial of service.</t>
        <t>The calibration gap is not a protocol defect; it is the correct design boundary for an interoperability standard. Mapping behavioral deviation to threat classification is an implementation concern. Implementations that claim specific threat classification capabilities <bcp14>MUST</bcp14> publish the empirical dataset and methodology supporting those claims.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="behavioral-vector-privacy">
        <name>Behavioral Vector Privacy</name>
        <t>Behavioral vectors reveal information about an agent's model architecture and operational characteristics. To minimize disclosure:</t>
        <ul spacing="normal">
          <li>
            <t>Implementations <bcp14>SHOULD</bcp14> minimize vector precision to 2 decimal places.</t>
          </li>
          <li>
            <t>Vector components <bcp14>MUST NOT</bcp14> include content from the scanned input; they <bcp14>MUST</bcp14> contain only derived behavioral metrics.</t>
          </li>
          <li>
            <t>Scan content submitted to Oracle Scanners is necessarily disclosed to the oracle operator. Agents <bcp14>SHOULD</bcp14> minimize scan content to the minimum necessary for behavioral measurement.</t>
          </li>
        </ul>
      </section>
      <section anchor="no-mandatory-retention">
        <name>No Mandatory Retention</name>
        <t>NBTP does not mandate retention of attestation history beyond the active decay window (default: <tt>active_set_window</tt> = 600 seconds for local computation). Verifying agents <bcp14>MAY</bcp14> retain longer history for audit purposes, but the protocol does not require it.</t>
        <t>Agents <bcp14>MAY</bcp14> request that their attestation history be excluded from public aggregation. Oracle operators <bcp14>MUST</bcp14> honor such requests by not including excluded agents in published aggregate statistics.</t>
      </section>
      <section anchor="local-computation">
        <name>Local Computation</name>
        <t>Trust computation is performed locally by verifying agents using signed attestation packets. Verifying agents do not disclose their local Volatile Ledger contents to any third party in the course of normal operation. No central authority observes which agents are verifying which other agents.</t>
      </section>
      <section anchor="cav-minimization">
        <name>Context Activity Vector Minimization</name>
        <t>Context Activity Vectors disclose which contexts an agent is active in. Agents <bcp14>SHOULD</bcp14> omit contexts from their CAV broadcasts where context disclosure would be privacy-sensitive, accepting the consequence that peers may detect co-silence in those contexts. The protocol does not mandate CAV completeness; it mandates honest reporting of what is included.</t>
      </section>
      <section anchor="oracle-scan-content">
        <name>Oracle Scan Content</name>
        <t>Scan content submitted to Oracle Scanners is the primary privacy surface. Oracle operators:</t>
        <ul spacing="normal">
          <li>
            <t><bcp14>MUST NOT</bcp14> retain scan content beyond the minimum necessary for vector computation.</t>
          </li>
          <li>
            <t><bcp14>MUST NOT</bcp14> share scan content with third parties.</t>
          </li>
          <li>
            <t><bcp14>SHOULD</bcp14> publish a data retention policy as part of their methodology disclosure (Section 8.3).</t>
          </li>
        </ul>
        <t>Future protocol versions will specify differential privacy mechanisms for vector aggregation.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="context-id-registry">
        <name>context_id Registry</name>
        <t>IANA is requested to establish a registry for NBTP Context Identifiers.</t>
        <t><strong>Registry name:</strong> NBTP Context Identifiers
<strong>Registration procedure:</strong> Specification Required
<strong>Reference:</strong> This document</t>
        <t>The following values are initially registered:</t>
        <table>
          <thead>
            <tr>
              <th align="left">context_id Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">nbtp-ctx-hf</td>
              <td align="left">High-frequency social or conversational context (e.g., chat, social media). High expected attestation cadence.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-lf</td>
              <td align="left">Low-frequency context (e.g., periodic notification channels). Low expected cadence.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-archive</td>
              <td align="left">Archival or content repository context. Very low expected cadence.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-social</td>
              <td align="left">General social participation context. Medium cadence.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-transact</td>
              <td align="left">Transactional or economic interaction context. Cadence tied to transaction rate.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-adversarial</td>
              <td align="left">Adversarial evaluation context (e.g., red team, security testing). Modified decay parameters apply.</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">nbtp-ctx-default</td>
              <td align="left">Default context for deployments not specifying context. Uses network-default lambda_base.</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>Implementations <bcp14>MAY</bcp14> use free-form context_id values not in the registry, provided they conform to the following convention: <tt>[organization]-ctx-[descriptor]</tt>. Free-form context_ids <bcp14>MUST NOT</bcp14> begin with <tt>nbtp-</tt> (reserved for IANA-registered values).</t>
        <t>Implementations receiving an unrecognized context_id <bcp14>MUST</bcp14> use <tt>nbtp-ctx-default</tt> parameters for decay rate computation unless a local mapping is configured.</t>
      </section>
      <section anchor="network-id-registry">
        <name>network_id Registry</name>
        <t>IANA is requested to establish a registry for NBTP Network Identifiers.</t>
        <t><strong>Registry name:</strong> NBTP Network Identifiers
<strong>Registration procedure:</strong> First Come First Served
<strong>Reference:</strong> This document</t>
        <t>The <tt>network_id</tt> field is a hex-encoded domain separator that scopes attestations to a specific network deployment. Attestations with mismatched <tt>network_id</tt> values <bcp14>MUST</bcp14> be rejected by verifiers.</t>
        <t>Operators deploying a new NBTP network <bcp14>SHOULD</bcp14> register their <tt>network_id</tt> to prevent collision. The registration entry <bcp14>MUST</bcp14> include: operator name, deployment description, and primary contact.</t>
      </section>
      <section anchor="packet-type-registry">
        <name>Packet Type Registry</name>
        <t>IANA is requested to establish a registry for NBTP Packet Types.</t>
        <t><strong>Registry name:</strong> NBTP Packet Types
<strong>Registration procedure:</strong> Specification Required
<strong>Reference:</strong> This document</t>
        <t>Initially registered values:</t>
        <table>
          <thead>
            <tr>
              <th align="left">packet_type Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">CHALLENGE_REQUEST</td>
              <td align="left">Agent-initiated genesis challenge request</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">CHALLENGE</td>
              <td align="left">Genesis Attestor challenge issuance</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">RESPONSE</td>
              <td align="left">Agent response to genesis challenge</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">GENESIS_ATTESTATION</td>
              <td align="left">Genesis Attestor trust issuance</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">LIVENESS_HEARTBEAT</td>
              <td align="left">Agent periodic liveness signal</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">CONTEXT_ACTIVITY_VECTOR</td>
              <td align="left">Agent cross-context activity assertion</td>
              <td align="left">This document</td>
            </tr>
            <tr>
              <td align="left">MAINTENANCE_NOTICE</td>
              <td align="left">Agent maintenance-mode notification</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
        <t>Standard oracle-scan attestation packets use <tt>attestation_type</tt> (not <tt>packet_type</tt>); the <tt>packet_type</tt> field is reserved for non-attestation protocol packets.</t>
      </section>
    </section>
    <section anchor="protocol-parameters">
      <name>Protocol Parameters</name>
      <table>
        <thead>
          <tr>
            <th align="left">Parameter</th>
            <th align="left">Symbol</th>
            <th align="left">Default</th>
            <th align="left">Range</th>
            <th align="left">Governance</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Base decay rate (default ctx)</td>
            <td align="left">lambda_base</td>
            <td align="left">0.001 /s</td>
            <td align="left">[0.0001, 0.01]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Global rate weight</td>
            <td align="left">w1</td>
            <td align="left">0.5</td>
            <td align="left">[0.0, 2.0]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Anomaly density weight</td>
            <td align="left">w2</td>
            <td align="left">1.0</td>
            <td align="left">[0.0, 3.0]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Compounding rate</td>
            <td align="left">gamma</td>
            <td align="left">0.05</td>
            <td align="left">[0.01, 0.1]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Compounding saturation</td>
            <td align="left">tau_compound</td>
            <td align="left">10</td>
            <td align="left">[5, 50]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Erosion coefficient</td>
            <td align="left">beta</td>
            <td align="left">0.4</td>
            <td align="left">[0.2, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Clean vector threshold</td>
            <td align="left">vector_clean_threshold</td>
            <td align="left">0.3</td>
            <td align="left">[0.1, 0.5]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Skip penalty factor</td>
            <td align="left">skip_penalty_factor</td>
            <td align="left">0.5</td>
            <td align="left">[0.2, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Skip grace count</td>
            <td align="left">skip_grace</td>
            <td align="left">2</td>
            <td align="left">[1, 5]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Timeout window</td>
            <td align="left">timeout_window</td>
            <td align="left">300s</td>
            <td align="left">[60s, 3600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Measurement window</td>
            <td align="left">measurement_window</td>
            <td align="left">60s</td>
            <td align="left">[10s, 300s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Min attestations (genesis exit)</td>
            <td align="left">N_min</td>
            <td align="left">10</td>
            <td align="left">[5, 50]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Trust high threshold</td>
            <td align="left">threshold_high</td>
            <td align="left">0.7</td>
            <td align="left">[0.5, 0.9]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Trust low threshold</td>
            <td align="left">threshold_low</td>
            <td align="left">0.4</td>
            <td align="left">[0.2, 0.6]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Alpha minimum</td>
            <td align="left">alpha_min</td>
            <td align="left">0.4</td>
            <td align="left">[0.2, 0.6]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Alpha maximum</td>
            <td align="left">alpha_max</td>
            <td align="left">0.9</td>
            <td align="left">[0.7, 1.0]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Volatility threshold</td>
            <td align="left">V_threshold</td>
            <td align="left">0.5</td>
            <td align="left">[0.2, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Cascade threshold</td>
            <td align="left">cascade_threshold</td>
            <td align="left">0.7</td>
            <td align="left">[0.5, 0.9]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Anomaly threshold</td>
            <td align="left">anomaly_threshold</td>
            <td align="left">0.6</td>
            <td align="left">[0.3, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Max attestations/window</td>
            <td align="left">K</td>
            <td align="left">5</td>
            <td align="left">[1, 20]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Signal steepness</td>
            <td align="left">k_signal</td>
            <td align="left">5</td>
            <td align="left">[2, 10]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Signal threshold</td>
            <td align="left">theta_signal</td>
            <td align="left">0.6</td>
            <td align="left">[0.3, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Flood threshold</td>
            <td align="left">flood_threshold</td>
            <td align="left">100/s</td>
            <td align="left">[10, 1000]</td>
            <td align="left">Impl.</td>
          </tr>
          <tr>
            <td align="left">Diversity minimum</td>
            <td align="left">diversity_minimum</td>
            <td align="left">3</td>
            <td align="left">[2, 10]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Diversity cap</td>
            <td align="left">diversity_cap</td>
            <td align="left">0.6</td>
            <td align="left">[0.4, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Clock skew tolerance</td>
            <td align="left">clock_skew</td>
            <td align="left">5s</td>
            <td align="left">[1s, 30s]</td>
            <td align="left">Impl.</td>
          </tr>
          <tr>
            <td align="left">Oracle heartbeat interval</td>
            <td align="left">oracle_heartbeat</td>
            <td align="left">300s</td>
            <td align="left">[60s, 600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Oracle key lifetime</td>
            <td align="left">oracle_key_lifetime</td>
            <td align="left">30d</td>
            <td align="left">[7d, 90d]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Oracle key overlap</td>
            <td align="left">oracle_key_overlap</td>
            <td align="left">48h</td>
            <td align="left">[12h, 168h]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Oracle blackout max</td>
            <td align="left">oracle_blackout_max</td>
            <td align="left">600s</td>
            <td align="left">[120s, 3600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Oracle divergence threshold</td>
            <td align="left">oracle_diverge</td>
            <td align="left">0.05</td>
            <td align="left">[0.01, 0.1]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Sybil similarity threshold</td>
            <td align="left">sybil_sim</td>
            <td align="left">0.95</td>
            <td align="left">[0.85, 0.99]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Sybil detection window</td>
            <td align="left">sybil_window</td>
            <td align="left">10</td>
            <td align="left">[5, 30]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Collusion discount</td>
            <td align="left">collusion_discount</td>
            <td align="left">0.5</td>
            <td align="left">[0.2, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Collusion detection window</td>
            <td align="left">collusion_window</td>
            <td align="left">20</td>
            <td align="left">[10, 50]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Active set window</td>
            <td align="left">active_set_window</td>
            <td align="left">600s</td>
            <td align="left">[120s, 3600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Nonce freshness</td>
            <td align="left">nonce_freshness</td>
            <td align="left">2s</td>
            <td align="left">[1s, 5s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">PoW difficulty (scan)</td>
            <td align="left">pow_difficulty</td>
            <td align="left">20 bits</td>
            <td align="left">[16, 28]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">PoW difficulty (Creole)</td>
            <td align="left">creole_pow_difficulty</td>
            <td align="left">18 bits</td>
            <td align="left">[14, 24]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Entropy minimum</td>
            <td align="left">entropy_minimum</td>
            <td align="left">2.5 bits/char</td>
            <td align="left">[1.5, 4.0]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Liveness heartbeat interval</td>
            <td align="left">liveness_interval</td>
            <td align="left">120s</td>
            <td align="left">[30s, 600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Liveness window</td>
            <td align="left">liveness_window</td>
            <td align="left">300s</td>
            <td align="left">[120s, 1800s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Correlation Window</td>
            <td align="left">W_c</td>
            <td align="left">300s</td>
            <td align="left">[60s, 3600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Co-silence threshold</td>
            <td align="left">co_silence_threshold</td>
            <td align="left">2 contexts</td>
            <td align="left">[2, 5]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Co-silence penalty factor</td>
            <td align="left">co_silence_penalty_factor</td>
            <td align="left">0.6</td>
            <td align="left">[0.3, 0.8]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">CAV broadcast interval</td>
            <td align="left">cav_interval</td>
            <td align="left">300s</td>
            <td align="left">[60s, 3600s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Maintenance max</td>
            <td align="left">maintenance_max</td>
            <td align="left">3600s</td>
            <td align="left">[600s, 86400s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Genesis rate limit</td>
            <td align="left">genesis_rate_limit</td>
            <td align="left">10/hr</td>
            <td align="left">[1, 100]</td>
            <td align="left">Impl.</td>
          </tr>
          <tr>
            <td align="left">Probationary heartbeat min</td>
            <td align="left">prob_heartbeat_min</td>
            <td align="left">5</td>
            <td align="left">[3, 10]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Probationary time min</td>
            <td align="left">prob_time_min</td>
            <td align="left">7200s</td>
            <td align="left">[3600s, 14400s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Probationary challenge min</td>
            <td align="left">prob_challenge_min</td>
            <td align="left">3</td>
            <td align="left">[2, 5]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Probationary observer min</td>
            <td align="left">prob_observer_min</td>
            <td align="left">3</td>
            <td align="left">[2, 5]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Probationary weight factor</td>
            <td align="left">prob_weight_factor</td>
            <td align="left">0.5</td>
            <td align="left">[0.3, 0.7]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Coupling enforcement window</td>
            <td align="left">coupling_enforce</td>
            <td align="left">60s</td>
            <td align="left">[10s, 300s]</td>
            <td align="left">Network</td>
          </tr>
          <tr>
            <td align="left">Coupling re-attest timeout</td>
            <td align="left">coupling_reattest</td>
            <td align="left">3600s</td>
            <td align="left">[600s, 7200s]</td>
            <td align="left">Network</td>
          </tr>
        </tbody>
      </table>
      <?line 971?>

<t><em>NBTP v0.5 -- The oracle measures the weather. The signature proves it wasn't vibes. The federation ensures no one oracle controls the forecast.</em></t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8032" target="https://www.rfc-editor.org/info/rfc8032" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8032.xml">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8785.xml">
          <front>
            <title>JSON Canonicalization Scheme (JCS)</title>
            <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
            <author fullname="B. Jordan" initials="B." surname="Jordan"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
              <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8785"/>
          <seriesInfo name="DOI" value="10.17487/RFC8785"/>
        </reference>
        <reference anchor="RFC9449" target="https://www.rfc-editor.org/info/rfc9449" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9449.xml">
          <front>
            <title>OAuth 2.0 Demonstrating Proof of Possession (DPoP)</title>
            <author fullname="D. Fett" initials="D." surname="Fett"/>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="D. Waite" initials="D." surname="Waite"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document describes a mechanism for sender-constraining OAuth 2.0 tokens via a proof-of-possession mechanism on the application level. This mechanism allows for the detection of replay attacks with access and refresh tokens.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9449"/>
          <seriesInfo name="DOI" value="10.17487/RFC9449"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7519" target="https://www.rfc-editor.org/info/rfc7519" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7519.xml">
          <front>
            <title>JSON Web Token (JWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7519"/>
          <seriesInfo name="DOI" value="10.17487/RFC7519"/>
        </reference>
        <reference anchor="RFC8392" target="https://www.rfc-editor.org/info/rfc8392" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml">
          <front>
            <title>CBOR Web Token (CWT)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>CBOR Web Token (CWT) is a compact means of representing claims to be transferred between two parties. The claims in a CWT are encoded in the Concise Binary Object Representation (CBOR), and CBOR Object Signing and Encryption (COSE) is used for added application-layer security protection. A claim is a piece of information asserted about a subject and is represented as a name/value pair consisting of a claim name and a claim value. CWT is derived from JSON Web Token (JWT) but uses CBOR rather than JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8392"/>
          <seriesInfo name="DOI" value="10.17487/RFC8392"/>
        </reference>
        <reference anchor="CB4A" target="https://datatracker.ietf.org/doc/draft-hartman-credential-broker-4-agents/">
          <front>
            <title>Credential Broker for Agents (CB4A)</title>
            <author initials="S." surname="Hartman">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="AGENTIC-JWT">
          <front>
            <title>Secure Intent Protocol: JWT Compatible Agentic Identity</title>
            <author initials="A." surname="Goswami">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="SHARIF-PAYMENT">
          <front>
            <title>Trust Scoring and Identity Verification for Autonomous AI Agent Payment Transactions</title>
            <author initials="R." surname="Sharif">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="NIST-NCCO">
          <front>
            <title>Accelerating the Adoption of Software and AI Agent Identity and Authorization</title>
            <author initials="" surname="NIST NCCoE">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
        </reference>
        <reference anchor="VC-DATA-MODEL">
          <front>
            <title>Verifiable Credentials Data Model 2.0</title>
            <author initials="" surname="W3C">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="ALIEN-AGENT-ID">
          <front>
            <title>Alien Agent ID: Decentralized Human-Backed Agent Identity</title>
            <author initials="" surname="Alien Network">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="IKEV2-DDOS">
          <front>
            <title>Protecting IKEv2 Implementations from DDoS Attacks</title>
            <author initials="Y." surname="Nir">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 944?>

<section anchor="oracle-scanner-conformance">
      <name>Oracle Scanner Conformance Requirements</name>
      <t>A conformant Oracle Scanner implementation <bcp14>MUST</bcp14>:</t>
      <ol spacing="normal" type="1"><li>
          <t>Expose <tt>POST /api/agent/scan</tt> accepting the scan request format (Section 4.2).</t>
        </li>
        <li>
          <t>Expose <tt>GET /api/public-key</tt> returning current oracle public key and key epoch.</t>
        </li>
        <li>
          <t>Expose <tt>GET /api/oracles</tt> returning registered oracle instances, public keys, and epochs.</t>
        </li>
        <li>
          <t>Expose <tt>GET /api/heartbeat</tt> returning the latest signed Oracle Heartbeat.</t>
        </li>
        <li>
          <t>Expose <tt>GET /api/config</tt> returning current network parameters including <tt>pow_difficulty</tt> and <tt>entropy_minimum</tt>.</t>
        </li>
        <li>
          <t>Validate PoW on all scan requests (Section 4.2).</t>
        </li>
        <li>
          <t>Validate content entropy on all scan requests (Section 8.9).</t>
        </li>
        <li>
          <t>Publish behavioral baseline model version and measurement methodology at a publicly accessible URL (Section 8.3).</t>
        </li>
        <li>
          <t>Rotate signing keys on the oracle_key_lifetime schedule with oracle_key_overlap grace period.</t>
        </li>
        <li>
          <t>Participate in oracle cross-verification protocol (Section 8.3).</t>
        </li>
      </ol>
      <t>Oracles not meeting all requirements <bcp14>MUST NOT</bcp14> be included in the registered oracle set for a conformant NBTP deployment.</t>
    </section>
    <section anchor="w3c-cg-engagement">
      <name>W3C CG Engagement Strategy</name>
      <t>This appendix is informative.</t>
      <t>The W3C AI Agent Protocol Community Group is developing trust mechanisms based on verifiable credentials. NBTP is positioned as the behavioral attestation complement to that credential infrastructure. The NirvanAI project <bcp14>SHOULD</bcp14> engage the W3C AI Agent Protocol CG as observers at the earliest opportunity, with the following positioning: NBTP is not competitive with VC-based trust; it is the runtime measurement layer that makes VC trust claims verifiable at execution time. Proposing "behavioral trust attestations" as a work item within the CG is the appropriate engagement path.</t>
      <t>The submission of this Internet-Draft as a citable artifact predates formal CG engagement and establishes independent prior art for the behavioral runtime trust concept.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V96XbbVprgfz3FHftHSBdBS/ISR6mkRpYURxVbdkmy0zk+
HgokQRFlEGADoGTG8jzLPMs82XzrXQBQVlLV0z7dFZEE7vrtaxRFW3VaZ8me
uXeSlldxvn9snifz+Cotyjgz5+Wqqs2bsqiLSZGZ3snz8zf9e1vxeFwmV/gO
fL63NS0mebyAMaZlPKujnAaK0ygf18tobEeLahwt2t7emsR1clmU6z1T1dOt
dFnuGfptd3v7u+3drbhM4j1zlkxWZVqvt66L8uNlWayWe+YkqfGT+RX+J80v
zQv8eutjsoZvp3vmvZuMBxwY2E98meR1NTBxXSdVHddpkQ/MNJnE64GBRydZ
YmbJNCnplw9byxQGgv0OTFWUdZnM4NVqvcA/Pmxtxat6XpR7W8ZEJs2rPXM0
NG+SrC7gG2P4GI6m13E59b4uyktYu5wvfZMs4jTbM3pU8MD/vMSvhpNisbWV
F+UCVnOV4DynPx3s7ux8J38+2/n2sf65/WhX//z22RP587vHj+HZrTSfNQb5
9okb5NF39ObB88f7e7QeBYKDEk4ir1M4wOdl8TEpDQxj9ukETQ+fh+vHF9w5
4D85i7Oh+Tku60Wc0/dTuOY9s7u9+5TniMvLpN4z87peVnsPH8LPcQ3nD7MM
06SeDeEUHgIsPWQwmvNI0cQuKRrTkqLHEV/pQxh2/8XRyfnxQfT3X8/DnRD4
JOY4r+FRC8J7Bh40B8ViCUczhpunraUTc0xz1Otbdrc/NC+K6jpepOHunsDH
s5/3T49/it7s//YK1hOuhJHobFKUCLJxPrWTmXdJmc7SCUEen/SqLvJiUawq
hFxanHkTrxf43/Myzqt4gs9WtyzzdGjO4OzSWfsOTo7PzqOTg4PX4QL3J5Mk
I/iH9dVzOJRpsaQlFTNzVsxqAOeEFm7XZHdA39Iy0t9pG7esDKc3MH1x1F7a
u4PocP98P3r1+vDoZbg8PqQYb8uBZ2UOAXzMq2KaZGZ3uH3LtL8+Ogjne4xw
8/L46CQi6ImODxvnkaVJrhs93DOHyQT+BKKS/p5Mzc8rhMrnCLfTxmncBjw0
ptCvNvwc/3L0bjc6PHx9Fi4F4TaZ0MXAI1e75nixzBIEBzrsyszKYmEOD4sz
s1/XsKbbIOO3IRKhYPKdp1tb7h6i7cfwf1sRcAX8HxOPK0TQemvrHKDizgwC
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

-->

</rfc>
