<?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.43 (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-08" category="info" consensus="true" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <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-08"/>
    <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 (Retired)</organization>
      <address>
        <email>vinayaka.pandit@gmail.com</email>
      </address>
    </author>
    <author initials="E." surname="Abebe" fullname="Ermyas Abebe">
      <organization>Immutable</organization>
      <address>
        <email>ermyasteshome@gmail.com</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="September" day="22"/>
    <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-10</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="September"/>
          </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-16</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="September"/>
          </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:
H4sIAAAAAAAAA+192XIb2ZXgO78iQ46ZIj0AuEgqUaxwjEmKUtGlhRZZVXZ3
T3RcABdAmolMOBdSKFkR9Q/9MhPhfps/mT+pL5mz3iUzAVFeHiZiGHaJBDLv
cu7ZtzscDnd2qtrk0383WZHbk2Rtq51VerKTJOVsYqdVvc7k0ySpi0nwa5pP
bV4HH0ztql6cJE/gr6oo69LOKv22Wi+jP+synbhXJ8VyCSO5b9M8S3M/qf1Q
D7O0qocwyLjI4LFi+Ov/xu+tjB+masbuk7zY2anTGpf+Q2rvqwR2SL8lp9Np
aavKVsmsKJNrO2lKm5zCB3VyU5q8mtlyx4zHpb07Sa5Pbza+vjMtJrlZwgTT
0szqYWmW5rZMq0VuhpWpV8M7fHFo9PnhwfHOxNR2XpTrE9jiDFaYrsqTpC6b
qj46OHh+cLRjSmtOkkenq1WWwsNpkfPU763Jhjfp0j7auS/K23lZNCt4rnf1
yVVZwGEU2SM8WRhweZJcXty83Lm1a3h5Cn/ltS1zWw9f4Mp3JjCLzaumorXY
nZ07mzcWMeCh88AhrVcAiUc/wuLSfJ68whfx86VJM/gcAPLb1NazUVHO8WNT
TgBRHi3qelWd7O/jU/hRemdH+tg+frA/Lov7yu7D+/v43jytF80Y3sSnCMz7
D4M+vpwB9Ks6mNYNMuJxR2nxwOEe+NhoUS/xGExTL4oSITqE/yOCA6x/GCXv
/fv0OePTDza/NTWOnXeeAMCYPP2JUAMO8uwNoEZlEVT0tWV43/HCjn6b5qN0
vBwBWXTmvgK8Sutw2jQ3a3Nrwm82T5fsvrd1WtrpXjSxjDFa0Ri/nePH3ekv
Rsnp2I5tMPtFuVybKvi4NfVy2dRmnNlwNkvvwKEuiqXdNNf1KHkL8DPTYLJr
WJ21q/CLhwG24hdHOb14+Nte4H4HM5oS4ACTBZN+x8dYNWXa+v5hc9/m9NLj
8FB3kI+US3jzjgiWwHd0eELveayD5fUAXj774yj5tgk/OB0llyWcZPjZi1Hy
nSkbWHEBnH2xDr+LkWm4Ebvlm9+Nkj/yfFMgyJPkjVknRwdHh/RRbcq5BRpV
EjXlh/SO2cG42j86ODwaHTx7/Pg5PywM3pbpLEXkSN6NK1veESCTYpZcAYak
VQV/2Wny2k7ntqyS3cvzs3OaEVH3NJ+Wh8dbAQZPFE1mbtMWkM5wrWVr02cA
njy9Le7Cz89HybkB9haBFNDkfAHgqdNpWrWGfmHhhbJoncBFvgasqFsjv7Rl
GQ/wapS8NsDEa+AgrZN+Y3J7lwpiDR2FvGlKk6XTBWBY3hoevmqd9xng97xZ
2+jJNyOQpfUiba3jGqTBorXr6yVw29aGr4syT4u6TluzX9emXpjbYgUnUDSt
CX9obguQk629/GjhsM+LyaRoY53N4OnbAPV+Z/LGlIh+h8cPQL/D44PD0eHB
0dFxiH5ffQuyr8wIu5KXZgyaDWwpeZGikjNualjNO3gAkBIE4/Ua+NWSVI8I
Oc+yYnI7WRhY6yC5aMoCHvwKZjn74dX50cFG9HwPCGczwKyibAH0B1OBXJ/Y
rKha8HnVAMLYNMYugOZ5gR+bLmUePIgyD56ODp8cHR/dHUXAOU2um/LOrhOg
SL9JVkEKBMs4zdIaNKIr4OQD0CmA8+XwC2o9L5sa1Y6b0uZTgsY5aAnHm4kV
SASfCE/4tJmDdpUcPj+OzuxmYYHGqnSeJ1eLFGBUrBZr5Bg1fnH6/urUKUlO
zYGDOT1/A2BaruBQS/xl2eSipgHHRtmPGygmyfXlq/N3b94kx8eD5K7IRskh
/JIXo+TJIFmt4M+Dr4eHh6gnX8CER0fdHfHqr0GhtssxTAbHcNR7DEBztrTN
kk7C5vv3i7S2KwOQ3Q83fCGPJf57+PoVCJTjzdICaAaf6F0QQPQwOmgEKamG
oH8jQM4R+1Y16hVl3VjWY1+nQPus1w5gjuSH1y/OCGRAs0AelR7Bs3ohB0AP
mwyHA53TwpgDYI15bmGAlzAd/h2vSkD85Mnw8OkTxJpvQasuEYAbN/oSROD/
+d+lMHPe6rtJXWyFfGqt/bDKihJ1VmvpAMAmaNCU2T88OHj89OBJzChuintT
TqsO8uOugUXkBCLPFjLQIUPGgFzlvCyqanhONPR7IOQ1cPp83pg5gOHy4uJi
I9SQ/uzwrKnAsoJhL/I5/AKCE3gSCMSLs4u9AciuBjB+WQCABsn3eYqs6zt4
YlosBwQHAe3zg+Hh82eDZFqkJ4DLo8PDg+f7NMjTp0+eHYzw0dHBwcGTQwI/
yKzD5xthD5wHn8hbbA1kxxno/nmXloFZP+89EAB+NSofo2KElLCazvYnYO+Y
YW0nCyTUbOixfwRfR4dzjo+2GTfrDLyLMvvcLsosXYTU8tKOS5Uvm5acEt4Q
EJ883X98dPD866PH4cICBEhmZbFMTLRCZkd4jIA41cpOUBUcxMzJkRXwL2FI
Xx8xQ5IjfXY8PH6Ku3x9tWWTNyOkpemfijySHSBtXqerushbH14BIWSA0qHA
bXK7GRpbKer42ZPHT2OCUnoyXXmSnKI5CQdPEgTFbSB8ThtYbAF4Xok8roR4
Av5VIcGEVAKaE1AZLgXhdI2b+FJAvQ11HwbICztRBv95FHn8+Pj5/mwMGxnh
40hiR09CgOBoeY2q3E+AGjfoWIhQ5MxUHWBc5rMSRG/ZMKjI1AcAInct8jpF
jfl3yBdMBowW8CsFtnJZVY1tSfQbJLIiK+bw6g+IYoBabxHDcIXfpWZ9+PVG
eAGy4BOpqVrgem2Wq7JoWSfDK9QLi+Y21FUAIF+HoAChUswI8VfuN3SdJPdw
AOgqQheTKcmHlNkPtONtvPMlWLY5bf68XAOyz0uDKgNy7BemNgHcVoAmVfL1
4S8//8ezY4QZog+JFoLCsy+EAnz6Js2y2NAATedfUrRLqg3awuGzfm0BF1OP
UjMpCanwwf3nX0cM522RDwkShnhJAEn6bQj/QzfPQACBJ57YKxyXiQ7ZzxWy
2CQY/a25NQebNTc00uGJJWhavSL4oF89H6f1pABzGLeiv7f5+hl/jpz9Ckh5
WBdD/De5yIA5AIqnE9AnqoVwgkGLhpzAZP0OJcFVcbpNDJzmAJM0lFvC9Dao
Eff39yNc4NRWtyS6MpSGoMeZephWw5XCnGcDDIv0uq9+hOeAHv3ZnOpz/x1E
+BTIF527JB+KU8RpdvUlb4BcTZ5WyPvOYXrQhm95dxc327Z3Vty3rErAxRdd
lIVJTRZ++C18CAxlXixBa4kId4Pp38XVo8P9g+OIyr96B0w6M6sK2V26tMEG
A7X9AYjKQzMArv+B6vjU3oEJBnNUpJ7sO1/rcOkOYH9VVPGhusME8/fWJruw
pr3kL0k4OC71+v358ZNt2vu1yeqfOpzjPSjbnzGb3hZ3TqGOJMxFPkUKgn8A
hnOSzBUq8mLXsk3FhlJbmDrDycncOxETgWV09OzZ8AhstZ08dGu9PL15uVl5
hy97mUaPTS/0NjP1bDg3M5asKxQGoint41el5YjEVD5THYS/Hba+JidvdHyx
HLlGAiQ9hYEwZk8AEINF7b1BIsUPUJSgkiaSBj4BlnsDtjpQc7VM/itidJbO
yJMAIw3JiMXNw4FGC0LUuLx+txFg8F2vD0R1iR4GlVYFgaqSvewfHx0dHHd2
HqgDuJtpoKeKf6RWLSG11fCHYmLGTYaz7+KCj46ePX5+ggtBz9zby+vNnAhw
9o9mHvkVQSt4Y7OI54AG8b4YR84r9D9NTDkD6D8UaVpa2NcHR8f7uLjR5fvR
Maw2Ep7web9WlLy7syXKkGQXH3o/xFdxn+9fnh9+/fjgRH+Rj549Pj7RX/ij
o69BhdJfkPxPbzZLog0q6Bv6eF5ac2fbylbHL9fjw+1hhF/3AwyUIpCik1sw
tVxIBwhJIicu9DI0gaIeccH+oNMu7Hpvu7o/oHDXINk20/DwgCF4tdWk6wXV
BtBu8MVtdoSfogM4LUHA/ZNAC9bvQ0CqkpJge7WHjsCNMMQhh4B9O8PhMDHj
CtdR7+z8iEp1mk8AWBVyrgbsDOBeL17fJLvbuMB6L6lUGsDrWUOaytjTj3xL
7CS3NWrw8CiaMHfoVgL2anAz8BnJxiSFR+FBmAqfoe+AX2Pkb4oANjTQ0taG
/qiLBDYAdAnL5ZmScdEgh0vFYQWa3C0OnZZJadW8TsaqFeJ6ZllxX5H71MIz
f27S0rJYxBVUzQQBo9hKnHsM+7A22Bu8iIyfcRlnZnPdLarChYIi+CeYPqEQ
ozyRyhbpAfuBpE4GBkiJowwSmyJQYPppepdOCVhzWhksrKCvHPBV+LTWUMAa
2uPiXHBAAFJ6S4Kd9DavDX5b06Zo35ZsUFDMQQEn9je1eVFbfoGtLxgJVkTD
wzQgY2rCHhOf8QAfwpeKpgZFgp+YNTm7GyesXUwT0Fz4MRqH9gG8Ht9d4gkp
usDfiGUEixWhZZUszdTy+wJVPME0l+3D721QjFSX0dNB7OWTY1As0WE1RrBm
FuE2B1FLgF4mDRHKBB5An85kgjAE7RBMEhgewxp0hAjhzgGgEtksZa5lZ5I7
jIet+Tu0K1aWEjWyNdMEcDr4C8ZHY3UGykZGv+FMoPkAk4KVjEi5sKzswT+4
P+YRNdobJkOcR79LtLY1zo4kAGdOpwenPUYb2SEJIQyxBSE3egEYcq7PA80j
oaGa7DYGzw9z26BRxvRrKiJKPptUcWeCqgQjLz7lLHtPUcHMskWaE4hCaRNf
JPipX39ZTJsMR6xpAIDFCqylWo4WlAYCdJKTrpo49T5BFWfiyTRgHjo/89Bl
Op1mdmfnVyjTSpiM0Hln5+NJ8qs0+GQIDP7Tzs5ZhzUCmVfslsnWQrGy2VUY
YLpDnkbnjESQLCyyJNw4esGW6QdAhSabpVlGqiiobswVQUbMaUDkqQzXcZNm
NeqyFdg2eCTTdEaOkprBWxskK8YTmAuInRN16hTxk9wv1gBXJA6EUbmaQgGA
JXScAMIcIAVLBuaaTYmxe4a7wlgBZe+UTZ6TkpzzcIJQE5PjjGYGuD5l9Foi
tECDZSmgnC6WH8y0luTj2zwG7DnNCsu4E7BnRVTP6HGrVSFQ4BlgVMAmNDpl
CYAWK3qaidqgZICpZhlvH+zeAnYsUi8QTDyAjt4DGhyqWuF0TVanq8zjXFdx
uocjJ/hbOMQJHMUyXQLimiSj6DZyvWpigEEmzWrQlcx0tAWa34Aj1dKgo6pP
fuOxA99O0L+LrAdwlWUlc7EilnWTAmasJhZo5LQWQVGyTMjXCcFl2F1KHUSf
0ioQZ2uWFZ7lqCwVnoPf8hkRf6qqAsjJaQxo7pVT3CEMC8+oDtMncceWEWmL
yO0CZ5Qk73JabmmJ6uCAeyBNSGYyOPcFqCzR9mAtKbJ4ZPuhTHa6gmyPVaJo
d0R5oTIgkgCj/rYckDzB1ACUyYRvzNXtDA8EwdHGP5FOgIZpDTujpDmVjkU+
0LXBuQ+ETePjK/6S9mgzQMHcsFYAv8FfP/F+QTYKd0uBMAN9xNwVKShrSC/w
NW1sVaZ3ZgIMT4UqCfb2akkRmOJ8oJ6j2kbQ4vjAGtDvZgGYpPZ/Qox2lnLu
4NKIhnDnMgQJNi77CxGmq/yi0gDzAXmR+rkgDin5KrjwsVHtYdBnQPNkwiWS
e+IvyRy4de44xT1sxYpKiLTZj6r1eoUhMRIaZdHMgYNOynSFupEBegVLGv9t
KSZ4WIBppXg+gJ3wVwaOjeg2x7QT9nvoZlBC4TrQ8iDk3DakY6VTgDQSnS5u
GrllnZwFrRIoghhYuBDTv5SB8BJC0FLlJAfu7xcF8P81KVKBnjDoqFexSuWI
I0VG78ZnJUC5C0njsgCOgOxOzgkjhhS+dpoP8JlVURpVjj1eGA5isIJq5hgL
xGOfZCZdBnqMkj1TUT4xq6rJmHDlCVHOmPKKFYMHdjExZbnGaVDxXDOhT9IS
0B6RYmz9xihQJMuiRRGR2EBBLCifl4OP8bRMJKreVcikQX8qRCBXE5BLQt0V
G570PEoohL8S35R4FmgfgMo4Az05Qg3qBhUetitZgar9B6I/4VJnBaqvpOeU
KKWXACD/INquNAXtuClJsVEOcAJKW9LRweIgLQ4aEu40nac1IKGQP+5w4kNI
QoPoNkVsD32mToWiNFxaFACXBAPKjAvUeugvBGR3SDRd7VSZzApkS4q6HhpD
u0tDabqAs7VZogccvkSE3gOlB120gtWqEZOPcl6waujRG2kU1UtYzCkqKvey
ONYxp0C+wF6zqQo9PO0JQpsMMdQaUWUnegUtG2XXLjoQ2IjiZQGupOhznNi9
UfI2nqC0nCTtVSVAoEDXF4aJmoecphAeYz9pEkU+gzFqHRB0xDscDvg/Op8Z
jmyoAfoCA0DOChhMFsHHj+jH+/Rp1MIJmQWTjNKKHRI9ugqeLeK/KtPGsW9U
touplfNHxbMmhyqRFardC1gsssCVy1gKxufVhqeklEnrfLHNGZPsAt/bc0gd
+C5pKTZHFsiswHszCD/Y6OgRdshXrfg3ZD7YtWxh1x/hnp4hEnatviOGA2m7
63yywGgdcn91oKhFx491d+5CLHBWl9fv4KiAau4waaZ7IHhOqFvFvF8U7XvL
XGhZVDVhhGzI1DUBsFwyw3B8CzZNsh/Me1qVngErDKzA6sQaakWBuuGIelAq
tKH/BlzqQSKZC63ponRpI2nNaoyaeFUzZlVythHsEcK9B6JqygkcVIHTc+od
fJlZJ0ZKeYRPGoU2qXVs06crZghCxhEtwVI9GFgOTmkW52Myajax70MtYpTk
4gopSkKpIE7llkPrv1QXg26k4i2gPY3s1LsgfLyR9E+XUiHeiJA/e0kacHnD
Rg5um2X+5p0mFx8MOjf4hHQFHo7sSo2oblc4J0of4HppuYzFDS16b5BwMCy5
tWsChh9h0HPC5LTFAwN7ZBkElMNx0cQFlYV+9x5cW08IvBcftoPX78nBCcxI
VBi3AEgYvDgfFKAR23JSogtSBR6dIjs6p+z+CY0Ocuyigky+9NLOiWpR2Q3k
fNvi2w/8T4Pk6rtLrAMKsm8CwLxF4mJYMJ11WX20Z0zshBWhXSLOH851wH+9
4OOHlPzubLb2TIGgwWxBOXUegAg9eYHmFGCDyeaYcLBY0sJfAbzuQY/Ov3QD
7oDVpyua6YoUb6QI9q8i0JO5zMKOIz6EWgIa6GmeB6sghAe4VKoL9YdBooyx
jx8xuvbpE2FSiojBPv3Nr7ejKDTCFcqcM8sQo7UITfXixCDY2MKQzzGzaNGA
VuTsJtlDD9Xv2tF8pPi314X3KHnnNP4BMvYlzQO0ew/HZ1sTCA4QJWVV0fY3
eO5snbLcI3jBVMqKtYRjQnp7QTaUOPA2QsSD3rCDgLR1ZN0gjWWDjF1iugn4
hoI2hJHnWcrVhRcqWhDLSBbUNWvIaX5X3Fp0YJW1GJITjqoQ6GHCZkVWnkCF
YxSfl0drkKXoCgAxmadgA4mbhhYhUCOKRWPKM16yq03sv1UMkQGAMNBvSG5q
2VCKSXlTJFMP568qH79gA5QqYFAH8a+rHMRV7RHEfkQ/HkLsPBLUEwJkuAdQ
4DhhnyfmPQzJ9QLj3uL+TVpWXXszmN2vezMwcR+68S/Yxw/i4yVSPaEAVOD0
ZUVKzTO3FVc9BEZQI04vcc7Ks+gzKQ2bN6VjO8g4DRpFszT350AJGh8/4j9i
KkSLAmZS3qUTyrKjXSW7P5xeX+2dJK/tHB6SPQM1Tckz3/JaP2S+1wHKIgyq
3KyqReFkoishg10vbCbmdajLR1Ih9BztolN3viAxm1vkHiC2s/Ue82hR5DcT
yAO1GECjIex/yOdBCDUSTThYujxdib+WBm1DSz0NGmHs8Z07KbS0BuMLsyZT
jhiho+N/uQzMxFFxyZJNrEoMMiFEaRYmRZ4OsaolerS01cpMGBTszWvxIglw
j3EAEifErFmTzQMnHnIyl/Wdi2vdjUIIcR2PfOKTHF04myRCbSnkAbABtXVJ
8cZMig2cQUHxkjjaGgC7B75FYH14NcO0GWe4aNGWVUcJfPoag2DQB46EiE2T
VbEcw4QUfkVuiUaBfKsHhRF8NyGTO0uFqRMDmH5PJE/yEn3jKLF5LmH3yihU
7AVhMlksiStxN5JHf15ay2Dhg4/WLmLnLjWbTazzzsf7TgCfcHUNHAFgDmt/
YlT7aXsm3ETkS0z/qgsmckU508LVAAeZAcEfWWgTIBcKTQRgNHNYgQoBETMA
ddl9oI48QPD+Q9eO4Qtcro9gbLfNvqrilc7CrIEo1JGO7IgzWdSkUMOGSMvT
QurwERYLRJg5nEXsY9birJmaDg8VJJ8awRkN8qTblXYywN1FysksZS8AmT7w
LyUNqIuafOuf3fzIOypg38UcLTl8M0++vbm5Sr5//5oZEXsGuk7UlmUwxx3k
ku+g8KVaGMZoXR0RwLSZ2Ck7UmxVp5yG6ea4VqdL51WJCkzbIN8ovti7sSxq
v4Nz4Ctw1pwL4fw7Ool4wYcuv8H5zNGfj07OERZdsP12B4IFeStlG7jjDQE2
YIdTaWeoC4mMmnb2PJDIFLyHwUXjEUDWU5QnVDtU0AbDWnQlTDZfwj1oJZIs
SCMaODTlLiNSxV4QojAAIvlSydkM76GLOhgcFXHgvtEuAaf8CQxcGg+nbJAh
E/BfP7JIWoDwmOQFQGXCtlzONsTEUKS84zW/c8XktJtTErP7LoDFARLMpKND
YU9wjJ+lRaPNZTDxvrqpMrvMADzRt453b+C0Mc/3x2s1pvPuG5786IjDLBZd
9ntaLwUtvYff18gEwWHK05AkJvEQaOSli2NgsMw2oF/HAd7m1STrGY6odn1u
z441tnaLcH7PyInI5/CUmBfFzTgTqZuw5LB4u2ex9aILFapR1IbM9tF0fRT9
rNifauIoHpGtuME0YzHMkgzMKRPnLPFpM/6SkYFLoVdAGFWTsrhXNyx2beAQ
qTfZKf71WXcrKVtYnODdL3aJ0UuUryBQzB32dEH1FI8APeYAf6Tu4j5XanXz
K39TZxoTkLBgDNxOWVOZNqVD2RrLPcTlscACHvqAnJx7PtsCY4RLzHVC1fcl
JzVE0T4yn1LWl2XCGWmHsGGN8NBRuBACrpxc/l952HxFj3y1NdX1KwmvIJZL
jBHTnRaYYQWAWvsQggQbKaYJBygqA2ME1q9MMKen4hCn8d+j3S3fSaTT51ow
fvnj++Xn/1W1kl46mbI+C4Ay35QFot6Nzk/NoDV4whZL6QPsoGVJrIjt6olt
p2KKryawuSRhNfTYyniodEtvIcqgXZhsxuEJNRfcaATfDLABPqA0I5K2qaKi
JvtJxQUdAqyQPhgD0gT5G1TDQFS34Mg9xgwxGRGXIzJvKGHpiZfmrYwGEpVh
xtspAJVGCZKa/TBVMavvKR6Ajg0ThQjsB0YXOK9lAetxe9YYeRD0JwymzcKg
u0y7mkW51zMLI3YERT5Esn86yW0a9okTQyfYQwLhPQ01EsQNj5t6sq7BQpiX
z6tQYHhiX6RVoC59Ud7A1HIOw+a8AfGQsOHu+31x4SOTGUlCoKpfAUVK1rss
rVsuzgOFLw6NfwcGOe1L7NEsLxG2gQPFhVIxaI9gdZk1I04CIHL00VVR4STX
UdCZDo0AsAD9nkCOVpnzPLDAJ39QYAWIVN+4WvZFcGpWUaPjvRPkZUwNDZUl
1Tc4PNBYJSGQJ3kNVniA9C9lEIY+XWKmj1LqbCiwUU/LzArJd4zpxegcAhYB
ZJUBPmNq5rTtlgbWgG0s3GrZRgdaGsCktXNrr5py5VJvAx4+cKtOc5eZiNYo
CjnU8UHlJxORPGH8dLefTCiFV0Dc5DPuwRTkDrnNXNSduI58GByJ2y/snSzu
7tl8/MiNkVDgBUlevEBqleAXItngNBnnFIp+MHYBJckCL8cpDFOuuxMGKaiJ
SwJxeE7JfKSsuTOTo1zhczxGQif+8SP3m1BJ7RqfvAFQIbehwEoyXQPmA2Ap
tSZGk9TZKc7enmdgRmgGD1MK8Bw2R9jnPRCHHPATJsnIw+W0qT4ib7ljuUsd
DS3ZRwM166eWNZcgLc6rycjiyamzpDwecQfrtnA9nPHDwYUpK17oQeBUm6Fk
AAF7QJPQZQVoBpQsQQKI/cYxikdWuzSoYSI/D2hBA5doEVgVG9ZKDEFxQASD
em63syU64vsFZotKInCTC7v2fkrvS8BUVUpkLlNyUWJOG1ZhknmJm/JY7U5S
JnRZ2xj8vZOIAL6iHk9RpsB6QP6PD7DkRFVYiga4VMApIzP0A48wo8oE3JQg
6bR1lyia5pSUovUFFcX1qmaFKRyVzqppOrImZdkV8P4EY43Gjzel7PaIJbk0
4eT696/9k7JztzHZF3vfOX+AXN+ThV2CMlnLUSlvMhWP+bYYhsPqdFVn4Nu8
uCdw4NlhZCkIB3B4iThCqlOOkt+Re7UK8nMRs63AYcqpGaqMc46suAB9VEH8
HH5539/84Z1myoINnyfSXwCNBepx8OkTmR/tUCI+6njRx4/c9+nTJ0kxEhdx
FPEDGQMmbnrbKxDwLWLDew/dgrpJTnOPZuIyu+NM24KEG5NLJZGJIOL7Z2o3
1AmFImgIWyPI4KL+hPCvKIKbcPydawTisIbmVrGyiUgB1ngSKEySfGa8juOI
MDA4JM5KOT8dl65sd0T6W5/CxmOQ6heqbdOsInUtdH5u5jrim65wz5TfzW4M
VB/YTuqlYM6nb1gwYTSTErSm7sEZCENC1bGdGM08Gxs26N2UHR+NS9hCAgcI
5qHrvJ+VIOFjshSF25n3hRBWR2mIW5p6hiXsmDk5Y/dlj5Mm+dFKqFIypVEf
kEPuib3yYsXrrgM7fqjTss+WVFuQIRqV9rncaGlSEggmcGeoh2rKvebHlS5A
D1oHKb4gnOi0OBmiNPeRQ3+k9kFpxWuO7pdAxe7BTVf5KCwTB0KNgR2A5L9l
eVdEsI1gatgRPEzzITs+YOUsqVGN3wsc/6LZfNnwHUkPpHINTDSXJFiXpO5O
isUq1x+gGVuw7r4o7nVmOGY5v2ozPyLM15dBvzFp5oSzFpSorsO6B599MN7E
ENsgfRP2Kf57fRmpypVBIRNAnuP37JOYuGJwmdZU6eETNuPZER9IQt0bjTSz
cyqITAiOtbiQEzqtEcOt4KBe7rlVBkjI3JaNnJYYcx4EmB+RL06dqVR3I36L
7rICpKgF3XdlMPbjQRImp06iHodxstrAm+lcReJKuL5ybgQ5DGbwaCYI1DeP
Smg6zylD3KOD6kHxlnBHmeUotOeGlHsbxnVcMYKjJe/CDD3CnGtB0C2pvomE
E2+S98f+WRQxYDLfYniGbAHj/CwBcIIyESk/0/PpHs5IW0+FpEZAk6iJONsQ
9dl+QWeOGzBmn2yYqljNrBaLOU9X7FXhoHnDmY8CCcVgXzXYtmp1+BA6WhPl
a22HIRDCrGINjOCG1E9DOS7eGtiKJKLNouIC2u58jn73O9JokcyZ2QLkXBk+
PIt2E5eoVlyyot0CJgAgU+uezRj0yMArjAWzKSmggjszLyKdlMXggeSkbxCu
7cJnHyElyCGDYLGpQloBytp/bCw5u9T1hHI6dfS+5KfH74fJn6x9uqQftR4H
PAmljjoD2UtX9mXOAltwBnSqThWD9Z1FU0V0tEGRcOX/Wh7KwQSNQXHREyeh
s6cpElqS3YGrZh8lIw6v2JuAhL4rUiYndqCIbNUNQw0bMGCBdYYASSSe0pAV
a3Pi0y3thObmSdRihcnR+qDiFoSFuMmDKlCEJfBF+VJSkQpSegmdgyQByX6I
vWGhSUsEw4tfNdM0qszkUuoJ9b3MQ6+el3Qca4sjyupKo2pC9ECUFE6hMyzQ
OS5awD3bfX9uDBebcvJSLftVLy38yrlNqs4Cg7FZRVFCAgTLq6ZC1ThIYSpA
+GAkR6E0IHxQrOQ8BkmrwDOgIAKptk8P/osvesfxCUSwyowqYjFbG4uNUpHs
YOD7pYhS5vDWZWYgTqN9t/4JN5uTqYxL0pid05UcQgsyTdvLO9p/HC0PO6HF
MewYjrREVubE40MVEKL0+r0MfLpRW5frScUlGzHKDvWle5y2FcV+exS+e2SR
2KZ3lLzLmXvmjMKEaw5lFR6GyYR9WbqiQVQVKYKdWJCsLYoieSLGlbJzCZ0D
Gufnal3X0CLKgwmTduK1+U1Re/dEsoQUcmGNo5ZewqRUORQKXjm3ws/gCzU5
0a/BizxaEFXHyXJcTF01Y1tYRhEQn/tnpguryjyryBJV0Yop0OYmYq9/ToiO
Eufj0vA/siL0zQUY7hjII8S/AfEdUPIfBVMHhqlm9q4VHG0cEp7ti5Y5vwUF
Fpo1kSnhHZH2TiwOyoiXmkbjTZW3oFgKa8qK4labdXh9wascxI2ccgnHX1NI
ZI7OBRCJTvsKA/Msi6X04YTzfjh8fzk9gRckfYodUj4EFpxTnI5AE/TlJEi2
byffdITZTKBKnMTJZWFZPTEL5gKBRTHg85NC3WHyRvIITgKHnGNNZp0VZup8
SU2OSm4cJEX/8c4ONTzdDqA4w6wWXcfRQ+++WRsRlQhZKQDUac+P5paUGc1q
e5SEidl+zWKSu3YIuw4weyE/EGdOwGsEl7Diy4HPr5xUwwklE284Anz1mjyP
8paPO3K0MzC948woMj3b+yDY4+KbHOzIaoFGPjnvSQZo7keSRmxUnK0pR+6H
6DKldUlOlq8eDMwt0hykiL1qL7U930BZpeuBKKUdLfWucrP2w4Qn4gdiaGza
IfPV/g3uKFo/BClv6KYiNn1gDCxgRO2ZE0Mi4cVKdq0HlkqFTly86L6qJO2S
G1EZn3npn0hcID/McOjDQVdMFKzW1zRG/KYrt12I0nkxvkk4T0Z81QPniR70
+JYH7FgeJNdFBpY1Lgdbq1YYJ2otBZfPfLt23hmBILoyfDamIkPPdmgM+Ji1
BLkga+DUIFH8lXMMZCdvixrssp+kQacvAiEDc5eFGBaxBEaEM5b2BtiBA4aj
ZgJXZk3aZZgvB2f5L7Ysku9czOGKVbIrHSxqhUykD69jcwo++JdEQD07Zcpy
dF7JW0GLBk444V3+4c3rQfK763dvBz75YdygzTmivG91VxGLRZeQKW3gxdKO
ZrkfHRmvr5JJqL9ZZFlLRlXdEzrd8wy7R0Kha/2anf0dPzoHAciVLvEAfNNR
Wo4JY6kwemcy93n51fFLyUjckMPVPWjozBUs+GZwURyRdG/0y4M8sxrhiwOZ
LdedhhjY4RB3FgJIcPWcRj7Y26COOSekcBw5iMCdt6vL2pNzR9NtuQKFnYVk
sCvqVUjpuIn0S+qfcGOgRvzXYAxz7WpQdCiHEh5Ix8svEqoYix9hCpbOpA4q
T6iBlybPO3PQ7UBxGgcPg8Lco0b9GjHgwzIK04r+RGbMpW8GQJvw+Oy7hlhT
AgcpGbedKNDhnAhx7UYs+YSuL99cvb5AKSRQC4097m3Yq8y4DMfa+vztKL9z
1ysIbHFHLQT2fBGK6F7MMVDkqUxs641+VZq94I6V6fN0Dsb03GU5RRlK+hVS
KVrd+mREqS3hFwY+kIJd9yXO2uiNhVz6VmNprTZkWRou6PErrlrJBqrdKro5
p35U8TQLWxV4AmnhVdRmRcqKsfK/7Wf/56HV6atX7y9end78v4lZIX547Drn
hosI7yuX/dBBNGnLSMJg4t/w+RIhwuFaHtDu0yVA/WMQcuM0nX3/fwzZxHv0
aNkpqZWXDrCcHebAKwGiqug0emovnVGNoNjJz+TLEjBkz3qaO242uDEdAZNy
g2AOpUG7SEGnf5cgV1z8Fdl/AP9WOmOIWmdByD4exAXuAUdtNuu4lVincVL3
vjQr7gAVNUMNe4ygScTV/P5sI8wTNx/V8ptbeCWKIYGFucLUnzOOHZErJa3E
jyLE5V0GkuGEnq6GqxhqaZDpYvrouKRlsQ1WnUg5AhkrvvMLV0KR5VJq+QbZ
cbkAaxdULvZS9XTNok4Me1FDIHW1OF9DDxJ5r9YGYz6h9CQp6lafaVhrwzlS
WrclUQUEGl3YoJq+BP7Sufp2GZ+0kVNYG1WlTDlo8RSyONdKV6hHwYXK/2nL
66nf/R3QM5pIGabIb4YQ+mrqKsL3h8MkLNuXCwMUNTQ7DTuilf6kWrULQnWL
dBUaND6spuXo0vS4k1rlXMzscnLuBnwaczvJ97KK7mLbi9oHY/OawAsdXKIc
qs7VgvulxP5nz3FKF8BqVljYICEVSU8J/d8vt21DgO0LX8m+deXsufjDJtJA
2bnMN56uNj102WGknlNPWA2L/bkpymbJ4bnKJ28W7b1yM11KkpRwlaPJWSMu
H+rishHs0R6puS1uby3dVjWwzIjF6bHcFo99xAuqZ1+sOYqIWUC+xwn8QVVY
iIHfSOBHb9xJNEMIhO8Es7epfjLoi7VLyXnOExC5BIJ0QHJsXBVXxY/wIV+E
9emT/Pbs06c92f46Ok4S+C7KMSHouHKvlaFGadKscbKwk9uwz5p8jnG+ttM1
iIBI7SczF4c3EpVoC0JOUY3976GnoRXO6aATO3Gc2tJfdRHcre5kut6ljQVN
nd7ieh1e1Pipo5m0+3fiJcbjdN4UTYVMMEhgiNpJAOZYe9tp0xIX6bGm1fie
21QY9svPf5Xvf/n5P1X++eCciQtITCfiBYRSVKkGP6QJcdQHq5127Bqes7Lq
m+2rwEvbBYkb0xiJewbed4DY9+9fY2K93E/y6VOyOwsThL2+xml9VOOtE9Nr
eGEJYLpadGHGqj7nN1iQ/Ubo6kuEYHs/Yjvw5EdM+fjRjtF1dseVCnJJCrU7
eemSNKSFFDITfy1iq8SSHDOidbLOxYpO5bqRU5asiG04Vg5CwKnqVsSbzrfi
+KqqFWVe5G6XM1trcQR5bSX5eaJXIonLSpLcyclddxJ7GFkkDkJ+RZdfpLUq
4iNklPMkT9H4bE0ZFJvOndOGOKkS4/JcZqG4ioeLmaQhD3E0cNolOoQs1XFY
6difpyvuRWu6mhhmfjTRXWVUBi75h5W0mKQ7Tj0CLdIp7L0bNBYVQIpSggwK
JH10kWZ8OZNtQbeS6kCErk+FytZuhb5febxZaUHtN8C8pJWqVuiVHtyCrijD
CwgUGFKcgO8DsmHAFRlIGBSFj0Gewacjl5ccdf2lqgwuV6Ey3E5fB8fBinaX
nzY2iO0itS9B9R87PlFpagBghcniVB/Rrl+8vQ5KKRG2jpqVdHFjxFvw2xZ5
O37QIVoiuaiITb6RYGfgALJzuaBMooF0NY1zC1h3XU2FHngOdPrPxDKivWIX
F4AktWggEl3DwX6gpYQGTkI/utDkN9xDA85/KEtJHu0/kqeCH4b89mdIGMoT
3W+/CU9yqOPRSe7zX3Rr0NCLZE796KzP+bgVZya+y2uJiV/u+MOMXimC24hN
DLTWNh1WBiGttosX1Zegi4Wynv4xGK17tA+fle46BsS3PLYE4LTIwcao2Zp2
yXYKK3ET8BU3rueqtrakwBX1XMSeBSOKnZDHvAx4gLs3wqy1R3tYGO0vGYna
x4TcRtLT+xyli6KqfU6ymhLaBhamtdkdh34oC5ytU2yO5HJ2X2kRsOsmuTUZ
c2tL2zC67dz5adhRltqRzqWyvzrxAHfFcr6LnnP66mIl6Kp1etI8EV8hJtNz
A0bAqlAwww775NKADoQvPVHPV+AK8SckaGVYmZHY65bKNMoD7fJlJaGoGBZP
UmYInJWaVKdIhEN6cDhbj4ald4P0G9PdQJh5gLY79TuchRd12By75atlTldC
6duu/b6kXTlNsDMNUDJF6yXqGRJW0ArE7T/YgwaeuFtjxH/V6mhzsX6+3HkM
GLRizL8C03W1+On0f8gr+rX/+Y3bU/Lr3UffPHJ/7iX7VE0tb7qngjfxPGGm
k0dksuoc9Gn0w0/iYDDm5ZXaQPI8vtt+/vDXLy5fXd7IE34f/olgaW7wJP4a
Rtl9NHpEv+/pUNFz/Ozu6eurb09haY/+/dEeQEH/pCXwx/jf4SMdxG8hXPFj
fh5n/PwfHDqOiByxiF1UnyO6XQHInrebfNvKL0OUETV+xHt6T549fXK0T38O
ZfyuXHY///bvPT/70cf7W14Pfv7S/eQBL3bRUde886bNUwPIKjn+3XA7bAHu
G4TJlnXLa0c9r/1lOFQU2HX8Ze/zYz1ujYVfbYP5g8/2S0/xc+flTuZV90CE
Bnz20z/xiDacwZdi+cafByL8l4DO//ShyE6PFkoNMLTxjHdhiUhzKqO2DZBG
DqF86uQjiE4SFHw5fc244aWcLBTNGhZg0cmtX4L+CQ/soPG5fhntFhlBXwz1
gKqG4TsruybhPqkd9aO+PuEsoP3mSYL0RwG2qSqDpDJUCxVf/GNWK72rma44
o8z4aL1Sge8UGK+++D5TfloPw5Z+HJosakhuN/taiPWb5NeHu1vQNZKiW547
3CJg8b/f4H9/+fmvJ7/8/J9bxunHfm2xlZn8VpW4zXKUaUDNoVanRwYi34RB
nvyeW+DIYa4F86LxtrPMBtqmT7tI6wNDbgQWjfV7jkHgG2Ei45mtGuzEof2F
uZnR50+MOb40TNkEyy/g9pvZlV7sgVrZptWsODOxegFI/89bjKPUfZjm4QvC
+wkOT54fHDz9pv3xEX38kBVv0IS+SEJ09aFtu+3ZMXbl7/+YSSZyOLQTzAPP
Q6s1yCh5qZX7/nbSZFMLgeASHsqFcK1esNiCOjvkk4LaRKJLhBfjCj2RiqeY
vIRuSpEiQZCh0rt1qKMEVVmxY9aXrYbVJtygjAJQ4W3t7JcP5Jo6BclFHoi4
2N3LaY1BR14t+DYZqjZ73fhKnKulzRc5STDwyc+o7akv7RaPP21QAth6C6/r
IChOco5opvmqqd0lbALGdrWvO3hTSRArvPDSuGUOgqCDXD/C+RNUBoj5S6ac
N9JoWpKGqHGLFIFRP1IWdzODl2K5XDVtNMm92PRqExlLv21yF+8Obge1vk1L
ZD37hXrHkWhA5D8OT9hJStFqOO2T2wpQbJIx2jXIoVKvrQnyYT/x1Bdb+Yv2
nBfBe8iHD5LA0ZOo2f6rQhFN+gQM701MQSFC+TBo2IONTsc2VFCraA1GTJKu
NdwvrfXleJrYKo+ni79rWeGgWnx78Qce/5tkYT8MmTtMk9Pr88tLTCwB4FIe
pwTpvN/fwYfTInpay7ieQ5vh6uRkSvOezG19Blzr3ey1wfDNyRj+GB4eHBxu
NBb+bSv7D/7+rAho8//o7632giMx/XHZafijJxGBkYHG/c8eAKcTYBZiPU1B
qIz4qvhXtn4hhfRna0wFPM2nl9OT85ONMvMLDCsE3RcaVhsk6BcYWy3Q+R/H
qLrI6Gq/O8GdLmHP73v9Ljn/k/E/E0XDLvptAJ+g2QblYwPybcW3Nti65nZL
qUpakZ3evIiolfOV3A0f5EiEzX+Henc8Ny7qtgUWHI4yNYKap7CvtUvkWYXp
lGFmD7JrLR6buptJMYdnlmKc1edr77Vb/tKNDFMbtBqmhBVtLaetAn0yZFjE
n1JeT5NNOWFlrauMbzoI7HfKGZP+IIBgXBmhaRO5+EuoQ07H5FyiNVC2U7MK
rR8PGwZKd70oScsFhlyoaGtjLwCdlF/521id8iQF5q365xobBur1uVpVGpSJ
412gmLhF8jcMemNGRJA8RTAMrguLtuZdI2LycQ5pS3Vj7HEJj5Wm101AyKdc
N6SNx+kyG9TOVFkjL8cXQsu1QSO4k9np75gTlc7md3RLaaKUoa4G7vwQN0KP
yrD6mk4YvXI172aQDZIgL4ZTaV0UM67n1vYp2iqYGyAEJynGrlsybpRbuYTt
74MtFZJMxxnc0uKkUwHdww7aHHfI95thjFevbNwWsNridS/6MSmtfSVufKWD
Z0aYXUm96k9aPEm6j8Qd9+Mj9H2T1Wrwl30ElpiWGuIrjIgBf2uBQLt6vicO
9fka0ytO/zmhXK45TQdroVbcYTnV0tRciMUb9IWz0q3fhKl8+8xRg63jHWi8
cnH84Wjh/LrsK0kU3LpwLs2MfXLIxzMz5wpGhTYWa/puH36BkqK6EYclf1P4
ti90+OXnv14rw6DMKmrmSNZI6KcTwcC2KxcdS4t3xyU5rapFB8PkHOvzyhSL
3pOzogAyysPjoKSR07cvmMjevY/urJUuB9gUTsCHW9893GNhgHp5O4UPE0z2
K2SPC778eNcz8E5zgNCryy5IwcCQEe8xTHaPZNaGsrRjRutEgyQ7pHTl3Ib+
1tq/INAhJLXStzvUXEtSC5ZoW87xyPJ6ow/D3xOJ2aydmpTL+iGk43oG9Hla
iOFQuTjn6olM1rxSqortKkvrE+rEM3G5VazOTAQtHCvzVTVa09SXo8pejnO5
vb5HG2M/yFDut4/0sVydJPLll6tkMeMLe/I7ybWhqxlxAlKxlmYVjBtgOONj
yIySrhDZtIe/U45I3uBuq8HwZjTjwpm9uOro7xAksivuLIWNnGRFIhVamyFY
/Y2C5gukyZUezgk3bXClBD3iAxgJN1ukajo91NDHE0ab8qA7VSUhk+jun0Lu
jOJOV6qktx5yB0nKW1nIvcpaKERL2wVyA9ll90bhhlTeYCvfe+wYzFXaQal8
2FcqYMQjMK/CG5oocaoDuySBub4/e315Pvzu4o8xA3BGjS6FyMzfv9ltqRAC
S4tkZM6OpoAzn58+ZMaoa0HQy23WcxrbdBOc8f271xefmzP0WJeF71W6cdDT
m5v3l2ff33zRyJ1iMe/2QyzQG3kIiIPPLuGXn//nr8F2+8wClF3k68+cDvGz
q/Z7mZ3VGgPLtcqEy6z0Wuq/RZVzOeKxACuETJn1aJJ2yo3ZeE4zDXUVUsFk
/9wITLuVyEtkYXH3VrQiKNedxNd7uc/lHRpGl3jPqggqtJSGdPEqXxXjLs5w
+Z+mdQkH3RnlGmlLUMLn92LglET8TO7Y8Z1egjtC7qWNFdKsdhglvtRT1pEX
sklmqT47Ec0qCglyFzlpnW24/7kevKX+ekPru56HuePUYzW3ci2d1yqk8bxb
79rWoelKWekNyQm8FlQ8WClfO0Gr5K5SGKUMgRdkflLO6Na7S8g41NLLpTcg
NZeVbHiDueZAF627Zrg49qX22iY9p3PgXCVLx85taKVsFEtJ9K4XM88LujJN
o+MtXrylYVxUSTzYAlwqUeMMQ39bUORw6nMx+Kozvbg3UIIJc/Q6Ra71cnp2
5JTZkqmM6KVIJQYGL4bsC3IofEjxggbLV6/AGqSwKDSOevqVlHVw1Z1mMwdx
P1BapN1WX/c+Lk13XhFfXtZXU/bx41Vxzf9c3PC/p1QeA9hxw9d0ZXQZqslr
ayvlWFErvS7eyAVf2ScfF/WXlVXtsm3HUjBrIC/0ejAmmyKn+GWAArDnO7tm
CIXd0sg9QFdioBgBW3EG8wEpUWVEf6Z3635ZUH0xPdBQzyW+jOnDSupMgqTV
SdcHpJsjvyDdLhx5eAbSw7zIUNUhusz4Roda+yV5T08uTUpNw47fzXQhxOSP
vi4EOr6XkQMm4qmWABvpSUD1h1PSi/LgPkMQPJhH5lush0Cq/IVOrAeNG7wC
HMvGCqxs+vjxdGzH9ujw0yeVmkidmgyPJ8H4zVmGMy6bXLTFCKDgznA4pP71
O/8Xum47Gny2AAA=

-->

</rfc>
