<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ssmith-acdc-03" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="ACDC">Authentic Chained Data Containers (ACDC)</title>
    <seriesInfo name="Internet-Draft" value="draft-ssmith-acdc-03"/>
    <author initials="S." surname="Smith" fullname="S. Smith">
      <organization>ProSapien LLC</organization>
      <address>
        <email>sam@prosapien.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="28"/>
    <area>TODO</area>
    <workgroup>TODO Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 416?>

<t>An authentic chained data container (ACDC)  <xref target="ACDC_ID"/><xref target="ACDC_WP"/><xref target="VCEnh"/> is an IETF <xref target="IETF"/> internet draft focused specification being incubated at the ToIP (Trust over IP) foundation <xref target="TOIP"/><xref target="ACDC_TF"/>.  An ACDC is a variant of the W3C Verifiable Credential (VC) specification <xref target="W3C_VC"/>. The W3C VC specification depends on the W3C DID (Decentralized IDentifier) specification <xref target="W3C_DID"/>. A major use case for the ACDC specification is to provide GLEIF vLEIs (verifiable Legal Entity Identifiers) <xref target="vLEI"/><xref target="GLEIF_vLEI"/><xref target="GLEIF_KERI"/>. GLEIF is the Global Legal Entity Identifier Foundation <xref target="GLEIF"/>. ACDCs are dependent on a suite of related IETF focused standards associated with the KERI (Key Event Receipt Infrastructure) <xref target="KERI_ID"/><xref target="KERI"/> specification. These include CESR <xref target="CESR_ID"/>, SAID <xref target="SAID_ID"/>, PTEL <xref target="PTEL_ID"/>, CESR-Proof <xref target="Proof_ID"/>, IPEX <xref target="IPEX_ID"/>, did:keri <xref target="DIDK_ID"/>, and OOBI <xref target="OOBI_ID"/>. Some of the major distinguishing features of ACDCs include normative support for chaining, use of composable JSON Schema <xref target="JSch"/><xref target="JSchCp"/>, multiple serialization formats, namely, JSON <xref target="JSON"/><xref target="RFC4627"/>, CBOR <xref target="CBOR"/><xref target="RFC8949"/>, MGPK <xref target="MGPK"/>, and CESR <xref target="CESR_ID"/>, support for Ricardian contracts <xref target="RC"/>,  support for chain-link confidentiality <xref target="CLC"/>, a well defined security model derived from KERI <xref target="KERI"/><xref target="KERI_ID"/>, <em>compact</em> formats for resource constrained applications, simple <em>partial disclosure</em> mechanisms and simple <em>selective disclosure</em> mechanisms. ACDCs provision data using a synergy of provenance, protection, and performance.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/trustoverip/tswg-acdc-specification"/>.</t>
    </note>
  </front>
  <middle>
    <?line 420?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>One primary purpose of the ACDC protocol is to provide granular provenanced proof-of-authorship (authenticity) of their contained data via a tree or chain of linked ACDCs (technically a directed acyclic graph or DAG). Similar to the concept of a chain-of-custody, ACDCs provide a verifiable chain of proof-of-authorship of the contained data. With a little additional syntactic sugar, this primary facility of chained (treed) proof-of-authorship (authenticity) is extensible to a chained (treed) verifiable authentic proof-of-authority (proof-of-authorship-of-authority). A proof-of-authority may be used to provide verifiable authorizations or permissions or rights or credentials. A chained (treed) proof-of-authority enables delegation of authority and delegated authorizations. These proofs of authorship and/or authority provide provenance of an ACDC itself and by association any data that is so conveyed.</t>
      <t>The dictionary definition of <strong><em>credential</em></strong> is <em>evidence of authority, status, rights, entitlement to privileges, or the like</em>.  Appropriately structured ACDCs may be used as credentials when their semantics provide verifiable evidence of authority. Chained ACDCs may provide delegated credentials.</t>
      <t>Chains of ACDCs that merely provide proof-of-authorship (authenticity) of data may be appended to chains of ACDCs that provide proof-of-authority (delegation) to enable verifiable delegated authorized authorship of data. This is a vital facility for authentic data supply chains. Furthermore, any physical supply chain may be measured, monitored, regulated, audited, and/or archived by a data supply chain acting as a digital twin <xref target="Twin"/>. Therefore ACDCs provide the critical enabling facility for an authentic data economy and by association an authentic real (twinned) economy.</t>
      <t>ACDCs act as securely attributed (authentic) fragments of a distributed <em>property graph</em> (PG) <xref target="PGM"/><xref target="Dots"/>. Thus they may be used to construct knowledge graphs expressed as property graphs <xref target="KG"/>. ACDCs enable securely-attributed and privacy-protecting knowledge graphs.</t>
      <t>The ACDC specification (including its partial and selective disclosure mechanisms) leverages two primary cryptographic operations namely digests and digital signatures <xref target="Hash"/><xref target="DSig"/>. These operations when used in an ACDC <bcp14>MUST</bcp14> have a security level, cryptographic strength, or entropy of approximately 128 bits <xref target="Level"/>. (See the appendix for a discussion of cryptographic strength and security)</t>
      <t>An important property of high-strength cryptographic digests is that a verifiable cryptographic commitment (such as a digital signature) to the digest of some data is equivalent to a commitment to the data itself. ACDCs leverage this property to enable compact chains of ACDCs that anchor data via digests. The data <em>contained</em> in an ACDC may therefore be merely its equivalent anchoring digest. The anchored data is thereby equivalently authenticated or authorized by the chain of ACDCs.</t>
    </section>
    <section anchor="acdc-fields">
      <name>ACDC Fields</name>
      <t>An ACDC may be abstractly modeled as a nested <tt>key: value</tt> mapping. To avoid confusion with the cryptographic use of the term <em>key</em> we instead use the term <em>field</em> to refer to a mapping pair and the terms <em>field label</em> and <em>field value</em> for each member of a pair. These pairs can be represented by two tuples e.g <tt>(label, value)</tt>. We qualify this terminology when necessary by using the term <em>field map</em> to reference such a mapping. <em>Field maps</em> may be nested where a given <em>field value</em> is itself a reference to another <em>field map</em>.  We call this nested set of fields a <em>nested field map</em> or simply a <em>nested map</em> for short. A <em>field</em> may be represented by a framing code or block delimited serialization.  In a block delimited serialization, such as JSON, each <em>field map</em> is represented by an object block with block delimiters such as <tt>{}</tt> <xref target="RFC8259"/><xref target="JSON"/><xref target="RFC4627"/>. Given this equivalence, we may also use the term <em>block</em> or <em>nested block</em> as synonymous with <em>field map</em> or <em>nested field map</em>. In many programming languages, a field map is implemented as a dictionary or hash table in order to enable performant asynchronous lookup of a <em>field value</em> from its <em>field label</em>. Reproducible serialization of <em>field maps</em> requires a canonical ordering of those fields. One such canonical ordering is called insertion or field creation order. A list of <tt>(field, value)</tt> pairs provides an ordered representation of any field map. Most programming languages now support ordered dictionaries or hash tables that provide reproducible iteration over a list of ordered field <tt>(label, value)</tt> pairs where the ordering is the insertion or field creation order. This enables reproducible round trip serialization/deserialization of <em>field maps</em>.  ACDCs depend on insertion ordered field maps for canonical serialization/deserialization. ACDCs support multiple serialization types, namely JSON, CBOR, MGPK, and CESR but for the sake of simplicity, we will only use JSON herein for examples <xref target="RFC8259"/><xref target="JSON"/>. The basic set of normative field labels in ACDC field maps is defined in the following table.</t>
      <section anchor="field-label-tables">
        <name>Field Label Tables</name>
        <section anchor="top-level-fields">
          <name>Top-Level Fields</name>
          <t>These are reserved field labels at the top level of an ACDC.</t>
          <table>
            <thead>
              <tr>
                <th align="center">Label</th>
                <th align="left">Title</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">
                  <tt>v</tt></td>
                <td align="left">Version String</td>
                <td align="left">Regexable format: ACDCvvSSSShhhhhh_ that provides protocol type, version, serialization type, size, and terminator.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>d</tt></td>
                <td align="left">Digest (SAID)</td>
                <td align="left">Self-referential fully qualified cryptographic digest of enclosing map.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>u</tt></td>
                <td align="left">UUID</td>
                <td align="left">Random Universally Unique IDentifier as fully qualified high entropy pseudo-random string, a salty nonce.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>i</tt></td>
                <td align="left">Issuer Identifier (AID)</td>
                <td align="left">Autonomic IDentifier whose Control authority is established via KERI verifiable key state.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>ri</tt></td>
                <td align="left">Registry Identifier</td>
                <td align="left">Issuance and/or revocation, transfer, or retraction registry for ACDC derived from Issuer Identifier.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>s</tt></td>
                <td align="left">Schema</td>
                <td align="left">Either the SAID of a JSON Schema block or the block itself.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>a</tt></td>
                <td align="left">Attribute</td>
                <td align="left">Either the SAID of a block of attributes or the block itself.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>A</tt></td>
                <td align="left">Attribute Aggregate</td>
                <td align="left">Either the Aggregate of a selectively disclosable block of attributes or the block itself.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>e</tt></td>
                <td align="left">Edge</td>
                <td align="left">Either the SAID of a block of edges or the block itself.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>r</tt></td>
                <td align="left">Rule</td>
                <td align="left">Either the SAID a block of rules or the block itself.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>n</tt></td>
                <td align="left">Node</td>
                <td align="left">SAID of another ACDC as the terminating point of a directed edge that connects the encapsulating ACDC node to the specified ACDC node as a fragment of a distributed property graph (PG).</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>o</tt></td>
                <td align="left">Operator</td>
                <td align="left">Either unary operator on edge or m-ary operator on edge-group in edge section. Enables expressing of edge logic on edge subgraph.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>w</tt></td>
                <td align="left">Weight</td>
                <td align="left">Edge weight property that enables default property for directed weighted edges and operators on directed weighted edges.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>l</tt></td>
                <td align="left">Legal Language</td>
                <td align="left">Text of Ricardian contract clause.</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="other-fields">
          <name>Other Fields</name>
          <t>These may appear at other levels besides the top-level of an ACDC but are nonetheless reserved.</t>
          <table>
            <thead>
              <tr>
                <th align="center">Label</th>
                <th align="left">Title</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">
                  <tt>d</tt></td>
                <td align="left">Digest (SAID)</td>
                <td align="left">Self-referential fully qualified cryptographic digest of enclosing map.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>u</tt></td>
                <td align="left">UUID</td>
                <td align="left">Random Universally Unique IDentifier as fully qualified high entropy pseudo-random string, a salty nonce.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>i</tt></td>
                <td align="left">Identifier (AID)</td>
                <td align="left">Context dependent AID as determined by its enclosing map such as Issuee Identifier.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>n</tt></td>
                <td align="left">Node</td>
                <td align="left">SAID of another ACDC as the terminating point (vertex) of a directed edge that connects the encapsulating ACDC node to the specified ACDC node as a fragment of a distributed property graph (PG).</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>o</tt></td>
                <td align="left">Operator</td>
                <td align="left">Either unary operator on edge or m-ary operator on edge-group in edge section. Enables expressing of edge logic on edge subgraph.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>w</tt></td>
                <td align="left">Weight</td>
                <td align="left">Edge weight property that enables default property for directed weighted edges and operators on directed weighted edges.</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>l</tt></td>
                <td align="left">Legal Language</td>
                <td align="left">Text of Ricardian contract clause.</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="compact-labels">
        <name>Compact Labels</name>
        <t>The primary field labels are compact in that they use only one or two characters. ACDCs are meant to support resource-constrained applications such as supply chain or IoT (Internet of Things) applications. Compact labels better support resource-constrained applications in general. With compact labels, the over-the-wire verifiable signed serialization consumes a minimum amount of bandwidth. Nevertheless, without loss of generality, a one-to-one normative semantic overlay using more verbose expressive field labels may be applied to the normative compact labels after verification of the over-the-wire serialization. This approach better supports bandwidth and storage constraints on transmission while not precluding any later semantic post-processing. This is a well-known design pattern for resource-constrained applications.</t>
      </section>
      <section anchor="version-string-field">
        <name>Version String Field</name>
        <t>The version string, <tt>v</tt>, field <bcp14>MUST</bcp14> be the first field in any top-level ACDC field map. It provides a regular expression target for determining the serialization format and size (character count) of a serialized ACDC. A stream-parser may use the version string to extract and deserialize (deterministically) any serialized ACDC in a stream of serialized ACDCs. Each ACDC in a stream may use a different serialization type.</t>
        <t>The format of the version string is <tt>ACDCvvSSSShhhhhh_</tt>. The first four characters <tt>ACDC</tt> indicate the enclosing field map serialization. The next two characters, <tt>vv</tt> provide the lowercase hexadecimal notation for the major and minor version numbers of the version of the ACDC specification used for the serialization. The first <tt>v</tt> provides the major version number and the second <tt>v</tt> provides the minor version number. For example, <tt>01</tt> indicates major version 0 and minor version 1 or in dotted-decimal notation <tt>0.1</tt>. Likewise <tt>1c</tt> indicates major version 1 and minor version decimal 12 or in dotted-decimal notation <tt>1.12</tt>. The next four characters <tt>SSSS</tt> indicate the serialization type in uppercase. The four supported serialization types are <tt>JSON</tt>, <tt>CBOR</tt>, <tt>MGPK</tt>, and <tt>CESR</tt> for the JSON, CBOR, MessagePack, and CESR serialization standards respectively <xref target="JSON"/><xref target="RFC4627"/><xref target="CBOR"/><xref target="RFC8949"/><xref target="MGPK"/><xref target="CESR_ID"/>. The next six characters provide in lowercase hexadecimal notation the total number of characters in the serialization of the ACDC. The maximum length of a given ACDC is thereby constrained to be <em>2<sup>24</sup> = 16,777,216</em> characters in length. The final character <tt>-</tt> is the version string terminator. This enables later versions of ACDC to change the total version string size and thereby enable versioned changes to the composition of the fields in the version string while preserving deterministic regular expression extractability of the version string. Although a given ACDC serialization type may have a field map delimiter or framing code characters that appear before (i.e. prefix) the version string field in a serialization, the set of possible prefixes is sufficiently constrained by the allowed serialization protocols to guarantee that a regular expression can determine unambiguously the start of any ordered field map serialization that includes the version string as the first field value. Given the version string, a parser may then determine the end of the serialization so that it can extract the full ACDC from the stream without first deserializing it. This enables performant stream parsing and off-loading of ACDC streams that include any or all of the supported serialization types.</t>
      </section>
      <section anchor="said-self-addressing-identifier-fields">
        <name>SAID (Self-Addressing IDentifier) Fields</name>
        <t>Some fields in ACDCs may have for their value either a <em>field map</em> or a SAID. A SAID follows the SAID protocol <xref target="SAID_ID"/>. Essentially a SAID is a Self-Addressing IDentifier (self-referential content addressable). A SAID is a special type of cryptographic digest of its encapsulating <em>field map</em> (block). The encapsulating block of a SAID is called a SAD (Self-Addressed Data). Using a SAID as a <em>field value</em> enables a more compact but secure representation of the associated block (SAD) from which the SAID is derived. Any nested field map that includes a SAID field (i.e. is, therefore, a SAD) may be compacted into its SAID. The uncompacted blocks for each associated SAID may be attached or cached to optimize bandwidth and availability without decreasing security.</t>
        <t>Several top-level ACDC fields may have for their value either a serialized <em>field map</em> or the SAID of that <em>field map</em>. Each SAID provides a stable universal cryptographically verifiable and agile reference to its encapsulating block (serialized <em>field map</em>). Specifically, the value of top-level <tt>s</tt>, <tt>a</tt>, <tt>e</tt>, and <tt>r</tt> fields may be replaced by the SAID of their associated <em>field map</em>. When replaced by their SAID, these top-level sections are in <em>compact</em> form.</t>
        <t>Recall that a cryptographic commitment (such as a digital signature or cryptographic digest) on a given digest with sufficient cryptographic strength including collision resistance <xref target="HCR"/><xref target="QCHC"/> is equivalent to a commitment to the block from which the given digest was derived.  Specifically, a digital signature on a SAID makes a verifiable cryptographic non-repudiable commitment that is equivalent to a commitment on the full serialization of the associated block from which the SAID was derived. This enables reasoning about ACDCs in whole or in part via their SAIDS in a fully interoperable, verifiable, compact, and secure manner. This also supports the well-known bow-tie model of Ricardian Contracts <xref target="RC"/>. This includes reasoning about the whole ACDC given by its top-level SAID, <tt>d</tt>, field as well as reasoning about any nested sections using their SAIDS.</t>
      </section>
      <section anchor="uuid-universally-unique-identifier-fields">
        <name>UUID (Universally Unique IDentifier) Fields</name>
        <t>The purpose of the UUID, <tt>u</tt>, field in any block is to provide sufficient entropy to the SAID, <tt>d</tt>, field of the associated block to make computationally infeasible any brute force attacks on that block that attempt to discover the block contents from the schema and the SAID. The UUID, <tt>u</tt>, field may be considered a salty nonce <xref target="Salt"/>. Without the entropy provided the UUID, <tt>u</tt>, field, an adversary may be able to reconstruct the block contents merely from the SAID of the block and the schema of the block using a rainbow or dictionary attack on the set of field values allowed by the schema <xref target="RB"/><xref target="DRB"/>. The effective security level, entropy, or cryptographic strength of the schema-compliant field values may be much less than the cryptographic strength of the SAID digest. Another way of saying this is that the cardinality of the power set of all combinations of allowed field values may be much less than the cryptographic strength of the SAID. Thus an adversary could successfully discover via brute force the exact block by creating digests of all the elements of the power set which may be small enough to be computationally feasible instead of inverting the SAID itself. Sufficient entropy in the <tt>u</tt> field ensures that the cardinality of the power set allowed by the schema is at least as great as the entropy of the SAID digest algorithm itself.</t>
        <t>A UUID, <tt>u</tt> field may optionally appear in any block (field map) at any level of an ACDC. Whenever a block in an ACDC includes a UUID, <tt>u</tt>, field then its associated SAID, <tt>d</tt>, field makes a blinded commitment to the contents of that block. The UUID, <tt>u</tt>, field is the blinding factor. This makes that block securely partially disclosable or even selectively disclosable notwithstanding disclosure of the associated schema of the block. The block contents can only be discovered given disclosure of the included UUID field. Likewise when a UUID, <tt>u</tt>, field appears at the top level of an ACDC then that top-level SAID, <tt>d</tt>, field makes a blinded commitment to the contents of the whole ACDC itself. Thus the whole ACDC, not merely some block within the ACDC, may be disclosed in a privacy-preserving (correlation minimizing) manner.</t>
      </section>
      <section anchor="aid-autonomic-identifier-and-derived-identifier-fields">
        <name>AID (Autonomic IDentifier) and Derived IDentifier Fields</name>
        <t>Some fields, such as the <tt>i</tt>, Issuer identifier field  <bcp14>MUST</bcp14> each have an AID (Autonomic IDentifier) as its value. An AID is a fully qualified Self-Certifying IDentifier (SCID) that follows the KERI protocol <xref target="KERI"/><xref target="KERI_ID"/>. A related type of identifier field is the <tt>ri</tt>, registry identifier field. The <tt>ri</tt> field is cryptographically derived from the Issuer identifier field value so has securely attributable control authority via the AID from which it is derived.  A SCID is derived from one or more <tt>(public, private)</tt> key pairs using asymmetric or public-key cryptography to create verifiable digital signatures <xref target="DSig"/>. Each AID has a set of one or more controllers who each control a private key. By virtue of their private key(s), the set of controllers may make statements on behalf of the associated AID that is backed by uniquely verifiable commitments via digital signatures on those statements. Any entity may then verify those signatures using the associated set of public keys. No shared or trusted relationship between the controllers and verifiers is required. The verifiable key state for AIDs is established with the KERI protocol <xref target="KERI"/><xref target="KERI_ID"/>. The use of AIDS enables ACDCs to be used in a portable but securely attributable, fully decentralized manner in an ecosystem that spans trust domains.</t>
        <section anchor="namespaced-aids">
          <name>Namespaced AIDs</name>
          <t>Because KERI is agnostic about the namespace for any particular AID, different namespace standards may be used to express KERI AIDs or identifiers derived from AIDs as the value of thes AID related fields in an ACDC. The examples below use the W3C DID namespace specification with the <tt>did:keri</tt> method <xref target="DIDK_ID"/>. But the examples would have the same validity from a KERI perspective if some other supported namespace was used or no namespace was used at all. The latter case consists of a bare KERI AID (identifier prefix) expressed in CESR format <xref target="CESR_ID"/>.</t>
        </section>
      </section>
      <section anchor="selectively-disclosable-attribute-aggregate-field">
        <name>Selectively Disclosable Attribute Aggregate Field</name>
        <t>The top-level selectively-disclosable attribute aggregate section, <tt>A</tt>, field value is an aggregate of cryptographic commitments used to make a commitment to a set (bundle) of selectively-disclosable attributes. The value of the attribute aggregate, <tt>A</tt>, field depends on the type of selective disclosure mechanism employed. For example, the aggregate value could be the cryptographic digest of the concatenation of an ordered set of cryptographic digests, a Merkle tree root digest of an ordered set of cryptographic digests, or a cryptographic accumulator.</t>
      </section>
      <section anchor="graduated-disclosure-and-contractually-protected-disclosure">
        <name>Graduated Disclosure and Contractually Protected Disclosure</name>
        <t>ACDC leverages several closely related mechanisms for what can be called <strong><em>graduated disclosure</em></strong>. <em>Graduated disclosure</em> enables adherence to the principle of least disclosure which is expressed as follows:</t>
        <ul empty="true">
          <li>
            <t>The system should disclose only the minimum amount of information about a given party needed to facilitate a transaction and no more. <xref target="IDSys"/></t>
          </li>
        </ul>
        <t>To clarify, <em>graduated disclosure</em> enables a potential Discloser to follow the principle of <em>least disclosure</em> by providing the least amount of information i.e. partial, incomplete, or uncorrelatable information needed to further a transaction.</t>
        <t>The important insight is that one type of transaction enabled by least disclosure is a transaction that specifically enables further disclosure. In other words, disclose enough to enable more disclosure which in turn may enable even more disclosure. This is the essence of <em>graduated disclosure</em>. This progression of successive least graduated disclosures to enable a transaction that itself enables a farther least graduated disclosure forms a recursive loop of least disclosure enabled transactions. In other words, the principle of least disclosure may be applied recursively.</t>
        <t>A type of transaction that leverages <em>graduated disclosure</em> to enable further disclosure we call a <strong><em>contractually protected disclosure</em></strong> transaction. In a contractually protected disclosure, the potential Discloser first makes an offer using the least (partial) disclosure of some information about other information to be disclosed (full disclosure) contingent on the potential Disclosee first agreeing to the contractual terms provided in the offer. The contractual terms could, for example, limit the disclosure to third parties of the yet to be disclosed information. But those contractual terms may also include provisions that protect against liability or other concerns not merely disclosure to third parties.</t>
        <t>One special case of a <em>contractually protected disclosure</em> is a <strong><em>chain-link confidential disclosure</em></strong> <xref target="CLC"/>.</t>
        <t>Another special case of <em>contractually protected disclosure</em> is a <strong><em>contingent-disclosure</em></strong>. In a <em>contingent disclosure</em> some contingency is specified in the rule section that places an obligation by some party to make a disclosure when the contingency is satisfied. This might be recourse given the breach of some other term of the contract. When that contingency is met then the contingent disclosure <bcp14>MUST</bcp14> be made by the party whose responsibility it is to satisfy that disclosure obligation. The responsible party may be the Discloser of the ACDC or it may be some other party such as an escrow agent. The contingent disclosure clause may reference a cryptographic commitment to a private ACDC or private attribute ACDC (partial disclosure) that satisfies via its full disclosure the contingent disclosure requirement. Contingent disclosure may be used to limit the actual disclosure of personally identifying information (PII) to a just-in-time, need-to-know basis (i.e upon the contingency) and not a priori. As long as the Discloser and Disclosee trust the escrow agent and the verifiability of the committment, there is no need to disclose PII about the discloser in order to enable a transaction, but merely an agreement to the terms of the contingency. This enables something called <strong><em>latent accountability</em></strong>. Recourse via PII is latent in the contingent disclosure but is not ever realized (actualized) until recourse is truly needed. The minimizes inadvertent leakage while protecting the Disclosee.</t>
        <section anchor="types-of-graduated-disclosure">
          <name>Types of Graduated Disclosure</name>
          <t>ACDCs employ three specific closely related types of <em>graduated disclosure</em>. These are <strong><em>compact disclosure</em></strong>, <strong><em>partial disclosure</em></strong>, and <strong><em>selective disclosure</em></strong>. The mechanism for <em>compact disclosure</em> is a cryptographic digest of the content expressed in the form of a SAID of that content. Both partial and selective disclosure rely on the compact disclosure of content that is also cryptographically blinded or hidden. Content in terms of an ACDC means a block (field map or field map array).</t>
          <t>The difference between <strong><em>partial disclosure</em></strong> and <strong><em>selective disclosure</em></strong> of a given block is determined by the correlatability of the disclosed field(s) after <strong><em>full disclosure</em></strong> of the detailed field value with respect to its enclosing block (field map or field map array). A <em>partially disclosable</em> field becomes correlatable after <em>full disclosure</em>. Whereas a <em>selectively disclosable</em> field may be excluded from the <em>full disclosure</em> of any other <em>selectively disclosable</em> fields in the <em>selectively disclosable</em> block (usually a field map array). After such <em>selective disclosure</em>, the selectively disclosed fields are not correlatable to the so-far undisclosed but selectively disclosable fields in that block (field map array).</t>
          <t>When used in the context of <em>selective disclosure</em>, <em>full disclosure</em> means detailed disclosure of the selectively disclosed attributes not detailed disclosure of all selectively disclosable attributes. Whereas when used in the context of <em>partial disclosure</em>, <em>full disclosure</em> means detailed disclosure of the field map that was so far only partially disclosed.</t>
          <t><em>Partial disclosure</em> is an essential mechanism needed to support both performant exchange of information and contractually protected disclosure such as chain-link confidentiality on exchanged information <xref target="CLC"/>. The exchange of only the SAID of a given field map is a type of <em>partial disclosure</em>. Another type of <em>partial disclosure</em> is the disclosure of validatable metadata about a detailed field map e.g. the schema of a field map.</t>
          <t>The SAID of a field map provides a <em>compact</em> cryptographically equivalent commitment to the yet to be undisclosed field map details.  A later exchange of the uncompacted field map detail provides <em>full disclosure</em>. Any later <em>full disclosure</em> is verifiable to an earlier <em>partial disclosure</em>. Partial disclosure via compact SAIDs enables the scalable repeated verifiable exchange of SAID references to cached full disclosures. Multiple SAID references to cached fully disclosed field maps may be transmitted compactly without redundant retransmission of the full details each time a new reference is transmitted. Likewise, <em>partial disclosure</em> via SAIDs also supports the bow-tie model of Ricardian contracts <xref target="RC"/>. Similarly, the schema of a field map is metadata about the structure of the field map this is validatable given the full disclosure of the field map. The details of<em>compact</em> and/or confidential exchange mechanisms that leverage partial disclosure are explained later. When the field map includes sufficient cryptographic entropy such as through a UUID field (salty nonce), then the SAID of that field map effectively blinds the contents of the field map. This enables the field map contents identified by its SAID and characterized by its schema (i.e. partial disclosure) to remain private until later full disclosure.</t>
          <t><em>Selective disclosure</em>, on the other hand, is an essential mechanism needed to unbundle in a correlation minimizing way a single commitment by an Issuer to a bundle of fields (i.e. a nested array or list or tuple of fields) as a whole. This allows separating a "stew" (bundle) of "ingredients" (attributes) into its constituent "ingredients" (attributes) without correlating the constituents via the Issuer's commitment to the "stew" (bundle) as a whole.</t>
        </section>
      </section>
    </section>
    <section anchor="schema-section">
      <name>Schema Section</name>
      <section anchor="type-is-schema">
        <name>Type-is-Schema</name>
        <t>Notable is the fact that there are no top-level type fields in an ACDC. This is because the schema, <tt>s</tt>, field itself is the type field for the ACDC and its parts. ACDCs follow the design principle of separation of concerns between a data container's actual payload information and the type information of that container's payload. In this sense, type information is metadata, not data. The schema dialect used by ACDCs is JSON Schema 2020-12 <xref target="JSch"/><xref target="JSch_202012"/>. JSON Schema supports composable schema (sub-schema), conditional schema (sub-schema), and regular expressions in the schema. Composability enables a validator to ask and answer complex questions about the type of even optional payload elements while maintaining isolation between payload information and type (structure) information about the payload <xref target="JSchCp"/><xref target="JSchRE"/><xref target="JSchId"/><xref target="JSchCx"/>. A static but composed schema allows a verifiably immutable set of variants. Although the set is immutable, the variants enable graduated but secure disclosure. ACDC's use of JSON Schema <bcp14>MUST</bcp14> be in accordance with the ACDC defined profile as defined herein. The exceptions are defined below.</t>
      </section>
      <section anchor="schema-id-field-label">
        <name>Schema ID Field Label</name>
        <t>The usual field label for SAID fields in ACDCs is <tt>d</tt>. In the case of the schema section, however, the field label for the SAID of the schema section is <tt>$id</tt>. This repurposes the schema id field label, <tt>$id</tt> as defined by JSON Schema <xref target="JSchId"/><xref target="JSchCx"/>.  The top-level id, <tt>$id</tt>, field value in a JSON Schema provides a unique identifier of the schema instance. In a usual (non-ACDC) schema the value of the id, <tt>$id</tt>, field is expressed as a URI. This is called the <em>Base URI</em> of the schema. In an ACDC schema, however, the top-level id, <tt>$id</tt>, field value is repurposed. Its value <bcp14>MUST</bcp14> include the SAID of the schema. This ensures that the ACDC schema is static and verifiable to their SAIDS. A verifiably static schema satisfies one of the essential security properties of ACDCs as discussed below. There are several ACDC supported formats for the value of the top-level id, <tt>$id</tt>, field but all of the formats <bcp14>MUST</bcp14> include the SAID of the schema (see below). Correspondingly, the value of the top-level schema, <tt>s</tt>, field <bcp14>MUST</bcp14> be the SAID included in the schema's top-level <tt>$id</tt> field. The detailed schema is either attached or cached and maybe discovered via its SAIDified, id, <tt>$id</tt>, field value.</t>
        <t>When an id, '$id', field appears in a sub-schema it indicates a bundled sub-schema called a schema resource <xref target="JSchId"/><xref target="JSchCx"/>. The value of the id, '$id', field in any ACDC bundled sub-schema resource <bcp14>MUST</bcp14> include the SAID of that sub-schema using one of the formats described below. The sub-schema so bundled <bcp14>MUST</bcp14> be verifiable against its referenced and embedded SAID value. This ensures secure bundling.</t>
      </section>
      <section anchor="static-immutable-schema">
        <name>Static (Immutable) Schema</name>
        <t>For security reasons, the full schema of an ACDC must be completely self-contained and statically fixed (immutable) for that ACDC. By this, we mean that no dynamic schema references or dynamic schema generation mechanisms are allowed.</t>
        <t>Should an adversary successfully attack the source that provides the dynamic schema resource and change the result provided by that reference, then the schema validation on any ACDC that uses that dynamic schema reference may fail. Such an attack effectively revokes all the ACDCs that use that dynamic schema reference. We call this a <strong><em>schema revocation</em></strong> attack.</t>
        <t>More insidiously, an attacker could shift the semantics of the dynamic schema in such a way that although the ACDC still passes its schema validation, the behavior of the downstream processing of that ACDC is changed by the semantic shift. This we call a <strong><em>semantic malleability</em></strong> attack. It may be considered a new type of <em>transaction malleability</em> attack <xref target="TMal"/>.</t>
        <t>To prevent both forms of attack, all schema must be static, i.e. schema <bcp14>MUST</bcp14> be SADs and therefore verifiable against their SAIDs.</t>
        <t>To elaborate, the serialization of a static schema may be self-contained. A compact commitment to the detailed static schema may be provided by its SAID. In other words, the SAID of a static schema is a verifiable cryptographic identifier for its SAD. Therefore all ACDC compliant schema must be SADs. In other words, they <bcp14>MUST</bcp14> therefore be <em>SAIDified</em>. The associated detailed static schema (uncompacted SAD) is cryptographically bound and verifiable to its SAID.</t>
        <t>The JSON Schema specification allows complex schema references that may include non-local URI references <xref target="JSchId"/><xref target="JSchCx"/><xref target="RFC3986"/><xref target="RFC8820"/>. These references may use the <tt>$id</tt> or <tt>$ref</tt> keywords. A relative URI reference provided by a <tt>$ref</tt> keyword is resolved against the <em>Base URI</em> provided by the top-level <tt>$id</tt> field. When this top-level <em>Base URI</em> is non-local then all relative <tt>$ref</tt> references are therefore also non-local. A non-local URI reference provided by a <tt>$ref</tt> keyword may be resolved without reference to the <em>Base URI</em>.</t>
        <t>In general, schema indicated by non-local URI references (<tt>$id</tt> or <tt>$ref</tt>) <bcp14>MUST NOT</bcp14> be used because they are not cryptographically end-verifiable. The value of the underlying schema resource so referenced may change (mutate). To restate, a non-local URI schema resource is not end-verifiable to its URI reference because there is no cryptographic binding between URI and resource <xref target="RFC3986"/><xref target="RFC8820"/>.</t>
        <t>This does not preclude the use of remotely cached SAIDified schema resources because those resources are end-verifiable to their embedded SAID references. Said another way, a SAIDified schema resource is itself a SAD (Self-Address Data) referenced by its SAID. A URI that includes a SAID may be used to securely reference a remote or distributed SAIDified schema resource because that resource is fixed (immutable, nonmalleable) and verifiable to both the SAID in the reference and the embedded SAID in the resource so referenced. To elaborate, a non-local URI reference that includes an embedded cryptographic commitment such as a SAID is verifiable to the underlying resource when that resource is a SAD. This applies to JSON Schema as a whole as well as bundled sub-schema resources.</t>
        <t>There ACDC supported formats for the value of the top-level id, <tt>$id</tt>, field are as follows:</t>
        <ul spacing="normal">
          <li>Bare SAIDs may be used to refer to a SAIDified schema as long as the JSON schema validator supports bare SAID references. By default, many if not all JSON schema validators support bare strings (non-URIs) for the <em>Base URI</em> provided by the top-level <tt>$id</tt> field value.</li>
          <li>The <tt>sad:</tt> URI scheme may be used to directly indicate a URI resource that safely returns a verifiable SAD. For example <tt>sad:SAID</tt> where <em>SAID</em> is replaced with the actual SAID of a SAD that provides a verifiable non-local reference to JSON Schema as indicated by the mime-type of <tt>schema+json</tt>.</li>
          <li>The IETF KERI OOBI internet draft specification provides a URL syntax that references a SAD resource by its SAID at the service endpoint indicated by that URL <xref target="OOBI_ID"/>. Such remote OOBI URLs are also safe because the provided SAD resource is verifiable against the SAID in the OOBI URL. Therefore OOBI URLs are also acceptable non-local URI references for JSON Schema <xref target="OOBI_ID"/><xref target="RFC3986"/><xref target="RFC8820"/>.</li>
          <li>The <tt>did:</tt> URI scheme may be used safely to prefix non-local URI references that act to namespace SAIDs expressed as DID URIs or DID URLs.  DID resolvers resolve DID URLs for a given DID method such as <tt>did:keri</tt> <xref target="DIDK_ID"/> and may return DID docs or DID doc metadata with SAIDified schema or service endpoints that return SAIDified schema or OOBIs that return SAIDified schema <xref target="RFC3986"/><xref target="RFC8820"/><xref target="OOBI_ID"/>. A verifiable non-local reference in the form of DID URL that includes the schema SAID is resolved safely when it dereferences to the SAD of that SAID. For example, the resolution result returns an ACDC JSON Schema whose id, <tt>$id</tt>, field includes the SAID and returns a resource with JSON Schema mime-type of <tt>schema+json</tt>.</li>
        </ul>
        <t>To clarify, ACDCs <bcp14>MUST NOT</bcp14> use complex JSON Schema references which allow *dynamically generated *schema resources to be obtained from online JSON Schema Libraries <xref target="JSchId"/><xref target="JSchCx"/>. The latter approach may be difficult or impossible to secure because a cryptographic commitment to the base schema that includes complex schema (non-relative URI-based) references only commits to the non-relative URI reference and not to the actual schema resource which may change (is dynamic, mutable, malleable). To restate, this approach is insecure because a cryptographic commitment to a complex (non-relative URI-based) reference is NOT equivalent to a commitment to the detailed associated schema resource so referenced if it may change.</t>
        <t>ACDCs <bcp14>MUST</bcp14> use static JSON Schema (i.e. <em>SAIDifiable</em> schema). These may include internal relative references to other parts of a fully self-contained static (<em>SAIDified</em>) schema or references to static (<em>SAIDified</em>) external schema parts. As indicated above, these references may be bare SAIDs, DID URIs or URLs (<tt>did:</tt> scheme), SAD URIs (<tt>sad:</tt> scheme), or OOBI URLs <xref target="OOBI_ID"/>. Recall that a commitment to a SAID with sufficient collision resistance makes an equivalent secure commitment to its encapsulating block SAD. Thus static schema may be either fully self-contained or distributed in parts but the value of any reference to a part must be verifiably static (immutable, nonmalleable) by virtue of either being relative to the self-contained whole or being referenced by its SAID. The static schema in whole or in parts may be attached to the ACDC itself or provided via a highly available cache or data store. To restate, this approach is securely end-verifiable (zero-trust) because a cryptographic commitment to the SAID of a SAIDified schema is equivalent to a commitment to the detailed associated schema itself (SAD).</t>
      </section>
      <section anchor="schema-dialect">
        <name>Schema Dialect</name>
        <t>The schema dialect for ACDC 1.0 is JSON Schema 2020-12 and is indicated by the identifier <tt>"https://json-schema.org/draft/2020-12/schema"</tt>  <xref target="JSch"/><xref target="JSch_202012"/>. This is indicated in a JSON Schema via the value of the top-level <tt>$schema</tt> field. Although the value of <tt>$schema</tt> is expressed as a URI, de-referencing does not provide dynamically downloadable schema dialect validation code. This would be an attack vector. The validator <bcp14>MUST</bcp14> control the tooling code dialect used for schema validation and hence the tooling dialect version actually used. A mismatch between the supported tooling code dialect version and the <tt>$schema</tt> string value should cause the validation to fail. The string is simply an identifier that communicates the intended dialect to be processed by the schema validation tool. When provided, the top-level <tt>$schema</tt> field value for ACDC version 1.0 must be "https://json-schema.org/draft/2020-12/schema".</t>
      </section>
      <section anchor="schema-availablity">
        <name>Schema Availablity</name>
        <t>The composed detailed (uncompacted) (bundled) static schema for an ACDC may be cached or attached. But cached, and/or attached static schema is not to be confused with dynamic schema. Nonetheless, while securely verifiable, a remotely cached, <em>SAIDified</em>, schema resource may be unavailable. Availability is a separate concern. Unavailable does not mean insecure or unverifiable. ACDCs <bcp14>MUST</bcp14> be verifiable when available.  Availability is typically solvable through redundancy. Although a given ACDC application domain or eco-system governance framework may impose schema availability constraints, the ACDC specification itself does not impose any specific availability requirements on Issuers other than schema caches <bcp14>SHOULD</bcp14> be sufficiently available for the intended application of their associated ACDCs. It's up to the Issuer of an ACDC to satisfy any availability constraints on its schema that may be imposed by the application domain or eco-system.</t>
      </section>
      <section anchor="composable-json-schema">
        <name>Composable JSON Schema</name>
        <t>A composable JSON Schema enables the use of any combination of compacted/uncompacted attribute, edge, and rule sections in a provided ACDC. When compact, any one of these sections may be represented merely by its SAID <xref target="JSch"/><xref target="JSchCp"/>. When used for the top-level attribute, <tt>a</tt>, edge, <tt>e</tt>, or rule, <tt>r</tt>, section field values, the <tt>oneOf</tt> sub-schema composition operator provides both compact and uncompacted variants. The provided ACDC <bcp14>MUST</bcp14> validate against an allowed combination of the composed variants, either the compact SAID of a block or the full detailed (uncompacted) block for each section. The validator determines what decomposed variants the provided ACDC <bcp14>MUST</bcp14> also validate against. Decomposed variants may be dependent on the type of graduated disclosure, partial, full, or selective. Essentially a composable schema is a verifiable bundle of metadata (composed) about content that then can be verifiably unbundled (decomposed) later. The Issuer makes a single verifiable commitment to the bundle (composed schema) and a recipient may then safely unbundle (decompose) the schema to validate any of the graduated disclosures variants allowed by the composition.</t>
        <t>Unlike the other compactifiable sections, it is impossible to define recursively the exact detailed schema as a variant of a <tt>oneOf</tt> composition operator contained in itself. Nonetheless, the provided schema, whether self-contained, attached, or cached <bcp14>MUST</bcp14> validate as a SAD against its provided SAID. It <bcp14>MUST</bcp14> also validate against one of its specified <tt>oneOf</tt> variants.</t>
        <t>The compliance of the provided non-schema attribute, <tt>a</tt>, edge, <tt>e</tt>, and rule, <tt>r</tt>,  sections <bcp14>MUST</bcp14> be enforced by validating against the composed schema. In contrast, the compliance of the provided composed schema for an expected ACDC type  <bcp14>MUST</bcp14> be enforced by the validator. This is because it is not possible to enforce strict compliance of the schema by validating it against itself.</t>
        <t>ACDC specific schema compliance requirements are usually specified in the eco-system governance framework for a given ACDC type.  Because the SAID of a schema is a unique content-addressable identifier of the schema itself, compliance can be enforced by comparison to the allowed schema SAID in a well-known publication or registry of ACDC types for a given ecosystem governance framework (EGF). The EGF may be solely specified by the Issuer for the ACDCs it generates or be specified by some mutually agreed upon eco-system governance mechanism. Typically the business logic for making a decision about a presentation of an ACDC starts by specifying the SAID of the composed schema for the ACDC type that the business logic is expecting from the presentation. The verified SAID of the actually presented schema is then compared against the expected SAID. If they match then the actually presented ACDC may be validated against any desired decomposition of the expected (composed) schema.</t>
        <t>To elaborate, a validator can confirm compliance of any non-schema section of the ACDC against its schema both before and after uncompacted disclosure of that section by using a composed base schema with <tt>oneOf</tt> pre-disclosure and a decomposed schema post-disclosure with the compact <tt>oneOf</tt> option removed. This capability provides a mechanism for secure schema validation of both compact and uncompacted variants that require the Issuer to only commit to the composed schema and not to all the different schema variants for each combination of a given compact/uncompacted section in an ACDC.</t>
        <t>One of the most important features of ACDCs is support for Chain-Link Confidentiality <xref target="CLC"/>. This provides a powerful mechanism for protecting against un-permissioned exploitation of the data disclosed via an ACDC. Essentially an exchange of information compatible with chain-link confidentiality starts with an offer by the discloser to disclose confidential information to a potential disclosee. This offer includes sufficient metadata about the information to be disclosed such that the disclosee can agree to those terms. Specifically, the metadata includes both the schema of the information to be disclosed and the terms of use of that data once disclosed. Once the disclosee has accepted the terms then full disclosure is made. A full disclosure that happens after contractual acceptance of the terms of use we call <em>permissioned</em> disclosure. The pre-acceptance disclosure of metadata is a form of partial disclosure.</t>
        <t>As is the case for compact (uncompacted) ACDC disclosure, Composable JSON Schema, enables the use of the same base schema for both the validation of the partial disclosure of the offer metadata prior to contract acceptance and validation of full or detailed disclosure after contract acceptance <xref target="JSch"/><xref target="JSchCp"/>. A cryptographic commitment to the base schema securely specifies the allowable semantics for both partial and full disclosure. Decomposition of the base schema enables a validator to impose more specific semantics at later stages of the exchange process. Specifically, the <tt>oneOf</tt> sub-schema composition operator validates against either the compact SAID of a block or the full block. Decomposing the schema to remove the optional compact variant enables a validator to ensure complaint full disclosure. To clarify, a validator can confirm schema compliance both before and after detailed disclosure by using a composed base schema pre-disclosure and a decomposed schema post-disclosure with the undisclosed options removed. These features provide a mechanism for secure schema-validated contractually-bound partial (and/or selective) disclosure of confidential data via ACDCs.</t>
      </section>
    </section>
    <section anchor="acdc-variants">
      <name>ACDC Variants</name>
      <t>There are several variants of ACDCs determined by the presence/absence of certain fields and/or the value of those fields.
