<?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-rfc2629 version 1.6.6 (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ssmith-acdc-01" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.4 -->
  <front>
    <title abbrev="ACDC">Authentic Chained Data Containers (ACDC)</title>
    <seriesInfo name="Internet-Draft" value="draft-ssmith-acdc-01"/>
    <author initials="S." surname="Smith" fullname="S. Smith">
      <organization>ProSapien LLC</organization>
      <address>
        <email>sam@prosapien.com</email>
      </address>
    </author>
    <date year="2022" month="April" day="25"/>
    <area>TODO</area>
    <workgroup>TODO Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <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>
  </front>
  <middle>
    <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-table">
        <name>Field Label Table</name>
        <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>i</tt></td>
              <td align="left">Identifier (AID)</td>
              <td align="left">Semantics are determined by the context of its 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 salted nonce.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>ri</tt></td>
              <td align="left">Registry Identifier (AID)</td>
              <td align="left">Issuance and/or revocation, transfer, or retraction registry for ACDC.</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="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="aid-autonomic-identifier-fields">
        <name>AID (Autonomic IDentifier) Fields</name>
        <t>Some fields, such as the <tt>i</tt> and <tt>ri</tt> fields, <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 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 within AID 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).</t>
        </section>
      </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="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="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="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>ACDCS employ several mechanisms to protect against <em>unpermissioned exploitation of data</em>. These are:</t>
        <ul spacing="normal">
          <li>Chain-link Confidentiality <xref target="CLC"/></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 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="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 AID",
      "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 field with its own local label. 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.</t>
      <t>Each edge sub-block has one required node, <tt>n</tt>, field. The value of the node, <tt>n</tt>, field is the SAID of the ACDC to which the edge connects.</t>
      <t>A main distinguishing feature of a <em>property graph</em> (PG) is that both nodes but 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 used such as a weight. Weighted directed edges represent degrees of confidence or likelihood. These types of PGs are commonly used for machine learning or reasoning under uncertainty. 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 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:</t>
          <ul spacing="normal">
            <li>Reserved Field Labels (Metadata).
<tt>d</tt> for SAID of block
<tt>o</tt> for operator
<tt>n</tt> for Node SAID (another ACDC)
<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>Many aggregating operators used for automated reasoning such as weighted average, <tt>WAVG</tt>, or ranking aggregation, depends 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 could provide other types of weights but having a default simplifies the default definitions of those weighted operators.</t>
        </section>
        <section anchor="special-unary-operators">
          <name>Special Unary Operators</name>
          <t>Two special unary operators are defined for ACDCs. These are,</t>
          <t>Issuee-To-Issuer, <tt>I2I</tt>, constraint operator
