<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.9 (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ssmith-acdc-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.6 -->
  <front>
    <title abbrev="ACDC">Authentic Chained Data Containers (ACDC)</title>
    <seriesInfo name="Internet-Draft" value="draft-ssmith-acdc-02"/>
    <author initials="S." surname="Smith" fullname="S. Smith">
      <organization>ProSapien LLC</organization>
      <address>
        <email>sam@prosapien.com</email>
      </address>
    </author>
    <date year="2022" month="May" day="16"/>
    <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 salty 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 own field with its own local label. The value of the field may be a sub-block or in the simplest case a string. In the example above, the edge label is <tt>"boss"</tt>. Note that each edge does NOT include a type field. The type of each edge is provided by the schema vis-a-vis the label of that edge. This is in accordance with the design principle of ACDCs that may be succinctly expressed as "type-is-schema". This approach varies somewhat from many property graphs which often do not have a schema <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. Because ACDCs have a schema for other reasons, however, they leverage that schema to provide edge types with a cleaner separation of concerns. Notwithstanding, this separation, an edge sub-block may include a constraint on the type of the ACDC to which that edge points by including the SAID of the schema of the pointed-to ACDC as a property of that edge.</t>
      <section anchor="edge-sub-block-reserved-fields">
        <name>Edge Sub-block Reserved Fields</name>
        <t>A main distinguishing feature of a <em>property graph</em> (PG) is that both nodes and edges may have a set of properties <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. These might include modifiers that influence how the connected node is to be combined or place a constraint on the allowed type(s) of connected nodes.</t>
        <t>There several reserved field labels for edge sub-blocks. These are detailed in the table below.
are the node, <tt>n</tt>, SAID, <tt>d</tt>, schema, <tt>s</tt>, weight, <tt>w</tt>, and operator, <tt>o</tt>, field labels. Each edge sub-block may have other non-reserved field labels as needed for a particular edge type.</t>
        <table>
          <thead>
            <tr>
              <th align="center">Label</th>
              <th align="left">Title</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">
                <tt>d</tt></td>
              <td align="left">Digest (SAID)</td>
              <td align="left">Optional, self-referential fully qualified cryptographic digest of enclosing edge map.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>u</tt></td>
              <td align="left">UUID</td>
              <td align="left">Optional random Universally Unique IDentifier as fully qualified high entropy pseudo-random string, a salty nonce.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>s</tt></td>
              <td align="left">Schema</td>
              <td align="left">Optional SAID of the JSON Schema block of the far node ACDC.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>n</tt></td>
              <td align="left">Node</td>
              <td align="left">Required SAID of the far ACDC as the terminating point of a directed edge that connects the edge's encapsulating near ACDC to the specified far ACDC as a fragment of a distributed property graph (PG).</td>
            </tr>
            <tr>
              <td align="center">
                <tt>o</tt></td>
              <td align="left">Operator</td>
              <td align="left">Optional as either a unary operator on edge or an m-ary operator on edge-group in edge section. Enables expression of the edge logic on edge subgraph.</td>
            </tr>
            <tr>
              <td align="center">
                <tt>w</tt></td>
              <td align="left">Weight</td>
              <td align="left">Optional edge weight property that enables default property for directed weighted edges and operators that use weights.</td>
            </tr>
          </tbody>
        </table>
        <t>The node, <tt>n</tt>, field is required. The SAID, <tt>d</tt>, UUID, <tt>u</tt>, schema, <tt>s</tt>, operator, <tt>o</tt>, and weight, <tt>w</tt>,  fields are optional. To clarify, each edge sub-block <bcp14>MUST</bcp14> have a node, <tt>n</tt>, field and  <bcp14>MAY</bcp14> have any combination of SAID, <tt>d</tt>, UUID, <tt>u</tt>, schema, <tt>s</tt>, operator, <tt>o</tt>, or  weight, <tt>w</tt>, fields.</t>
        <section anchor="said-field">
          <name>SAID Field</name>
          <t>When present, the SAID, <tt>d</tt>, field <bcp14>MUST</bcp14> appear as the first field in the edge sub-block. When present,the value of the SAID, <tt>d</tt> field <bcp14>MUST</bcp14> be the SAID of its enclosing edge sub-block.</t>
        </section>
        <section anchor="uuid-field">
          <name>UUID Field</name>
          <t>A UUID, <tt>u</tt>, field <bcp14>MUST</bcp14> not appear unless there is also a SAID, <tt>d</tt> field. When present the UUID, <tt>u</tt>, field must appear immediately after as the SAID, <tt>d</tt>, field in the edge sub-block. When present, the value of the UUID, <tt>u</tt> is a pseudorandom string with approximately 128 bits of cryptographic entropy. The UUID, <tt>u</tt>, field acts as a salty nonce to hide the values of the edge sub-block in spite of knowledge of the edge sub-blocks SAID, <tt>d</tt>, field and its, the edge's, actual near schema (not its far node schema field).</t>
        </section>
        <section anchor="node-field">
          <name>Node Field</name>
          <t>When the edge sub-block does NOT include a SAID, <tt>d</tt>, field then the node, <tt>n</tt>, field <bcp14>MUST</bcp14> appear as the first field in the edge sub-block, i.e. it follows the SAID, <tt>d</tt>, field which is first. When the edge sub-block does include a SAID, <tt>d</tt>, field then the node, <tt>n</tt>, field <bcp14>MUST</bcp14> appear as the second field in the edge sub-block.</t>
          <t>The value of the required node, <tt>n</tt>, field is the SAID of the ACDC to which the edge connects i.e. the node, <tt>n</tt>, field indicated, designates, references, or "point to" another ACDC. The edge is directed <em>from</em> the <em>near</em> node that is the ACDC in which the edge sub-block resides and is directed <em>to</em> the <em>far</em> node that is the ACDC indicated by the node, <tt>n</tt>, field of that edge sub-block. In order for the edge (chain) to be valid, the ACDC validator <bcp14>MUST</bcp14> confirm that the SAID of the provided <em>far</em> ACDC matches the node, <tt>n</tt>, field value given in the edge sub-block in <em>near</em> ACDC and <bcp14>MUST</bcp14> confirm that the provided <em>far</em> ACDC satisfies its own schema.</t>
        </section>
        <section anchor="schema-field">
          <name>Schema Field</name>
          <t>When present, the schema, <tt>s</tt> field must appear immediately following the node <tt>n</tt>, field in the edge sub-block. When present, the value of the schema, <tt>s</tt> field <bcp14>MUST</bcp14> be the SAID of the top-level schema, <tt>s</tt>, field of the ACDC indicated by the edge's far node, <tt>n</tt>, field. When the schema, <tt>s</tt>, field is present in a edge sub-block, in order for the edge (chain) to be valid, the ACDC validator, after validating that the provided <em>far</em> ACDC indicated by the node, <tt>n</tt>, field satisfies its (the far ACDC's) own schema, <bcp14>MUST</bcp14> also confirm that the value of the edge's schema, <tt>s</tt>, field matches the SAID of the far ACDC's schema as indicated by its top-level schema, <tt>s</tt>, field.</t>
          <t>The following example adds both SAID, <tt>d</tt>, and schema, <tt>s</tt>, fields (edge properties) to the edge sub-block.</t>
          <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn9y",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "s": "ELIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdYerzw"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="operator-field">
          <name>Operator Field</name>
          <t>When present, the operator, <tt>o</tt> field must appear immediately following all of the SAID, <tt>d</tt>, node, <tt>n</tt>, or schema, <tt>s</tt>, fields in the edge sub-block. The function of the operator field is explained in a later section.</t>
        </section>
        <section anchor="weight-field">
          <name>Weight Field</name>
          <t>When present, the weight, <tt>w</tt> field must appear immediately following all of the SAID, <tt>d</tt>, node, <tt>n</tt>, schema, <tt>s</tt>, or operator, <tt>o</tt>, fields in the edge sub-block. The function of the weight field is explained in a later section.</t>
        </section>
      </section>
      <section anchor="globally-distributed-secure-graph-fragments">
        <name>Globally Distributed Secure Graph Fragments</name>
        <t>Abstractly, an ACDC with one or more edges may be a fragment of a distributed property graph. However, the local label does not enable the direct unique global resolution of a given edge including its properties other than a trivial edge with only one property, its node, <tt>n</tt> field. To enable an edge with additional properties to be globally uniquely resolvable, that edge's block <bcp14>MUST</bcp14> have a SAID, <tt>d</tt>, field. Because a SAID is a cryptographic digest it will universally and uniquely identify an edge with a given set of properties <xref target="Hash"/>. This allows ACDCs to be used as secure fragments of a globally distributed property graph (PG). This enables a property graph to serve as a global knowledge graph in a secure manner that crosses trust domains <xref target="PGM"/><xref target="Dots"/><xref target="KG"/>. This is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  }
}
]]></sourcecode>
      </section>
      <section anchor="compact-edge">
        <name>Compact Edge</name>
        <t>Given that an individual edge's property block includes a SAID, <tt>d</tt>, field then a compact representation of the edge's property block is provided by replacing it with its SAID. This may be useful for complex edges with many properties. This is called a <strong><em>compact edge</em></strong>. This is shown as follows,</t>
        <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
  }
}
]]></sourcecode>
      </section>
      <section anchor="private-edge">
        <name>Private Edge</name>
        <t>Each edge's properties may be blinded by its SAID, <tt>d</tt>, field (i.e. be private) if its properties block includes a UUID, <tt>u</tt> field. As with UUID, <tt>u</tt>, fields used elsewhere in ACDC, if the UUID, <tt>u</tt>, field value has sufficient entropy then the values of the properties of its enclosing block are not discoverable in a computationally feasible manner merely given the schema for the edge block and its SAID, <tt>d</tt> field. This is called a <strong><em>private edge</em></strong>. When a private edge is provided in compact form then the edge detail is hidden and is partially disclosable. An uncompacted private edge is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "d": "E9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NHwY1lkFrn",
      "u":  "0AG7OY1wjaDAE0qHcgNghkDa",
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  } 
}
]]></sourcecode>
        <t>When an edge points to a <em>private</em> ACDC, a <em>Discloser</em> may choose to use a metadata version of that private ACDC when presenting the node, <tt>n</tt>, field of that edge prior to acceptance of the terms of disclosure. The <em>Disclosee</em> can verify the metadata of the private node without the <em>Discloser</em> exposing the actual node contents via the actual node SAID or other attributes.</t>
        <t>Private ACDCs (nodes) and private edges may be used in combination to prevent an un-permissioned correlation of the distributed property graph.</t>
      </section>
      <section anchor="simple-compact-edge">
        <name>Simple Compact Edge</name>
        <t>When an edge sub-block has only one field that is its node, <tt>n</tt>, field then the edge block may use an alternate simplified compact form where the labeled edge field value is the value of its node, <tt>n</tt>, field. The schema for that particular edge label, in this case, <tt>"boss"</tt>,  will indicate that the edge value is a node SAID and not the edge sub-block SAID as would be the case for the normal compact form shown above. This alternate compact form is shown below.</t>
        <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA"
  }
}
]]></sourcecode>
      </section>
      <section anchor="operations-on-edges-and-edge-groups">
        <name>Operations on Edges and Edge-Groups</name>
        <t>When the top-level edge section, <tt>e</tt>, field includes more than one edge there is a need or opportunity to define the logic for evaluating those edges with respect to validating the ACDC itself with respect to the validity of the other ACDCs it is connected two. More than one edge creates a provenance tree not simply a provenance chain. The obvious default for a chain is that all links in the chain must be valid in order for the chain itself to be valid, or more precisely for the tail of the chain to be valid. If any links between the head and the tail are broken (invalid) then the tail is not valid. This default logic may not be so useful in all cases when a given ACDC is the tail of multiple parallel chains (i.e. a branching node in a tree of chains). Therefore provided herein is the syntax for exactly specifying the operations to perform on each edge and groups of edges in its edge section.</t>
        <section anchor="label-types">
          <name>Label Types</name>
          <t>There are three types of labels in edge sub-blocks:</t>
          <ul spacing="normal">
            <li>Reserved Field Labels (Metadata).