At the top level, the presence (absence), of the UUID, <tt>u</tt>, field produces two variants. These are private (public) respectively. In addition, a present but empty UUID, <tt>u</tt>, field produces a private metadata variant.</t>
      <section anchor="public-acdc">
        <name>Public ACDC</name>
        <t>Given that there is no top-level UUID, <tt>u</tt>, field in an ACDC, then knowledge of both the schema of the ACDC and the top-level SAID, <tt>d</tt>, field  may enable the discovery of the remaining contents of the ACDC via a rainbow table attack <xref target="RB"/><xref target="DRB"/>. Therefore, although the top-level, <tt>d</tt>, field is a cryptographic digest, it may not securely blind the contents of the ACDC when knowledge of the schema is available.  The field values may be discoverable. Consequently, any cryptographic commitment to the top-level SAID, <tt>d</tt>, field may provide a fixed point of correlation potentially to the ACDC field values themselves in spite of non-disclosure of those field values. Thus an ACDC without a top-level UUID, <tt>u</tt>, field must be considered a <strong><em>public</em></strong> (non-confidential) ACDC.</t>
      </section>
      <section anchor="private-acdc">
        <name>Private ACDC</name>
        <t>Given a top-level UUID, <tt>u</tt>, field, whose value has sufficient cryptographic entropy, then the top-level SAID, <tt>d</tt>, field of an ACDC  may provide a secure cryptographic digest that blinds the contents of the ACDC <xref target="Hash"/>. An adversary when given both the schema of the ACDC and the top-level SAID, <tt>d</tt>, field, is not able to discover the remaining contents of the ACDC in a computationally feasible manner such as through a rainbow table attack <xref target="RB"/><xref target="DRB"/>. Therefore the top-level, UUID, <tt>u</tt>, field may be used to securely blind the contents of the ACDC notwithstanding knowledge of the schema and top-level, SAID, <tt>d</tt>, field.  Moreover, a cryptographic commitment to that that top-level SAID, <tt>d</tt>, field does not provide a fixed point of correlation to the other ACDC field values themselves unless and until there has been a disclosure of those field values. Thus an ACDC with a sufficiently high entropy top-level UUID, <tt>u</tt>, field may be considered a <strong><em>private</em></strong> (confidential) ACDC. enables a verifiable commitment to the top-level SAID of a private ACDC to be made prior to the disclosure of the details of the ACDC itself without leaking those contents. This is called <em>partial</em> disclosure. Furthermore, the inclusion of a UUID, <tt>u</tt>, field in a block also enables <em>selective</em> disclosure mechanisms described later in the section on selective disclosure.</t>
      </section>
      <section anchor="metadata-acdc">
        <name>Metadata ACDC</name>
        <t>An empty, top-level UUID, <tt>u</tt>, field appearing in an ACDC indicates that the ACDC is a <strong><em>metadata</em></strong> ACDC. The purpose of a <em>metadata</em> ACDC is to provide a mechanism for a <em>Discloser</em> to make cryptographic commitments to the metadata of a yet to be disclosed private ACDC without providing any point of correlation to the actual top-level SAID, <tt>d</tt>, field of that yet to be disclosed ACDC. The top-level SAID, <tt>d</tt>, field, of the metadata ACDC, is cryptographically derived from an ACDC with an empty top-level UUID, <tt>u</tt>, field so its value will necessarily be different from that of an ACDC with a high entropy top-level UUID, <tt>u</tt>, field value. Nonetheless, the <em>Discloser</em> may make a non-repudiable cryptographic commitment to the metadata SAID in order to initiate a chain-link confidentiality exchange without leaking correlation to the actual ACDC to be disclosed <xref target="CLC"/>. A <em>Disclosee</em> (verifier) may validate the other metadata information in the metadata ACDC before agreeing to any restrictions imposed by the future disclosure. The metadata includes the <em>Issuer</em>, the <em>schema</em>, the provenancing <em>edges</em>, and the <em>rules</em> (terms-of-use). The top-level attribute section, <tt>a</tt>, field value of a <em>metadata</em> ACDC may be empty so that its value is not correlatable across disclosures (presentations). Should the potential <em>Disclosee</em> refuse to agree to the rules then the <em>Discloser</em> has not leaked the SAID of the actual ACDC or the SAID of the attribute block that would have been disclosed.</t>
        <t>Given the <em>metadata</em> ACDC, the potential <em>Disclosee</em> is able to verify the <em>Issuer</em>, the schema, the provenanced edges, and rules prior to agreeing to the rules.  Similarly, an <em>Issuer</em> may use a <em>metadata</em> ACDC to get agreement to a contractual waiver expressed in the rule section with a potential <em>Issuee</em> prior to issuance. Should the <em>Issuee</em> refuse to accept the terms of the waiver then the <em>Issuer</em> has not leaked the SAID of the actual ACDC that would have been issued nor the SAID of its attributes block nor the attribute values themselves.</t>
        <t>When a <em>metadata</em> ACDC is disclosed (presented) only the <em>Discloser's</em> signature(s) is attached not the <em>Issuer's</em> signature(s). This precludes the <em>Issuer's</em> signature(s) from being used as a point of correlation until after the <em>Disclosee</em> has agreed to the terms in the rule section. When chain-link confidentiality is used, the <em>Issuer's</em> signatures are not disclosed to the <em>Disclosee</em> until after the <em>Disclosee</em> has agreed to keep them confidential. The <em>Disclosee</em> is protected from forged <em>Discloser</em> because ultimately verification of the disclosed ACDC will fail if the <em>Discloser</em> does not eventually provide verifiable <em>Issuer's</em> signatures. Nonetheless, should the potential <em>Disclosee</em> not agree to the terms of the disclosure expressed in the rule section then the <em>Issuer's</em> signature(s) is not leaked.</t>
      </section>
    </section>
    <section anchor="unpermissioned-exploitation-of-data">
      <name>Unpermissioned Exploitation of Data</name>
      <t>An important design goal of ACDCs is they support the sharing of provably authentic data while also protecting against the un-permissioned exploitation of that data. Often the term <em>privacy protection</em> is used to describe similar properties. But a narrow focus on "privacy protection" may lead to problematic design trade-offs. With ACDCs, the primary design goal is not <em>data privacy protection</em> per se but the more general goal of protection from the <strong><em>un-permissioned exploitation of data</em></strong>. In this light, a <em>given privacy protection</em> mechanism may be employed to help protect against <em>unpermissioned exploitation of data</em> but only when it serves that more general-purpose and not as an end in and of itself.</t>
      <section anchor="graduated-disclosure-and-the-principle-of-least-disclosure">
        <name>Graduated Disclosure and the Principle of Least Disclosure</name>
        <t>As described previously, ACDCs employ <em>graduated disclosure</em> mechanisms that satisfy the principle of least disclosure. Requoted here the principle of least disclosure is as follows:</t>
        <ul empty="true">
          <li>
            <t>The system should disclose only the minimum amount of information about a given party needed to facilitate a transaction and no more. <xref target="IDSys"/></t>
          </li>
        </ul>
        <t>For example, compact disclosure, partial disclosure, and selective disclosure are all graduated disclosure mechanisms. Contractually protected disclosure leverages graduated disclosure so that contractual protections can be put into place using the least disclosure necessary to that end. This minimizes the leakage of information that can be correlated. One type of contractually protected disclosure is chain-link confidentiality <xref target="CLC"/>.</t>
      </section>
      <section anchor="exploitation-protection-mechanisms">
        <name>Exploitation Protection Mechanisms</name>
        <t>An ACDC may employ several mechanisms to protect against <em>unpermissioned exploitation of data</em>. These are:</t>
        <ul spacing="normal">
          <li>
            <t>Contractually Protected Disclosure
            </t>
            <ul spacing="normal">
              <li>Chain-link Confidentiality <xref target="CLC"/></li>
              <li>Contingent Disclosure</li>
            </ul>
          </li>
          <li>Partial Disclosure</li>
          <li>Selective Disclosure</li>
        </ul>
        <t>For example, the <em>partial disclosure</em> of portions of an ACDC to enable chain-link confidentiality of the subsequent full disclosure is an application of the principle of least disclosure. Likewise, unbundling only the necessary attributes from a bundled commitment using <em>selective disclosure</em> to enable a correlation minimizing disclosure from that bundle is an application of the principle of least disclosure.</t>
      </section>
      <section anchor="three-party-exploitation-model">
        <name>Three-Party Exploitation Model</name>
        <t>Unpermission exploitation is characterized using a three-party model. The three parties are as follows:</t>
        <ul spacing="normal">
          <li>First-Party = <em>Discloser</em> of data.</li>
          <li>Second-Party = <em>Disclosee</em> of data received from First Party (<em>Discloser</em>).</li>
          <li>Third-Party = <em>Observer</em> of data disclosed by First Party (<em>Discloser</em>) to Second Party (<em>Disclosee</em>).</li>
        </ul>
        <section anchor="second-party-disclosee-exploitation">
          <name>Second-Party (Disclosee) Exploitation</name>
          <ul spacing="normal">
            <li>
              <t>implicit permissioned correlation.
              </t>
              <ul spacing="normal">
                <li>no contractual restrictions on the use of disclosed data.</li>
              </ul>
            </li>
            <li>
              <t>explicit permissioned correlation.
              </t>
              <ul spacing="normal">
                <li>use as permitted by contract</li>
              </ul>
            </li>
            <li>
              <t>explicit unpermissioned correlation with other second parties or third parties.
              </t>
              <ul spacing="normal">
                <li>malicious use in violation of contract</li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="third-party-observer-exploitation">
          <name>Third-Party (Observer) Exploitation</name>
          <ul spacing="normal">
            <li>
              <t>implicit permissioned correlation.
              </t>
              <ul spacing="normal">
                <li>no contractual restrictions on the use of observed data.</li>
              </ul>
            </li>
            <li>
              <t>explicit unpermissioned correlation via collusion with second parties.
              </t>
              <ul spacing="normal">
                <li>malicious use in violation of second-party contract</li>
              </ul>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="chain-link-confidentiality-exchange">
        <name>Chain-link Confidentiality Exchange</name>
        <t>Chain-link confidentiality imposes contractual restrictions and liability on any Disclosee (Second-Party) <xref target="CLC"/>. The exchange provides a fair contract consummation mechanism. The essential steps in a chain-link confidentiality exchange are shown below. Other steps may be included in a more comprehensive exchange protocol.</t>
        <ul spacing="normal">
          <li>
            <em>Discloser</em> provides a non-repudiable <em>Offer</em> with verifiable metadata (sufficient partial disclosure), which includes any terms or restrictions on use.</li>
          <li>
            <em>Disclosee</em> verifies <em>Offer</em> against composed schema and metadata adherence to desired data.</li>
          <li>
            <em>Disclosee</em> provides non-repudiable <em>Accept</em> of terms that are contingent on compliant disclosure.</li>
          <li>
            <em>Discloser</em> provides non-repudiable <em>Disclosure</em> with sufficient compliant detail.</li>
          <li>
            <em>Disclosee</em> verifies <em>Disclosure</em> using decomposed schema and adherence of disclosed data to <em>Offer</em>.</li>
        </ul>
        <t><em>Disclosee</em> may now engage in permissioned use and carries liability as a deterrent against unpermissioned use.</t>
      </section>
    </section>
    <section anchor="field-ordering">
      <name>Field Ordering</name>
      <t>The ordering of the top-level fields when present in an ACDC <bcp14>MUST</bcp14> be as follows, <tt>v</tt>, <tt>d</tt>, <tt>u</tt>, <tt>i</tt>, <tt>ri</tt>, <tt>s</tt>, <tt>a</tt>, <tt>e</tt>, <tt>r</tt>.</t>
    </section>
    <section anchor="compact-acdc">
      <name>Compact ACDC</name>
      <t>The top-level section field values of a compact ACDC are the SAIDs of each uncompacted top-level section. The section field labels
