<?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.34 (Ruby 3.4.9) -->
<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="o-*+"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ramakrishna-satp-views-addresses-07" category="info" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.32.0 -->
  <front>
    <title abbrev="SAT Views and View Addresses">Views and View Addresses for Secure Asset Transfer</title>
    <seriesInfo name="Internet-Draft" value="draft-ramakrishna-satp-views-addresses-07"/>
    <author initials="V." surname="Ramakrishna" fullname="Venkatraman Ramakrishna">
      <organization>IBM Research</organization>
      <address>
        <email>vramakr2@in.ibm.com</email>
      </address>
    </author>
    <author initials="V." surname="Pandit" fullname="Vinayaka Pandit">
      <organization>IBM Research</organization>
      <address>
        <email>pvinayak@in.ibm.com</email>
      </address>
    </author>
    <author initials="E." surname="Abebe" fullname="Ermyas Abebe">
      <organization>Consensys</organization>
      <address>
        <email>ermyas.abebe@consensys.net</email>
      </address>
    </author>
    <author initials="S." surname="Nishad" fullname="Sandeep Nishad">
      <organization>IBM Research</organization>
      <address>
        <email>sandeep.nishad1@ibm.com</email>
      </address>
    </author>
    <author initials="K." surname="Narayanam" fullname="Krishnasuri Narayanam">
      <organization>IBM Research</organization>
      <address>
        <email>knaraya3@in.ibm.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="18"/>
    <area>Applications and Real-Time</area>
    <workgroup>Secure Asset Transfer Protocol</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 257?>