<tt>d</tt> for SAID of block
<tt>u</tt> for UUID (salty nonce)
<tt>n</tt> for node SAID (far ACDC)
<tt>s</tt> for schema SAID ( far ACDC)
<tt>o</tt> for operator
<tt>w</tt> for weight</li>
            <li>Edge Field Map Labels (Single Edges)
 any value except reserved values above</li>
            <li>Edge-Group Field Map Labels (Aggregates of Edges)
any value except reserved values above</li>
          </ul>
        </section>
        <section anchor="block-types">
          <name>Block Types</name>
          <t>There are two types of field-maps or blocks that may appear as  values of fields within an edge section, <tt>e</tt>, field either at the top level or nested:</t>
          <ul spacing="normal">
            <li>Edge-Group. An <em><strong>edge-group</strong></em> <bcp14>MUST NOT</bcp14> have a node,  <tt>n</tt>,  metadata field. Its non-metadata field values may include other (sub) edge-group blocks, edge blocks or other properties.</li>
            <li>Edge. An <em><strong>edge</strong></em> <bcp14>MUST</bcp14> have a node, <tt>n</tt>,  metadata field. Its non-metadata field values <bcp14>MUST NOT</bcp14> include edge-group blocks or other edge blocks but may include other types of properties. From a graph perspective, <em>edge</em> blocks terminate at their node, <tt>n</tt>, field and are not themselves nestable. An <em>edge</em> block is a  leaf with respect to any nested <em>edge-group</em> blocks in which the edge appears. It is therefore also a leaf with respect to its enclosing top-level edge section, <tt>e</tt>, field.  The ACDC node that an edge points to may have its own edge-groups or edges in that node's own top-level edge section.</li>
          </ul>
          <t>The top-level edge section, <tt>e</tt>, field value is always an <em>edge-group</em> block.</t>
          <t>With respect to the granularity of a property graph consisting of ACDCs as nodes, nested edge-groups within a given top-level edge field, <tt>e</tt>, field of a given ACDC constitute a  sub-graph whose nodes are edge-groups not ACDCs. One of the attractive features of property graphs (PGs) is their support for different edge and node types which enables nested sub-graphs such as is being employed here to support the expression of complex logical or aggregative operations on groups of edges (as subnodes) within the top-level edge section, <tt>e</tt>, field of an ACDC (as supernode).</t>
        </section>
        <section anchor="operator-o-field">
          <name>Operator, <tt>o</tt>,  Field</name>
          <t>The meaning of the operator, <tt>o</tt>, metadata field label depends on which type of block it appears in.</t>
          <ul spacing="normal">
            <li>When appearing in an edge-group block then the operator, <tt>o</tt>, field value is an aggregating (m-ary) operator, such as, <tt>OR</tt>, <tt>AND</tt>, <tt>AVG</tt>, <tt>NAND</tt>, <tt>NOR</tt>  etc. Its operator applies to all the edges or edge-groups that appear in that edge-group block.</li>
            <li>When appearing in an edge block then the operator, <tt>o</tt>,  field value is a unary operator like <tt>NOT</tt>.  When more than one unary operator applies to a given edge then the value of the operator, <tt>o</tt>, field is a list of those unary operators.</li>
          </ul>
        </section>
        <section anchor="weight-w-field">
          <name>Weight, <tt>w</tt>, field.</name>
          <t>Weighted directed edges represent degrees of confidence or likelihood. PGs with weighted directed edges are commonly used for machine learning or reasoning under uncertainty. The weight, <tt>w</tt> field provides a reserved label for the primary weight. To elaborate, many aggregating operators used for automated reasoning such as the weighted average, <tt>WAVG</tt>, operator or ranking aggregation operators, depend on each edge having a weight. To simplify the semantics for such operators, the weight, <tt>w</tt>, field is the reserved field label for weighting. Other fields with other labels could provide other types of weights but having a default label, namely <tt>w</tt>, simplifies the default definitions of weighted operators.</t>
          <t>The following example adds a weight property to the edge sub-block as indicated by the weight, <tt>w</tt>, field.</t>
          <sourcecode type="json"><![CDATA[
{
  "e": 
  {
    "d": "EerzwLIr9Bf7V_NHwY1lkFrn9y2PgveY4-9XgOcLxUdY",
    "boss":
    {
      "n": "EIl3MORH3dCdoFOLe71iheqcywJcnjtJtQIYPvAu6DZA",
      "w": "high"
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="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",
      "s": "EiheqcywJcnjtJtQIYPvAu6DZAIl3MORH3dCdoFOLe71",
      "w": "high"
    }
  },
  "r": 
  {
    "d": "EwY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NA",
    "warrantyDisclaimer": 
    {
      "d": "EXgOcLxUdYerzwLIr9Bf7V_NAwY1lkFrn9y2PgveY4-9",
      "l": "Issuer provides this credential on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE"
    },
    "liabilityDisclaimer": 
    {
      "d": "EY1lkFrn9y2PgveY4-9XgOcLxUdYerzwLIr9Bf7V_NAw",
      "l": "In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall the Issuer be liable for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this credential. "
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="composed-schema-that-supports-both-public-compact-and-uncompacted-variants">
          <name>Composed Schema that Supports both Public Compact and Uncompacted Variants</name>
          <sourcecode type="json"><![CDATA[
{
  "$id": "E46jrVPTzlSkUPqGGeIZ8a8FWS7a6s4reAXRZOkogZ2A",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Public ACDC",
  "description": "Example JSON Schema Public ACDC.",
  "credentialType": "PublicACDCExample",
  "type": "object",
   "required": 
  [
    "v",
    "d",
    "i",
    "ri",
    "s",
    "a",
    "e",
    "r"
  ],
  "properties": 
  {
    "v": 
    {
      "description": "ACDC version string",
      "type": "string"
    },
    "d": 
    {
     "description": "ACDC SAID",
      "type": "string"
    },
    "i": 
    {
      "description": "Issuer AID",
      "type": "string"
    },
    "ri": 
    {
      "description": "credential status registry 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",
                's',
                "w"
              ],
              "properties":
              {
                "d": 
                {
                  "description": "edge SAID",
                  "type": "string"
                },
                "n": 
                {
                  "description": "far node SAID",
                  "type": "string"
                },
                "s": 
                {
                  "description": "far node schema SAID",
                  "type": "string",
                  "const": ""EiheqcywJcnjtJtQIYPvAu6DZAIl3MORH3dCdoFOLe71"
                },
                "w": 
                {
                  "description": "edge weight",
                  "type": "string"
              },
              "additionalProperties": false
            },
          },
          "additionalProperties": false
        }
      ]
    },
    "r": 
    {
      "description": "rule section",
      "oneOf":
      [
        {
          "description": "rule section SAID",
          "type": "string"
        },
        {
          "description": "rule detail",
          "type": "object",
          "required": 
          [
            "d",
            "warrantyDisclaimer",
            "liabilityDisclaimer"
          ],
          "properties": 
          {
            "d": 
            {
              "description": "edge section SAID",
              "type": "string"
            },
            "warrantyDisclaimer": 
            {
              "description": "warranty disclaimer clause",
              "type": "object",
              "required":
              [
                "d",
                "l"
              ],
              "properties":
              {
                "d": 
                {
                  "description": "clause SAID",
                  "type": "string"
                },
                "l": 
                {
                  "description": "legal language",
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "liabilityDisclaimer": 
            {
              "description": "liability disclaimer clause",
              "type": "object",
              "required":
              [
                "d",
                "l"
              ],
              "properties":
              {
                "d": 
                {
                  "description": "clause SAID",
                  "type": "string"
                },
                "l": 
                {
                  "description": "legal language",
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      ]
    }
  },
  "additionalProperties": false
}
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="selective-disclosure">
      <name>Selective Disclosure</name>
      <t>As explained previously, the primary difference between <em>partial disclosure</em> and <em>selective disclosure</em> is determined by the correlatability with respect to its encompassing block after <em>full disclosure</em> of the detailed field value. A <em>partially disclosable</em> field becomes correlatable to its encompassing block after its <em>full disclosure</em>. Whereas a <em>selectively disclosable</em> field may be excluded from the <em>full disclosure</em> of any other selectively disclosable fields in its encompassing block. After selective disclosure, the selectively disclosed fields are not correlatable to the so-far undisclosed but selectively disclosable fields in the same encompassing block. In this sense, <em>full disclosure</em> means detailed disclosure of the selectively disclosed attributes not detailed disclosure of all selectively disclosable attributes.</t>
      <t>Recall that <em>partial</em> disclosure is an essential mechanism needed to support chain-link confidentiality <xref target="CLC"/>. The chain-link confidentiality exchange <em>offer</em> requires <em>partial disclosure</em>, and <em>full disclosure</em> only happens after <em>acceptance</em> of the <em>offer</em>. <em>Selective</em> disclosure, on the other hand, is an essential mechanism needed to unbundle in a correlation minimizing way a single commitment by an Issuer to a bundle of fields (i.e. a nested block or array of fields). This allows separating a "stew" of "ingredients" (attributes) into its constituent "ingredients" (attributes) without correlating the constituents via the stew.</t>
      <t>ACDCs, as a standard, benefit from a minimally sufficient approach to selective disclosure that is simple enough to be universally implementable and adoptable. This does not preclude support for other more sophisticated but optional approaches. But the minimally sufficient approach should be universal so that at least one selective disclosure mechanism be made available in all ACDC implementations. To clarify, not all instances of an ACDC must employ the minimal selective disclosure mechanisms as described herein but all ACDC implementations must support any instance of an ACDC that employs the minimal selective disclosure mechanisms as described above.</t>
      <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:
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
uTV2Oz/60xKa/cB/ZD5zs8we10t3iaquGeb6HOd2zmuHQaFTXXOnPCh7350Q
7Rlx5bS3zYpbn/cnlbD3DvONLY5tqmKH1hGhQScncjOm+yXfiYkokDFBuddC
i8FELmQ+KLYnzpZuOm50NTPEKbik9G5TgE9RE9b2aGRoNvK9Pd6H0SvKmm6n
iG8yk2lxSK1Wacsvts8/pW3FxpcodtMA+rgDrffcEhDlbclWl5Umzdxkc2TS
Fg+XSBxlIqYkQtvia4rg8LF2oVA9G6M01jYjmlc7wcgebEKPHXOmdIY1bRiB
lHJuzE4wK1r8DBp97dKj7MqEiHMtzNh82Mup98762hBBRntXpVLBXvOFqmYx
zvbB1mofGvDtfNVNVfQ53rnrdNB18t9/A/1THSl3kfD/qKP8y0PV0eX/37XT
5adNGfjKHzjl/yjE/3SFWB/r0IiDxDGJ1GGefNFRITmtwjYz/5xCigeNKobS
ua3BcN1FqI52CbPHChJBqXGrU/yuBREV7tUDCiO6Epftzh7NEol/b0VJ7lZJ
T+oA9n7DR/nd7U8vPikml7fOb95la6FSrrcug7DLOV6xu7O+273pRbHNbpLf
wSpTJ/MFvPv0c/kbRCYc6s3Tx8MnT588edSP5Hs+9T/s7e0Nv9x//FXD3ZyK
XDPjDFFXzQBTTfPCCWpBgb/aVDZ0aczSY467L+1cEsZJvtOcPZa02aPJpWUq
Nmtx63TWJ1wf7bqmpoop9wHgvIx2vemmKKy62ygsb8FJfyzMVvHKRyfYaXCb
uf0Bn9NHtzPQebQPK7f/ekRuUVacSj2OnEasNKb6HzUC8S0ZufI1PMcENtHa
SQf0pXs5tEtYhCwBc2U1SxcNBnIvdCzDcpS+fcEYc1qTUrK7JCs1yGawlZom
SZZc+/rmBBLI1MOoUTBRpWrHvxGF1pkcZKIUoyzlUUmto5yeBmiUQ8PUaiyi
hCtjUdN2LNzAoZFXT9P3yJYV/oBkyCv5hYDYllT38Cm8fGqUoqm02cok/1Nv
6bhqFrulQhWW79yxqy4nDihC0pCsSQz4T1W4noV01NgZjQ3StZBSo4m4SaiY
JzHyROk1gllG6CqrSPwnlVUqx166PsEj0aLoMFxz0xtTxMvXhyFkUwgqa13F
dDBeVnUxWfE2rTTXj8fmnHCnWGrpAW97MovgPqvLBfZupMGlBczK3I2wyusl
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
AgA=

-->

</rfc>