are <tt>s</tt>, <tt>a</tt>, <tt>e</tt>, and <tt>r</tt>.</t>
      <section anchor="compact-public-acdc">
        <name>Compact Public ACDC</name>
        <t>A fully compact public ACDC is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "v":  "ACDC10JSON00011c_",
  "d":  "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "i":  "did:keri:EmkPreYpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPM",
  "ri": "did:keri:EymRy7xMwsxUelUauaXtMxTfPAMPAI6FkekwlOjkggt",
  "s":  "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "a":  "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
  "e":  "ERH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZIl3MOA",
  "r":  "Ee71iheqcywJcnjtJtQIYPvAu6DZIl3MORH3dCdoFOLB"
}
]]></sourcecode>
      </section>
      <section anchor="compact-private-acdc">
        <name>Compact Private ACDC</name>
        <t>A fully compact private ACDC is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "v":  "ACDC10JSON00011c_",
  "d":  "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "u":  "0ANghkDaG7OY1wjaDAE0qHcg",
  "i":  "did:keri:EmkPreYpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPM",
  "ri": "did:keri:EymRy7xMwsxUelUauaXtMxTfPAMPAI6FkekwlOjkggt",
  "s":  "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "a":  "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
  "e":  "ERH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZIl3MOA",
  "r":  "Ee71iheqcywJcnjtJtQIYPvAu6DZIl3MORH3dCdoFOLB"
}

]]></sourcecode>
        <section anchor="compact-private-acdc-schema">
          <name>Compact Private ACDC Schema</name>
          <t>The schema for the compact private ACDC example above is provided below.</t>
          <sourcecode type="json"><![CDATA[
{
  "$id": "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Compact Private ACDC",
  "description": "Example JSON Schema for a Compact Private ACDC.",
  "credentialType": "CompactPrivateACDCExample",
  "type": "object",
  "required":
  [
    "v",
    "d",
    "u",
    "i",
    "ri",
    "s",
    "a",
    "e",
    "r"
  ],
  "properties":
  {
    "v":
    {
      "description": "ACDC version string",
      "type": "string"
    },
    "d":
    {
     "description": "ACDC SAID",
      "type": "string"
    },
    "u":
    {
     "description": "ACDC UUID",
      "type": "string"
    },
    "i":
    {
      "description": "Issuer AID",
      "type": "string"
    },
    "ri":
    {
      "description": "credential status registry ID",
      "type": "string"
    },
    "s": {
      "description": "schema SAID",
      "type": "string"
    },
    "a": {
      "description": "attribute SAID",
      "type": "string"
    },
    "e": {
      "description": "edge SAID",
      "type": "string"
    },
    "r": {
      "description": "rule SAID",
      "type": "string"
    }
  },
  "additionalProperties": false
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="attribute-section">
      <name>Attribute Section</name>
      <t>The attribute section in the examples above has been compacted into its SAID. The schema of the compacted attribute section is as follows,</t>
      <sourcecode type="Json"><![CDATA[
{
  "a":
  {
    "description": "attribute section SAID",
    "type": "string"
  }
}
]]></sourcecode>
      <t>Two variants of an ACDC, namely, namely, <strong><em>private (public) attribute</em></strong> are defined respectively by the presence (absence) of a UUID, <tt>u</tt>, field in the uncompacted attribute section block.</t>
      <t>Two other variants of an ACDC, namely, <strong><em>targeted (untargeted)</em></strong> are defined respectively by the presence (absence) of an issuee, <tt>i</tt>, field in the uncompacted attribute section block.</t>
      <section anchor="public-attribute-acdc">
        <name>Public-Attribute ACDC</name>
        <t>Suppose that the un-compacted value of the attribute section as denoted by the attribute section, <tt>a</tt>, field is as follows,</t>
        <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "d": "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
    "i": "did:keri:EpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPmkPreYA",
    "score": 96,
    "name": "Jane Doe"
  }
}
]]></sourcecode>
        <t>The SAID, <tt>d</tt>, field at the top level of the uncompacted attribute block is the same SAID used as the compacted value of the attribute section, <tt>a</tt>, field.</t>
        <t>Given the absence of a <tt>u</tt> field at the top level of the attributes block, then knowledge of both SAID, <tt>d</tt>, field at the top level of an attributes block and the schema of the attributes block may enable the discovery of the remaining contents of the attributes block via a rainbow table attack <xref target="RB"/><xref target="DRB"/>. Therefore the SAID, <tt>d</tt>, field of the attributes block, although, a cryptographic digest, does not securely blind the contents of the attributes block given knowledge of the schema. It only provides compactness, not privacy. Moreover, any cryptographic commitment to that SAID, <tt>d</tt>, field provides a fixed point of correlation potentially to the attribute block field values themselves in spite of non-disclosure of those field values via a compact ACDC. Thus an ACDC without a UUID, <tt>u</tt>, field in its attributes block must be considered a <strong><em>public-attribute</em></strong> ACDC even when expressed in compact form.</t>
      </section>
      <section anchor="public-uncompacted-attribute-section-schema">
        <name>Public Uncompacted Attribute Section Schema</name>
        <t>The subschema for the public uncompacted attribute section is shown below,</t>
        <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "description": "attribute section",
    "type": "object",
    "required":
    [
      "d",
      "i",
      "score",
      "name"
    ],
    "properties":
    {
      "d":
      {
        "description": "attribute SAID",
        "type": "string"
      },
      "i":
      {
        "description": "Issuee AID",
        "type": "string"
      },
      "score":
      {
        "description": "test score",
        "type": "integer"
      },
      "name":
      {
        "description": "test taker full name",
        "type": "string"
      }
    },
    "additionalProperties": false
  }
}
]]></sourcecode>
      </section>
      <section anchor="composed-schema-for-both-public-compact-and-uncompacted-attribute-section-variants">
        <name>Composed Schema for both Public Compact and Uncompacted Attribute Section Variants</name>
        <t>Through the use of the JSON Schema <tt>oneOf</tt> composition operator the following composed schema will validate against both the compact and un-compacted value of the attribute section field.</t>
        <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "description": "attribute section",
    "oneOf":
    [
      {
        "description": "attribute SAID",
        "type": "string"
      },
      {
        "description": "uncompacted attribute section",
        "type": "object",
        "required":
        [
          "d",
          "i",
          "score",
          "name"
        ],
        "properties":
        {
          "d":
          {
            "description": "attribute SAID",
            "type": "string"
          },
          "i":
          {
            "description": "Issuee AID",
            "type": "string"
          },
          "score":
          {
            "description": "test score",
            "type": "integer"
          },
          "name":
          {
            "description": "test taker full name",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    ]
  }
}
]]></sourcecode>
      </section>
      <section anchor="private-attribute-acdc">
        <name>Private-Attribute ACDC</name>
        <t>Consider the following form of an uncompacted private-attribute block,</t>
        <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "d": "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
    "u": "0AwjaDAE0qHcgNghkDaG7OY1",
    "i": "did:keri:EpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPmkPreYA",
    "score": 96,
    "name": "Jane Doe"
  }
}
]]></sourcecode>
        <t>Given the presence of a top-level UUID, <tt>u</tt>, field of the attribute block whose value has sufficient cryptographic entropy, then the top-level SAID, <tt>d</tt>, field of the attribute block provides a secure cryptographic digest of the contents of the attribute block <xref target="Hash"/>. An adversary when given both the schema of the attribute block and its SAID, <tt>d</tt>, field, is not able to discover the remaining contents of the attribute block in a computationally feasible manner such as a rainbow table attack <xref target="RB"/><xref target="DRB"/>.  Therefore the attribute block's UUID, <tt>u</tt>, field in a compact ACDC enables its attribute block's SAID, <tt>d</tt>, field to securely blind the contents of the attribute block notwithstanding knowledge of the attribute block's schema and SAID, <tt>d</tt> field.  Moreover, a cryptographic commitment to that attribute block's, SAID, <tt>d</tt>, field does not provide a fixed point of correlation to the attribute field values themselves unless and until there has been a disclosure of those field values.</t>
        <t>To elaborate, when an ACDC includes a sufficiently high entropy UUID, <tt>u</tt>, field at the top level of its attributes block then the ACDC may be considered a <strong><em>private-attributes</em></strong> ACDC when expressed in compact form, that is, the attribute block is represented by its SAID, <tt>d</tt>, field and the value of its top-level attribute section, <tt>a</tt>, field is the value of the nested SAID, <tt>d</tt>, field from the uncompacted version of the attribute block. A verifiable commitment may be made to the compact form of the ACDC without leaking details of the attributes. Later disclosure of the uncompacted attribute block may be verified against its SAID, <tt>d</tt>, field that was provided in the compact form as the value of the top-level attribute section, <tt>a</tt>, field.</t>
        <t>Because the <em>Issuee</em> AID is nested in the attribute block as that block's top-level, issuee, <tt>i</tt>, field, a presentation exchange (disclosure) could be initiated on behalf of a different AID that has not yet been correlated to the <em>Issuee</em> AID and then only correlated to the Issuee AID after the <em>Disclosee</em> has agreed to the chain-link confidentiality provisions in the rules section of the private-attributes ACDC <xref target="CLC"/>.</t>
        <section anchor="composed-schema-for-both-compact-and-uncompacted-private-attribute-acdc">
          <name>Composed Schema for Both Compact and Uncompacted Private-Attribute ACDC</name>
          <t>Through the use of the JSON Schema <tt>oneOf</tt> composition operator, the following composed schema will validate against both the compact and un-compacted value of the private attribute section, <tt>a</tt>, field.</t>
          <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "description": "attribute section",
    "oneOf":
    [
      {
        "description": "attribute SAID",
        "type": "string"
      },
      {
        "description": "uncompacted attribute section",
        "type": "object",
        "required":
        [
          "d",
          "u",
          "i",
          "score",
          "name"
        ],
        "properties":
        {
          "d":
          {
            "description": "attribute SAID",
            "type": "string"
          },
          "u":
          {
            "description": "attribute UUID",
            "type": "string"
          },
          "i":
          {
            "description": "Issuee AID",
            "type": "string"
          },
          "score":
          {
            "description": "test score",
            "type": "integer"
          },
          "name":
          {
            "description": "test taker full name",
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    ]
  }
}
]]></sourcecode>
          <t>As described above in the Schema section of this specification, the <tt>oneOf</tt> sub-schema composition operator validates against either the compact SAID of a block or the full block. A validator can use a composed schema that has been committed to by the Issuer to securely confirm schema compliance both before and after detailed disclosure by using the fully composed base schema pre-disclosure and a specific decomposed variant post-disclosure. Decomposing the schema to remove the optional compact variant (i.e. removing the <tt>oneOf</tt> compact option) enables a validator to ensure complaint full disclosure.</t>
        </section>
      </section>
      <section anchor="untargeted-acdc">
        <name>Untargeted ACDC</name>
        <t>Consider the case where the issuee, <tt>i</tt>, field is absent at the top level of the attribute block as shown below,</t>
        <sourcecode type="json"><![CDATA[
{
  "a":
  {
    "d": "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
    "temp": 45,
    "lat": "N40.3433",
    "lon": "W111.7208"
  }
}
]]></sourcecode>
        <t>This ACDC has an <em>Issuer</em> but no <em>Issuee</em>. Therefore, there is no provably controllable <em>Target</em> AID. This may be thought of as an undirected verifiable attestation or observation of the data in the attributes block by the <em>Issuer</em>. One could say that the attestation is addressed to "whom it may concern". It is therefore an <strong><em>untargeted</em></strong> ACDC, or equivalently an <em>unissueed</em> ACDC. An <em>untargeted</em> ACDC enables verifiable authorship by the Issuer of the data in the attributes block but there is no specified counter-party and no verifiable mechanism for delegation of authority.  Consequently, the rule section may only provide contractual obligations of implied counter-parties.</t>
        <t>This form of an ACDC provides a container for authentic data only (not authentic data as authorization). But authentic data is still a very important use case. To clarify, an untargeted ACDC enables verifiable authorship of data. An observer such as a sensor that controls an AID may make verifiable non-repudiable measurements and publish them as ACDCs. These may be chained together to provide provenance for or a chain-of-custody of any data.  These ACDCs could be used to provide a verifiable data supply chain for any compliance-regulated application. This provides a way to protect participants in a supply chain from imposters. Such data supply chains are also useful as a verifiable digital twin of a physical supply chain <xref target="Twin"/>.</t>
        <t>A hybrid chain of one or more targeted ACDCs ending in a chain of one or more untargeted ACDCs enables delegated authorized attestations at the tail of that chain. This may be very useful in many regulated supply chain applications such as verifiable authorized authentic datasheets for a given pharmaceutical.</t>
      </section>
      <section anchor="targeted-acdc">
        <name>Targeted ACDC</name>
        <t>When present at the top level of the attribute section, the issuee, <tt>i</tt>, field value provides the AID of the <em>Issuee</em> of the ACDC. This <em>Issuee</em> AID is a provably controllable identifier that serves as the <em>Target</em> AID. This makes the ACDC a <strong><em>targeted</em></strong> ACDC or equivalently an <em>issueed</em> ACDC. Targeted ACDCs may be used for many different purposes such as an authorization or a delegation directed at the <em>Issuee</em> AID, i.e. the <em>Target</em>. In other words, a <em>targeted ACDC</em> provides a container for authentic data that may also be used as some form of authorization such as a credential that is verifiably bound to the <em>Issuee</em> as targeted by the <em>Issuer</em>. Furthermore, by virtue of the targeted <em>Issuee's</em> provable control over its AID, the <em>targeted ACDC</em> may be verifiably presented (disclosed) by the controller of the <em>Issuee</em> AID.</t>
        <t>For example, the definition of the term <strong><em>credential</em></strong> is <em>evidence of authority, status, rights, entitlement to privileges, or the like</em>. To elaborate, the presence of an attribute section top-level issuee, <tt>i</tt>, field enables the ACDC to be used as a verifiable credential given by the <em>Issuer</em> to the <em>Issuee</em>.</t>
        <t>One reason the issuee, <tt>i</tt>, field is nested into the attribute section, <tt>a</tt>, block is to enable the <em>Issuee</em> AID to be private or partially or selectively disclosable. The <em>Issuee</em> may also be called the <em>Holder</em> or <em>Subject</em> of the ACDC.  But here we use the more semantically precise albeit less common terms of <em>Issuer</em> and <em>Issuee</em>. The ACDC is issued from or by an <em>Issuer</em> and is issued to or for an <em>Issuee</em>. This precise terminology does not bias or color the role (function) that an <em>Issuee</em> plays in the use of an ACDC. What the presence of <em>Issuee</em> AID does provide is a mechanism for control of the subsequent use of the ACDC once it has been issued. To elaborate, because the issuee, <tt>i</tt>, field value is an AID, by definition, there is a provable controller of that AID. Therefore that <em>Issuee</em> controller may make non-repudiable commitments via digital signatures on behalf of its AID.  Therefore subsequent use of the ACDC by the <em>Issuee</em> may be securely attributed to the <em>Issuee</em>.</t>
        <t>Importantly the presence of an issuee, <tt>i</tt>, field enables the associated <em>Issuee</em> to make authoritative verifiable presentations or disclosures of the ACDC. A designated <em>Issuee</em>also better enables the initiation of presentation exchanges of the ACDC between that <em>Issuee</em> as <em>Discloser</em> and a <em>Disclosee</em> (verifier).</t>
        <t>In addition, because the <em>Issuee</em> is a specified counter-party the <em>Issuer</em> may engage in a contract with the <em>Issuee</em> that the <em>Issuee</em> agrees to by virtue of its non-repudiable signature on an offer of the ACDC prior to its issuance. This agreement may be a pre-condition to the issuance and thereby impose liability waivers or other terms of use on that <em>Issuee</em>.</t>
        <t>Likewise, the presence of an issuee, <tt>i</tt>, field, enables the <em>Issuer</em> to use the ACDC as a contractual vehicle for conveying an authorization to the <em>Issuee</em>.  This enables verifiable delegation chains of authority because the <em>Issuee</em> in one ACDC may become the <em>Issuer</em> in some other ACDC. Thereby an <em>Issuer</em> may delegate authority to an <em>Issuee</em> who may then become a verifiably authorized <em>Issuer</em> that then delegates that authority (or an attenuation of that authority) to some other verifiably authorized <em>Issuee</em> and so forth.</t>
      </section>
    </section>
    <section anchor="edge-section">
      <name>Edge Section</name>
      <t>In the compact ACDC examples above, the edge section has been compacted into merely the SAID of that section. Suppose that the un-compacted value of the edge section denoted by the top-level edge, <tt>e</tt>, field is as follows,</t>
      <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA"
    }
  }
}
]]></sourcecode>
      <t>The edge section's top-level SAID, <tt>d</tt>, field is the SAID of the edge block and is the same SAID used as the compacted value of the ACDC's top-level edge, <tt>e</tt>, field. Each edge in the edge section gets its own field with its own local label. The value of the field may be a sub-block or in the simplest case a string. In the example above, the edge label is <tt>"boss"</tt>. Note that each edge does NOT include a type field. The type of each edge is provided by the schema vis-a-vis the label of that edge. This is in accordance with the design principle of ACDCs that may be succinctly expressed as "type-is-schema". This approach varies somewhat from many property graphs which often do not have a schema <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. Because ACDCs have a schema for other reasons, however, they leverage that schema to provide edge types with a cleaner separation of concerns. Notwithstanding, this separation, an edge sub-block may include a constraint on the type of the ACDC to which that edge points by including the SAID of the schema of the pointed-to ACDC as a property of that edge.</t>
      <section anchor="edge-sub-block-reserved-fields">
        <name>Edge Sub-block Reserved Fields</name>
        <t>A main distinguishing feature of a <em>property graph</em> (PG) is that both nodes and edges may have a set of properties <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. These might include modifiers that influence how the connected node is to be combined or place a constraint on the allowed type(s) of connected nodes.</t>
        <t>There several reserved field labels for edge sub-blocks. These are detailed in the table below. Each edge sub-block may have other non-reserved field labels as needed for a particular edge type.</t>
        <table>
          <thead>
            <tr>
              <th align="center">Label</th>
              <th align="left">Title</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">
                <tt>d</tt></td>
              <td align="left">Digest (SAID)</td>
              <td align="left">Optional, self-referential fully qualified cryptographic digest of enclosing edge map.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>u</tt></td>
              <td align="left">UUID</td>
              <td align="left">Optional random Universally Unique IDentifier as fully qualified high entropy pseudo-random string, a salty nonce.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>s</tt></td>
              <td align="left">Schema</td>
              <td align="left">Optional SAID of the JSON Schema block of the far node ACDC.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>n</tt></td>
              <td align="left">Node</td>
              <td align="left">Required SAID of the far ACDC as the terminating point of a directed edge that connects the edge's encapsulating near ACDC to the specified far ACDC as a fragment of a distributed property graph (PG).</td>
            </tr>
            <tr>
              <td align="center">
                <tt>o</tt></td>
              <td align="left">Operator</td>
              <td align="left">Optional as either a unary operator on edge or an m-ary operator on edge-group in edge section. Enables expression of the edge logic on edge subgraph.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>w</tt></td>
              <td align="left">Weight</td>
              <td align="left">Optional edge weight property that enables default property for directed weighted edges and operators that use weights.</td>
            </tr>
          </tbody>
        </table>
        <t>The node, <tt>n</tt>, field is required. The SAID, <tt>d</tt>, UUID, <tt>u</tt>, schema, <tt>s</tt>, operator, <tt>o</tt>, and weight, <tt>w</tt>,  fields are optional. To clarify, each edge sub-block <bcp14>MUST</bcp14> have a node, <tt>n</tt>, field and  <bcp14>MAY</bcp14> have any combination of SAID, <tt>d</tt>, UUID, <tt>u</tt>, schema, <tt>s</tt>, operator, <tt>o</tt>, or weight, <tt>w</tt>, fields.</t>
        <section anchor="said-field">
          <name>SAID Field</name>
          <t>When present, the SAID, <tt>d</tt>, field <bcp14>MUST</bcp14> appear as the first field in the edge sub-block. When present,the value of the SAID, <tt>d</tt> field <bcp14>MUST</bcp14> be the SAID of its enclosing edge sub-block.</t>
        </section>
        <section anchor="uuid-field">
          <name>UUID Field</name>
          <t>A UUID, <tt>u</tt>, field <bcp14>MUST</bcp14> not appear unless there is also a SAID, <tt>d</tt> field. When present, the UUID, <tt>u</tt>, field must appear immediately after as the SAID, <tt>d</tt>, field in the edge sub-block. When present, the value of the UUID, <tt>u</tt> is a pseudorandom string with approximately 128 bits of cryptographic entropy. The UUID, <tt>u</tt>, field acts as a salty nonce to hide the values of the edge sub-block in spite of knowledge of the edge sub-blocks SAID, <tt>d</tt>, field and its, the edge's, actual near schema (not its far node schema field).</t>
        </section>
        <section anchor="node-field">
          <name>Node Field</name>
          <t>When the edge sub-block does NOT include a SAID, <tt>d</tt>, field then the node, <tt>n</tt>, field <bcp14>MUST</bcp14> appear as the first field in the edge sub-block, i.e. it follows the SAID, <tt>d</tt>, field which is first. When the edge sub-block does include a SAID, <tt>d</tt>, field then the node, <tt>n</tt>, field <bcp14>MUST</bcp14> appear as the second field in the edge sub-block.</t>
          <t>The value of the required node, <tt>n</tt>, field is the SAID of the ACDC to which the edge connects i.e. the node, <tt>n</tt>, field indicated, designates, references, or "points to" another ACDC. The edge is directed <em>from</em> the <em>near</em> node that is the ACDC in which the edge sub-block resides and is directed <em>to</em> the <em>far</em> node that is the ACDC indicated by the node, <tt>n</tt>, field of that edge sub-block. In order for the edge (chain) to be valid, the ACDC validator <bcp14>MUST</bcp14> confirm that the SAID of the provided <em>far</em> ACDC matches the node, <tt>n</tt>, field value given in the edge sub-block in <em>near</em> ACDC and <bcp14>MUST</bcp14> confirm that the provided <em>far</em> ACDC satisfies its own schema.</t>
        </section>
        <section anchor="schema-field">
          <name>Schema Field</name>
          <t>When present, the schema, <tt>s</tt> field must appear immediately following the node <tt>n</tt>, field in the edge sub-block. When present, the value of the schema, <tt>s</tt> field <bcp14>MUST</bcp14> be the SAID of the top-level schema, <tt>s</tt>, field of the ACDC indicated by the edge's far node, <tt>n</tt>, field. When the schema, <tt>s</tt>, field is present in an edge sub-block, in order for the edge (chain) to be valid, the ACDC validator, after validating that the provided <em>far</em> ACDC indicated by the node, <tt>n</tt>, field satisfies its (the far ACDC's) own schema, <bcp14>MUST</bcp14> also confirm that the value of the edge's schema, <tt>s</tt>, field matches the SAID of the far ACDC's schema as indicated by its top-level schema, <tt>s</tt>, field.</t>
          <t>The following example adds both SAID, <tt>d</tt>, and schema, <tt>s</tt>, fields (edge properties) to the edge sub-block.</t>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn9y",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "s": "ELIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdYerzw"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="operator-field">
          <name>Operator Field</name>
          <t>When present, the operator, <tt>o</tt> field must appear immediately following all of the SAID, <tt>d</tt>, node, <tt>n</tt>, or schema, <tt>s</tt>, fields in the edge sub-block. The function of the operator field is explained in a later section.</t>
        </section>
        <section anchor="weight-field">
          <name>Weight Field</name>
          <t>When present, the weight, <tt>w</tt> field must appear immediately following all of the SAID, <tt>d</tt>, node, <tt>n</tt>, schema, <tt>s</tt>, or operator, <tt>o</tt>, fields in the edge sub-block. The function of the weight field is explained in a later section.</t>
        </section>
      </section>
      <section anchor="globally-distributed-secure-graph-fragments">
        <name>Globally Distributed Secure Graph Fragments</name>
        <t>Abstractly, an ACDC with one or more edges may be a fragment of a distributed property graph. However, the local label does not enable the direct unique global resolution of a given edge including its properties other than a trivial edge with only one property, its node, <tt>n</tt> field. To enable an edge with additional properties to be globally uniquely resolvable, that edge's block <bcp14>MUST</bcp14> have a SAID, <tt>d</tt>, field. Because a SAID is a cryptographic digest it will universally and uniquely identify an edge with a given set of properties <xref target="Hash"/>. This allows ACDCs to be used as secure fragments of a globally distributed property graph (PG). This enables a property graph to serve as a global knowledge graph in a secure manner that crosses trust domains <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. This is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="compact-edge">
        <name>Compact Edge</name>
        <t>Given that an individual edge's property block includes a SAID, <tt>d</tt>, field then a compact representation of the edge's property block is provided by replacing it with its SAID. This may be useful for complex edges with many properties. This is called a <strong><em>compact edge</em></strong>. This is shown as follows,</t>
        <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn"
  }
}
]]></sourcecode>
      </section>
      <section anchor="private-edge">
        <name>Private Edge</name>
        <t>Each edge's properties may be blinded by its SAID, <tt>d</tt>, field (i.e. be private) if its properties block includes a UUID, <tt>u</tt> field. As with UUID, <tt>u</tt>, fields used elsewhere in ACDC, if the UUID, <tt>u</tt>, field value has sufficient entropy then the values of the properties of its enclosing block are not discoverable in a computationally feasible manner merely given the schema for the edge block and its SAID, <tt>d</tt> field. This is called a <strong><em>private edge</em></strong>. When a private edge is provided in compact form then the edge detail is hidden and is partially disclosable. An uncompacted private edge is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "u":  "0AG7OY1wjaDAE0qHcgNghkDa",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  }
}
]]></sourcecode>
        <t>When an edge points to a <em>private</em> ACDC, a <em>Discloser</em> may choose to use a metadata version of that private ACDC when presenting the node, <tt>n</tt>, field of that edge prior to acceptance of the terms of disclosure. The <em>Disclosee</em> can verify the metadata of the private node without the <em>Discloser</em> exposing the actual node contents via the actual node SAID or other attributes.</t>
        <t>Private ACDCs (nodes) and private edges may be used in combination to prevent an un-permissioned correlation of the distributed property graph.</t>
      </section>
      <section anchor="simple-compact-edge">
        <name>Simple Compact Edge</name>
        <t>When an edge sub-block has only one field that is its node, <tt>n</tt>, field then the edge block may use an alternate simplified compact form where the labeled edge field value is the value of its node, <tt>n</tt>, field. The schema for that particular edge label, in this case, <tt>"boss"</tt>,  will indicate that the edge value is a node SAID and not the edge sub-block SAID as would be the case for the normal compact form shown above. This alternate compact form is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA"
  }
}
]]></sourcecode>
      </section>
      <section anchor="operations-on-edges-and-edge-groups">
        <name>Operations on Edges and Edge-Groups</name>
        <t>When the top-level edge section, <tt>e</tt>, field includes more than one edge there is a need or opportunity to define the logic for evaluating those edges with respect to validating the ACDC itself with respect to the validity of the other ACDCs it is connected two. More than one edge creates a provenance tree not simply a provenance chain. The obvious default for a chain is that all links in the chain must be valid in order for the chain itself to be valid, or more precisely for the tail of the chain to be valid. If any links between the head and the tail are broken (invalid) then the tail is not valid. This default logic may not be so useful in all cases when a given ACDC is the tail of multiple parallel chains (i.e. a branching node in a tree of chains). Therefore provided herein is the syntax for exactly specifying the operations to perform on each edge and groups of edges in its edge section.</t>
        <section anchor="label-types">
          <name>Label Types</name>
          <t>There are three types of labels in edge sub-blocks:</t>
          <ul spacing="normal">
            <li>Reserved Field Labels (Metadata).