<t>With increasing use of DLT (distributed ledger technology) systems, including blockchain systems and networks, for virtual assets, there is a need for asset-related data and metadata to traverse system boundaries and link their respective business workflows. Core requirements for such interoperation between systems are the abilities of these systems to project views of their assets to external parties, either individual agents or other systems, and the abilities of those external parties to locate and address the views they are interested in. A view denotes the complete or partial state of a virtual asset, or the output of a function computed over the states of one or more assets, or locks or pledges made over assets for internal or external parties. Systems projecting these views must be able to guard them using custom access control policies, and external parties consuming them must be able to verify them independently for authenticity, finality, and freshness. The end-to-end protocol that allows an external party to request a view by an address and a DLT system to return a view in response must be DLT-neutral and mask the interior particularities and complexities of the DLT systems. The view generation and verification modules at the endpoints must obey the native consensus logic of their respective systems.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ietf-satp.github.io/draft-ramakrishna-satp-views-addresses/draft-ramakrishna-satp-views-addresses.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ramakrishna-satp-views-addresses/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Secure Asset Transfer Protocol Working Group mailing list (<eref target="mailto:sat@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/sat/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/sat/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-satp/draft-ramakrishna-satp-views-addresses"/>.</t>
    </note>
  </front>
  <middle>
    <?line 261?>

<section anchor="introduction">
      <name>Introduction</name>
      <t anchor="introduction-doc">Blockchain systems, especially those of the permissioned variety, are a heterogeneous mix, fulfilling a diverse range of needs and built on several different DLT stacks that are not compatible with each other. Yet, in an interconnected world, the business processes running on each system cannot afford to remain isolated and the virtual assets they manage cannot afford to remain in siloes. These systems must be interoperable so that assets can move, and their properties can be reflected across network boundaries, and so that business processes can span multiple systems. Interoperability will, in effect, mimic a larger or scaled up, blockchain system composed of smaller blockchain systems without explicitly requiring those systems to coalesce.</t>
      <t>At the core of any cross-blockchain system transaction is the ability of a system to project a view of assets and associated data recorded on its ledger to external parties, be they individual agents or other blockchain systems.  On the reverse, a blockchain system must also have the ability to identify and address views of assets or associated data in another system, and further, to validate that view before its business process consumes it.  View projection, addressing, and consumption, must eliminate or minimize the role of third parties to avoid loss of data privacy, control over business process, or diminishment of autonomy.</t>
      <t>This document specifies formats for views and view addresses on distributed ledgers. Similar to the notion of database views, distributed ledger views reflect what a given network wishes to expose to external parties, typically through scripts, as well as access control considerations. In contrast to conventional databases, exposure and access control considerations must be decided through decentralized consensus. Also, in contrast to a conventional database, the consumer of the view, who may be a DLT system, must be able to independently validate it as the consensus view of the providing network. Hence, a view incorporates the notion of a proof made against a claim. The view address must encapsulate the view request, and optionally carry a policy that circumscribes the construction of proof.</t>
      <t>The protocol to communicate view requests and responses is beyond the scope of this draft and will be specified in a separate draft.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t anchor="terminology-doc">The following are some terminology used in the current document:</t>
      <ul spacing="normal">
        <li>
          <t>Blockchain system: Blockchains are distributed digital ledgers of cryptographically signed transactions that are grouped into blocks.  Each block is cryptographically linked to the previous one (making it tamper evident) after validation and undergoing a consensus decision.  As new blocks are added, older blocks become more difficult to modify (creating tamper resistance). New blocks are replicated across copies of the ledger within the network, and any conflicts are resolved automatically using established rules <xref target="NIST"/>.</t>
        </li>
        <li>
          <t>Blockchain network: This is a blockchain system that is built on a network of nodes that maintain a common shared copy of the blockchain using a consensus protocol.</t>
        </li>
        <li>
          <t>Distributed ledger technology (DLT) system: Technology that enables the operation and use of distributed ledgers, where the ledger is shared (replicated) across a set of DLT nodes and synchronized between the DLT nodes using a consensus mechanism <xref target="ISO"/>.  Every blockchain system is also a DLT system, and so we will mostly use the latter term in this draft when discussing protocols for cross-system interactions.</t>
        </li>
        <li>
          <t>Distributed ledger network: This is a DLT system that is built on a network of nodes that maintain a shared copy of the ledger or portions of it on different subsets of nodes using a consensus protocol.</t>
        </li>
        <li>
          <t>Resource Domain: The collection of resources and entities participating within a blockchain or DLT system. The domain denotes a boundary for permissible or authorized actions on resources.</t>
        </li>
        <li>
          <t>Interior Resources: The various interior protocols, data structures and cryptographic constructs that are a core part of a blockchain or DLT system.  Examples of interior resources include the ledger (blocks of confirmed transaction data), public keys on the ledger, consensus protocol, incentive mechanisms, transaction propagation networks, etc.</t>
        </li>
        <li>
          <t>Exterior Resources: The various resources that are outside a blockchain or DLT system, and are not part of the operations of the system.  Examples include data located at third parties such as asset registries, ledgers of other blockchain/DLT systems, PKI infrastructures, etc.</t>
        </li>
        <li>
          <t>Nodes: The nodes of the blockchain or DLT system which form the peer-to-peer network, which collectively maintain the shared ledger in the system by following a consensus algorithm.</t>
        </li>
        <li>
          <t>Gateway nodes: The nodes of the blockchain or DLT system that are functionally capable of acting as a gateway in an asset transfer. A gateway node conforms to the Secure Asset Transfer Architecture <xref target="SATA"/> and implements the Secure Asset Transfer Protocol (SATP) <xref target="SATP"/>. Being a node on the blockchain/DLT system, a gateway has at least read access to the interior resources (e.g., ledger) of the blockchain. Optionally, it may have write access to the ledger and also the ability to participate in the consensus mechanism deployed for the system. Depending on the blockchain/DLT system implementation, some or all of the nodes may be gateway-capable.</t>
        </li>
        <li>
          <t>Clients: Entities are permitted to invoke smart contracts to read or update ledger state in a blockchain or DLT system. They possess unique identities in the form of public keys. In a permissioned system, identity certificates are issued by the system's internal providers (or certificate authorities).</t>
        </li>
        <li>
          <t>Wallets: Collection of client identities represented by public-private key pairs, and optionally certificate issued by a blockchain or DLT system's identity providers (or certificate authorities).</t>
        </li>
        <li>
          <t>Virtual Asset: A virtual asset is a digital representation of value that can be digitally traded, or transferred as defined by the FATF <xref target="FATF"/>.</t>
        </li>
        <li>
          <t>Virtual Asset Service Provider (VASP): Legal entity handling virtual assets as defined by the FATF <xref target="FATF"/>.</t>
        </li>
        <li>
          <t>Ledger state: A snapshot of the information held in a distributed shared ledger, typically (though not necessarily) as a set of blockchain or DLT system. Examples of interior resources include key-and-value pairs. This information includes records of virtual assets and the state of business processes that are meaningful to the DLT system's participants and clients. State elements and subsets may be scoped under the namespaces of given smart contracts, thereby being accessible only through invocations on those contracts.</t>
        </li>
        <li>
          <t>Smart contracts: Business workflows written in programming languages that manage the states of assets and business processes on a shared ledger in a DLT system. These contracts constrain the ability of system clients to modify ledger state and embed guards around state elements. Contracts can be invoked to read from, or write, to, a ledger. They can be deployed on several system nodes, who must agree on a given ledger state update via a consensus protocol.</t>
        </li>
        <li>
          <t>Consensus protocol/mechanism: Process by which nodes agree on a ledger state update, typically (though not mandatorily) through a smart contract invocation.</t>
        </li>
        <li>
          <t>Local transaction: A transaction triggered by a client to update the ledger state in a blockchain or DLT system, typically (though not mandatorily) through a smart contract invocation.</t>
        </li>
        <li>
          <t>View: A projection of a blockchain or DLT system's ledger state for external consumption, i.e., for parties outside that system. This can be a single element, a subset of the state, or a function over a subset.</t>
        </li>
        <li>
          <t>View Address: A unique identifier or locator for a view into a blockchain or DLT system's ledger. This is analogous to an HTTP URL.</t>
        </li>
        <li>
          <t>Source system: Blockchain or DLT system governing the ledger from which a view is produced.</t>
        </li>
        <li>
          <t>Destination system: System in which a view is consumed. This can be a blockchain or DLT system.</t>
        </li>
        <li>
          <t>Remote system: Counterparty system in a view request-response protocol instance. From the vantage point of the source system, this refers to the destination system, and vice versa.</t>
        </li>
        <li>
          <t>View requestor: Person or organization triggering a view request from a source network.</t>
        </li>
        <li>
          <t>Proof: A data structure containing evidence linking a view to its source system's blockchain, or more generally, ledger. The evidence may be probabilistic and in some cases cryptographically verifiable.</t>
        </li>
        <li>
          <t>Access/exposure policy: Set of rules governing the release of a view to an external party (i.e., outside the source system), held in consensus by nodes on the source system's ledger.</t>
        </li>
        <li>
          <t>Verification policy: Rules for validation of proofs associated with views maintained in a destination system. If the destination system is a blockchain or DLT system, these rules are held in consensus by nodes on that system's ledger.</t>
        </li>
        <li>
          <t>View Request: A request for a made by an external party to a source blockchain or DLT system. The external party may be a client in a destination blockchain or DLT system. The request consists of a view address and various metadata, including optionally a verification policy.</t>
        </li>
        <li>
          <t>Asset locking or escrow: The conditional mechanism used within a blockchain or DLT system to make an asset temporarily unavailable for use by its owner. The condition of the asset release can be based on a duration of time (e.g., hash time locks) or other parameters.</t>
        </li>
      </ul>
      <t>Further terminology definitions can be found in <xref target="NIST"/> and <xref target="ISO"/>. The term 'blockchain' and 'distributed ledger technology' (DLT) are used interchangeably in this document.</t>
    </section>
    <section anchor="assumptions-and-principles">
      <name>Assumptions and Principles</name>
      <t anchor="assumptions-principles">The addressing of a DLT system’s assets and asset-related data as well as the exposure of such data to a foreign DLT system assumes the presence of one or more gateways that are either part of the system or working on behalf of it. These gateways are ultimately responsible for generating and interpreting both addresses and data, hiding any DLT- or network-specific protocol considerations from each other. All DLT- and network-specific software artifacts that are exchanged among gateways will be encapsulated in generic (or DLT-neutral) software artifacts. The gateways are assumed to be interoperable using a protocol that corresponds to the design principles of the Internet architecture. The specification of this protocol is beyond the scope of this draft and will be described in a separate draft.</t>
    </section>
    <section anchor="ledger-state-views-and-proofs">
      <name>Ledger State Views and Proofs</name>
      <section anchor="views">
        <name>Abstraction of Distributed Ledger States</name>
        <t anchor="views-abstraction">A distributed ledger system maintains a set of ledgers, akin to databases. Each such ledger is organized and addressable in a hierarchical namespace with the identifier of the distributed ledger system being the root. A ledger is shared among a subset of members of the network that the system, which maintains the distributed ledger, is built on. These subsets of members may overlap or be mutually exclusive, depending on the precepts of the given DLT, but for the purpose of this document, the distinction is not relevant. For example, the Hyperledger Fabric blockchain platform maintains a set of channels, where each channel is shared exclusively by a subset of members <xref target="Andr18"/>. In contrast, the Corda platform allows each data item to be shared by an arbitrary subset of members, in effect creating databases privy to mutually overlapping member sets <xref target="Hear19"/>. The Ethereum Mainnet has a dynamic group of members maintaining a single global ledger with open, or public, access.</t>
        <t>Each shared ledger within a system maintains a snapshot of the latest, or current, state, determined through consensus (or agreement) by the members sharing it. In addition, a tamper-evident history of the current state, which can be a blockchain or any other form of a transaction log, is also maintained by the members sharing that database. The state of the distributed ledger system as a whole is the union of states of the ledgers it comprises of.</t>
        <t>Finally, any data item within a ledger can be retrieved, or any processed data extracted, using its native logic and interfaces. As a ledger is a traditional database in most respects, it supports extraction and processing the same way a database does. For example, data in a SQL database can be extracted using record keys and schema attributes, whereas in a No-SQL database, data is extracted using knowledge of key value pairs and overlaid schema. Just as views and stored procedures are used to extract information from a database, UTXO scripts (in Bitcoin <xref target="Naka08"/>) or smart contracts (in Ethereum <xref target="Ethe22"/>, and several permissioned DLTs like Hyperledger Fabric and Corda) are used to extract information from a ledger. An interface is provided to give the user the ability to query or update ledger data. As UTXO scripts are just simple forms of smart contracts, we will assume in our abstraction that each ledger within a DLT system possesses a smart contract interface.</t>
      </section>
      <section anchor="distributed-ledger-system-views">
        <name>Distributed Ledger System Views</name>
        <t anchor="views-dls">A view into a distributed ledger system state is similar in concept to a traditional database view but has certain additional features because the backing state is maintained in a different way than state in a traditional database is. Fundamentally, a DLT system view is information that is derived from that system's ledger. We define it as an abstract representation of state projected from a ledger that is consumable by entities, who may or may not belong to the network or possess credentials to access raw ledger state. Views are uniquely addressable within a DLT system. A view can be static, i.e., referring to information derived from a point-in-time (or historical) state, or dynamic, i.e., referring to information derived from the current state.</t>
        <t>Semantically, a view represents the what and not the how, i.e., it projects information from a ledger but not the details of the process through which that information came into being. This process has multiple facets, from the consensus and commitment protocols through which raw data was recorded on the ledger to the smart contract procedure through which information was extracted from the raw ledger data. These procedures are specific to DLT implementations, which we wish to keep opaque from the cross-system communication infrastructure, specifically the systems' gateways. This will allow the communication infrastructure to ignore details of ledger implementations while managing state when a view is communicated from a system to an external entity. Therefore, we specify the view as a package with a generic structure, independent of a specific DLT implementation. Internally, a view will contain data that has a DLT-specific representation, but we will leave the interpretation of this to modules internal to the systems. In this document, we will specify the formats of the DLT-independent portions of a view that will be handled by the communication infrastructure and provide suggestive sample view contents for prominent DLTs.</t>
        <t>There is a caveat to the above definition, arising from a fundamental difference between a traditional database and a DLT system. This is the fact that state in the former is maintained by a single authority whereas state in the latter is maintained collectively, and held in agreement, by a peer group of entities, each of which can fail or be malicious. Therefore, a DLT system view is incomplete without an associated proof of it being derived from state agreed to by the group as a whole. In practice, this does not require unanimity but rather enough representation from group members to overcome failure of individual peers' failures and to assure an external client that the system as a whole will not repudiate that view, in accordance with the consensus rules of the source ledger, at a later time. Theoretically, we can quantify the nature of this proof under certain models. If peers are susceptible only to crash failures, an agreement over state from more than 50% of the peers will qualify as sufficient proof. If peers can be malicious, i.e., fail in Byzantine ways, a consistent state view is required from more than 2/3 of the peers. More generally, the nature of proof, or determining what is sufficient, can be derived from the consensus mechanism used by the system.</t>
        <t>The proof associated with a view represents two things. One is an assurance that the view is a group, or consensus, view of the ledger held by the DLT system as a whole. The other is evidence of authenticity of the state projection that the view represents. And though the construction of a proof is very DLT-specific, the notion that a proof may be supplied with a view can be embodied in a DLT-independent specification, thereby adhering to the principle of DLT opacity to the communication infrastructure. Finally, proofs are also consistent with the "what, not how" principle because they certify that a view represents state at a given point in time and not the history of events that led to that state.</t>
        <t>Now we can look at the structure of a view in more detail. At a high level, a view consists of the following:</t>
        <ul spacing="normal">
          <li>
            <t>Request Id: a unique value corresponding to the request for a view made by an external entity to the DLT system.</t>
          </li>
          <li>
            <t>Data: ledger state projection, or derived information, with proof.</t>
          </li>
          <li>
            <t>Metadata: attributes of the payload used to unpack and interpret it.</t>
          </li>
        </ul>
        <t>Data consists of the following:</t>
        <ul spacing="normal">
          <li>
            <t>View Address: this is supplied by an external entity, and is the equivalent of a "getter function" that can be used to uniquely identify (or derive) projection into a DLT system state.</t>
          </li>
          <li>
            <t>Information: this is the actual ledger state projection.</t>
          </li>
          <li>
            <t>Schema: this described the Information data structure and can be used to unpack (or unmarshal) it. It is optional if the ledger schema is well-known.</t>
          </li>
          <li>
            <t>Proof: This is a structure that validates the Information. It is optional, though recommended for DLT system views.</t>
          </li>
          <li>
            <t>Proof Schema: this describes the Proof data structure. It is optional if the proof schema is well-known.</t>
          </li>
        </ul>
        <t>Metadata consists of the following:</t>
        <ul spacing="normal">
          <li>
            <t>View Type: this tells us whether the view is a singleton data item, a collection of data items, or a computation over data items that are part of the DLT system state.</t>
          </li>
          <li>
            <t>Protocol Type: this denotes a unique value associated with a given DLT protocol; e.g., Bitcoin, Ethereum, Hyperledger Fabric, Corda, Solana.</t>
          </li>
          <li>
            <t>Timestamp: this denotes the time at which the view was produced.</t>
          </li>
          <li>
            <t>Proof Type: this denotes the type, or category, of proof being supplied, e.g., Notarizations/certifications (also called proof of authority), Simplified Payment Verifications, Zero Knowledge Proof, Proof of Proof-of-Work.</t>
          </li>
          <li>
            <t>Serialization Format: this denotes the format used to serialize the view data, e.g., XML, JSON, protocol buffer.</t>
          </li>
          <li>
            <t>Commitments: these are commitments made on the view by authorities or infrastructure (e.g., the Ethereum Mainnet) external to the DLT system.</t>
          </li>
        </ul>
      </section>
      <section anchor="simple-views">
        <name>Simple Views</name>
        <t anchor="views-simple">A simple DLT view is any unit of a database within a DLT system that is exposable through interfaces programmed over that database. More concretely, any blockchain or smart contract system provides the ability to write scripts or procedures that can act on the raw ledger (database) data, accompanied by interfaces to trigger those scripts or procedures to query or update ledger state. In such a system, a simple view is any information that can be obtained directly through an invocation of this interface, e.g., any transaction exposed by a smart contract deployed on a ledger within the system.</t>
        <t>In the DLT view structure specified earlier, the View Type within Metadata will be set to SIMPLE if such a view is requested by an external entity. The content of the view address (described later in this draft) can be interpreted to know if the external entity is requesting a simple view.</t>
      </section>
      <section anchor="aggregate-views">
        <name>Aggregate Views</name>
        <t anchor="views-aggregate">An aggregate DLT view is a collection of addressable units of databases within a DLT system. In effect, it is an array of simple views, which can be derived through multiple invocations of different scripts or smart contract transactions acting on raw ledger data. In the DLT view structure specified earlier, the View Type within Metadata will be set to AGGREGATE if such a view is requested by an external entity. The content of the view address (described later in this draft) can be interpreted to know if the external entity is requesting an aggregate view.</t>
      </section>
      <section anchor="complex-or-processed-views">
        <name>Complex or Processed Views</name>
        <t anchor="views-complex">A complex or processed DLT view is the output of a function computed over a set of addressable units of databases within a DLT system. In effect, it is a function computed over an aggregate view. In the DLT view structure specified earlier, the View Type within Metadata will be set to AGGREGATE if such a view is requested by an external entity. The content of the view address (described later in this draft) can be interpreted to know if the external entity is requesting a complex view, and the function to be computed will also be specified in the view address.</t>
      </section>
      <section anchor="view-proofs">
        <name>View Proofs</name>
        <t anchor="views-proofs">Proof within a view must ratify the view’s contents as the consensus over a projection of ledger state by members of the DLT system. Because the projection of state is itself DLT-specific, though it can be wrapped in DLT-neutral structures as we have described earlier, the proof also takes DLT-specific shapes. But we can list the set of attributes any proof must contain in abstract terms as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Association of response with request: a connection (ideally, cryptographically secure) between the request supplied in the view address with the ledger state projection as inferred by the source system. For instance, this can take the form of a signature over a common structure consisting of both the request and the response.</t>
          </li>
          <li>
            <t>Authenticity of response: a connection (ideally, cryptographically secure) between a member generating a ledger state projection and its DLT system. For instance, this can take the form of a certificate chain associating the signer with the DLT system’s membership authorities. This is necessary for a permissioned DLT system and is optional for open (or permissionless) DLT systems.</t>
          </li>
          <li>
            <t>Evidence of consensus: information showing that the view contents are agreed upon by the network as a whole. For a permissioned DLT system, this typically implies that an identical and authentic ledger state projection must be provided by a large enough quorum of its members so that the view cannot be repudiated in the future. In an open (or permissionless) system, this can simply be the portion of a mined block that shows why it belongs to the longest chain; i.e., proof-of work or succinct versions of it (like Proof-of-Proof-of-Work <xref target="Naka08"/>, or PoPoW <xref target="Kiay16"/><xref target="Kiay17"/>). In any DLT system, such evidence can optionally pass a policy check, where the policy rule is supplied by the view requestor and typically embodies the consensus logic that led to the commitment of the ledger state projection being requested.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="ledger-state-view-addresses">
      <name>Ledger State View Addresses</name>
      <t anchor="view-address">To request a view from a DLT system, an external entity must be able to unambiguously specify the information it seeks in the form of a view address. The use of the term “address” follows from the abstraction of a DLT system as a repository of data resources that can be retrieved and computed on. A view address in blockchain or distributed ledger systems is equivalent to URLs <xref target="RFC1630"/> (for example, specified as an HTTP address <xref target="RFC2616"/>), which are used to address resources offered by Internet and World Wide Web servers <xref target="RFC1738"/>.</t>
      <t>From a functional perspective, a view address can also be thought of as an interface over a “getter”, which is a standard software pattern used to fetch data values in a computer program. The schematic representation of a getter is dependent on the protocol followed by the underlying distributed ledger system, but is conceptually abstracted away by the view address. An external entity can create and manipulate a view address without understanding its semantics and usage, which are hidden by the DLT system. This allows the system to use alternate representations for getters internally without requiring external entities to understand the implementations of these operators. The view address states the “what” and not the “how”.</t>
      <t>A view address must be a globally unique identifier of a view on a distributed ledger system, because global interoperability is our goal. Therefore, as with DNS addresses for Internet servers and URLs for World Wide Web resources, a view address is a hierarchical address, with different segments identifying units of decreasing size and increasing specificity in sequence. The syntax is as follows:</t>
      <artwork><![CDATA[
  address  = location-segment "/"
             ledger-segment "/"
             view-segment
             ; distributed-ledger-system/ledger/data-projection
]]></artwork>
      <t>The location-segment provides identification and reachability information for the distributed ledger system. The ledger-segment identifies a unique ledger within this system, and the view-segment identifies a view or state projection from that ledger.</t>
      <t>Decentralized ledger systems don’t have a single location as they are built on networks of peer nodes. Maintainers of these systems may expose one or more endpoints for external entities to access views, which can be hosted on the network nodes themselves or on designated gateways. Gateways form the communication infrastructure for cross-system interactions and can be deployed in different configurations: a single system may possess multiple gateways, or a single gateway may serve multiple systems. Therefore, to formulate a view address, one needs to know the set of endpoints that lead to a given distributed ledger system and a unique identifier for the network that hosts that system. In certain systems and gateways, an identifier that represents a set of endpoints can be used instead of explicitly enumerating those endpoints. Also, if the specified set of endpoints is known to serve a single system, the network identifier can be omitted. The syntax of the location-segment is as follows:</t>
      <artwork><![CDATA[
  location-segment  = gateway ["/" network-id]
  gateway           = endpoint *(";" endpoint) / name
  endpoint          = host [":" port]
  host              = hostname / IP-address
  port              = 1*DIGIT
  network-id        = name
  hostname          = name 1*("." name)
  name              = (ALPHA / "_") *(ALPHA / DIGIT / "_" / "-")
  IP-address        = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT
]]></artwork>
      <t>A single gateway serving a given distributed ledger system (network) can be represented as follows:</t>
      <artwork><![CDATA[
  location-segment  = gateway.trade.com:7542/trade-network
                      \____________________/ \___________/
                                 |                 |
                              endpoint          network
]]></artwork>
      <t>Multiple gateways serving a network can be represented as follows:</t>
      <artwork><![CDATA[
  location-segment  = gateway1.trade.com:7542;   \
                      gateway2.trade.com:7542;   |--gateway (endpoints)
                      gateway3.trade.com:7542    /
                      /trade-network
                       \___________/
                             |
                          network
]]></artwork>
      <t>Gateways serving a single well-known network can be represented as follows:</t>
      <artwork><![CDATA[
  location-segment  = gateway1.trade.com:7542;gateway2.trade.com:7542
                      \_____________________________________________/
                                             |
                                    gateway (endpoints)
]]></artwork>
      <t>The ledger-segment names either the ledger, if that ledger has a distinct identifier within the system, or a procedure to access a ledger, which represents a common set of facts shared by a subset of members of the network that maintains the distributed ledger. These subsets may overlap; i.e., certain nodes may maintain more than one ledger in the system. The procedure name can take the form of an identifier that represents, say, a decentralized application spanning certain nodes, or an explicit enumeration of the identifiers of the nodes themselves. The ledger segment syntax is as follows:</t>
      <artwork><![CDATA[
  ledger-segment = *1(
                      (ALPHA / "_")
                      1*(ALPHA / DIGIT / "_" / "-" / ";" / “:”)
                     )
]]></artwork>
      <t>The ledger-segment can be blank if the distributed ledger system has a single ledger. This is the norm in open blockchain systems like Bitcoin or the Ethereum Mainnet, and in private Ethereum-based systems like Quorum and Hyperledger Besu.</t>
      <t>Examples are as follows:</t>
      <artwork><![CDATA[
  ledger-segment = trade-channel
                   \___________/
                         |
                    ledger name

  ledger-segment = paymentsDapp
                   \___________/
                         |
                 procedure/app name

  ledger-segment = paymentsDappNode1:9005;paymentsDappNode2:9005
                   \____________________/ \____________________/
                              |                      |
                     procedure/app node     procedure/app node
]]></artwork>
      <t>The view-segment uniquely identifies a view within a ledger. Features particular to a distributed ledger technology will determine how to encode this segment, but we can draw out common abstractions across DLTs to create a generic specification. All such technologies offer a procedural interface to access and manipulate data, typically (but not always) in the form of a smart contract. The exposed interface offers multiple functions to generate views based on the provided input. Hence, we can specify the view-segment as being composed of a contract, a function, and a list of input arguments. In the most general case, a default contract may be assumed, and arguments may be unnecessary, and so these can be omitted. The function, which can either be a procedural identifier, or a direct reference to a data item or collection of data items, or a programming instruction, must be specified. The view-segment syntax is as follows:</t>
      <artwork><![CDATA[
  view-segment   = [contract-id] ":"
                   function-spec *(":" input-argument)
  contract-id    = (ALPHA / "_") 1*(ALPHA / DIGIT / "_")
  function-spec  = name
  input-argument = name
  name           = *HEXDIGIT ; hex-encoded ASCII string
]]></artwork>
      <t>An example of a view-segment for a Hyperledger Fabric ledger is:</t>
      <artwork><![CDATA[
  view-segment   = trade-chaincode:getBillOfLading:bill-10012
                   \_____________/ \_____________/ \________/
                           |               |            |
                       contract         function     argument
]]></artwork>
      <t>An example for a Corda ledger is:</t>
      <artwork><![CDATA[
  view-segment   = :com.trade.dapp.flows.GetDocumentByTypeAndId:C:5
                    \_________________________________________/ \_/
                                         |                       |
                                      function               arguments
]]></artwork>
      <t>An example of a complete view address is as follows:</t>
      <artwork><![CDATA[
  gw.trade.com:7542/traden/tradel/tradec:getBill:bill-10012
  \______________________/ \____/ \_______________________/
              |               |                |
      location-segment  ledger-segment    view-segment
]]></artwork>
    </section>
    <section anchor="ledger-state-view-verification-policies">
      <name>Ledger State View Verification Policies</name>
      <t anchor="view-verification-policies">A verification policy for a ledger state view is a set of rules that the proof within the view can be validated against (or filtered through). The condition embedded within a rule can be arbitrary, though in practice, it should embody the process by which that ledger’s state was updated and consented to in a decentralized manner by the network of peers maintaining it. In permissioned networks built on DLTs like Hyperledger Fabric or Corda, a policy typically requires evidence of attestations made by a sufficiently large, or representative, portion of the peer network maintaining the ledger. This takes the form of a set of signatures and is crucial to validating views generated by networks built on DLTs like Hyperledger Fabric and Corda. In open networks, we can envision policies that require validation of the view data being derived from a block in the longest chain, for example. But in this specification, we will consider only attestation-based policies and leave more general policies to future drafts.</t>
      <t>The structure of a verification policy is as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Security Domain: a unique identifier for the distributed ledger system (or network maintaining it) projecting the ledger state view.</t>
        </li>
        <li>
          <t>Rules: a set of rules, each governing the validation of artifacts exposed through a particular category of views within the Security Domain.</t>
        </li>
      </ul>
      <t>Each Rule consists of the following:</t>
      <ul spacing="normal">
        <li>
          <t>View Pattern: a regular expression that can match a set of views.</t>
        </li>
        <li>
          <t>Policy: a policy rule/filter governing all views that match View Pattern.</t>
        </li>
      </ul>
      <t>Each Policy consists of the following:</t>
      <ul spacing="normal">
        <li>
          <t>Type: an identifier or flag denoting the type of this policy rule. For attestation-based policies, this should be set to “Signature”, and other identifiers can be created for other policy types in future drafts.</t>
        </li>
        <li>
          <t>Criteria: a Boolean expression with ANDs and ORs, where the principals consist of (1) the name of a DLT system unit/stakeholder (typically corresponding to a subset of nodes in the peer network), and (2) the number of signatures requires from this unit.</t>
        </li>
      </ul>
    </section>
    <section anchor="ledger-state-view-request">
      <name>Ledger State View Request</name>
      <t anchor="view-request">A view request is a message sent to a distributed ledger system by any external entity. It consists of the following:</t>
      <ul spacing="normal">
        <li>
          <t>View Address: uniquely identifies the data sought by the requester.</t>
        </li>
        <li>
          <t>Verification Policy: indicates the proof criteria for the requested view.</t>
        </li>
      </ul>
    </section>
    <section anchor="ledger-state-view-access-control-policies">
      <name>Ledger State View Access Control Policies</name>
      <t anchor="view-access-control-policies">An access control policy for a ledger state view is a set of rules governing the exposure of the view to an external entity. Each rule maps a set of principals to a set of views. The structure of an access control policy is as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Security Domain: a unique identifier for the entity (which can be a distributed ledger system itself) requesting a ledger state view.</t>
        </li>
        <li>
          <t>Rules: a set of rules, each governing access from some entity within Security Domain to artifacts exposed through a particular category of views.</t>
        </li>
      </ul>
      <t>Each Rule consists of the following:</t>
      <ul spacing="normal">
        <li>
          <t>Principal: a string that can match a set of subjects or principals, which can represents an individuals or an organization or a subgroup within an organization identified by role or attribute set (profile).</t>
        </li>
        <li>
          <t>Principal Type: a keyword that denotes the nature of the principal.
This can be one of the following:
          </t>
          <ul spacing="normal">
            <li>
              <t>PUBLIC-KEY: indicates that the principal is a public key associated with an individual member of the Security Domain.</t>
            </li>
            <li>
              <t>CA: indicates that the principal is a certification authority for an organization within the Security Domain.</t>
            </li>
            <li>
              <t>ROLE: indicates that the principal identifies a role within the Security Domain.</t>
            </li>
            <li>
              <t>ATTRIBUTE: indicates that the principal identifies a set of attributes, or a profile for a member, within the Security Domain.</t>
            </li>
            <li>
              <t>‘*’: indicates that the principal can be any member of the Security Domain. The Principal can be left blank in this case.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Resource: a regular expression that can match a set of views, which identifies the objects governed by this rule.</t>
        </li>
        <li>
          <t>Read: a Boolean flag indicating whether this rule is currently active.</t>
        </li>
      </ul>
    </section>
    <section anchor="related-open-issues">
      <name>Related Open Issues</name>
      <t anchor="open-issues">This draft provides a specification for views and how to addresses them. It further describes a protocol whereby one system can request a view from another through gateways. But there are several aspects of the end to-end process, which are extraneous to the data sharing protocol yet crucial to its successful completion. Though detailed specifications of these are beyond the scope of this draft, we list them in this section for readers’ considerations.</t>
      <section anchor="forms-of-proof">
        <name>Forms of proof</name>
        <t anchor="open-issues-proof">Though we have tried to be agnostic of the nature of the proof associated with a view in this draft, the data sharing protocol implicitly assumes that the proof takes the form of a quorum of digital signatures from parties belonging to a permissioned distributed ledger system. But several other proof types can exist, each suitable to the type of system that is exporting a view and the technology stack and consensus mechanism it is built on <xref target="Naka08"/><xref target="Kiay16"/><xref target="Kiay17"/><xref target="PoS"/><xref target="PoET"/><xref target="PoA"/>.</t>
      </section>
      <section anchor="temporal-guarantees-of-view-authenticity">
        <name>Temporal guarantees of view authenticity</name>
        <t anchor="open-issues-temporal">The view address as specified in this draft has no temporal component, implicitly conveying a request for the latest or “freshest” state projection from a shared ledger. Even apart from expanding the specification of the view address to include, for example, an absolute or relative timestamp, we will need to augment the data sharing protocol with a mechanism to convey proof of temporal veracity of a view. Work done on verifiable observation of shared ledgers using a public bulletin board <xref target="Abebe21"/> can be taken as the starting point for such a specification.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="FATF" target="http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html">
          <front>
            <title>International Standards on Combating Money Laundering and the Financing of Terrorism &amp; Proliferation - The FATF Recommendations</title>
            <author initials="" surname="FATF">
              <organization/>
            </author>
            <date year="2018" month="October"/>
          </front>
        </reference>
        <reference anchor="ISO" target="https://www.iso.org/standard/82208.html">
          <front>
            <title>Blockchain and distributed ledger technologies-Vocabulary (ISO:22739:2024)</title>
            <author initials="" surname="ISO">
              <organization/>
            </author>
            <date year="2024" month="January"/>
          </front>
        </reference>
        <reference anchor="NIST" target="https://doi.org/10.6028/NIST.IR.8202">
          <front>
            <title>NIST Blockchain Technology Overview (NISTR-8202)</title>
            <author initials="D." surname="Yaga">
              <organization/>
            </author>
            <author initials="P." surname="Mell">
              <organization/>
            </author>
            <author initials="N." surname="Roby">
              <organization/>
            </author>
            <author initials="K." surname="Scarfone">
              <organization/>
            </author>
            <date year="2018" month="October"/>
          </front>
        </reference>
        <reference anchor="RFC1630">
          <front>
            <title>Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1994"/>
            <abstract>
              <t>This document defines the syntax used by the World-Wide Web initiative to encode the names and addresses of objects on the Internet. This memo provides information for the Internet community. This memo does not specify an Internet standard of any kind.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1630"/>
          <seriesInfo name="DOI" value="10.17487/RFC1630"/>
        </reference>
        <reference anchor="RFC1738">
          <front>
            <title>Uniform Resource Locators (URL)</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="M. McCahill" initials="M." surname="McCahill"/>
            <date month="December" year="1994"/>
            <abstract>
              <t>This document specifies a Uniform Resource Locator (URL), the syntax and semantics of formalized information for location and access of resources via the Internet. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1738"/>
          <seriesInfo name="DOI" value="10.17487/RFC1738"/>
        </reference>
        <reference anchor="RFC2616">
          <front>
            <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="J. Gettys" initials="J." surname="Gettys"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2616"/>
          <seriesInfo name="DOI" value="10.17487/RFC2616"/>
        </reference>
        <reference anchor="SATA" target="https://datatracker.ietf.org/doc/draft-ietf-satp-architecture/">
          <front>
            <title>Secure Asset Transfer (SAT) Interoperability Architecture, IETF, draft-ietf-satp-architecture-09</title>
            <author initials="T." surname="Hardjono">
              <organization/>
            </author>
            <author initials="M." surname="Hargreaves">
              <organization/>
            </author>
            <author initials="N." surname="Smith">
              <organization/>
            </author>
            <author initials="V." surname="Ramakrishna">
              <organization/>
            </author>
            <date year="2026" month="February"/>
          </front>
        </reference>
        <reference anchor="SATP" target="https://datatracker.ietf.org/doc/draft-ietf-satp-core/">
          <front>
            <title>Secure Asset Transfer Protocol (SATP) Core, IETF, draft-ietf-satp-core-13</title>
            <author initials="M." surname="Hargreaves">
              <organization/>
            </author>
            <author initials="T." surname="Hardjono">
              <organization/>
            </author>
            <author initials="R." surname="Belchior">
              <organization/>
            </author>
            <author initials="V." surname="Ramakrishna">
              <organization/>
            </author>
            <author initials="A." surname="Chiriac">
              <organization/>
            </author>
            <date year="2026" month="March"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Abebe21" target="https://arxiv.org/abs/2012.07339">
          <front>
            <title>Verifiable Observation of Permissioned Ledgers (ICBC 2021)</title>
            <author initials="E." surname="Abebe">
              <organization/>
            </author>
            <author initials="Y." surname="Hu">
              <organization/>
            </author>
            <author initials="A." surname="Irvin">
              <organization/>
            </author>
            <author initials="D." surname="Karunamoorthy">
              <organization/>
            </author>
            <author initials="V." surname="Pandit">
              <organization/>
            </author>
            <author initials="V." surname="Ramakrishna">
              <organization/>
            </author>
            <author initials="J." surname="Yu">
              <organization/>
            </author>
            <date year="2021" month="May"/>
          </front>
        </reference>
        <reference anchor="Andr18" target="https://arxiv.org/abs/1801.10228">
          <front>
            <title>Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains, EuroSys</title>
            <author initials="E." surname="Androulaki">
              <organization/>
            </author>
            <author initials="A." surname="Barger">
              <organization/>
            </author>
            <author initials="V." surname="Bortnikov">
              <organization/>
            </author>
            <author initials="C." surname="Cachin">
              <organization/>
            </author>
            <author initials="K." surname="Christidis">
              <organization/>
            </author>
            <author initials="A." surname="De Caro">
              <organization/>
            </author>
            <author initials="D." surname="Enyeart">
              <organization/>
            </author>
            <author initials="C." surname="Ferris">
              <organization/>
            </author>
            <author initials="G." surname="Laventman">
              <organization/>
            </author>
            <author initials="Y." surname="Manevich">
              <organization/>
            </author>
            <author initials="S." surname="Muralidharan">
              <organization/>
            </author>
            <author initials="C." surname="Murthy">
              <organization/>
            </author>
            <author initials="B." surname="Nguyen">
              <organization/>
            </author>
            <author initials="M." surname="Sethi">
              <organization/>
            </author>
            <author initials="G." surname="Singh">
              <organization/>
            </author>
            <author initials="K." surname="Smith">
              <organization/>
            </author>
            <author initials="A." surname="Sorniotti">
              <organization/>
            </author>
            <author initials="C." surname="Stathakopoulou">
              <organization/>
            </author>
            <author initials="M." surname="Vukolic">
              <organization/>
            </author>
            <author initials="S." surname="Weed Cocco">
              <organization/>
            </author>
            <author initials="J." surname="Yellick">
              <organization/>
            </author>
            <date year="2018" month="January"/>
          </front>
        </reference>
        <reference anchor="BVGC20" target="https://arxiv.org/abs/2005.14282v2">
          <front>
            <title>A Survey on Blockchain Interoperability: Past, Present, and Future Trends</title>
            <author initials="R." surname="Belchior">
              <organization/>
            </author>
            <author initials="A." surname="Vasconcelos">
              <organization/>
            </author>
            <author initials="S." surname="Guerreiro">
              <organization/>
            </author>
            <author initials="M." surname="Correia">
              <organization/>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="Clar88">
          <front>
            <title>The Design Philosophy of the DARPA Internet Protocols, ACM Computer Communication Review, Proc SIGCOMM 88, vol. 18, no. 4, pp. 106-114</title>
            <author initials="D." surname="Clark">
              <organization/>
            </author>
            <date year="1988" month="August"/>
          </front>
        </reference>
        <reference anchor="Ethe22" target="https://ethereum.org/en/whitepaper/">
          <front>
            <title>Ethereum whitepaper</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="Gray81">
          <front>
            <title>The Transaction Concept: Virtues and Limitations, in VLDB Proceedings of the 7th International Conference, Cannes, France, September 1981, pp. 144-154</title>
            <author initials="J." surname="Gray">
              <organization/>
            </author>
            <date year="1981" month="September"/>
          </front>
        </reference>
        <reference anchor="Harer2022" target="https://ieeexplore.ieee.org/document/10035048">
          <front>
            <title>Towards Interoperability of Open and Permissionless Blockchains: A Cross-Chain Query Language, IEEE International Conference on e-Business Engineering (ICEBE), Bournemouth, United Kingdom, 2022, pp. 190-197, doi: 10.1109/ICEBE55470.2022.00041</title>
            <author initials="F." surname="Härer">
              <organization/>
            </author>
            <date year="2022" month="October"/>
          </front>
        </reference>
        <reference anchor="Hear19" target="https://docs.r3.com/en/pdf/corda-technical-whitepaper.pdf">
          <front>
            <title>Corda: A Distributed Ledger</title>
            <author initials="M." surname="Hearn">
              <organization/>
            </author>
            <author initials="R. G." surname="Brown">
              <organization/>
            </author>
            <date year="2019" month="August"/>
          </front>
        </reference>
        <reference anchor="Herl19" target="https://doi.org/10.1145/3209623">
          <front>
            <title>Blockchains from a Distributed Computing Perspective, Communications of the ACM, vol. 62, no. 2, pp. 78-85</title>
            <author initials="M." surname="Herlihy">
              <organization/>
            </author>
            <date year="2019" month="February"/>
          </front>
        </reference>
        <reference anchor="HLP19" target="https://ieeexplore.ieee.org/document/8743548">
          <front>
            <title>Towards an Interoperability Architecture for Blockchain Autonomous Systems, IEEE Transactions on Engineering Management</title>
            <author initials="T." surname="Hardjono">
              <organization/>
            </author>
            <author initials="A." surname="Lipton">
              <organization/>
            </author>
            <author initials="A." surname="Pentland">
              <organization/>
            </author>
            <date year="2019" month="June"/>
          </front>
        </reference>
        <reference anchor="HS2019" target="https://doi.org/10.3389/fbloc.2019.00024">
          <front>
            <title>Decentralized Trusted Computing Base for Blockchain Infrastructure Security, Frontiers Journal, Special Issue on Blockchain Technology, Vol. 2, No. 24</title>
            <author initials="T." surname="Hardjono">
              <organization/>
            </author>
            <author initials="N." surname="Smith">
              <organization/>
            </author>
            <date year="2019" month="December"/>
          </front>
        </reference>
        <reference anchor="Kiay16">
          <front>
            <title>Proofs of proofs of work with sublinear complexity, International Conference on Financial Cryptography and Data Security, pages 61–78, Springer</title>
            <author initials="A." surname="Kiayias">
              <organization/>
            </author>
            <author initials="N." surname="Lamprou">
              <organization/>
            </author>
            <author initials="A." surname="Stouka">
              <organization/>
            </author>
            <date year="2016"/>
          </front>
        </reference>
        <reference anchor="Kiay17" target="https://eprint.iacr.org/2017/963">
          <front>
            <title>Non-Interactive Proofs of Proof-of-Work, Cryptology ePrint Archive, Paper 2017/963</title>
            <author initials="A." surname="Kiayias">
              <organization/>
            </author>
            <author initials="A." surname="Miller">
              <organization/>
            </author>
            <author initials="D." surname="Zindros">
              <organization/>
            </author>
            <date year="2017" month="September"/>
          </front>
        </reference>
        <reference anchor="Naka08" target="https://bitcoin.org/bitcoin.pdf">
          <front>
            <title>Bitcoin: A Peer-to-Peer Electronic Cash System, Decentralized Business Review</title>
            <author initials="S." surname="Nakamoto">
              <organization/>
            </author>
            <date year="2008" month="October"/>
          </front>
        </reference>
        <reference anchor="PoA" target="https://www.coindesk.com/learn/what-is-proof-of-authority/">
          <front>
            <title>What Is Proof-of-Authority? Understanding PoA Consensus Mechanisms, CoinDesk</title>
            <author initials="M." surname="Antolin">
              <organization/>
            </author>
            <date year="2022" month="June"/>
          </front>
        </reference>
        <reference anchor="PoET" target="https://eprint.iacr.org/2021/086">
          <front>
            <title>On Elapsed Time Consensus Protocols, Cryptology ePrint Archive, Paper 2021/086</title>
            <author initials="M." surname="Bowman">
              <organization/>
            </author>
            <author initials="D." surname="Das">
              <organization/>
            </author>
            <author initials="A." surname="Mandal">
              <organization/>
            </author>
            <author initials="H." surname="Montgomery">
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="PoS" target="https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/">
          <front>
            <title>Proof-of-Stake (PoS) | ethereum.org</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="September"/>
          </front>
        </reference>
        <reference anchor="SRC84">
          <front>
            <title>End-to-End Arguments in System Design, ACM Transactions on Computer Systems, vol. 2, no. 4, pp. 277-288</title>
            <author initials="J." surname="Saltzer">
              <organization/>
            </author>
            <author initials="D." surname="Reed">
              <organization/>
            </author>
            <author initials="D." surname="Clark">
              <organization/>
            </author>
            <date year="1984" month="November"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
arYAAA==

-->

</rfc>
