<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<rfc category="info" docName="draft-kartha-internet20-ainative-00" ipr="trust200902" updates="" obsoletes="">
  <front>
    <title abbrev="Internet 2.0 Architecture">Internet 2.0: An Intent-Aware, AI-Native Extension of the Web</title>
    <author fullname="Gokul Kartha">
      <address>
        <email>kartha.gokul@gmail.com</email>
        <uri>https://www.techysaint.com/.well-known/ietf-draft</uri>
      </address>
    </author>
    <date year="2025" month="Nov" day="20" />
    <abstract>
      <t>This document proposes Internet 2.0, an AI-native extension of the
        traditional web architecture. Unlike the current internet—which is designed
        primarily for document retrieval—Internet 2.0 enables distributed model
        discovery, intent-based routing, and protocol-level AI interaction. Core
        components include HTTP+AI, an AI-aware extension to HTTP; the Model
        Resolution Network (MRN), an AI-native analogue to DNS; and the AI-Aware
        Browser, a new class of client optimized for intelligent interaction rather
        than document traversal. This architecture treats AI models as first-class network
        entities and provides a foundation for a decentralized, semantic, and
        privacy-preserving AI layer on the internet.</t>
    </abstract>
  </front>
  <middle>
    <section title="Requirements Language" anchor="req-language">
      <t>
        The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
        "OPTIONAL" 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>
    </section>
    <section title="Status of This Memo">
      <t>This document is not an Internet Standards Track specification; it is
        published for examination, experimental implementation, and evaluation.</t>
      <t>This document defines an Experimental Protocol for the Internet community.
        This is a contribution to the RFC Series, independently of any other
        RFC stream. The RFC Editor has chosen to publish this document at its
        discretion and makes no statement about its value for implementation or
        deployment. Documents approved for publication by the RFC Editor are not
        candidates for any level of Internet Standard; see Section 2 of RFC 7841.</t>
      <t>Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfcXXXX.</t>
    </section>
    <section title="Copyright Notice">
      <t>Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved.</t>
      <t>This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.</t>
    </section>
    <section title="Introduction" anchor="intro">
      <t>The web evolved from static hypertext into dynamic, socially interactive platforms,
        yet its foundations continue to center around documents, URLs, and link traversal.
        Modern AI usage has shifted user expectations away from link retrieval toward
        synthesized answers and goal-oriented assistance. However, AI systems remain isolated
        behind proprietary APIs without integration into the underlying architecture of the
        internet.</t>
      <t>Internet 2.0 proposes a protocol-level expansion where AI models are discoverable,
        routable, and composable across the network. This document defines three components
        supporting this architecture: (1) HTTP+AI as an AI-aware request protocol; (2) the
        Model Resolution Network as a semantic analog to DNS; and (3) the AI-Aware Browser
        as the primary user interface. The objective is not to replace the existing internet,
        but to extend it with a distributed, intelligent mesh capable of resolving intents,
        negotiating capabilities, and enabling privacy-preserving inference.</t>
    </section>
    <section title="Terminology" anchor="terms">
      <t>
        Intent: A structured representation of a user’s goal expressed in natural language.
      </t>
      <t>
        Intent Vector: The numerical embedding derived from natural language input.
      </t>
      <t>
        Model Resolution Network (MRN): A hierarchical discovery network resolving intents to model endpoints.
      </t>
      <t>
        Model Record (MRec): A signed metadata object describing model identity, capabilities, trust score, and endpoint (formally defined in Appendix A).
      </t>
      <t>
        HTTP+AI: An extension of HTTP supporting AI-specific negotiation fields.
      </t>
      <t>
        AI-Aware Browser: A client capable of rendering synthesized answers and invoking distributed models.
      </t>
    </section>
    <section title="Background" anchor="background">
      <t>The traditional internet was designed for navigating and retrieving documents,
        not for understanding or synthesizing information. Users rely on keyword-based
        search engines that return lists of URLs, requiring manual extraction of relevant
        knowledge. This document-centric model has become increasingly insufficient
        as AI systems take on roles in programming assistance, legal summarization,
        medical triage, and enterprise knowledge retrieval. <xref target="Internet20-Paper"/></t>
      <t>Large language models have shifted user expectations from link retrieval to
        synthesized, goal-oriented answers. However, these models operate behind
        proprietary APIs, lack standard discovery mechanisms, and remain centralized
        and cloud-bound. Traditional browsers are unaware of model semantics,
        capabilities, or privacy requirements. These architectural gaps motivate
        the design of Internet 2.0. <xref target="Internet20-Paper"/></t>
    </section>
    <section title="Problem Statement" anchor="problem">
      <t>The traditional internet was not designed for AI-native interaction. Limitations
        include document-centric retrieval, lack of intent-based routing, no AI model
        discovery mechanism, centralized cloud APIs, and absence of standard metadata
        describing model capabilities. These limitations hinder decentralization, privacy,
        and modular AI deployment.</t>
      <t>Internet 2.0 aims to support semantic routing, model negotiation, and privacy-aware
        edge-based inference.</t>
    </section>
    <section title="Benefits" anchor="benefits">
      <t>Internet 2.0 enables multiple benefits across domains, including developer tools,
        enterprise knowledge search, IoT edge inference, education and research
        assistance, and regulated workloads in healthcare, law, and compliance.
        These capabilities arise from the discoverability and composability of models
        in the MRN, along with privacy-aware execution pathways. <xref target="Internet20-Paper"/></t>
    </section>
    <section title="Architectural Overview" anchor="arch-overview">
      <t>Internet 2.0 introduces an AI-native mesh layer composed of HTTP+AI, MRN, MRecs, and
        AI-aware browsers. The architecture enables a workflow where user intent is embedded,
        resolved through MRN, and executed through selected models.</t>
      <t>
        <figure>
          <artwork><![CDATA[
User -> AI Browser -> MRN -> Model Selection ->
  HTTP+AI -> Model Execution -> Response
          ]]></artwork>
        </figure>
      </t>
      <t>The system supports privacy-aware routing, latency constraints, capability filtering,
        caching, and federated model registries. The detailed workflow is illustrated in Appendix B.</t>
    </section>
    <section title="HTTP+AI Protocol" anchor="http-ai">
      <t>
        HTTP+AI is an extension of HTTP enabling semantic intent-based communication
        between clients and AI model endpoints. This section defines the URI scheme,
        ABNF syntax, header field definitions, request/response rules, and error codes.
      </t>
      <section title="AI URI Scheme" anchor="ai-uri-scheme">
        <t>
          The ai URI scheme is used for intent-based requests. It is syntactically
          compatible with generic URIs but introduces AI-specific query parameters.
          The scheme is defined using Augmented Backus–Naur Form (ABNF) as
          specified in <xref target="RFC5234"/>.
        </t>
        <figure>
          <artwork><![CDATA[
ai-URI              = "ai:" "//" authority ai-path [ "?" ai-query ]

authority           = host [ ":" port ]
ai-path             = path-abempty
ai-query            = intent-param *( "&" ai-param )

intent-param        = "intent=" qchar-1plus

ai-param            = capability-param
                    / privacy-param
                    / latency-param
                    / ai-token-param

capability-param    = "capability=" qchar-1plus
privacy-param       = "privacy=" qchar-1plus
latency-param       = "latency-target=" 1*DIGIT
ai-token-param      = "token=" qchar-1plus

qchar-1plus         = 1*qchar
qchar               = unreserved / pct-encoded / sub-delims / ":" / "@"
          ]]></artwork>
        </figure>
        <t>
          Example:
        </t>
        <figure>
          <artwork><![CDATA[
ai://models.example.com/query?
  intent=optimize+python+script&
  capability=code-optimization&
  privacy=local-preferred&
  latency-target=100
          ]]></artwork>
        </figure>
      </section>
      <section title="New HTTP Header Fields" anchor="ai-headers">
        <t>
          The following header fields are defined for use with HTTP+AI and requested for registration in the "Permanent Message Header Field Registry" (<xref target="iana-headers"/>).
        </t>
        <section title="AI-Intent Header Field (Request)" anchor="ai-intent-header">
          <t>
            The <spanx style="verb">AI-Intent</spanx> header conveys the full, un-encoded natural-language
            description of the user's goal. It SHOULD be used by the MRN for generating the precise Intent Vector.
          </t>
          <figure>
            <artwork><![CDATA[
AI-Intent = "AI-Intent:" OWS quoted-string
            ]]></artwork>
          </figure>
          <t>
            Example:
          </t>
          <figure>
            <artwork><![CDATA[
AI-Intent: "optimize this python script for speed"
            ]]></artwork>
          </figure>
        </section>
        <section title="AI-Capability Header Field (Request)" anchor="ai-capability-header">
          <t>
            The <spanx style="verb">AI-Capability</spanx> header indicates required model skills
            needed for routing and negotiation (e.g., code-generation, medical-dermatology).
          </t>
          <figure>
            <artwork><![CDATA[
AI-Capability = "AI-Capability:" OWS token *( OWS "," OWS token )
            ]]></artwork>
          </figure>
          <t>
            Example:
          </t>
          <figure>
            <artwork><![CDATA[
AI-Capability: code-optimization, python
            ]]></artwork>
          </figure>
        </section>
        <section title="AI-Privacy Header Field (Request)" anchor="ai-privacy-header">
          <t>
            The <spanx style="verb">AI-Privacy</spanx> header indicates privacy constraints for routing and model selection.
            The value SHALL be a token registered in the IANA "AI-Privacy Constraint Tokens" registry (<xref target="iana-privacy-reg"/>).
          </t>
          <figure>
            <artwork><![CDATA[
AI-Privacy = "AI-Privacy:" OWS token
            ]]></artwork>
          </figure>
          <t>
            Example:
          </t>
          <figure>
            <artwork><![CDATA[
AI-Privacy: regulated
            ]]></artwork>
          </figure>
        </section>
        <section title="AI-Latency-Target Header Field (Request)" anchor="ai-latency-header">
          <t>
            The <spanx style="verb">AI-Latency-Target</spanx> header conveys the client's latency expectation in milliseconds.
            The MRN SHOULD use this value to filter MRecs based on performance metrics. The value represents the time in milliseconds.
          </t>
          <figure>
            <artwork><![CDATA[
AI-Latency-Target = "AI-Latency-Target:" OWS 1*DIGIT
            ]]></artwork>
          </figure>
          <t>
            Example:
          </t>
          <figure>
            <artwork><![CDATA[
AI-Latency-Target: 120
            ]]></artwork>
          </figure>
        </section>
        <section title="AI-Model-ID Header Field (Response)" anchor="ai-model-id-header">
          <t>
            The <spanx style="verb">AI-Model-ID</spanx> header is returned in the response and contains the `ModelID` of the specific MRec that successfully executed the inference.
          </t>
          <figure>
            <artwork><![CDATA[
AI-Model-ID = "AI-Model-ID:" OWS quoted-string
            ]]></artwork>
          </figure>
        </section>
        <section title="AI-Confidence Header Field (Response)" anchor="ai-confidence-header">
          <t>
            The <spanx style="verb">AI-Confidence</spanx> header is returned in the response and contains a float (0.0 to 1.0) indicating the model's self-assessed confidence in the generated result.
          </t>
          <figure>
            <artwork><![CDATA[
AI-Confidence = "AI-Confidence:" OWS 1*DIGIT
                [ "." 1*DIGIT ]  ; float 0.0–1.0
            ]]></artwork>
          </figure>
        </section>
      </section>
      <section title="Request Semantics" anchor="ai-request-semantics">
        <t>
          A valid HTTP+AI request MUST contain at least:
        <list style="symbols">
          <t>The <spanx style="verb">AI-Intent</spanx> header.</t>
          <t>Either an <spanx style="verb">ai</spanx> URI or an HTTP(s) URI resolved by the MRN.</t>
          <t>HTTP method <spanx style="verb">GET</spanx> or <spanx style="verb">POST</spanx>.</t>
        </list>
          Example HTTP+AI request:
        </t>
        <figure>
          <artwork><![CDATA[
GET ai://query?intent=optimize+python+script HTTP/1.1
Host: models.example.com
AI-Intent: "optimize python script"
AI-Capability: code-optimization, python
AI-Privacy: local-preferred
AI-Latency-Target: 100
          ]]></artwork>
        </figure>
      </section>
      <section title="Response Semantics" anchor="ai-response-semantics">
        <t>
          The response to an HTTP+AI inference request SHOULD include the <spanx style="verb">AI-Model-ID</spanx> and <spanx style="verb">AI-Confidence</spanx> headers (defined above) to aid the AI-Aware Browser in interpreting the result and verifying provenance. The response body SHOULD contain the structured inference output (e.g., JSON).
        </t>
        <t>
          Example response:
        </t>
        <figure>
          <artwork><![CDATA[
HTTP/1.1 200 OK
Content-Type: application/json
AI-Model-ID: org.example.model.v1
AI-Confidence: 0.91

{
  "result": "Here is the optimized Python script...",
  "explanation": "Loop unrolling improves speed.",
  "metrics": { "latency_ms": 85 }
}
          ]]></artwork>
        </figure>
      </section>
      <section title="Error Codes" anchor="ai-error-codes">
        <t>
          HTTP+AI defines the following additional status codes for registration in the HTTP Status Code registry (<xref target="iana-status"/>):
        <list style="symbols">
          <t>450 AI-Model-Ambiguous — The MRN resolved the intent to multiple models with similar confidence, and the client MUST re-query with more specific constraints.</t>
          <t>451 AI-Low-Confidence — The selected model executed the inference but returned a confidence score below a client threshold. The client SHOULD warn the user.</t>
          <t>453 AI-Privacy-Constraint-Failed — The MRN could not locate any model matching the required <spanx style="verb">AI-Privacy</spanx> constraint.</t>
        </list>
        </t>
      </section>
    </section>
    <section title="Model Resolution Network (MRN)" anchor="mrn">
      <t>
        The Model Resolution Network (MRN) is a hierarchical, federated discovery
        system that resolves semantic intents to appropriate AI model endpoints.
        It serves as the AI-native counterpart to the Domain Name System (DNS).
      </t>
      <section title="MRN Architecture">
        <t>
          MRN consists of Index Models that perform semantic search over registered
          Model Records (MRecs). The architecture is federated, supporting root-level
          index models, domain-specific registries, and peer-to-peer lookup nodes.
        </t>
      </section>
      <section title="Resolution Workflow">
        <t>
          The MRN resolution process involves:
          <list style="numbers">
            <t>User query parsing and intent vector embedding</t>
            <t>Query forwarding to appropriate Index Model</t>
            <t>Semantic search over MRec database using vector similarity</t>
            <t>Ranking results by relevance, trust score, and performance</t>
            <t>Returning one or more matching MRecs (defined in Appendix A) to the client</t>
          </list>
        </t>
        <t>The Intent Vector SHOULD conform to a consistent, standardized encoding format (e.g., Base64-encoded array of floating-point numbers) to ensure interoperability between AI-Aware Browsers and MRN Index Models.</t>
      </section>
      <section title="Vector-Based Routing">
        <t>
          Unlike DNS's exact string matching, MRN uses semantic embedding similarity
          for routing. Intent vectors are compared against capability embeddings
          in MRecs using cosine similarity or other distance metrics.
        </t>
      </section>
    </section>
    <section title="AI-Aware Browser" anchor="ai-browser">
      <t>
        The AI-Aware Browser is a specialized client interface designed for
        intent-based interaction with the AI-native internet layer.
      </t>
      <section title="Core Capabilities">
        <t>
          <list style="symbols">
            <t>Accepts natural language or goal-oriented prompts</t>
            <t>Generates intent vectors from user queries</t>
            <t>Queries MRN for model discovery and selection</t>
            <t>Executes HTTP+AI requests to distributed models</t>
            <t>Presents synthesized answers with provenance and confidence</t>
            <t>Manages conversational context and follow-up queries</t>
          </list>
        </t>
      </section>
    </section>
    <section title="Use Cases" anchor="use-cases">
      <section title="Software Development">
        <t>
          Query: "Generate a Dockerfile for a Python FastAPI app"
          Workflow: MRN resolves to DevOps model → Returns ready-to-use Dockerfile
          with explanation and confidence score.
        </t>
      </section>
      <section title="Medical Symptom Analysis">
        <t>
          Query: "I have red rashes on my body, possible causes?"
          Workflow: MRN routes to certified dermatology model → Returns potential
          diagnoses with confidence levels and medical disclaimers.
        </t>
      </section>
    </section>
    <section title="Security Considerations" anchor="security">
      <section title="MRec Authentication">
        <t>Model Records MUST be cryptographically signed and verified to prevent spoofing. The public key infrastructure for MRec signing SHOULD be auditable.</t>
      </section>
      <section title="Intent Privacy">
        <t>User intents may contain sensitive information; TLS encryption and
          privacy-preserving embedding techniques are RECOMMENDED.</t>
      </section>
      <section title="Model Poisoning">
        <t>MRN implementations SHOULD implement trust scoring and reputation systems
          to mitigate malicious model registration. Provenance data in the HTTP+AI response SHOULD link the answer to the verified MRec.</t>
      </section>
    </section>
    <section title="Privacy Considerations" anchor="privacy">
      <t>The architecture supports local-device inference, region-aware routing, protection of
        sensitive intents, and differential privacy for shared models. The <spanx style="verb">AI-Privacy</spanx> header is the primary mechanism for client-mandated privacy control.</t>
    </section>
    <section title="IANA Considerations" anchor="iana">
      <t>This document requests several registrations with IANA:</t>
      <section title="New URI Scheme" anchor="iana-uri">
        <t>Registration of the ai URI scheme in the "Uniform Resource Identifier (URI) Schemes" registry is requested.</t>
      </section>
      <section title="New HTTP Header Fields" anchor="iana-headers">
        <t>Registration of the following HTTP header fields in the "Permanent Message Header Field Registry" is requested:
        <list style="symbols">
          <t>AI-Intent</t>
          <t>AI-Capability</t>
          <t>AI-Privacy</t>
          <t>AI-Latency-Target</t>
          <t>AI-Model-ID</t>
          <t>AI-Confidence</t>
        </list>
        </t>
      </section>
      <section title="New Status Codes" anchor="iana-status">
        <t>Registration of status codes 450, 451, and 453 in the "Hypertext Transfer Protocol (HTTP) Status Code Registry" is requested.</t>
      </section>
      <section title="AI-Privacy Constraint Tokens Registry" anchor="iana-privacy-reg">
        <t>This document requests the creation of a new IANA registry named "AI-Privacy Constraint Tokens" to manage the field values for the `AI-Privacy` HTTP header. The initial tokens SHALL be: `local-preferred`, `cloud-allowed`, and `regulated`.</t>
      </section>
    </section>
    <section title="Discussion and Future Work" anchor="discussion">
      <t>Key research challenges include authentication and safety of model endpoints,
        interoperable metadata formats, efficient caching of inference results, versioning
        and provenance tracking, and economic models for federated participation. <xref target="Internet20-Paper"/></t>
      <t>Future work includes prototyping MRN nodes using vector databases, defining
        HTTP+AI extensions, creating a lightweight AI-aware browser, and developing
        open specifications under an AI-RFC series. <xref target="Internet20-Paper"/></t>
    </section>
    <section title="Conclusion" anchor="conclusion">
      <t>Internet 2.0 proposes a protocol-level extension to treat AI models as first-class,
        discoverable network entities. By integrating intent resolution, model discovery,
        and AI-native client interfaces, the architecture shifts the web from static
        document retrieval to dynamic, intelligent interaction. It does not replace the
        existing internet but extends it with modularity, privacy, and semantic routing. <xref target="Internet20-Paper"/></t>
    </section>
    <section title="Appendix A: Model Record (MRec) Specification" anchor="mrec-spec-app">
      <t>The Model Record (MRec) is a signed JSON object that defines an AI model's
        capabilities, performance characteristics, and deployment information. It is the core record type for the MRN.</t>
      <figure>
        <artwork><![CDATA[
{
  "ModelID": "org.example.model.v1",
  "Endpoint": "https://models.example.com/infer",
  "Capabilities": ["python", "fastapi", "asyncio"],
  "Version": "1.2.0",
  "Privacy": "edge-local",
  "TrustScore": 0.92,
  "TTL": 3600,
  "LatencyMetrics": { "avg_ms": 85 },
  "Authentication": "<cryptographic-signature>"
}
          ]]></artwork>
      </figure>
      <section title="MRec Required Fields" anchor="mrec-fields">
        <t>The following fields are REQUIRED in a valid MRec:
        <list style="symbols">
          <t>ModelID: Globally unique hierarchical identifier (string).</t>
          <t>Endpoint: Network address for HTTP+AI inference requests (URI).</t>
          <t>Capabilities: Array of domain/task keywords (string array).</t>
          <t>Version: Model version string (string).</t>
          <t>TTL: Time-to-live in seconds for caching (integer).</t>
          <t>Privacy: Token defined in the "AI-Privacy Constraint Tokens" IANA registry (string).</t>
          <t>TrustScore: Metric (0.0 to 1.0) indicating verified reliability (float).</t>
          <t>Authentication: Cryptographic signature over the MRec object, using an IETF-specified algorithm (e.g., ECDSA over JWS).</t>
        </list>
        </t>
      </section>
    </section>
    <section title="Appendix B: Intent-to-Model Workflow Diagram" anchor="workflow-diagram">
      <t>The following sequence diagram illustrates the workflow for intent resolution
        within MRN. </t>
      <figure>
        <artwork><![CDATA[
User         AI-Browser        MRN         Model
  |                |            |             |
  |--"intent"---->|            |             |
  |                |--intent_vec-->|             |
  |                |            |--search-->|
  |                |<--MRecs-------|             |
  |                |---HTTP+AI--------------->|
  |                |<--response---------------|
  |<--answer------|            |             |
          ]]></artwork>
      </figure>
    </section>
  </middle>
  <back>
    <references>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/rfc/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author>
            <organization>IETF</organization>
          </author>
          <date year="1997" month="March" />
        </front>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/rfc/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author>
            <organization>IETF</organization>
          </author>
          <date year="2017" month="May" />
        </front>
      </reference>
      <reference anchor="RFC5234" target="https://www.rfc-editor.org/rfc/rfc5234">
        <front>
          <title>Augmented BNF for Syntax Specifications: ABNF</title>
          <author initials="D." surname="Crocker" fullname="D. Crocker"/>
          <author initials="P." surname="Overell" fullname="P. Overell"/>
          <date year="2008" month="January"/>
        </front>
      </reference>
      <reference anchor="Internet20-Paper" target="https://engrxiv.org/preprint/view/5800/9663">
        <front>
          <title>Internet 2.0: An Intent-Aware, AI-Native Extension of the Web</title>
          <author>
            <organization>Gokul Kartha</organization>
          </author>
          <date year="2025" />
        </front>
      </reference>
    </references>
  </back>
</rfc>