<tt>d</tt> for SAID of block
<tt>u</tt> for UUID (salty nonce)
<tt>n</tt> for node SAID (far ACDC)
<tt>s</tt> for schema SAID ( far ACDC)
<tt>o</tt> for operator
<tt>w</tt> for weight</li>
            <li>Edge Field Map Labels (Single Edges)
 any value except reserved values above</li>
            <li>Edge-Group Field Map Labels (Aggregates of Edges)
any value except reserved values above</li>
          </ul>
        </section>
        <section anchor="block-types">
          <name>Block Types</name>
          <t>There are two types of field-maps or blocks that may appear as  values of fields within an edge section, <tt>e</tt>, field either at the top level or nested:</t>
          <ul spacing="normal">
            <li>Edge-Group. An <em><strong>edge-group</strong></em> <bcp14>MUST NOT</bcp14> have a node,  <tt>n</tt>,  metadata field. Its non-metadata field values may include other (sub) edge-group blocks, edge blocks or other properties.</li>
            <li>Edge. An <em><strong>edge</strong></em> <bcp14>MUST</bcp14> have a node, <tt>n</tt>,  metadata field. Its non-metadata field values <bcp14>MUST NOT</bcp14> include edge-group blocks or other edge blocks but may include other types of properties. From a graph perspective, <em>edge</em> blocks terminate at their node, <tt>n</tt>, field and are not themselves nestable. An <em>edge</em> block is a  leaf with respect to any nested <em>edge-group</em> blocks in which the edge appears. It is therefore also a leaf with respect to its enclosing top-level edge section, <tt>e</tt>, field.  The ACDC node that an edge points to may have its own edge-groups or edges in that node's own top-level edge section.</li>
          </ul>
          <t>The top-level edge section, <tt>e</tt>, field value is always an <em>edge-group</em> block.</t>
          <t>With respect to the granularity of a property graph consisting of ACDCs as nodes, nested edge-groups within a given top-level edge field, <tt>e</tt>, field of a given ACDC constitute a  sub-graph whose nodes are edge-groups not ACDCs. One of the attractive features of property graphs (PGs) is their support for different edge and node types which enables nested sub-graphs such as is being employed here to support the expression of complex logical or aggregative operations on groups of edges (as subnodes) within the top-level edge section, <tt>e</tt>, field of an ACDC (as supernode).</t>
        </section>
        <section anchor="operator-o-field">
          <name>Operator, <tt>o</tt>,  Field</name>
          <t>The meaning of the operator, <tt>o</tt>, metadata field label depends on which type of block it appears in.</t>
          <ul spacing="normal">
            <li>When appearing in an edge-group block then the operator, <tt>o</tt>, field value is an aggregating (m-ary) operator, such as, <tt>OR</tt>, <tt>AND</tt>, <tt>AVG</tt>, <tt>NAND</tt>, <tt>NOR</tt>  etc. Its operator applies to all the edges or edge-groups that appear in that edge-group block.</li>
            <li>When appearing in an edge block then the operator, <tt>o</tt>,  field value is a unary operator like <tt>NOT</tt>.  When more than one unary operator applies to a given edge then the value of the operator, <tt>o</tt>, field is a list of those unary operators.</li>
          </ul>
        </section>
        <section anchor="weight-w-field">
          <name>Weight, <tt>w</tt>, field.</name>
          <t>Weighted directed edges represent degrees of confidence or likelihood. PGs with weighted directed edges are commonly used for machine learning or reasoning under uncertainty. The weight, <tt>w</tt> field provides a reserved label for the primary weight. To elaborate, many aggregating operators used for automated reasoning such as the weighted average, <tt>WAVG</tt>, operator or ranking aggregation operators, depend on each edge having a weight. To simplify the semantics for such operators, the weight, <tt>w</tt>, field is the reserved field label for weighting. Other fields with other labels could provide other types of weights but having a default label, namely <tt>w</tt>, simplifies the default definitions of weighted operators.</t>
          <t>The following example adds a weight property to the edge sub-block as indicated by the weight, <tt>w</tt>, field.</t>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="m-ary-operators">
          <name>M-ary Operators</name>
          <t>There are two basic m-ary operators defined for ACDCs. These are,</t>
          <table>
            <thead>
              <tr>
                <th align="center">M-ary Operator</th>
                <th align="left">Description</th>
                <th align="left">Type</th>
                <th align="left">Default</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">
                  <tt>AND</tt></td>
                <td align="left">All edges or edge-groups in the edge group <bcp14>MUST</bcp14> be valid for the edge-group to be valid</td>
                <td align="left">Combination</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>OR</tt></td>
                <td align="left">Only one of the edges or edge-groups in the edge group <bcp14>MUST</bcp14> be valid for the edge-group to be valid</td>
                <td align="left">Combination</td>
                <td align="left">No</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="special-unary-operators">
          <name>Special Unary Operators</name>
          <t>There are three special unary operators defined for ACDCs. These are,</t>
          <table>
            <thead>
              <tr>
                <th align="center">Unary Operator</th>
                <th align="left">Description</th>
                <th align="left">Type</th>
                <th align="left">Default</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="center">
                  <tt>I2I</tt></td>
                <td align="left">Issuee-To-Issuer, Issuer AID of this ACDC must Issuee AID of node the edge points to</td>
                <td align="left">Constraint</td>
                <td align="left">Yes</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>NI2I</tt></td>
                <td align="left">Not-Issuee-To-Issuer, Issuer AID if any of this ACDC  <bcp14>MAY</bcp14> or <bcp14>MAY</bcp14> NOT be Issuee AID of node that the edge points to</td>
                <td align="left">Constraint</td>
                <td align="left">No</td>
              </tr>
              <tr>
                <td align="center">
                  <tt>DI2I</tt></td>
                <td align="left">Delegated-Issuee-To-Issuer, Issuer AID of this ACDC <bcp14>MUST</bcp14> be either the Issuee AID or delegated AID of the Issuee AID of the node the edge points to</td>
                <td align="left">Constraint</td>
                <td align="left">No</td>
              </tr>
            </tbody>
          </table>
          <t>Many ACDC chains use targeted ACDCs (i.e. have Issuees). A chain of Issuer-To-Issuee-To-Issuer targeted ACDCs in which each Issuee becomes the Issuer of the next ACDC in the chain can be used to provide a chain-of-authority. A common use case of a chain-of-authority is a delegation chain for authorization.</t>
          <t>The <tt>I2I</tt> unary operator when present means that the Issuer AID of the current ACDC in which the edge resides  <bcp14>MUST</bcp14> be the Issuee AID of the node that the edge points to. This also means therefore that the ACDC node pointed to by the edge must also be a targeted ACDC. This is the default value when none of <tt>I2I</tt>, <tt>NI2I</tt>, or <tt>DI2I</tt> is present.</t>
          <t>The <tt>NI2I</tt> unary operator when present removes or nullifies any requirement expressed by the dual <tt>I2I</tt> operator described above. In other words, any requirement that the Issuer AID of the current ACDC in which the edge resides <bcp14>MUST</bcp14> be the Issuee AID, if any, of the node the edge points to is relaxed (not applicable). To clarify, when operative (present), the <tt>NI2I</tt> operator means that both an untargeted ACDC or targeted ACDC as the node pointed to by the edge may still be valid even when untargeted or if targeted even when the Issuer of the ACDC in which the edge appears is not the Issuee AID, of that node the edge points to.</t>
          <t>The <tt>DI2I</tt> unary operator when present expands the class of allowed Issuer AIDs of the node the edge resides in to include not only the Issuee AID but also any delegated AIDS of the Issuee of the node the edge points to.  This also means therefore that the ACDC node pointed to by the edge must also be a targeted ACDC.</t>
          <t>If more than one of the <tt>I2I</tt>, <tt>NI2I</tt>, or <tt>DI2I</tt> operators appear in an operator, <tt>o</tt>, field list then the last one appearing in the list is the operative one.</t>
        </section>
        <section anchor="defaults-for-missing-operators">
          <name>Defaults for missing operators</name>
          <t>When the operator, <tt>o</tt>, field is missing in an edge-group block.