and 
Not-Issuee-To-Issuer, <tt>NI2I</tt>, constraint operator</t>
          <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 Issuee of the node that the edge points to <bcp14>MUST</bcp14> be the Issuer of the current ACDC in which the edge resides. This also means therefore that the ACDC node pointed to by the edge must also be a targeted ACDC.</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 Issuee of the node the edge points to <bcp14>MUST</bcp14> be the Issuer of the current ACDC in which the edge resides is not applicable. To clarify, when operative (present), the <tt>NI2I</tt> operator means that a targeted ACDC as a node of the associated edge may still be valid even when the Issuee of that node's ACDC is not the Issuer of the ACDC in which the edge appears. Furthermore, the ACDC node pointed to by the edge may or may not be a targeted ACDC.</t>
          <t>If both the <tt>I2I</tt> and <tt>NI2I</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 either the <tt>I2I</tt> or <tt>NI2I</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 simple, compact, 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",
      "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 AID",
      "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",
                "w"
              ],
              "properties":
              {
                "d": 
                {
                  "description": "edge SAID",
                  "type": "string"
                },
                "n": 
                {
                  "description": "node SAID",
                  "type": "string"
                },
                "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>
      <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. 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>In either case, the basic selective disclosure mechanism 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 adoptability 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 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>Issuer</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>Issuer</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",
              "properties":
              "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",
              "properties":
              "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",
              "properties":
              "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 use unique ACDC more efficiently SAIDs to isolate and minimize correlation across different usage contexts of essentially the same ACDC while allowing public commitments to the ACDC SAIDs. A private ACDC may be 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. Essentially each copy (member) of a bulk issued ACDC set shares a template that both the Issuer and Issuee use to generate 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.</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 control better 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 [[41]].</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. 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.</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.<br/>
Then the blinded digest, <em>b<sub>k</sub></em>, is given by,<br/>
          <em>b<sub>k</sub> = H(c<sub>k</sub>) = H(v<sub>k</sub> + d<sub>k</sub>)</em>, <br/>
where <em>H</em> is the digest operator.</t>
        <t>The aggregation of blinded digests, <em>B</em>, is given by,<br/>
          <em>B = H(C(b<sub>k</sub> for all k in {0, ..., M-1}))</em>, <br/>
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,<br/>
          <em>[b<sub>0</sub>, b<sub>1</sub>, ...., b<sub>M-1</sub>]</em> <br/>
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>The signature(s), <em>s<sub>k</sub></em>, of the Issuee on the ACDC's top level SAID, <em>d<sub>k</sub></em>, field.</li>
        </ul>
        <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.</li>
          <li>verifying the provided signature(s), <em>s<sub>k</sub></em>, of the Issuee on the provided top level SAID, <em>d<sub>k</sub></em>, field.</li>
        </ul>
        <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>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 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 <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="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 that provides dynamic revocation but without enabling un-permissioned correlation to any other members of the bulk set by virtue of the shared 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.</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 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 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 the SAID of a given copy will all be different for each copy. There is therefore no point of provable correlation permissioned or otherwise.</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="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>
      <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>ACDC community.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+y9+XfbRpYo/Lv+Chz3vBNJTVLesvm8efNkSXaU2JZGkpN0
z5tjgSQoIiYBBgAlM+7M3/7dtepWAaQkd9LLd7rPTEyRQC23bt196ff7W03e
zLJnyYP9ZTPNiiYfJQfTNC+ycXKYNmlyUBYN/lnVyfb+weHBzoOtdDissmt8
Bf5+sDVKm+yqrFbPkryYlFtb43JUpHMYclylk6Zf1/O8mfbT0XjUf/hoaytf
VM+SplrWzeOHD79++HgrrbL0WXJxcniydVNW76+qcrngv5Mf4O+8uEpe4ndb
77MVPDB+lhwXTVYVWdM/xBm2tuomLcbv0llZwKyrrN6q52nVvPt5WTZZ/Swp
yq1F/iz5r6Yc9ZK6rJoqm9TwaTXHD/+9tZXC1svq2VaS9OH/k4SXfz5IznHp
9FVZXaVF/kva5GXxLDmtyvN0kWdF8urVAf2ezdN89iyp0/n/XVRlTT8ORuV8
a6soqzm8dp0924InEWTvjg+f0UtNWl1lzbNk2jSL+tne3hXMthzia3sEoPI6
q/LFXlPfXDH86kU2yif5iJbBQ/DpHR9dvKCx4ZBuO8cdB7+E4YfjeBDg//Ki
jvbvgJLOl9kseR3+BtDpAsoYMONZ8vjh48e49e+Ozo7vsvUfsuHJ5AL3v5dn
zaT/HoDQ2isOlmx/l62So2vYbXKWjbJ80cDWJlVaA/RGzbLK/i5bxT/hPwdH
52efst1RVlet7eJgyfZBOV8Abg1nmez6HFA5neMNOcsWVVbDd4Qaf899n+8f
H37Kvus0H7f2jYMl2+fZbNLfH49hhzVu9vgQEXySZ9Xfc6MnJ88/CZ/LctjG
Zxws2T5ZNv2TSf85kLM+bKwqx4DHf6/zhL9PL45efcoWF002a20RB0u2T5fD
GdCmiyot6pQ2J7j8qry66zZPB8mLLM2raTabZVWw2dNpPuv4kXb78tXR8Ys1
hwmQKCefel37C3y789L2aeC/x77gi+PTox8/ZU/5IvsQ7AbGSbaP63qZFqMs
AewEeHlqkxz9OJqmxdWdye1vuU/4+/D48LtP2eY4H3czFxiwTwzm74aOZy8O
vvj64aNnSeee4Pm0qdIRLH6AOxnAeHsgdu1Nm/lsr5qM8N3Ebuvb9Do9H1XI
IU+GP2WjJnlTyuFtf3t+8mYnOS1z3GxiN5nIcvvyr9tVupwlB4PkebVKi3UP
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
dsiM1Qo9lu+saU9nIktBfzShYehEWs7nUZ1reduX1G+yhSQV3sVyS4EsU0wZ
kHrlJ4yJNIomWpoa9CnLxyhSVRlIz5hOFKy9KeEIqVSWpVRmU5GNevcE7eW7
fNxG+fUZY8Zz3dXwiWvdmAqFK1Vxqy70JGy0xFGMzLVbicoLXcHMPlZ1PPWF
PVz0O2J7NLzbebzvfTKMcVsIifnEqihV0JNYonm5erBlUWvAG09yaJhpu7KK
G5icf/HKPWDsKMzN2qFfFBLmgNIiqwgmATAih5mGo1RugNFfofSJtUYsgViK
9jUChRkX468XmbYo1IrcLT7IOn5/QHFcB6IFkF8vNK535bGyNX1kXtI6u1Kh
DQuxYLS6DUdvDSkFFILxqUlKvYWjUecHsuO7TLHL6nLg8pRx6iAual9q0ui6
Fv5HCmW3N3lr63/+53+w2sHWR6CbD64fgED7AJ989BCDZx8+fPjo0ejdgx7+
OKYfj56Pf2yeXB3/eDJ5/Pz5D2++GZ//ePBt8eLbV5+fLP/zdPX68+8eFhmW
eRi95vdyek8ryT07mr8/rbI/Lf48efH+iy9+WkyeLF9cf3n9fvbjd9Nfnlf7
P/9Uf7dfPD46PD6VASocwQywmp+tvvzw+qb+8DabvU2X6Y/N6w8Xk9P916f7
x1+8eJ+9v5md/PT+6qrh92te+NMvfqq+P734ZXb+/u3pzy9fZsd//ir96sUP
51+mX9RPq2z/x7M/n7wvr/78eJ/fS/m9q+vsT0/7X/94dTJ69eHtOKt+uXl1
XH39fPLl9+/efHPzp0ez9y+q4uvV49M/8XsZv3f2zZPxwbh8cfIq+/JRPs1+
Hq1uvh0VPzXfNv95/KfT6/3lF4d/Pp49eX0i81X83m1P+3GfP9j6FQ9wK0SG
IA6ohQ3WUfv3QIclvfdw/83V9P1h+vLLkz89uvkpPdw/evjzN6Orf6HM3wBl
GGf+sAZnXLWDi2kWJ611YpEWUaXSYUluMm21o1WAVf+WI+p8AuZIQRd8+V6F
WujlJm9mCOUHXVsWjCbDGkUe0wJlW7bOA8dQdA0x4DFGwONZhMK2gmY+eRYf
lYFlXfJYOfwJOICcKudSIZjgz/8iiRYuY48/jPXDUj/k+qFyn2r9kOqHzD30
AP79b5rI25x5qo861TOW5fnvNmiCCjpc+kdGNzuS7+nrX93aw5E7B0beebfh
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
PHtx8MXXDx+hKYlGFV7R6lBo+2FYG1iII6Uvbb6NfuWd4MpoTXmsvFcH1Huy
DiN0KnttY5Wqw/fZMSCDxvjJpq38aBN0SD5xaoQ1AM31yoX0+x5TmpfpW1Sh
V9hOiNLjcj6XMoSOQ2qJPp5DLgsphP4Lp8spyM3NoFbA3JtPZgu7lknfEYpU
DQgfldyhQkh4sk1WkI99kBzxZ+l7xWUayEZZZb7xvb1vSCbwsytAT3QD6/bJ
ggJu5MmP9urT9GVqXx1GsAQA5AgWS9jXUe8uqcPyQ51yXRNIW0GmvRK9vZxM
jQAIS5GZqtVcxinYWV7HtZB06ACp1Vm+tXXO8eIsowX3TpN90dvsXCjqB9+t
MGHf4sIu6zBYIVdYvDJF4lyuDGPQotaK3Zsomu8IRNsQQkbc2UF5u95x/T9c
orI4eAz1M1Ou4Q3R3JYA+Ua8LN93gUFZAOukqgcW2Y1D648f94cgiVK7aJ85
nYjMY0WerS3szJ6PRQnzKTrrMf7CK6gihDkhIhBiox8l7DkM6vLuDBEm/GTb
aGTYwbtACGQjDESfmOcSfmT6NFpRh0SVmss+lkXWp6ji/6+9b11u47jW/c+n
mMPsKpMwSJHUxZIrSRV1ccRYF26RSpw4ruMhMCTHBDDwDEAJVvk8y3mW82Sn
17VX9/QAoCR724lce0cEMNOX1d2r1/Vb8wa4LO9mrppRNhEWcD50bZOqh43U
kLAxB7OHhZfzo1dIJcuTm7henA+1OPe3EQFIDKr5lOTei/LcMcW8Zq9Nu1Zt
ILQMxdgAhQrIv6NDjw1X1+jHg4Hs78E9vLe3t78/+N9oZkE7Vrb55OHwm9nt
i6NvXp4fPHz49xdPhyffPPrr5Ku/Prv7cv7fx4vnd7/emxROxx0MntN7Jb43
LIdfXhV1+eWT8dVxXfxj+s/zr67u3fthen57/tX1F9dXo2++vvzpYX344w/N
14eTgyePj465gYY6/stfiqN/3s/vf/X3ky/ye3fu/VD/7fj0p9HJ1evjH5s7
dXH4zat/vryqLv55QBa0zRzei+1wke1tSSqTpi7BBMz41xk5zVEtebAG0MjB
3sHBzt79nYOD0/0vvry79+Xeg90H9+8/ONj/fM992JPncanghb9U1fAr9/+A
msrbq589uHs7ewI4Hydu2zhB0WkMEC39qBousr//I7t/cGf/Tvb6hPCV+x+a
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
c3eKis2fncZOoc/j8XyCqQL/H3iUbHMTrgIA

-->

</rfc>