The default value for the operator, <tt>o</tt>, field is <tt>AND</tt>.</t>
          <t>When the operator, <tt>o</tt>, field is missing or empty in an edge block, or is present but does not include any of the <tt>I2I</tt>, <tt>NI2I</tt> or <tt>DI2I</tt> operators then,</t>
          <t>If the node pointed to by the edge is a targeted ACDC, i.e. has an Issuee, by default it is assumed that the <tt>I2I</tt> operator is appended to the operator, <tt>o</tt>, field's effective list value.</t>
          <t>If the node pointed to by the edge block is a non-targeted ACDC i.e., does not have an Issuee, by default, it is assumed that the <tt>NI2I</tt> operator is appended to the operator, <tt>o</tt>, field's effective list value.</t>
        </section>
        <section anchor="examples">
          <name>Examples</name>
          <section anchor="defaults">
            <name>Defaults</name>
            <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "power": "high"
    },
   "baby":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "power": "low"
    }
  }
}
]]></sourcecode>
          </section>
        </section>
        <section anchor="explicit-and">
          <name>Explicit AND</name>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "o": "AND",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "power": "high"
    },
   "baby":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "o": "NOT",
      "power": "low"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="unary-i2i">
          <name>Unary I2I</name>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "o": "AND",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
       "power": "high"
    },
    "baby":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "o": "I2I",
      "power": "low"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="unary-ni2i">
          <name>Unary NI2I</name>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "o": "OR",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "o": "NI2I",
      "power": "high"
    },
    "baby":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "o": "I2I",
      "power": "low"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="nested-edge-group">
          <name>Nested Edge-Group</name>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "o": "AND",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "o": ["NI2I", "NOT"],
      "power": "high"
    },
    "baby":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "o": "I2I",
      "power": "low"
    },
    "food":
    {
      "o": "OR",
      "power": "med",
      "plum":
      {
        "n": "EQIYPvAu6DZAIl3AORH3dCdoFOLe71iheqcywJcnjtJt",
        "o": "NI2I"
      },
      "pear":
      {
        "n": "EJtQIYPvAu6DZAIl3AORH3dCdoFOLe71iheqcywJcnjt",
        "o": "NI2I"
      }
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="vlei-ecr-issued-by-qvi-example">
          <name>vLEI ECR issued by QVI example</name>
          <t>When an ECR vLEI is issued by the QVI it is not chained, Issuer-to-Issuee, via the LE credential. A more accurate way of expressing the chaining would be to use the <tt>AND</tt> operator to include both the LE and QVI credentials as edges in the ECR and also to apply the unary <tt>NI2I</tt> to the LE credential instead of only chaining the ECR to the LE and not chaining to ECR to the QVI at all.</t>
          <t>In the following example: The top-level edge-block uses the default of <tt>AND</tt> and the <tt>qvi</tt> edge uses the default of <tt>I2I</tt> because it points to a targeted ACDC.  The <tt>le</tt> edge, on the other hand, points to a targeted ACDC. It uses the unary operator, <tt>NI2I</tt> in its operator, <tt>o</tt>, field so that it will be accepted it even though its targeted Issuee is not the Issuer of the current credential.</t>
          <sourcecode type="json"><![CDATA[
{
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLx,UdY",
    "qvi":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA"
    },
    "le":
    {
      "n": "EORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZAIl3A",
      "o": "NI2I"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="commentary">
          <name>Commentary</name>
          <t>This provides a simple but highly expressive syntax for applying (m-ary) aggregating operators to nestable groups of edges and unary operators to edges individually within those groups. This is a general approach with high expressive power. It satisfies many business logic requirements similar to that of SGL.</t>
          <t>Certainly, an even more expressive syntax could be developed. The proposed syntax, however, is relatively simple and compact. It has intelligent defaults and is sufficiently general in scope to satisfy all the currently contemplated use cases.</t>
          <t>The intelligent defaults for the operator, <tt>o</tt>, field, including the default application of the  <tt>I2I</tt> or <tt>NI2I</tt> unary operator, means that in most current use cases, the operator, <tt>o</tt>, field, does not even need to be present.</t>
        </section>
      </section>
      <section anchor="node-discovery">
        <name>Node Discovery</name>
        <t>In general, the discovery of the details of an ACDC referenced as a node, <tt>n</tt> field value, in an edge sub-block begins with the node SAID or the SAID of the associated edge sub-block. Because a SAID is a cryptographic digest with high collision resistance it provides a universally unique identifier to the referenced ACDC as a node. The Discovery of a service endpoint URL that provides database access to a copy of the ACDC may be bootstrapped via an OOBI (Out-Of-Band-Introduction) that links the service endpoint URL to the SAID of the ACDC <xref target="OOBI_ID"/>. Alternatively, the <em>Issuer</em> may provide as an attachment at the time of issuance a copy of the referenced ACDC. In either case, after a successful exchange, the <em>Issuee</em> or recipient of any ACDC will have either a copy or a means of obtaining a copy of any referenced ACDCs as nodes in the edge sections of all ACDCs so chained. That Issuee or recipient will then have everything it needs to make a successful disclosure to some other <em>Disclosee</em>. This is the essence of <em>percolated</em> discovery.</t>
      </section>
    </section>
    <section anchor="rule-section">
      <name>Rule Section</name>
      <t>In the compact ACDC examples above, the rule section has been compacted into merely the SAID of that section. Suppose that the un-compacted value of the rule section denoted by the top-level rule, <tt>r</tt>, field is as follows,</t>
      <sourcecode type="json"><![CDATA[
{
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer":
    {
      "l": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE"
    },
    "liabilityDisclaimer":
    {
      "l": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
    }
  }
}
]]></sourcecode>
      <t>The purpose of the rule section is to provide a Ricardian Contract <xref target="RC"/>. The important features of a Ricardian contract are that it be both human and machine-readable and referenceable by a cryptographic digest. A JSON encoded document or block such as the rule section block is a practical example of both a human and machine-readable document.  The rule section's top-level SAID, <tt>d</tt>, field provides the digest.  This provision supports the bow-tie model of Ricardian Contracts <xref target="RC"/>. Ricardian legal contracts may be hierarchically structured into sections and subsections with named or numbered clauses in each section. The labels on the clauses may follow such a hierarchical structure using nested maps or blocks. These provisions enable the rule section to satisfy the features of a Ricardian contract.</t>
      <t>To elaborate, the rule section's top-level SAID, <tt>d</tt>, field is the SAID of that block and is the same SAID used as the compacted value of the rule section, <tt>r</tt>, field that appears at the top level of the ACDC. Each clause in the rule section gets its own field. Each clause also has its own local label.</t>
      <t>The legal, <tt>l</tt>, field in each block provides the associated legal language.</t>
      <t>Note there are no type fields in the rule section. The type of a contract and the type of each clause is provided by the schema vis-a-vis the label of that clause. This follows the ACDC design principle that may be succinctly expressed as "type-is-schema".</t>
      <t>Each rule section clause may also have its own clause SAID, <tt>d</tt>, field. Clause SAIDs enable reference to individual clauses, not merely the whole contract as given by the rule section's top-level SAID, <tt>d</tt>, field.</t>
      <t>An example rule section with clause SAIDs is provided below.</t>
      <sourcecode type="json"><![CDATA[
{
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer":
    {
      "d": "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
      "l": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE"
    },
    "liabilityDisclaimer":
    {
      "d": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw",
      "l": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
    }
  }
}
]]></sourcecode>
      <section anchor="compact-clauses">
        <name>Compact Clauses</name>
        <t>The use of clause SAIDS enables a compact form of a set of clauses where each clause value is the SAID of the corresponding clause. For example,</t>
        <sourcecode type="json"><![CDATA[
{
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer":  "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
    "liabilityDisclaimer": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw"
  }
}
]]></sourcecode>
      </section>
      <section anchor="private-clause">
        <name>Private Clause</name>
        <t>The disclosure of some clauses may be pre-conditioned on acceptance of chain-link confidentiality. In this case, some clauses may benefit from partial disclosure. Thus clauses may be blinded by their SAID, <tt>d</tt>, field when the clause block includes a sufficiently high entropy UUID, <tt>u</tt>, field. The use of a clause UUID enables the compact form of a clause to NOT be discoverable merely from the schema for the clause and its SAID via rainbow table attack <xref target="RB"/><xref target="DRB"/>. Therefore such a clause may be partially disclosable. These are called <strong><em>private clauses</em></strong>. A private clause example is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer":
    {
      "d": "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
      "u": "0AG7OY1wjaDAE0qHcgNghkDa",
      "l": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE"
    },
    "liabilityDisclaimer":
    {
      "d": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw",
      "u": "0AHcgNghkDaG7OY1wjaDAE0q",
      "l": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="simple-compact-clause">
        <name>Simple Compact Clause</name>
        <t>An alternate simplified compact form uses the value of the legal, <tt>l</tt>, field as the value of the clause field label. The schema for a specific clause label will indicate that the field value, for a given clause label is the legal language itself and not the clause block's SAID, <tt>d</tt>, field as is the normal compact form shown above. This alternate simple compact form is shown below. In this form individual clauses are not compactifiable and are fully self-contained.</t>
        <sourcecode type="json"><![CDATA[
{
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE",
    "liabilityDisclaimer": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
  }
}
]]></sourcecode>
      </section>
      <section anchor="clause-discovery">
        <name>Clause Discovery</name>
        <t>In compact form, the discovery of either the rule section as a whole or a given clause begins with the provided SAID. Because the SAID, <tt>d</tt>, field of any block is a cryptographic digest with high collision resistance it provides a universally unique identifier to the referenced block details (whole rule section or individual clause). The discovery of a service endpoint URL that provides database access to a copy of the rule section or to any of its clauses may be bootstrapped via an OOBI (Out-Of-Band-Introduction) that links the service endpoint URL to the SAID of the respective block <xref target="OOBI_ID"/>. Alternatively, the issuer may provide as an attachment at issuance a copy of the referenced contract associated with the whole rule section or any clause. In either case, after a successful issuance exchange, the Issuee or holder of any ACDC will have either a copy or a means of obtaining a copy of any referenced contracts in whole or in part of all ACDCs so issued. That Issuee or recipient will then have everything it needs to subsequently make a successful presentation or disclosure to a Disclosee. This is the essence of percolated discovery.</t>
      </section>
    </section>
    <section anchor="disclosure-specific-bespoke-issued-acdcs">
      <name>Disclosure-Specific (Bespoke) Issued ACDCs</name>
      <t>The ACDC chaining enables disclosure-specific issuance of bespoke ACDCs. A given Discloser of an ACDC issued by some Issuer may want to augment the disclosure with additional contractual obligations or additional information sourced by the Discloser where those augmentations are specific to a given context such as a specific Disclosee. Instead of complicating the presentation exchange to accommodate such disclosure-specific augmentations, a given Disloser issues its own bespoke ACDC that includes the other ACDC of the other Issuer by reference via an edge in the bespoke ACDC. This means that the normal validation logic and tooling for a chained ACDC can be applied without complicating the presentation exchange logic. Furthermore, attributes in other ACDCs pointed to by edges in the bespoke ACDC may be addressed by attributes in the bespoke ACDC using JSON Pointer or CESR-Proof SAD Path references that are relative to the node SAID in the edge <xref target="RFC6901"/><xref target="Proof_ID"/>.</t>
      <t>For example, this approach enables the bespoke ACDC to identify (name) the Disclosee directly as the Issuee of the bespoke ACDC. This enables contractual legal language in the rule section of the bespoke ACDC that reference the Issuee of that ACDC as a named party. Signing the agreement to the offer of that bespoke ACDC consummates a contract between named Issuer and named Issuee. This approach means that custom or bespoke presentations do not need additional complexity or extensions. Extensibility comes from reusing the tooling for issuing ACDCs to issue a bespoke or disclosure-specific ACDC. When the only purpose of the bespoke ACDC is to augment the contractual obligations associated with the disclosure then the attribute section, <tt>a</tt>, field value of the bespoke ACD may be empty or it may include properties whose only purpose is to support the bespoke contractual language.</t>
      <t>Similarly, this approach effectively enables a type of <em>rich presentation</em> or combined disclosure where multiple ACDCs may be referenced by edges in the bespoke ACDC that each contributes some attribute(s) to the effective set of attributes referenced in the bespoke ACDC. The bespoke ACDC enables the equivalent of a <em>rich presentation</em> without requiring any new tooling <xref target="Abuse"/>.</t>
      <section anchor="example-bespoke-issued-acdc">
        <name>Example Bespoke Issued ACDC</name>
        <t>Consider the following disclosure-specific ACDC. The Issuer is the Discloser, the Issuee is the Disclosee. The rule section includes a context-specific (anti) assimilation clause that limits the use of the information to a single one-time usage purpose, that is in this case, admittance to a restaurant.  The ACDC includes an edge that references some other ACDC that may for example be a coupon or gift card. The attribute section includes the date and place of admittance.</t>
        <sourcecode type="json"><![CDATA[
{
  "v":  "ACDC10JSON00011c_",
  "d":  "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "i":  "did:keri:EmkPreYpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPM",
  "s":  "EGGeIZ8a8FWS7a646jrVPTzlSkUPqs4reAXRZOkogZ2A",
  "a":
  {
    "d": "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
    "i": "did:keri:EpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPmkPreYA",
    "date": "2022-08-22T17:50:09.988921+00:00",
    "place": "GoodFood Restaurant, 953 East Sheridan Ave, Cody WY 82414 USA"
  },
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "other":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA"
    }
  },
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "Assimilation":
    {
      "d": "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
      "l": "Issuee hereby explicitly and unambiguously agrees to NOT assimilate, aggregate, correlate, or otherwise use in combination with other information available to the Issuee, the information, in whole or in part, referenced by this container or any containers recursively referenced by the edge section, for any purpose other than that expressly permitted by the Purpose clause."
    },
    "Purpose":
    {
      "d": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw",
      "l": "One-time admittance of Issuer by Issuee to eat at place on date as specified in attribute section."
    }
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="informative-examples">
      <name>Informative Examples</name>
      <section anchor="public-acdc-with-compact-and-uncompated-variants">
        <name>Public ACDC with Compact and Uncompated Variants</name>
        <t>### Public Compact Variant</t>
        <sourcecode type="json"><![CDATA[
{
  "v":  "ACDC10JSON00011c_",
  "d":  "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "i":  "did:keri:EmkPreYpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPM",
  "ri": "did:keri:EymRy7xMwsxUelUauaXtMxTfPAMPAI6FkekwlOjkggt",
  "s":  "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "a":  "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
  "e":  "ERH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZIl3MOA",
  "r":  "Ee71iheqcywJcnjtJtQIYPvAu6DZIl3MORH3dCdoFOLB"
}
]]></sourcecode>
        <section anchor="public-uncompacted-variant">
          <name>Public Uncompacted Variant</name>
          <sourcecode type="json"><![CDATA[
{
  "v":  "ACDC10JSON00011c_",
  "d":  "EBdXt3gIXOf2BBWNHdSXCJnFJL5OuQPyM5K0neuniccM",
  "i":  "did:keri:EmkPreYpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPM",
  "ri": "did:keri:EymRy7xMwsxUelUauaXtMxTfPAMPAI6FkekwlOjkggt",
  "s":  "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "a":
  {
    "d": "EgveY4-9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PY",
    "i": "did:keri:EpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPmkPreYA",
    "score": 96,
    "name": "Jane Doe"
  },
  "e":
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "s": "EiheqcywJcnjtJtQIYPvAu6DZAIl3MORH3dCdoFOLe71",
      "w": "high"
    }
  },
  "r":
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer":
    {
      "d": "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
      "l": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE"
    },
    "liabilityDisclaimer":
    {
      "d": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw",
      "l": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="composed-schema-that-supports-both-public-compact-and-uncompacted-variants">
          <name>Composed Schema that Supports both Public Compact and Uncompacted Variants</name>
          <sourcecode type="json"><![CDATA[
{
  "$id": "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Public ACDC",
  "description": "Example JSON Schema Public ACDC.",
  "credentialType": "PublicACDCExample",
  "type": "object",
   "required":
  [
    "v",
    "d",
    "i",
    "ri",
    "s",
    "a",
    "e",
    "r"
  ],
  "properties":
  {
    "v":
    {
      "description": "ACDC version string",
      "type": "string"
    },
    "d":
    {
     "description": "ACDC SAID",
      "type": "string"
    },
    "i":
    {
      "description": "Issuer AID",
      "type": "string"
    },
    "ri":
    {
      "description": "credential status registry ID",
      "type": "string"
    },
    "s":
    {
      "description": "schema section",
      "oneOf":
      [
        {
          "description": "schema section SAID",
          "type": "string"
        },
        {
          "description": "schema detail",
          "type": "object"
        }
      ]
    },
    "a":
    {
      "description": "attribute section",
      "oneOf":
      [
        {
          "description": "attribute section SAID",
          "type": "string"
        },
        {
          "description": "attribute detail",
          "type": "object",
          "required":
          [
            "d",
            "i",
            "score",
            "name"
          ],
          "properties":
          {
            "d":
            {
              "description": "attribute section SAID",
              "type": "string"
            },
            "i":
            {
              "description": "Issuee AID",
              "type": "string"
            },
            "score":
            {
              "description": "test score",
              "type": "integer"
            },
            "name":
            {
              "description": "test taker full name",
              "type": "string"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "e":
    {
      "description": "edge section",
      "oneOf":
      [
        {
          "description": "edge section SAID",
          "type": "string"
        },
        {
          "description": "edge detail",
          "type": "object",
          "required":
          [
            "d",
            "boss"
          ],
          "properties":
          {
            "d":
            {
              "description": "edge section SAID",
              "type": "string"
            },
            "boss":
            {
              "description": "boss edge",
              "type": "object",
              "required":
              [
                "d",
                "n",
                "s",
                "w"
              ],
              "properties":
              {
                "d":
                {
                  "description": "edge SAID",
                  "type": "string"
                },
                "n":
                {
                  "description": "far node SAID",
                  "type": "string"
                },
                "s":
                {
                  "description": "far node schema SAID",
                  "type": "string",
                  "const": "EiheqcywJcnjtJtQIYPvAu6DZAIl3MORH3dCdoFOLe71"
                },
                "w":
                {
                  "description": "edge weight",
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "r":
    {
      "description": "rule section",
      "oneOf":
      [
        {
          "description": "rule section SAID",
          "type": "string"
        },
        {
          "description": "rule detail",
          "type": "object",
          "required":
          [
            "d",
            "warrantyDisclaimer",
            "liabilityDisclaimer"
          ],
          "properties":
          {
            "d":
            {
              "description": "edge section SAID",
              "type": "string"
            },
            "warrantyDisclaimer":
            {
              "description": "warranty disclaimer clause",
              "type": "object",
              "required":
              [
                "d",
                "l"
              ],
              "properties":
              {
                "d":
                {
                  "description": "clause SAID",
                  "type": "string"
                },
                "l":
                {
                  "description": "legal language",
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "liabilityDisclaimer":
            {
              "description": "liability disclaimer clause",
              "type": "object",
              "required":
              [
                "d",
                "l"
              ],
              "properties":
              {
                "d":
                {
                  "description": "clause SAID",
                  "type": "string"
                },
                "l":
                {
                  "description": "legal language",
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="selective-disclosure">
      <name>Selective Disclosure</name>
      <t>As explained previously, the primary difference between <em>partial disclosure</em> and <em>selective disclosure</em> is determined by the correlatability with respect to its encompassing block after <em>full disclosure</em> of the detailed field value. A <em>partially disclosable</em> field becomes correlatable to its encompassing block after its <em>full disclosure</em>. Whereas a <em>selectively disclosable</em> field may be excluded from the <em>full disclosure</em> of any other selectively disclosable fields in its encompassing block. After selective disclosure, the selectively disclosed fields are not correlatable to the so-far undisclosed but selectively disclosable fields in the same encompassing block. In this sense, <em>full disclosure</em> means detailed disclosure of the selectively disclosed attributes not detailed disclosure of all selectively disclosable attributes.</t>
      <t>Recall that <em>partial</em> disclosure is an essential mechanism needed to support chain-link confidentiality <xref target="CLC"/>. The chain-link confidentiality exchange <em>offer</em> requires <em>partial disclosure</em>, and <em>full disclosure</em> only happens after <em>acceptance</em> of the <em>offer</em>. <em>Selective</em> disclosure, on the other hand, is an essential mechanism needed to unbundle in a correlation minimizing way a single commitment by an Issuer to a bundle of fields (i.e. a nested block or array of fields). This allows separating a "stew" of "ingredients" (attributes) into its constituent "ingredients" (attributes) without correlating the constituents via the stew.</t>
      <t>ACDCs, as a standard, benefit from a minimally sufficient approach to selective disclosure that is simple enough to be universally implementable and adoptable. This does not preclude support for other more sophisticated but optional approaches. But the minimally sufficient approach should be universal so that at least one selective disclosure mechanism be made available in all ACDC implementations. To clarify, not all instances of an ACDC must employ the minimal selective disclosure mechanisms as described herein but all ACDC implementations must support any instance of an ACDC that employs the minimal selective disclosure mechanisms as described above.</t>
      <section anchor="tiered-selective-disclosure-mechanisms">
        <name>Tiered Selective Disclosure Mechanisms</name>
        <t>The ACDC chaining mechanism reduces the need for selective disclosure in some applications. Many non-ACDC verifiable credentials provide bundled precisely because there is no other way to associate the attributes in the bundle. These bundled credentials could be refactored into a graph of ACDCs. Each of which is separately disclosable and verifiable thereby obviating the need for selective disclosure.</t>
        <t>Nonetheless, some applications require bundled attributes and therefore may benefit from the independent selective disclosure of bundled attributes. This is provided by <strong><em>selectively disclosable attribute</em></strong> ACDCs.</t>
        <t>The use of a revocation registry is an example of a type of bundling, not of attributes in a credential, but uses of a credential in different contexts. Unbundling the usage contexts may be beneficial. This is provided by <strong><em>bulk-issued</em></strong> ACDCs.</t>
        <t>Finally, in the case where the correlation of activity of an Issuee across contexts even when the ACDC used in those contexts is not correlatable may be addressed of a variant of bulk-issued ACDCs that have <strong><em>unique issuee AIDs</em></strong> with an independent TEL registry per issuee instance. This provides non-repudiable (recourse supporting) disclosure while protecting from the malicious correlation between second parties and other second and/or third-parties as to who (Issuee) is involved in a presentation.</t>
        <t>In any case, the set of selective disclosure mechanisms we call tiered selective disclosure which allows a user or implementer to better trade-off protection vs. complexity and performance. A tiered selective disclosure me</t>
      </section>
      <section anchor="basic-selective-disclosure-mechanism">
        <name>Basic Selective Disclosure Mechanism</name>
        <t>The basic selective disclosure mechanism shared by all is comprised of a single aggregated blinded commitment to a list of blinded commitments to undisclosed values. Membership of any blinded commitment to a value in the list of aggregated blinded commitments may be proven without leaking (disclosing) the unblinded value belonging to any other blinded commitment in the list. This enables provable selective disclosure of the unblinded values. When a non-repudiable digital signature is created on the aggregated blinded commitment then any disclosure of a given value belonging to a given blinded commitment in the list is also non-repudiable. This approach does not require any more complex cryptography than digests and digital signatures. This satisfies the design ethos of minimally sufficient means. The primary drawback of this approach is verbosity. It trades ease and simplicity and <em>adoptability</em> of implementation for size. Its verbosity may be mitigated by replacing the list of blinded commitments with a Merkle tree of those commitments where the Merkle tree root becomes the aggregated blinded commitment.</t>
        <t>Given sufficient cryptographic entropy of the blinding factors, collision resistance of the digests, and unforgeability of the digital signatures, either inclusion proof format (list or Merkle tree digest) prevents a potential disclosee or adversary from discovering in a computationally feasible way the values of any undisclosed blinded value details from the combination of the schema of those value details and either the aggregated blinded commitment and/or the list of aggregated blinded commitments <xref target="Hash"/><xref target="HCR"/><xref target="QCHC"/><xref target="Mrkl"/><xref target="TwoPI"/><xref target="MTSec"/>. A potential disclosee or adversary would also need both the blinding factor and the actual value details.</t>
        <t>Selective disclosure in combination with partial disclosure for chain-link confidentiality provides comprehensive correlation minimization because a discloser may use a non-disclosing metadata ACDC prior to acceptance by the disclosee of the terms of the chain-link confidentiality expressed in the rule section <xref target="CLC"/>. Thus only malicious disclosees who violate chain-link confidentiality may correlate between independent disclosures of the value details of distinct members in the list of aggregated blinded commitments. Nonetheless, they are not able to discover any as-of-yet undisclosed (unblinded) value details.</t>
      </section>
      <section anchor="selectively-disclosable-attribute-acdc">
        <name>Selectively Disclosable Attribute ACDC</name>
        <t>In a <strong><em>selectively disclosable attribute</em></strong> ACDC, the set of attributes is provided as an array of blinded blocks. Each attribute in the set has its own dedicated blinded block. Each block has its own SAID, <tt>d</tt>, field and UUID, <tt>u</tt>, field in addition to its attribute field or fields. When an attribute block has more than one attribute field then the set of fields in that block are not independently selectively disclosable but <bcp14>MUST</bcp14> be disclosed together as a set. Notable is that the field labels of the selectively disclosable attributes are also blinded because they only appear within the blinded block. This prevents un-permissioned correlation via contextualized variants of a field label that appear in a selectively disclosable block. For example, localized or internationalized variants where each variant's field label(s) each use a different language or some other context correlatable information in the field labels themselves.</t>
        <t>A selectively-disclosable attribute section appears at the top level using the field label <tt>A</tt>. This is distinct from the field label <tt>a</tt> for a non-selectively-disclosable attribute section. This makes clear (unambiguous) the semantics of the attribute section's associated schema. This also clearly reflects the fact that the value of a compact variant of selectively-disclosable attribute section is an "aggregate" not a SAID. As described previously, the top-level selectively-disclosable attribute aggregate section, <tt>A</tt>, field value is an aggregate of cryptographic commitments used to make a commitment to a set (bundle) of selectively-disclosable attributes. The derivation of its value depends on the type of selective disclosure mechanism employed. For example, the aggregate value could be the cryptographic digest of the concatenation of an ordered set of cryptographic digests, a Merkle tree root digest of an ordered set of cryptographic digests, or a cryptographic accumulator.</t>
        <t>The <em>Issuee</em> attribute block is absent from an uncompacted untargeted selectively disclosable ACDC as follows:</t>
        <sourcecode type="json"><![CDATA[
{
  "A":
  [
    {
      "d": "ELIr9Bf7V_NHwY1lkgveY4-Frn9y2PY9XgOcLxUderzw",
      "u": "0AG7OY1wjaDAE0qHcgNghkDa",
      "score": 96
    },
    {
      "d": "E9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PYgveY4-",
      "u": "0AghkDaG7OY1wjaDAE0qHcgN",
      "name": "Jane Doe"
    }
  ]
}
]]></sourcecode>
        <t>The <em>Issuee</em> attribute block is present in an uncompacted untargeted selectively disclosable ACDC as follows:</t>
        <sourcecode type="json"><![CDATA[
{
  "A":
  [
    {
      "d": "ErzwLIr9Bf7V_NHwY1lkFrn9y2PYgveY4-9XgOcLxUde",
      "u": "0AqHcgNghkDaG7OY1wjaDAE0",
      "i": "did:keri:EpZfFk66jpf3uFv7vklXKhzBrAqjsKAn2EDIPmkPreYA"
    },
    {
      "d": "ELIr9Bf7V_NHwY1lkgveY4-Frn9y2PY9XgOcLxUderzw",
      "u": "0AG7OY1wjaDAE0qHcgNghkDa",
      "score": 96
    },
    {
      "d": "E9XgOcLxUderzwLIr9Bf7V_NHwY1lkFrn9y2PYgveY4-",
      "u": "0AghkDaG7OY1wjaDAE0qHcgN",
      "name": "Jane Doe"
    }
  ]
}
]]></sourcecode>
        <section anchor="blinded-attribute-array">
          <name>Blinded Attribute Array</name>
          <t>Given that each attribute block's UUID, <tt>u</tt>, field has sufficient cryptographic entropy, then each attribute block's SAID, <tt>d</tt>, field provides a secure cryptographic digest of its contents that effectively blinds the attribute value from discovery given only its Schema and SAID. To clarify, the adversary despite being given both the schema of the attribute block and its  SAID, <tt>d</tt>, field, is not able to discover the remaining contents of the attribute block in a computationally feasible manner such as a rainbow table attack <xref target="RB"/><xref target="DRB"/>.  Therefore the UUID, <tt>u</tt>, field of each attribute block enables the associated SAID, <tt>d</tt>, field to securely blind the block's contents notwithstanding knowledge of the block's schema and that SAID, <tt>d</tt>, field.  Moreover, a cryptographic commitment to that SAID, <tt>d</tt>, field does not provide a fixed point of correlation to the associated attribute (SAD) field values themselves unless and until there has been specific disclosure of those field values themselves.</t>
          <t>Given a total of <em>N</em> elements in the attributes array, let <em>a<sub>i</sub></em> represent the SAID, <tt>d</tt>, field of the attribute at zero-based index <em>i</em>. More precisely the set of attributes is expressed as the ordered set,</t>
          <t><em>{a<sub>i</sub> for all i in {0, ..., N-1}}</em>.</t>
          <t>The ordered set of <em>a<sub>i</sub></em>  may be also expressed as a list, that is,</t>
          <t><em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em>.</t>
        </section>
        <section anchor="composed-schema-for-selectively-disclosable-attribute-section">
          <name>Composed Schema for Selectively Disclosable Attribute Section</name>
          <t>Because the selectively-disclosable attributes are provided by an array (list), the uncompacted variant in the schema uses an array of items and the <tt>anyOf</tt> composition operator to allow one or more of the items to be disclosed without requiring all to be disclosed. Thus both the <tt>oneOf</tt> and <tt>anyOf</tt> composition operators are used. The <tt>oneOf</tt> is used to provide compact partial disclosure of the aggregate, <em>A</em>, as the value of the top-level selectively-disclosable attribute section, <tt>A</tt>, field in its compact variant and the nested <tt>anyOf</tt> operator is used to enable selective disclosure in the uncompacted selectively-disclosable variant.</t>
          <sourcecode type="json"><![CDATA[
{
  "A":
  {
    "description": "selectively disclosable attribute aggregate section",
    "oneOf":
    [
      {
        "description": "attribute aggregate",
        "type": "string"
      },
      {
        "description": "selectively disclosable attribute details",
        "type": "array",
        "uniqueItems": true,
        "items":
        {
          "anyOf":
          [
            {
              "description": "issuer attribute",
              "type": "object",
              "required":
              [
                "d",
                "u",
                "i"
              ],
              "properties":
              {
                "d":
                {
                  "description": "attribute SAID",
                  "type": "string"
                },
                "u":
                {
                  "description": "attribute UUID",
                  "type": "string"
                },
                "i":
                {
                  "description": "issuer SAID",
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            {
              "description": "score attribute",
              "type": "object",
              "required":
              [
                "d",
                "u",
                "score"
              ],
              "properties":
              {
                "d":
                {
                  "description": "attribute SAID",
                  "type": "string"
                },
                "u":
                {
                  "description": "attribute UUID",
                  "type": "string"
                },
                "score":
                {
                  "description": "score value",
                  "type": "integer"
                }
              },
              "additionalProperties": false
            },
            {
              "description": "name attribute",
              "type": "object",
              "required":
              [
                "d",
                "u",
                "name"
              ],
              "properties":
              {
                "d":
                {
                  "description": "attribute SAID",
                  "type": "string"
                },
                "u":
                {
                  "description": "attribute UUID",
                  "type": "string"
                },
                "name":
                {
                  "description": "name value",
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          ]
        }
      }
    ],
    "additionalProperties": false
  }
}
]]></sourcecode>
        </section>
        <section anchor="inclusion-proof-via-aggregated-list-digest">
          <name>Inclusion Proof via Aggregated List Digest</name>
          <t>All the <em>a<sub>i</sub></em> in the list are aggregated into a single aggregate digest denoted <em>A</em> by computing the digest of their ordered concatenation. This is expressed as follows:</t>
          <t><em>A = H(C(a<sub>i</sub> for all i in {0, ..., N-1}))</em> where <em>H</em> is the digest (hash) operator and <em>C</em> is the concatentation operator.</t>
          <t>To be explicit, using the targeted example above, let <em>a<sub>0</sub></em> denote the SAID of the <em>Issuee</em> attribute, <em>a<sub>1</sub></em> denote the SAID of the <em>score</em> attribute, and <em>a<sub>2</sub></em> denote the SAID of the <em>name</em> attribute then the aggregated digest <em>A</em> is computed as follows:</t>
          <t><em>A = H(C(a<sub>0</sub>, a<sub>1</sub>, a<sub>2</sub>))</em>.</t>
          <t>Equivalently using <em>+</em> as the infix concatenation operator, we have,</t>
          <t><em>A = H(a<sub>0</sub> + a<sub>1</sub> + a<sub>2</sub>)</em></t>
          <t>Given sufficient collision resistance of the digest operator, the digest of an ordered concatenation is not subject to a birthday attack on its concatenated elements <xref target="BDC"/><xref target="BDay"/><xref target="QCHC"/><xref target="HCR"/><xref target="Hash"/>.</t>
          <t>In compact form, the value of the selectively-disclosable top-level attribute section, <tt>A</tt>, field is set to the aggregated value <em>A</em>. This aggregate <em>A</em> makes a blinded cryptographic commitment to the all the ordered elements in the list,</t>
          <t><em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em>.</t>
          <t>Moreover because each <em>a<sub>i</sub></em> element also makes a blinded commitment to its block's (SAD) attribute value(s), disclosure of any given <em>a<sub>i</sub></em> element does not expose or disclose any discoverable information detail about either its own or another block's attribute value(s). Therefore one may safely disclose the full list of <em>a<sub>i</sub></em> elements without exposing the blinded block attribute values.</t>
          <t>Proof of inclusion in the list consists of checking the list for a matching value. A computationally efficient way to do this is to create a hash table or B-tree of the list and then check for inclusion via lookup in the hash table or B-tree.</t>
          <t>To protect against later forgery given a later compromise of the signing keys of the Issuer, the issuer <bcp14>MUST</bcp14> anchor an issuance proof digest seal to the ACDC in its KEL. This seal binds the signing key state to the issuance. There are two cases. In the first case, an issuance/revocation registry is used. In the second case, an issuance/revocation registry is not used.</t>
          <t>When the ACDC is registered using an issuance/revocation TEL (Transaction Event Log) then the issuance proof seal digest is the SAID of the issuance (inception) event in the ACDC's TEL entry. The issuance event in the TEL includes the SAID of the ACDC. This binds the ACDC to the issuance proof seal in the Issuer's KEL through the TEL entry.</t>
          <t>When the ACDC is not registered using an issuance/revocation TEL then the issuance proof seal digest is the SAID of the ACDC itself.</t>
          <t>In either case, this issuance proof seal makes a verifiable binding between the issuance of the ACDC and the key state of the Issuer at the time of issuance. Because aggregated value <em>A</em> provided as the attribute section, <tt>A</tt>, field, value is bound to the SAID of the ACDC which is also bound to the key state via the issuance proof seal, the attribute details of each attribute block are also bound to the key state.</t>
          <t>The requirement of an anchored issuance proof seal means that the forger Must first successfully publish in the KEL of the issuer an inclusion proof digest seal bound to a forged ACDC. This makes any forgery attempt detectable. To elaborate, the only way to successfully publish such a seal is in a subsequent interaction event in a KEL that has not yet changed its key state via a rotation event. Whereas any KEL that has changed its key state via a rotation must be forked before the rotation. This makes the forgery attempt either both detectable and recoverable via rotation in any KEL that has not yet changed its key state or detectable as duplicity in any KEL that has changed its key state. In any event, the issuance proof seal ensures detectability of any later attempt at forgery using compromised keys.</t>
          <t>Given that aggregate value <em>A</em> appears as the compact value of the top-level attribute section, <tt>A</tt>, field, the selective disclosure of the attribute at index <em>j</em> may be proven to the disclosee with four items of information. These are:</t>
          <ul spacing="normal">
            <li>The actual detailed disclosed attribute block itself (at index <em>j</em>) with all its fields.</li>
            <li>The list of all attribute block digests, <em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em> that includes <em>a<sub>j</sub></em>.</li>
            <li>The ACDC in compact form with selectively-disclosable attribute section, <tt>A</tt>, field value set to aggregate <em>A</em>.</li>
            <li>The signature(s), <em>s</em>, of the Issuee on the ACDC's top-level SAID, <tt>d</tt>, field.</li>
          </ul>
          <t>The actual detailed disclosed attribute block is only disclosed after the disclosee has agreed to the terms of the rules section. Therefore, in the event the potential disclosee declines to accept the terms of disclosure, then a presentation of the compact version of the ACDC and/or the list of attribute digests, <em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em>. does not provide any point of correlation to any of the attribute values themselves. The attributes of block <em>j</em> are hidden by <em>a<sub>j</sub></em> and the list of attribute digests <em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em> is hidden by the aggregate <em>A</em>. The partial disclosure needed to enable chain-link confidentiality does not leak any of the selectively disclosable details.</t>
          <t>The disclosee may then verify the disclosure by:
* computing <em>a<sub>j</sub></em> on the selectively disclosed attribute block details.
* confirming that the computed <em>a<sub>j</sub></em> appears in the provided list <em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em>.
* computing <em>A</em> from the provided list <em>[a<sub>0</sub>, a<sub>1</sub>, ...., a<sub>N-1</sub>]</em>.
* confirming that the computed <em>A</em> matches the value, <em>A</em>, of the selectively-disclosable attribute section, <tt>A</tt>, field value in the provided ACDC.
* computing the top-level SAID, <tt>d</tt>, field of the provided ACDC.
* confirming the presence of the issuance seal digest in the Issuer's KEL
* confirming that the issuance seal digest in the Issuer's KEL is bound to the ACDC top-level SAID, <tt>d</tt>, field either directly or indirectly through a TEL registry entry.
* verifying the provided signature(s) of the Issuee on the provided top-level SAID, <tt>d</tt> field value.</t>
          <t>The last 3 steps that culminate with verifying the signature(s) require determining the key state of the Issuer at the time of issuance, this may require additional verification steps as per the KERI, PTEL, and CESR-Proof protocols.</t>
          <t>A private selectively disclosable ACDC provides significant correlation minimization because a presenter may use a metadata ACDC prior to acceptance by the disclosee of the terms of the chain-link confidentiality expressed in the rule section <xref target="CLC"/>. Thus only malicious disclosees who violate chain-link confidentiality may correlate between presentations of a given private selectively disclosable ACDC. Nonetheless, they are not able to discover any undisclosed attributes.</t>
        </section>
        <section anchor="inclusion-proof-via-merkle-tree-root-digest">
          <name>Inclusion Proof via Merkle Tree Root Digest</name>
          <t>The inclusion proof via aggregated list may be somewhat verbose when there are a large number of attribute blocks in the selectively disclosable attribute section. A more efficient approach is to create a Merkle tree of the attribute block digests and let the aggregate, <em>A</em>, be the Merkle tree root digest <xref target="Mrkl"/>. Specifically, set the value of the top-level selectively-disclosable attribute section, <tt>A</tt>, field to the aggregate, <em>A</em> whose value is the Merkle tree root digest <xref target="Mrkl"/>.</t>
          <t>The Merkle tree needs to have appropriate second-pre-image attack protection of interior branch nodes <xref target="TwoPI"/><xref target="MTSec"/>. The discloser then only needs to provide a subset of digests from the Merkle tree to prove that a given digest, <em>a<sub>j</sub></em> contributed to the Merkle tree root digest, <em>A</em>. For ACDCs with a small number of attributes the added complexity of the Merkle tree approach may not be worth the savings in verbosity.</t>
        </section>
        <section anchor="hierarchical-derivation-at-issuance-of-selectively-disclosable-attribute-acdcs">
          <name>Hierarchical Derivation at Issuance of Selectively Disclosable Attribute ACDCs</name>
          <t>The amount of data transferred between the Issuer and Issuee (or recipient in the case of an untargeted ACDC) at issuance of a selectively disclosable attribute ACDC may be minimized by using a hierarchical deterministic derivation function to derive the value of the UUDI, <tt>u</tt>, fields from a shared secret salt <xref target="Salt"/>.</t>
          <t>There are several ways that the Issuer may securely share that secret salt. Given that an Ed25519 key pair(s) controls each of the Issuer and Issuee  AIDs, (or recipient AID in the case of an untargeted ACDC) a corresponding X15519 asymmetric encryption key pair(s) may be derived from each controlling Ed25519 key pair(s) <xref target="EdSC"/><xref target="PSEd"/><xref target="TMEd"/><xref target="SKEM"/>. An X25519 public key may be securely derived from an Ed25519 public key <xref target="KeyEx"/><xref target="SKEM"/>. Likewise, an X25519 private key may be securely derived from an Ed25519 private key <xref target="KeyEx"/><xref target="SKEM"/>.</t>
          <t>In an interactive approach, the Issuer derives a public asymmetric X25519 encryption key from the Issuee's published Ed25519 public key and the Issuee derives a public asymmetric X25519 encryption key from the Issuer's published Ed25519 public key. The two then interact via a Diffie-Hellman (DH) key exchange to create a shared symmetric encryption key <xref target="KeyEx"/><xref target="DHKE"/>. The shared symmetric encryption key may be used to encrypt the secret salt or the shared symmetric encryption key itself may be used has high entropy cryptographic material from which the secret salt may be derived.</t>
          <t>In a non-interactive approach, the Issuer derives an X25519 asymmetric public encryption key from the Issuee's (recipient's) public Ed25519 public key. The Issuer then encrypts the secret salt with that public asymmetric encryption key and signs the encryption with the Issuer's private Ed25519 signing key. This is transmitted to the Issuee, who verifies the signature and decrypts the secret salt using the private X25519 decryption key derived from the Issuee's private Ed25519 key. This non-interactive approach is more scalable for AIDs that are controlled with a multi-sig group of signing keys. The Issuer can broadcast to all members of the Issuee's (or recipient's) multi-sig signing group individually asymmetrically encrypted and signed copies of the secret salt.</t>
          <t>In addition to the secret salt, the Issuer provides to the Issuee (recipient) a template of the ACDC but with empty UUID, <tt>u</tt>, and SAID, <tt>d</tt>, fields in each block with such fields. Each UUID, <tt>u</tt>, field value is then derived from the shared salt with a path prefix that indexes a specific block. Given the UUID, <tt>u</tt>, field value, the SAID, <tt>d</tt>, field value may then be derived. Likewise, both compact and uncompacted versions of the ACDC may then be generated. The derivation path for the top-level UUID, <tt>u</tt>, field (for private ACDCS), is the string "0" and derivation path the the the zeroth indexed attribute in the attributes array is the string "0/0". Likewise, the next attribute's derivation path is the string "0/1" and so forth.</t>
          <t>In addition to the shared salt and ACDC template, the Issuer also provides its signature(s) on its own generated compact version ACDC. The Issuer may also provide references to the anchoring issuance proof seals. Everything else an Issuee (recipient) needs to make a verifiable presentation/disclosure can be computed at the time of presentation/disclosure by the Issuee.</t>
        </section>
      </section>
      <section anchor="bulk-issued-private-acdcs">
        <name>Bulk-Issued Private ACDCs</name>
        <t>The purpose of bulk issuance is to enable the Issuee to more efficiently use ACDCs with unique SAIDs to isolate and minimize correlation across different usage contexts. Each member of a set of bulk-issued ACDCs is essentially the same ACDC but with a unique SAID. This enables public commitments to each of the unqiue ACDC SAIDs without correlating between them. A private ACDC may be effectively issued in bulk as a set. In its basic form, the only difference between each ACDC is the top-level SAID, <em>d</em>, and UUID, <em>u</em> field values. To elaborate, bulk issuance enables the use of un-correlatable copies while minimizing the associated data transfer and storage requirements involved in the issuance. Essentially each copy (member) of a bulk issued ACDC set shares a template that both the Issuer and Issuee use to generate on-the-fly a given ACDC in that set without requiring that the Issuer and Issuee exchange and store a unique copy of each member of the set independently. This minimizes the data transfer and storage requirements for both the Issuer and the Issuee. The Issuer is only required to provide a single signature for the bulk issued aggregate value <em>B</em> defined below. The same signature may be used to provide proof of issuance of any member of the bulk issued set. The signature on <em>B</em> and <em>B</em> itself are points of correlation but these need only be disclosed after contractually protected disclosure is in place, i.e no permissioned correlation. Thus correlation requires a colluding second party who enagages in unpermissioned correlation.</t>
        <t>An ACDC provenance chain is connected via references to the SAIDs given by the top-level SAID, <tt>d</tt>, fields of the ACDCs in that chain.  A given ACDC thereby makes commitments to other ACDCs. Expressed another way, an ACDC may be a node in a directed graph of ACDCs. Each directed edge in that graph emanating from one ACDC includes a reference to the SAID of some other connected ACDC. These edges provide points of correlation to an ACDC via their SAID reference. Private bulk issued ACDCs enable the Issuee to better control the correlatability of presentations using different presentation strategies.</t>
        <t>For example, the Issuee could use one copy of a bulk-issued private ACDC per presentation even to the same verifier. This strategy would consume the most copies. It is essentially a one-time-use ACDC strategy. Alternatively, the Issuee could use the same copy for all presentations to the same verifier and thereby only permit the verifier to correlate between presentations it received directly but not between other verifiers. This limits the consumption to one copy per verifier. In yet another alternative, the Issuee could use one copy for all presentations in a given context with a group of verifiers, thereby only permitting correlation among that group.</t>
        <t>In this context, we are talking about permissioned correlation. Any verifier that has received a complete presentation of a private ACDC has access to all the fields disclosed by the presentation but the terms of the chain-link confidentiality agreement may forbid sharing those field values outside a given context. Thus an Issuee may use a combination of bulk issued ACDCs with chain-link confidentiality to control permissioned correlation of the contents of an ACDC while allowing the SAID of the ACDC to be more public. The SAID of a private ACDC does not expose the ACDC contents to an un-permissioned third party. Unique SAIDs belonging to bulk issued ACDCs prevent third parties from making a provable correlation between ACDCs via their SAIDs in spite of those SAIDs being public. This does not stop malicious verifiers (as second parties) from colluding and correlating against the disclosed fields but it does limit provable correlation to the information disclosed to a given group of malicious colluding verifiers. To restate unique SAIDs per copy of a set of private bulk issued ACDC prevent un-permissioned third parties from making provable correlations, in spite of those SAIDs being public, unless they collude with malicious verifiers (second parties).</t>
        <t>In some applications, chain-link-confidentiality is insufficient to deter un-permissioned correlation. Some verifiers may be malicious with sufficient malicious incentives to overcome whatever counter incentives the terms of the contractual chain-link confidentiality may impose. In these cases, more aggressive technological anti-correlation mechanisms such as bulk issued ACDCs may be useful. To elaborate, in spite of the fact that chain-link confidentiality terms of use may forbid such malicious correlation, making such correlation more difficult technically may provide better protection than chain-link confidentiality alone <xref target="CLC"/>.</t>
        <t>It is important to note that any group of colluding malicious verifiers may always make a statistical correlation between presentations despite technical barriers to cryptographically provable correlation. We call this contextual linkability. In general, there is no cryptographic mechanism that precludes statistical correlation among a set of colluding verifiers because they may make cryptographically unverifiable or unprovable assertions about information presented to them that may be proven as likely true using merely statistical correlation techniques. Linkability due the context of the disclosure itself may defeat any unlinkability guarantees of a cryptographic technique. Thus without contractually protected disclosure, contextual linkability in spite of cryptographic unlinkability may make the complexity of using advanced cryptographic mechanisms to provide unlinkability an exercise in diminishing returns.</t>
      </section>
      <section anchor="basic-bulk-issuance">
        <name>Basic Bulk Issuance</name>
        <t>The amount of data transferred between the Issuer and Issuee (or recipient of an untargeted ACDC) at issuance of a set of bulk issued ACDCs may be minimized by using a hierarchical deterministic derivation function to derive the value of the UUID, <tt>u</tt>, fields from a shared secret salt <xref target="Salt"/>.</t>
        <t>As described above, there are several ways that the Issuer may securely share a secret salt. Given that the Issuer and Issuee (or recipient when untargeted) AIDs are each controlled by an Ed25519 key pair(s), a corresponding X15519 asymmetric encryption key pair(s) may be derived from the controlling Ed25519 key pair(s) <xref target="EdSC"/><xref target="PSEd"/><xref target="TMEd"/>. An X25519 public key may be securely derived from an Ed25519 public key <xref target="KeyEx"/><xref target="SKEM"/>. Likewise, an X25519 private key may be securely derived from an Ed25519 private key <xref target="KeyEx"/><xref target="SKEM"/>.</t>
        <t>In an interactive approach, the Issuer derives a public asymmetric X25519 encryption key from the Issuee's published Ed25519 public key and the Issuee derives a public asymmetric X25519 encryption key from the Issuer's published Ed25519 public key. The two then interact via a Diffie-Hellman (DH) key exchange to create a shared symmetric encryption key <xref target="KeyEx"/><xref target="DHKE"/>. The shared symmetric encryption key may be used to encrypt the secret salt or the shared symmetric encryption key itself may be used has high entropy cryptographic material from which the secret salt may be derived.</t>
        <t>In a non-interactive approach, the Issuer derives an X25519 asymmetric public encryption key from the Issuee's (or recipient's) public Ed25519 public key. The Issuer then encrypts the secret salt with that public asymmetric encryption key and signs the encryption with the Issuer's private Ed25519 signing key. This is transmitted to the Issuee, who verifies the signature and decrypts the secret salt using the private X25519 decryption key derived from the Issuee's private Ed25519 key. This non-interactive approach is more scalable for AIDs that are controlled with a multi-sig group of signing keys. The Issuer can broadcast to all members of the Issuee's (or recipient's) multi-sig signing group individually asymmetrically encrypted and signed copies of the secret salt.</t>
        <t>In addition to the secret salt, the Issuer also provides a template of the private ACDC but with empty UUID, <tt>u</tt>, and SAID, <tt>d</tt>, fields at the top-level of each nested block with such fields. Each UUID, <tt>u</tt>, field value is then derived from the shared salt with a deterministic path prefix that indexes both its membership in the bulk issued set and its location in the ACDC. Given the UUID, <tt>u</tt>, field value, the associated SAID, <tt>d</tt>, field value may then be derived. Likewise, both full and compact versions of the ACDC may then be generated. This generation is analogous to that described in the section for selective disclosure ACDCs but extended to a set of private ACDCs.</t>
        <t>The initial element in each deterministic derivation path is the string value of the bulk-issued member's copy index <em>k</em>, such as "0", "1", "2" etc.  Specifically, if <em>k</em> denotes the index of an ordered set of bulk issued private ACDCs of size <em>M</em>, the derivation path starts with the string <em>"k"</em> where <em>k</em> is replaced with the decimal or hexadecimal textual representation of the numeric index <em>k</em>. Furthermore, a bulk-issued private ACDC with a private attribute section uses <em>"k"</em> to derive its top-level UUID and <em>"k/0"</em> to derive its attribute section UUID. This hierarchical path is extended to any nested private attribute blocks. This approach is further extended to enable bulk issued selective disclosure ACDCs by using a similar hierarchical derivation path for the UUID field value in each of the selectively disclosable blocks in the array of attributes. For example, the path <em>"k/j"</em> is used to generate the UUID of attribute index <em>j</em> at bulk-issued ACDC index <em>k</em>.</t>
        <t>In addition to the shared salt and ACDC template, the Issuer also provides a list of signatures of SAIDs, one for each SAID of each copy of the associated compact bulk-issued ACDC.  The Issuee (or recipient) can generate on-demand each compact or uncompacted ACDC from the template, the salt, and its index <em>k</em>. The Issuee does not need to store a copy of each bulk issued ACDC, merely the template, the salt, and the list of signatures.</t>
        <t>The Issuer <bcp14>MUST</bcp14> also anchor in its KEL an issuance proof digest seal of the set of bulk issued ACDCs. The issuance proof digest seal makes a cryptographic commitment to the set of top-level SAIDS belonging to the bulk issued ACDCs. This protects against later forgery of ACDCs in the event the Issuer's signing keys become compromised.  A later attempt at forgery requires a new event or new version of an event that includes a new anchoring issuance proof digest seal that makes a cryptographic commitment to the set of newly forged ACDC SAIDS. This new anchoring event of the forgery is therefore detectable.</t>
        <t>Similarly, to the process of generating a selective disclosure attribute ACDC, the issuance proof digest is an aggregate that is aggregated from all members in the bulk-issued set of ACDCs. The complication of this approach is that it must be done in such a way as to not enable provable correlation by a third party of the actual SAIDS of the bulk-issued set of ACDCs. Therefore the actual SAIDs must not be aggregated but blinded commitments to those SAIDs instead. With blinded commitments, knowledge of any or all members of such a set does not disclose the membership of any SAID unless and until it is unblinded. Recall that the purpose of bulk issuance is to allow the SAID of an ACDC in a bulk issued set to be used publicly without correlating it in an un-permissioned provable way to the SAIDs of the other members.</t>
        <t>The basic approach is to compute the aggregate denoted, <em>B</em>, as the digest of the concatenation of a set of blinded digests of bulk issued ACDC SAIDS. Each ACDC SAID is first blinded via concatenation to a UUID (salty nonce) and then the digest of that concatenation is concatenated with the other blinded SAID digests. Finally, a digest of that concatenation provides the aggregate.</t>
        <t>Suppose there are <em>M</em> ACDCs in a bulk issued set. Using zero-based indexing for each member of the bulk issued set of ACDCs, such that index <em>k</em> satisfies <em>k in {0, ..., M-1}, let *d<sub>k</sub></em> denote the top-level SAID of an ACDC in an ordered set of bulk-issued ACDCs. Let <em>v<sub>k</sub></em> denote the UUID (salty nonce) or blinding factor that is used to blind that said. The blinding factor, <em>v<sub>k</sub></em>, is NOT the top-level UUID, <tt>u</tt>, field of the ACDC itself but an entirely different UUID used to blind the ACDC's SAID for the purpose of aggregation. The derivation path for <em>v<sub>k</sub></em> from the shared secret salt is <em>"k."</em> where <em>k</em> is the index of the bulk-issued ACDC.</t>
        <t>Let <em>c<sub>k</sub> = v<sub>k</sub> + d<sub>k</sub></em>,  denote the blinding concatenation where <em>+</em> is the infix concatenation operator.
Then the blinded digest, <em>b<sub>k</sub></em>, is given by,
<em>b<sub>k</sub> = H(c<sub>k</sub>) = H(v<sub>k</sub> + d<sub>k</sub>)</em>,
where <em>H</em> is the digest operator. Blinding is performed by a digest of the concatenation of the binding factor, <em>v<sub>k</sub></em>,  with the SAID, <em>d<sub>k</sub></em> instead of XORing the two. An XOR of two elements whose bit count is much greater than 2 is not vulnerable to a birthday table attack  <xref target="BDay"/><xref target="DRB"/><xref target="BDC"/>. In order to XOR, however, the two must be of the same length. Different SAIDs <bcp14>MAY</bcp14> be of different lengths, however, and <bcp14>MAY</bcp14> therefore require different length blinding factors. Because concatenation is length independent it is simpler to implement.</t>
        <t>The aggregation of blinded digests, <em>B</em>, is given by,
<em>B = H(C(b<sub>k</sub> for all k in {0, ..., M-1}))</em>,
where <em>C</em> is the concatenation operator and <em>H</em> is the digest operator. This aggregate, <em>B</em>, provides the issuance proof digest.</t>
        <t>The aggregate, <em>B</em>, makes a blinded cryptographic commitment to the ordered elements in the list
<em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em>. A commitment to <em>B</em> is a commitment to all the <em>b<sub>k</sub></em> and hence all the d<sub>k</sub>.</t>
        <t>Given sufficient collision resistance of the digest operator, the digest of an ordered concatenation is not subject to a birthday attack on its concatenated elements <xref target="BDC"/><xref target="BDay"/><xref target="QCHC"/><xref target="HCR"/><xref target="Hash"/>.</t>
        <t>Disclosure of any given <em>b<sub>k</sub></em> element does not expose or disclose any discoverable information detail about either the SAID of its associated ACDC or any other ACDC's SAID. Therefore one may safely disclose the full list of <em>b<sub>k</sub></em> elements without exposing the blinded bulk issued SAID values, d<sub>k</sub>.</t>
        <t>Proof of inclusion in the list of blinded digests consists of checking the list for a matching value. A computationally efficient way to do this is to create a hash table or B-tree of the list and then check for inclusion via lookup in the hash table or B-tree.</t>
        <t>A proof of inclusion of an ACDC in a bulk-issued set requires disclosure of <em>v<sub>k</sub></em> which is only disclosed after the disclosee has accepted (agreed to) the terms of the rule section. Therefore, in the event the <em>Disclosee</em> declines to accept the terms of disclosure, then a presentation/disclosure of the compact version of the ACDC does not provide any point of correlation to any other SAID of any other ACDC from the bulk set that contributes to the aggregate <em>B</em>. In addition, because the other SAIDs are hidden by each <em>b<sub>k</sub></em> inside the aggregate, <em>B</em>, even a presentation/disclosure of,
<em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em>
does not provide any point of correlation to the actual bulk-issued ACDC without disclosure of its <em>v<sub>k</sub></em>. Indeed if the <em>Discloser</em> uses a metadata version of the ACDC in its <em>offer</em> then even its SAID is not disclosed until after acceptance of terms in the rule section.</t>
        <t>To protect against later forgery given a later compromise of the signing keys of the Issuer, the issuer <bcp14>MUST</bcp14> anchor an issuance proof seal to the ACDC in its KEL. This seal binds the signing key state to the issuance. There are two cases. In the first case, an issuance/revocation registry is used. In the second case, an issuance/revocation registry is not used.</t>
        <t>When the ACDC is registered using an issuance/revocation TEL (Transaction Event Log) then the issuance proof seal digest is the SAID of the issuance (inception) event in the ACDC's TEL entry. The issuance event in the TEL uses the aggregate value, <em>B</em>, as its identifier value. This binds the aggregate, <em>B</em>, to the issuance proof seal in the Issuer's KEL through the TEL.</t>
        <t>Recall that the usual purpose of a TEL is to provide a verifiable data registry that enables dynamic revocation of an ACDC via a state of the TEL. A verifier checks the state at the time of use to check if the associated ACDC has been revoked. The Issuer controls the state of the TEL. The registry identifier, <tt>ri</tt>, field is used to identify the public registry which usually provides a unique TEL entry for each ACDC. Typically the identifier of each TEL entry is the SAID of the TEL's inception event which is a digest of the event's contents which include the SAID of the ACDC. In the bulk issuance case, however, the TEL's inception event contents include the aggregate, <em>B</em>, instead of the SAID of a given ACDC. Recall that the goal is to generate an aggregate value that enables an Issuee to selectively disclose one ACDC in a bulk-issued set without leaking the other members of the set to un-permissioned parties (second or third).
Using the aggregate, <em>B</em> of blinded ACDC saids as the TEL registry entry identifier allows all members of the bulk-issued set to share the same TEL without any third party being able to discover which TEL any ACDC is using in an un-permissioned provable way. Moreover, a second party may not discover in an un-permissioned way any other ACDCs from the bulk-issued set not specifically disclosed to that second party. In order to prove to which TEL a specific bulk issued ACDC belongs, the full inclusion proof must be disclosed.</t>
        <t>When the ACDC is not registered using an issuance/revocation TEL then the issuance proof seal digest is the aggregate, <em>B</em>, itself.</t>
        <t>In either case, this issuance proof seal makes a verifiable binding between the issuance of all the ACDCs in the bulk issued set and the key state of the Issuer at the time of issuance.</t>
        <t>A <em>Discloser</em> may make a basic provable non-repudiable selective disclosure of a given bulk issued ACDC, at index <em>k</em> by providing to the <em>Disclosee</em> four items of information (proof of inclusion). These are as follows:</t>
        <ul spacing="normal">
          <li>The ACDC in compact form (at index <em>k</em>) where <em>d<sub>k</sub></em> as the value of its top-level SAID, <tt>d</tt>, field.</li>
          <li>The blinding factor, <em>v<sub>k</sub></em> from which <em>b<sub>k</sub> = H(v<sub>k</sub> + d<sub>k</sub>)</em> may be computed.</li>
          <li>The list of all blinded SAIDs, <em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em> that includes <em>b<sub>k</sub></em>.</li>
          <li>A reference to the anchoring seal in the Issuer's KEL or TEL that references the aggregate <em>B</em>. The event that references the seal or the TEL event that references <em>B</em> must be signed by the issuer so the signature on either event itself is sufficient to prove authorized issuance.</li>
        </ul>
        <t>The aggregate <em>B</em> is a point of unpermissioned correlation but not permissioned correlation. To remove <em>B</em> as a point of unpermissioned correlation requires using <em>independent TEL bulk-issued ACDCs</em> described in the section so named below.</t>
        <t>A <em>Disclosee</em> may then verify the disclosure by:</t>
        <ul spacing="normal">
          <li>computing <em>d<sub>j</sub></em> on the disclosed compact ACDC.</li>
          <li>computing <em>b<sub>k</sub> = H(v<sub>k</sub> + d<sub>k</sub>)</em></li>
          <li>confirming that the computed <em>b<sub>k</sub></em> appears in the provided list <em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em>.</li>
          <li>computing the aggregate <em>B</em> from the provided list <em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em>..</li>
          <li>confirming the presence of an issuance seal digest in the Issuer's KEL that makes a commitment to the aggregate, <em>B</em>, either directly or indirectly through a TEL registry entry. This provides proof of authorized issuance.</li>
        </ul>
        <t>The last 3 steps that culminate with verifying the anchoring seal also require verifying the key state of the Issuer at the time of issuance, this may require additional verification steps as per the KERI, PTEL, and CESR-Proof protocols.</t>
        <t>The requirement of an anchored issuance proof seal of the aggregate <em>B</em> means that the forger <bcp14>MUST</bcp14> first successfully publish in the KEL of the issuer an inclusion proof digest seal bound to a set of forged bulk issued ACDCs. This makes any forgery attempt detectable. To elaborate, the only way to successfully publish such a seal is in a subsequent interaction event in a KEL that has not yet changed its key state via a rotation event. Whereas any KEL that has changed its key state via a rotation must be forked before the rotation. This makes the forgery attempt either both detectable and recoverable via rotation in any KEL that has not yet changed its key state or detectable as duplicity in any KEL that has changed its key state. In any event, the issuance proof seal makes any later attempt at forgery using compromised keys detectable.</t>
        <section anchor="inclusion-proof-via-merkle-tree">
          <name>Inclusion Proof via Merkle Tree</name>
          <t>The inclusion proof via aggregated list may be somewhat verbose when there are a very large number of bulk issued ACDCs in a given set. A more efficient approach is to create a Merkle tree of the blinded SAID digests, <em>b<sub>k</sub></em> and set the aggregate <em>B</em> value as the Merkle tree root digest <xref target="Mrkl"/>.</t>
          <t>The Merkle tree needs to have appropriate second-pre-image attack protection of interior branch nodes <xref target="TwoPI"/><xref target="MTSec"/>. The discloser then only needs to provide a subset of digests from the Merkle tree to prove that a given digest, <em>b<sub>k</sub></em> contributed to the Merkle tree root digest. For a small numbered bulk-issued set of ACDCs, the added complexity of the Merkle tree approach may not be worth the savings in verbosity.</t>
        </section>
        <section anchor="bulk-issuance-of-private-acdcs-with-unique-issuee-aids">
          <name>Bulk Issuance of Private ACDCs with Unique Issuee AIDs</name>
          <t>One potential point of provable but un-permissioned correlation among any group of colluding malicious <em>Disclosees</em> (Second-Party verifiers) may arise when the same Issuee AID is used for presentation/disclosure to all <em>Disclosees</em>  in that group. Recall that the contents of private ACDCs are not disclosed except to permissioned <em>Disclosees</em> (Second-Parties). Thus a common <em>Issuee</em> AID would only be a point of correlation for a group of colluding malicious verifiers. But in some cases removing this un-permissioned point of correlation may be desirable.</t>
          <t>One solution to this problem is for the <em>Issuee</em> to use a unique AID for the copy of a bulk-issued ACDC presented to each <em>Disclosee</em> in a given context. This requires that each ACDC copy in the bulk-issued set use a unique <em>Issuee</em> AID. This would enable the <em>Issuee</em> in a given context to minimize provable correlation by malicious <em>Disclosees</em> against any given <em>Issuee</em> AID. In this case, the bulk issuance process may be augmented to include the derivation of a unique Issuee AID in each copy of the bulk-issued ACDC by including in the inception event that defines a given Issuee's self-addressing AID, a digest seal derived from the shared salt and copy index <em>k</em>. The derivation path for the digest seal is <em>"k/0."</em> where <em>k</em> is the index of the ACDC. To clarify <em>"k/0."</em> specifies the path to generate the UUID to be included in the inception event that generates the Issuee AID for the ACDC at index <em>k</em>. This can be generated on-demand by the <em>Issuee</em>. Each unique <em>Issuee</em> AID would also need its own KEL. But generation and publication of the associated KEL can be delayed until the bulk-issued ACDC is actually used. This approach completely isolates a given <em>Issuee</em> AID to a given context with respect to the use of a bulk-issued private ACDC. This protects against even the un-permissioned correlation among a group of malicious Disclosees (Second Parties) via the Issuee AID.</t>
        </section>
      </section>
      <section anchor="blindable-state-tel">
        <name>Blindable State TEL</name>
        <t>In some applications, it is desirable that the current state of a transaction event log (TEL) be hidden or blinded such that the only way for a potential verifier of the state to observe that state is when the controller of a designated AID discloses it at the time of presentation. This designated AID we call the Discloser. Typically for ACDCs that have an Issuee, the Discloser is the Issuee, but the Issuer could designate any AID as the Discloser. Only the Discloser will be able to unblind the state to a potential Disclosee.</t>
        <t>In a blindable state TEL, the state disclosure is interactive. A Disclosee may only observe the state when unblinded via an interactive exchange with the Discloser. After disclosure, the Discloser may then request that the Issuer update the state with a new blinding factor (<em>the blind</em>). The Disclosee cannot then observe the current state of the TEL without yet another disclosure interaction with the Discloser.</t>
        <t>The blind is derived from a secret salt shared between the Issuer and the designated Discloser. The current blind is derived from this salt, and the sequence number of the TEL event is so blinded. To elaborate, the derivation path for the blind is the sequence number of the TEL event, which in combination with the salt, produces a universally unique salty nonce for the blind. Only the Issuer and Discloser have a copy of the secret salt, so only they can derive the current blind. The Issuer provides a service endpoint to which the Discloser can make a signed request to update the blind.  Each new event in the TEL <bcp14>MUST</bcp14> change the blinding factor but <bcp14>MAY</bcp14> or <bcp14>MAY</bcp14> NOT change the actual blinded state. Only the Issuer can change the actual blinded state. Because each updated event in the TEL has a new blinding factor regardless of an actual change of state or not, an observer can not correlate state changes to event updates as long as the Issuer regularly updates the blinding factor by issuing a new TEL event.</t>
        <t>Blindable State TEL events use a unique event type, <tt>upd</tt>. The event state is hidden in the <tt>a</tt> field, whose value is the blinded SAID of a field map that holds the TEL state. The field map's SAID is its <tt>d</tt> field. The blinding factor is provided in the field map's <tt>u</tt> field. The SAID of the associated ACDC is in the field map's <tt>i</tt> field or else the aggregate value for bulk issued ACDCs. The actual state of the TEL for that ACDC is provided by other fields in the <tt>a</tt>, field map. A simple state could use the <tt>s</tt> field for state or status.</t>
        <t>When the <tt>u</tt> field is missing or empty, then the event is not blindable. When the <tt>u</tt> field has sufficient entropy, then the SAID of the enclosing field map effectively blinds the state provided by that map. The discloser must disclose the field map to the Disclosee, who can verify that its SAID matches the SAID in the TEL.  A subsequent update event entered into that TEL will then re-blind the state of the TEL so that any prior Disclosees may no longer verify the current state of the TEL.</t>
        <section anchor="blindable-state-tel-top-level-fields">
          <name>Blindable State TEL Top-Level Fields</name>
          <table>
            <thead>
              <tr>
                <th align="left">Label</th>
                <th align="left">Description</th>
                <th align="left">Notes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">v</td>
                <td align="left">version string</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">d</td>
                <td align="left">event digest</td>
                <td align="left">SAID</td>
              </tr>
              <tr>
                <td align="left">s</td>
                <td align="left">sequence number of event</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">t</td>
                <td align="left">message type  of event</td>
                <td align="left">
                  <tt>upd</tt></td>
              </tr>
              <tr>
                <td align="left">dt</td>
                <td align="left">issuer system data/time in iso format</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">p</td>
                <td align="left">prior event digest</td>
                <td align="left">SAID</td>
              </tr>
              <tr>
                <td align="left">ri</td>
                <td align="left">registry identifier from management TEL</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">ra</td>
                <td align="left">registry anchor to management TEL</td>
                <td align="left"> </td>
              </tr>
              <tr>
                <td align="left">a</td>
                <td align="left">state attributed digest</td>
                <td align="left">SAID</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="blindable-state-tel-attribute-state-fields">
          <name>Blindable State TEL Attribute (state) Fields</name>
          <table>
            <thead>
              <tr>
                <th align="left">Label</th>
                <th align="left">Description</th>
                <th align="left">Notes</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">d</td>
                <td align="left">attribute digest</td>
                <td align="left">SAID</td>
              </tr>
              <tr>
                <td align="left">u</td>
                <td align="left">salty nonce blinding factor</td>
                <td align="left">UUID</td>
              </tr>
              <tr>
                <td align="left">i</td>
                <td align="left">namespaced identifier of VC or aggregate when bulk issued</td>
                <td align="left">SAID or Aggregate</td>
              </tr>
              <tr>
                <td align="left">s</td>
                <td align="left">state value</td>
                <td align="left">
                  <tt>issued</tt> or <tt>revoked</tt></td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
      <section anchor="independent-tel-bulk-issued-acdcs">
        <name>Independent TEL Bulk-Issued ACDCs</name>
        <t>Recall that the purpose of using the aggregate <em>B</em> for a bulk-issued set from which the TEL identifier is derived is to enable a set of bulk-issued ACDCs to share a single public TEL and/or a single anchoring seal in the Issuer's KEL without enabling un-permissioned correlation to any other members of the bulk set by virtue of the shared aggregate <em>B</em> used for either the TEL or anchoring seal in the KEL. When using a TEL this enables the issuance/revocation/transfer state of all copies of a set of bulk-issued ACDCs to be provided by a single TEL which minimizes the storage and compute requirements on the TEL registry while providing selective disclosure to prevent un-permissioned correlation via the public TEL. When using an anchoring seal, this enables one signature to provide proof of inclusion in the bulk-issued aggregate <em>B</em>.</t>
        <t>However, in some applications where chain-link confidentiality does not sufficiently deter malicious provable correlation by Disclosees (Second-Party verifiers), an Issuee may benefit from using ACDC with independent TELs or independent aggregates <em>B</em> but that are still bulk-issued.</t>
        <t>In this case, the bulk issuance process must be augmented so that each uniquely identified copy of the ACDC gets its own TEL entry (or equivalently its own aggregate <em>B</em>) in the registry. Each Disclosee (verifier) of a full presentation/disclosure of a given copy of the ACDC only receives proof of one uniquely identified TEL and can NOT provably correlate the TEL state of one presentation to any other presentation because the ACDC SAID, the TEL identifier, and the signature of the issuer on each aggregate <em>B</em> will be different for each copy. There is, therefore no point of provable correlation, permissioned or otherwise. One could for example, modulate this apprach by having a set of smaller bulk issued sets that are more contextualized than one large bulk issued set.</t>
        <t>The obvious drawbacks of this approach (independent unique TELs for each private ACDC) are that the size of the registry database increases as a multiple of the number of copies of each bulk-issued ACDC and every time an Issuer must change the TEL state of a given set of copies it must change the state of multiple TELs in the registry. This imposes both a storage and computation burden on the registry. The primary advantage of this approach, however, is that each copy of a private ACDC has a uniquely identified TEL. This minimizes un-permissioned Third-Party exploitation via provable correlation of TEL identifiers even with colluding Second-Party verifiers. They are limited to statistical correlation techniques.</t>
        <t>In this case, the set of private ACDCs may or may not share the same Issuee AID because for all intents and purposes each copy appears to be a different ACDC even when issued to the same Issuee. Nonetheless, using unique Issuee AIDs may further reduce correlation by malicious Disclosees (Second-Party verifiers) beyond using independent TELs.</t>
        <t>To summarize the main benefit of this approach, in spite of its storage and compute burden, is that in some applications chain-link confidentiality does not sufficiently deter un-permissioned malicious collusion. Therefore completely independent bulk-issued ACDCs may be used.</t>
      </section>
    </section>
    <section anchor="extensibility">
      <name>Extensibility</name>
      <t>ToDo</t>
      <t>Append-only verifiable data structures have strong security properties that simplify end-verifiability &amp; foster decentralization.</t>
      <t>Append-only provides permission-less extensibility by downstream issuers, presenters, and/or verifiers</t>
      <t>Each ACDC has a universally-unique content-based identifier with a universally-unique content-based schema identifier.</t>
      <t>Fully decentralized name-spacing.</t>
      <t>Custom fields are appended via chaining via one or more custom ACDCs defined by custom schema (type-is-schema).</t>
      <t>No need for centralized permissioned name-space registries to resolve name-space collisions.</t>
      <t>The purposes of a registry now become merely schema discovery or schema blessing for a given context or ecosystem.</t>
      <t>The reach of the registry is tuned to the reach of desired interoperability by the ecosystem participants.</t>
      <t>Human meaningful labels on SAIDs are local context only.</t>
      <t>Versioning is simplified because edges still verify if new schema are backwards compatible. (persistent data structure model).</t>
    </section>
    <section anchor="appendix-performance-and-scalability">
      <name>Appendix: Performance and Scalability</name>
      <t>The compact disclosure and distribute property graph fragment mechanisms in ACDC can be leveraged to enable high performance at scale. Simply using SAIDs and signed SAIDs of ACDCs in whole or in part enables compact but securely attributed and verifiable references to ACDCs to be employed anywhere performance is an issue. Only the SAID and its signature need be transmitted to verify secure attribution of the data represented by the SAID. Later receipt of the data may be verified against the SAID. The signature does not need to be re-verified because a signature on a SAID is making a unique (to within the cryptographic strength of the SAID) commitment to the data represented by the SAID. The actual detailed ACDC in whole or in part may then be cached or provided on-demand or just-in-time.</t>
      <t>Hierarchical decomposition of data into a distributed verifiable property graph, where each ACDC is a distributed graph fragment, enables performant reuse of data or more compactly performant reuse of SAIDs and their signatures. The metadata and attribute sections of each ACDC provide a node in the graph and the edge section of each ACDC provides the edges to that node. Higher-up nodes in the graph with many lower-level nodes need only be transmitted, verified, and cached once per every node or leaf in the branch not redundantly re-transmitted and re-verified for each node or leaf as is the case for document-based verifiable credentials where the whole equivalent of the branched (graph) structure must be contained in one document. This truly enables the bow-tie model popularized by Ricardian contracts, not merely for contracts, but for all data authenticated, authorized, referenced, or conveyed by ACDCs.</t>
    </section>
    <section anchor="appendix-cryptographic-strength-and-security">
      <name>Appendix: Cryptographic Strength and Security</name>
      <section anchor="cryptographic-strength">
        <name>Cryptographic Strength</name>
        <t>For crypto-systems with <em>perfect-security</em>, the critical design parameter is the number of bits of entropy needed to resist any practical brute force attack. In other words, when a large random or pseudo-random number from a cryptographic strength pseudo-random number generator (CSPRNG) <xref target="CSPRNG"/> expressed as a string of characters is used as a seed or private key to a cryptosystem with <em>perfect-security</em>, the critical design parameter is determined by the amount of random entropy in that string needed to withstand a brute force attack. Any subsequent cryptographic operations must preserve that minimum level of cryptographic strength. In information theory <xref target="IThry"/><xref target="ITPS"/> the entropy of a message or string of characters is measured in bits. Another way of saying this is that the degree of randomness of a string of characters can be measured by the number of bits of entropy in that string.  Assuming conventional non-quantum computers, the convention wisdom is that, for systems with information-theoretic or perfect security, the seed/key needs to have on the order of 128 bits (16 bytes, 32 hex characters) of entropy to practically withstand any brute force attack. A cryptographic quality random or pseudo-random number expressed as a string of characters will have essentially as many bits of entropy as the number of bits in the number. For other crypto-systems such as digital signatures that do not have perfect security, the size of the seed/key may need to be much larger than 128 bits in order to maintain 128 bits of cryptographic strength.</t>
        <t>An N-bit long base-2 random number has 2<sup>N</sup> different possible values. Given that no other information is available to an attacker with perfect security, the attacker may need to try every possible value before finding the correct one. Thus the number of attempts that the attacker would have to try maybe as much as 2<sup>N-1</sup>.  Given available computing power, one can easily show that 128 is a large enough N to make brute force attack computationally infeasible.</t>
        <t>Let's suppose that the adversary has access to supercomputers. Current supercomputers can perform on the order of one quadrillion operations per second. Individual CPU cores can only perform about 4 billion operations per second, but a supercomputer will parallelly employ many cores. A quadrillion is approximately 2<sup>50</sup> = 1,125,899,906,842,624. Suppose somehow an adversary had control over one million (2<sup>20</sup> = 1,048,576) supercomputers which could be employed in parallel when mounting a brute force attack. The adversary could then try 2<sup>50</sup> * 2<sup>20</sup> = 2<sup>70</sup> values per second (assuming very conservatively that each try only took one operation).
There are about 3600 * 24 * 365 = 313,536,000 = 2<sup>log<sub>2</sub>313536000</sup>=2<sup>24.91</sup> ~= 2<sup>25</sup> seconds in a year. Thus this set of a million super computers could try 2<sup>50+20+25</sup> = 2<sup>95</sup> values per year. For a 128-bit random number this means that the adversary would need on the order of 2<sup>128-95</sup> = 2<sup>33</sup> = 8,589,934,592 years to find the right value. This assumes that the value of breaking the cryptosystem is worth the expense of that much computing power. Consequently, a cryptosystem with perfect security and 128 bits of cryptographic strength is computationally infeasible to break via brute force attack.</t>
      </section>
      <section anchor="information-theoretic-security-and-perfect-security">
        <name>Information Theoretic Security and Perfect Security</name>
        <t>The highest level of cryptographic security with respect to a cryptographic secret (seed, salt, or private key) is called  <em>information-theoretic security</em> <xref target="ITPS"/>. A cryptosystem that has this level of security cannot be broken algorithmically even if the adversary has nearly unlimited computing power including quantum computing. It must be broken by brute force if at all. Brute force means that in order to guarantee success the adversary must search for every combination of key or seed. A special case of <em>information-theoretic security</em> is called <em>perfect-security</em> <xref target="ITPS"/>.  <em>Perfect-security</em> means that the ciphertext provides no information about the key. There are two well-known cryptosystems that exhibit <em>perfect security</em>. The first is a <em>one-time-pad</em> (OTP) or Vernum Cipher <xref target="OTP"/><xref target="VCphr"/>, the other is <em>secret splitting</em> <xref target="SSplt"/>, a type of secret sharing <xref target="SShr"/> that uses the same technique as a <em>one-time-pad</em>.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<ul spacing="normal">
        <li>
          <tt>SAID</tt> - Self-Addressing Identifier - any identifier which is deterministically generated out of the content, digest of the content</li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Refer to the body of the specification. Security considerations are included in the context of each section. The ACDC specification is security driven so the specification itself is riddled with discussions of the security considerations in the context in which those discussions are most understandable and relevant.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="ACDC_ID" target="https://github.com/trustoverip/tswg-acdc-specification">
          <front>
            <title>IETF ACDC (Authentic Chained Data Containers) Internet Draft</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="KERI_ID" target="https://github.com/WebOfTrust/ietf-keri">
          <front>
            <title>IETF KERI (Key Event Receipt Infrastructure) Internet Draft</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="CESR_ID" target="https://github.com/WebOfTrust/ietf-cesr">
          <front>
            <title>IETF CESR (Composable Event Streaming Representation) Internet Draft</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="SAID_ID" target="https://github.com/WebOfTrust/ietf-said">
          <front>
            <title>IETF SAID (Self-Addressing IDentifier) Internet Draft</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="OOBI_ID" target="https://github.com/WebOfTrust/ietf-oobi">
          <front>
            <title>IETF OOBI (Out-Of-Band-Introduction) Internet Draft</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="PTEL_ID" target="https://github.com/WebOfTrust/ietf-ptel">
          <front>
            <title>IETF PTEL (Public Transaction Event Log) Internet Draft</title>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization>GLEIF</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="Proof_ID" target="https://github.com/WebOfTrust/ietf-cesr-proof">
          <front>
            <title>IETF CESR-Proof Internet Draft</title>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization>GLEIF</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="IPEX_ID" target="https://github.com/WebOfTrust/ietf-ipex">
          <front>
            <title>IPEX (Issuance and Presentation EXchange) Internet Draft</title>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization>GLEIF</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="DIDK_ID" target="https://github.com/WebOfTrust/ietf-did-keri">
          <front>
            <title>IETF DID-KERI Internet Draft</title>
            <author initials="P." surname="Feairheller" fullname="Phil Feairheller">
              <organization>GLEIF</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="RFC6901" target="https://datatracker.ietf.org/doc/html/rfc6901">
          <front>
            <title>JavaScript Object Notation (JSON) Pointer</title>
            <author initials="P. C." surname="Bryan" fullname="Paul C. Bryan">
              <organization/>
            </author>
            <author initials="K." surname="Zyp" fullname="Kris Zyp">
              <organization/>
            </author>
            <author initials="M." surname="Nottingham" fullname="Mark Nottingham">
              <organization/>
            </author>
            <date year="2003"/>
          </front>
        </reference>
        <reference anchor="JSON" target="https://www.json.org/json-en.html">
          <front>
            <title>JavaScript Object Notation Delimeters</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8259" target="https://datatracker.ietf.org/doc/html/rfc8259">
          <front>
            <title>JSON (JavaScript Object Notation)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC4627" target="https://datatracker.ietf.org/doc/rfc4627/">
          <front>
            <title>The application/json Media Type for JavaScript Object Notation (JSON)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSch" target="https://json-schema.org">
          <front>
            <title>JSON Schema</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSch_202012" target="https://json-schema.org/draft/2020-12/release-notes.html">
          <front>
            <title>JSON Schema 2020-12</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CBOR" target="https://en.wikipedia.org/wiki/CBOR">
          <front>
            <title>CBOR Mapping Object Codes</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8949" target="https://datatracker.ietf.org/doc/rfc8949/">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author initials="C." surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
              <organization/>
            </author>
            <date year="2020" month="December" day="04"/>
          </front>
        </reference>
        <reference anchor="MGPK" target="https://github.com/msgpack/msgpack/blob/master/spec.md">
          <front>
            <title>Msgpack Mapping Object Codes</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC3986" target="https://datatracker.ietf.org/doc/html/rfc3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8820" target="https://datatracker.ietf.org/doc/html/rfc8820">
          <front>
            <title>URI Design and Ownership</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="ACDC_WP" target="https://github.com/SmithSamuelM/Papers/blob/master/whitepapers/ACDC.web.pdf">
          <front>
            <title>Authentic Chained Data Containers (ACDC) White Paper</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="VCEnh" target="https://github.com/SmithSamuelM/Papers/blob/master/whitepapers/VC_Enhancement_Strategy.md">
          <front>
            <title>VC Spec Enhancement Strategy Proposal</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="ACDC_TF" target="https://wiki.trustoverip.org/display/HOME/ACDC+%28Authentic+Chained+Data+Container%29+Task+Force">
          <front>
            <title>ACDC (Authentic Chained Data Container) Task Force</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TOIP" target="https://trustoverip.org">
          <front>
            <title>Trust Over IP (ToIP) Foundation</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IETF" target="https://www.ietf.org">
          <front>
            <title>IETF (Internet Engineering Task Force</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KERI" target="https://arxiv.org/abs/1907.02143">
          <front>
            <title>Key Event Receipt Infrastructure (KERI)</title>
            <author initials="S." surname="Smith" fullname="Samuel M. Smith">
              <organization>ProSapien LLC</organization>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="ITPS" target="https://en.wikipedia.org/wiki/Information-theoretic_security">
          <front>
            <title>Information-Theoretic and Perfect Security</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="OTP" target="https://en.wikipedia.org/wiki/One-time_pad">
          <front>
            <title>One-Time-Pad</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="VCphr" target="https://www.ciphermachinesandcryptology.com/en/onetimepad.htm">
          <front>
            <title>Vernom Cipher (OTP)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SSplt" target="https://www.ciphermachinesandcryptology.com/en/secretsplitting.htm">
          <front>
            <title>Secret Splitting</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SShr" target="https://en.wikipedia.org/wiki/Secret_sharing">
          <front>
            <title>Secret Sharing</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CSPRNG" target="https://en.wikipedia.org/wiki/Cryptographically-secure_pseudorandom_number_generator">
          <front>
            <title>Cryptographically-secure pseudorandom number generator (CSPRNG)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IThry" target="https://en.wikipedia.org/wiki/Information_theory">
          <front>
            <title>Information Theory</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CAcc" target="https://en.wikipedia.org/wiki/Accumulator_(cryptography)">
          <front>
            <title>Cryptographic Accumulator</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="XORA" target="https://github.com/SmithSamuelM/Papers/blob/master/whitepapers/XORA.md">
          <front>
            <title>XORA (XORed Accumulator)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="GLEIF" target="https://www.gleif.org/en/">
          <front>
            <title>GLEIF (Global Legal Entity Identifier Foundation)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="vLEI" target="https://github.com/WebOfTrust/vLEI">
          <front>
            <title>vLEI (verifiable Legal Entity Identifier) Definition</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="GLEIF_vLEI" target="https://www.gleif.org/en/lei-solutions/gleifs-digital-strategy-for-the-lei/introducing-the-verifiable-lei-vlei">
          <front>
            <title>GLEIF vLEI (verifiable Legal Entity Identifier)</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="GLEIF_KERI" target="https://github.com/WebOfTrust/vLEI">
          <front>
            <title>GLEIF with KERI Architecture</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="W3C_VC" target="https://www.w3.org/TR/vc-data-model/">
          <front>
            <title>W3C Verifiable Credentials Data Model v1.1</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="W3C_DID" target="https://w3c-ccg.github.io/did-spec/">
          <front>
            <title>W3C Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Salt" target="https://medium.com/@fridakahsas/salt-nonces-and-ivs-whats-the-difference-d7a44724a447">
          <front>
            <title>Salts, Nonces, and Initial Values</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RB" target="https://en.wikipedia.org/wiki/Rainbow_table">
          <front>
            <title>Rainbow Table</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DRB" target="https://www.commonlounge.com/discussion/2ee3f431a19e4deabe4aa30b43710aa7">
          <front>
            <title>Dictionary Attacks, Rainbow Table Attacks and how Password Salting defends against them</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="BDay" target="https://en.wikipedia.org/wiki/Birthday_attack">
          <front>
            <title>Birthday Attack</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="BDC" target="https://auth0.com/blog/birthday-attacks-collisions-and-password-strength/">
          <front>
            <title>Birthday Attacks, Collisions, And Password Strength</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="HCR" target="https://en.wikipedia.org/wiki/Collision_resistance">
          <front>
            <title>Hash Collision Resistance</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="QCHC" target="https://cr.yp.to/hash/collisioncost-20090823.pdf">
          <front>
            <title>Cost analysis of hash collisions: Will quantum computers make SHARCS obsolete?</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="EdSC" target="https://eprint.iacr.org/2020/823">
          <front>
            <title>The Provable Security of Ed25519: Theory and Practice Report</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PSEd" target="https://ieeexplore.ieee.org/document/9519456?denied=">
          <front>
            <title>The Provable Security of Ed25519: Theory and Practice</title>
            <author initials="J." surname="Brendel" fullname="Jacqueline Brendel">
              <organization/>
            </author>
            <author initials="C." surname="Cremers" fullname="Cas Cremers">
              <organization/>
            </author>
            <author initials="D." surname="Jackson" fullname="Dennis Jackson">
              <organization/>
            </author>
            <author initials="M." surname="Zhao" fullname="Mang Zhao">
              <organization/>
            </author>
            <date year="2021" month="May" day="24"/>
          </front>
          <seriesInfo name="2021 IEEE Symposium on Security and Privacy (SP)" value=""/>
        </reference>
        <reference anchor="TMEd" target="https://eprint.iacr.org/2020/1244.pdf">
          <front>
            <title>Taming the many EdDSAs</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSchCp" target="https://json-schema.org/understanding-json-schema/reference/combining.html">
          <front>
            <title>Schema Composition in JSON Schema</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSchRE" target="https://json-schema.org/understanding-json-schema/reference/regular_expressions.html">
          <front>
            <title>Regular Expressions in JSON Schema</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSchId" target="https://json-schema.org/understanding-json-schema/structuring.html#schema-identification">
          <front>
            <title>JSON Schema Identification</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="JSchCx" target="https://json-schema.org/understanding-json-schema/structuring.html#base-uri">
          <front>
            <title>Complex JSON Schema Structuring</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RC" target="https://en.wikipedia.org/wiki/Ricardian_contract">
          <front>
            <title>Ricardian Contract</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="CLC" target="https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2045818">
          <front>
            <title>Chain-Link Confidentiality</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DHKE" target="https://www.infoworld.com/article/3647751/understand-diffie-hellman-key-exchange.html">
          <front>
            <title>Diffie-Hellman Key Exchange</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KeyEx" target="https://libsodium.gitbook.io/doc/key_exchange">
          <front>
            <title>Key Exchange</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="IDSys" target="https://github.com/SmithSamuelM/Papers/blob/master/whitepapers/Identity-System-Essentials.pdf">
          <front>
            <title>Identity System Essentials</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Hash" target="https://en.wikipedia.org/wiki/Cryptographic_hash_function">
          <front>
            <title>Cryptographic Hash Function</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Mrkl" target="https://en.wikipedia.org/wiki/Merkle_tree">
          <front>
            <title>Merkle Tree</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TwoPI" target="https://flawed.net.nz/2018/02/21/attacking-merkle-trees-with-a-second-preimage-attack/">
          <front>
            <title>Second Pre-image Attack on Merkle Trees</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="MTSec" target="https://blog.enuma.io/update/2019/06/10/merkle-trees-not-that-simple.html">
          <front>
            <title>Merkle Tree Security</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DSig" target="https://en.wikipedia.org/wiki/Digital_signature">
          <front>
            <title>Digital Signature</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Level" target="https://en.wikipedia.org/wiki/Security_level">
          <front>
            <title>Security Level</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Twin" target="https://en.wikipedia.org/wiki/Digital_twin">
          <front>
            <title>Digital Twin</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="TMal" target="https://en.wikipedia.org/wiki/Transaction_malleability_problem">
          <front>
            <title>Transaction Malleability</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="PGM" target="http://ceur-ws.org/Vol-2100/paper26.pdf">
          <front>
            <title>The Property Graph Database Model</title>
            <author initials="R." surname="Angles" fullname="Renzo Angles">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
        </reference>
        <reference anchor="Dots" target="https://arxiv.org/pdf/1006.2361.pdf">
          <front>
            <title>Constructions from Dots and Lines</title>
            <author initials="M." surname="Rodriguez" fullname="Marko A. Rodriguez">
              <organization/>
            </author>
            <author initials="P." surname="Neubauer" fullname="Peter Neubauer">
              <organization/>
            </author>
            <date year="2010"/>
          </front>
        </reference>
        <reference anchor="KG" target="https://arxiv.org/pdf/2003.02320.pdf">
          <front>
            <title>Knowledge Graphs</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Abuse" target="https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/final-documents/alice-attempts-abuse-verifiable-credential.md">
          <front>
            <title>Alice Attempts to Abuse a Verifiable Credential</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="SKEM" target="https://eprint.iacr.org/2021/509">
          <front>
            <title>On using the same key pair for Ed25519 and an X25519 based KEM</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 2525?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>ACDC community.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y9bXfbRpYg/F2/Asc9eyKpScmSnTefnZ2VJdlRx7Y0kpyk
e3aOBZKgiJgEGACUzDiZ3/7c16pbBZCSnKS7d5+Zs9uRCaDq1q1bt+777ff7
G03eTLNnyaODRTPJiiYfJoeTNC+yUXKUNmlyWBYN/rOqk82Dw6PDrUcb6WBQ
ZTf4Cfz70cYwbbLrslo+S/JiXG5sjMphkc5gyFGVjpt+Xc/yZtJPh6Nh//GT
jY18Xj1LmmpRN/uPH3/9eH8jrbL0WXJ5enS6cVtW76+rcjHnfyffw7/z4jp5
ib9tvM+W8MLoWXJSNFlVZE3/CGfY2KibtBi9S6dlAbMus3qjnqVV8+6nRdlk
9bOkKDfm+bPkP5py2EvqsmqqbFzDX8sZ/vGfGxspLL2snm0kSR/+f5Iw+Bc7
yQWCTj+V1XVa5D+nTV4Wz5KzqrxI53lWJK9eHdLzbJbm02dJnc7+97wqa3q4
MyxnGxtFWc3gs5vs2Qa8iSh7d3L0jD5q0uo6a54lk6aZ1892d69htsUAP9sl
BJU3WZXPd5v69prxV8+zYT7OhwQGD8G7d3J8+YLGhk26ax+3HP4Sxh+O41GA
/5cXdbR+h5R0tsimyevwGWCnCykjoIxnyf7j/X1c+rfH5yf3Wfr32eB0fInr
382zZtx/D0horRUHSza/zZbJ8Q2sNjnPhlk+b2Bp4yqtAXvDZlFl/6ilHh5f
nH/KUodZXbWWioMlm4flbA50NZhmsuILION0hqfjPJtXWQ2/EVn8o9Z8cXBy
9ClrrtN81FozDpZsXmTTcf9gNILV1bjQkyMk7HGeVf+oRZ6ePv8kGi7LQZuG
cbBk83TR9E/H/efAwvqwqKocAe3+A/fx7PL41acscd5k09YScbBk82wxmAI/
uqzSok5pcULDr8rr+y7zbCd5kaV5Ncmm06wKFns2yacdD2m1L18dn7zoWmVV
luNPPaL9OX7deVD7NPA/Zk0nZ8c/fMqS8nn2IVgMjJNsntT1Ii2GWQKECejy
DCY5/mE4SYvre3PX33mZRydH337KMkf5qPsugQH7dJ/8Q5Zz/uLwi68f73Uv
B15NmyodAtw7uIgdGGoXBKzdSTOb7lbjIX5qF/SX9Ca9GFZ4FZ4OfsyGTfKm
lG3b/MvF6Zut5KzMcZkdq+vLf91q0sU0OdxJnlfLtFjxzrdVXid/W85XPH6d
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
AgxV7NDx3KZqe4YDB0YiSZ6RACO/CkUj7uS9JiENvubXmkbjvHlWO07EsSwR
k54ubZ8ZSa51NupIQU9qnnSW4qAgWND0IMSAlDG1LUN4em4warZwUzfw74HU
kufqwOkaXHDPrql4FLh2RICT+6GAv5EzZvGxjrkfix10Y+NwjR484x4JK5GA
AojpPs4lnx01Y3lDT+ZbK7rYmYhU0D5NSBn6nxazWVQRW772tfebbC6JiPcx
+1IIzARTDaSw+SnTIo2iuZmmWH3K0jVKZFUGsjfmIAWwNyVsIVXXskzKLCoy
cG+forF9m7fbqM4+y8w4vTsaQ/WkPo6pabhUDblqkSjQy44FDbubsYW6dpCo
oNEVBO1jXEcTXwvERc0Lsdvh3crjdR+QWY37R0isKBZSqYLOxRIFzLWG7e20
Ar3xJEfmHm0XY3EDk99wNWLsKHyRtUPGKJTMIaXFVxFNgmAkDjMNB7jcwh1/
jcIrliexDGIhutsQ1G0Exh8vMoxRkBb5anxwdvw92TK4KcspekdgAZwRVsq/
2gUvJJrrlusWcHyUcQxqdpW/pHvJ1c2VOLTI+XOV4/9U9L/YCIJM/ZRGdlVd
EUSHotWQlzJ0FXQl47JvYGg+0jrBUmUOi8lg2L2Nq28NKUUggvGpvUu9gaNF
oCLiBVwPbxDjdSB1dRSuuX9IMfmGtWxs/Nd//RcWbNj4CHz80c2jZ/C/+OLe
YwwCfvz48d7e8N2jHj4c0cPj56MfmifXJz+cjvefP//+zTejix8O/1K8+Mur
z08X/362fP35t4+LDCtVDF/zdzl9p8Xwnh3P3p9V2V/nfxu/eP/FFz/Ox08W
L26+vHk//eHbyc/Pq4Offqy/PSj2j49OzmSACkcwAyxn58svP7y+rT+8zaZv
00X6Q/P6w+X47OD12cHJFy/eZ+9vp6c/vr++bvj7mgF/+sWP1Xdnlz9PL96/
Pfvp5cvs5G9fpV+9+P7iy/SL+mmVHfxw/rfT9+X13/YP+LuUv7u+yf76tP/1
D9enw1cf3gJ1/nz76qT6+vn4y+/evfnm9q970/cvquLr5f7ZX/m7jL87/+bJ
6HBUvjh9lX25l0+yn4bL278Mix+bvzT/fvLXs5uDxRdHfzuZPnl9KvNV/N1d
b/txnz/a+BU3cCOkhSCkqUUM1uv8D6CGBX33+ODN9eT9Ufryy9O/7t3+mB4d
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
bwc3Rmq9AC5uGxDv46EDIV3ZWxsrVAl/Z6JBWhnjHou6zzsbZYh+cKDtVztO
bz3RiH4UQ4nMcD4mgNJ5T7DtEITHxfk5gwQrgxQAXeqD7wqqg/4D1eRkyc3F
OFq0XX2OrnLuzZ7jVgqpY2hqQPcQxA6hBWFnu6JCv/pO9pB+J40hI5ANNE82
xUJTMex1AyoBv2thGCQbgKrLAwqYkac+tK8+fRnyJaKolWABKWrF0vUh4p0S
Oiw7lC71xhmHex5h0fVHIpeXkqlhAUJwT1NQgoARg5mVbYwuKE0Hh9o7yPcp
YpxEtODeSZIv+JjVeSLe71EDOAf2LIxIheFa5pYnIuNSkGTaR56klbqXETRC
xkOPDEyD6RgyZ13lLVO8TROU2bVjiJ/pcoA1RH1bAgRapts4rUuVWgbhAKSS
ihpYFZd6rN++3Tt0gihSPp8znbHIYyWejQ2AxymnrIP5DJ3hE3/g9VOWwVSG
CGTY6EuOcw4Dubwng2UJ39kW2Bi24S7gAbKBBaxOnJcccrTwN85KOiiptASk
XFfFBMOIFy1QWT7NXM2qbCOg/nzq2iZNDxtpIGVjAVYPC9jqR68ghZYmtzae
1h8yiidSbkSgEkf1Yk5i70l57Ihi3rDDpnfFQ5llKrYGqCBErh0demy2ukAX
Hgzk1k1gwzdv3rx16+j/oJUFzVjZ5sN702+7z08ef/v8ePfevT8/ezTd//b+
f1Zf/+eTO88X//Xi6umdb25WhVNxj46e0nslvjctp1+dFU351cPzsxdN8Zf5
X4+/Pvvii+/nx58vvr747cXZ7NtvTv9xr9n74fv2m71q9+GDxy+4gZY6/uMf
i8d//TL/8us/7/82/+L2F983f3px8I/Z/tmrFz+0t5ti79uXf31+Vp/8dZcM
aJt53wgXGd6WpDJp6hIM34x+nXHTDNWMBzsAjeze3N2d3Pxysrt7cOu3X925
+dXNuzt3v/zy7u6t39x0f9yU53Gj4IU/1vX0a/cfAJjz4Rpnd+98nj0ElI99
d2iclOjUBQiOvl9Pr7I//yX7cvf2rdvZq32qfTD+wBwum3sLh/QXreflbezj
j2dj3TPE4ycJlikQb/cQg6QQT0Fr1uWOT50s6gUYAHMCDGUXqlI0IDQCxz7W
citFaIDMOAjO1m0xmJOW3uUXuWsWowprQ4jHMWEcp7T+ccQqiRqyCbxRA4d8
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
KZyfLyoEHvn/OE+W3UjsAgA=

-->

</rfc>
