Skip to content

Commit

Permalink
Deployed bdf7167 with MkDocs version: 1.5.3
Browse files Browse the repository at this point in the history
  • Loading branch information
titusz committed Jan 4, 2024
1 parent 5897d48 commit d3abf78
Show file tree
Hide file tree
Showing 9 changed files with 261 additions and 30 deletions.
20 changes: 17 additions & 3 deletions iep-0002/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,13 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#9-bibliography">
<span class="md-ellipsis">
9. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</li>
Expand Down Expand Up @@ -478,6 +485,13 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#9-bibliography">
<span class="md-ellipsis">
9. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</div>
Expand Down Expand Up @@ -524,7 +538,7 @@ <h1 id="iscc-unit-meta-code"><abbr title="International Standard Content Code">I
</tr>
<tr>
<td>Updated:</td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2023-12-28</span></td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span></td>
</tr>
</tbody>
</table>
Expand Down Expand Up @@ -706,7 +720,7 @@ <h2 id="8-metadata-extraction">8. Metadata extraction<a class="headerlink" href=
</ol>
</li>
</ol>
<p><strong>Bibliography</strong></p>
<h2 id="9-bibliography">9. Bibliography<a class="headerlink" href="#9-bibliography" title="Permanent link">#</a></h2>
<div class="footnote">
<hr/>
<ol>
Expand All @@ -726,7 +740,7 @@ <h2 id="8-metadata-extraction">8. Metadata extraction<a class="headerlink" href=
<span class="md-icon" title="Last update">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"></path></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2023-12-28</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span>
</span>
<span class="md-source-file__fact">
<span class="md-icon" title="Created">
Expand Down
22 changes: 18 additions & 4 deletions iep-0008/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -256,6 +256,13 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#7-bibliography">
<span class="md-ellipsis">
7. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</li>
Expand Down Expand Up @@ -364,6 +371,13 @@
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#7-bibliography">
<span class="md-ellipsis">
7. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</div>
Expand Down Expand Up @@ -410,7 +424,7 @@ <h1 id="iscc-unit-data-code"><abbr title="International Standard Content Code">I
</tr>
<tr>
<td>Updated:</td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-03</span></td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span></td>
</tr>
</tbody>
</table>
Expand Down Expand Up @@ -479,12 +493,12 @@ <h2 id="6-conformance">6. Conformance<a class="headerlink" href="#6-conformance"
hashing and appropriate use of this software will generate the same codes as the
reference implementation.</p>
</div>
<p><strong>Bibliography</strong></p>
<h2 id="7-bibliography">7. Bibliography<a class="headerlink" href="#7-bibliography" title="Permanent link">#</a></h2>
<div class="footnote">
<hr/>
<ol>
<li id="fn:1">
<p>Collet, Yann. xxHash: Extremely fast <abbr title="deterministic algorithm that produces fixed-length data from an input of arbitrary-length data">hash algorithm</abbr>.
<p>Collet, Yann. <em>xxHash: Extremely fast <abbr title="deterministic algorithm that produces fixed-length data from an input of arbitrary-length data">hash algorithm</abbr>.</em><br/>
Accessed July 2022, available at <a href="https://cyan4973.github.io/xxHash/">https://cyan4973.github.io/xxHash/</a> <a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"></a></p>
</li>
</ol>
Expand All @@ -494,7 +508,7 @@ <h2 id="6-conformance">6. Conformance<a class="headerlink" href="#6-conformance"
<span class="md-icon" title="Last update">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"></path></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-03</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span>
</span>
<span class="md-source-file__fact">
<span class="md-icon" title="Created">
Expand Down
209 changes: 206 additions & 3 deletions iep-0009/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -204,11 +204,74 @@
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/>
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
IEP-0009 - Instance-Code
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a class="md-nav__link md-nav__link--active" href="./">
<span class="md-ellipsis">
IEP-0009 - Instance-Code
</span>
</a>
<nav aria-label="Table of contents" class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="#1-general">
<span class="md-ellipsis">
1. General
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#2-format">
<span class="md-ellipsis">
2. Format
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#3-inputs">
<span class="md-ellipsis">
3. Inputs
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#4-outputs">
<span class="md-ellipsis">
4. Outputs
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#5-processing">
<span class="md-ellipsis">
5. Processing
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#6-conformance">
<span class="md-ellipsis">
6. Conformance
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#7-bibliography">
<span class="md-ellipsis">
7. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="../iep-0010/">
Expand Down Expand Up @@ -261,6 +324,61 @@
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav aria-label="Table of contents" class="md-nav md-nav--secondary">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="#1-general">
<span class="md-ellipsis">
1. General
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#2-format">
<span class="md-ellipsis">
2. Format
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#3-inputs">
<span class="md-ellipsis">
3. Inputs
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#4-outputs">
<span class="md-ellipsis">
4. Outputs
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#5-processing">
<span class="md-ellipsis">
5. Processing
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#6-conformance">
<span class="md-ellipsis">
6. Conformance
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="#7-bibliography">
<span class="md-ellipsis">
7. Bibliography
</span>
</a>
</li>
</ul>
</nav>
</div>
</div>
Expand Down Expand Up @@ -290,7 +408,7 @@ <h1 id="iscc-unit-instance-code"><abbr title="International Standard Content Cod
</tr>
<tr>
<td>Status:</td>
<td>TBD</td>
<td>DRAFT</td>
</tr>
<tr>
<td>Type:</td>
Expand All @@ -306,7 +424,7 @@ <h1 id="iscc-unit-instance-code"><abbr title="International Standard Content Cod
</tr>
<tr>
<td>Updated:</td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2023-12-28</span></td>
<td><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span></td>
</tr>
</tbody>
</table>
Expand All @@ -317,12 +435,97 @@ <h1 id="iscc-unit-instance-code"><abbr title="International Standard Content Cod
developed at the International Organization for Standardization as
<a href="https://www.iso.org/standard/77899.html"><abbr title="International Organization for Standardization">ISO</abbr>/DIS 24138</a></p>
</div>
<h2 id="1-general">1. General<a class="headerlink" href="#1-general" title="Permanent link">#</a></h2>
<ol>
<li>The Instance-Code shall be a checksum for any kind of <abbr title="ordered sequence of bits">data</abbr> regardless of its <abbr title="two-part identifier specifying the nature of the referenced data">media type</abbr>.</li>
<li>The Instance-Code shall match identical files and indicate <abbr title="ordered sequence of bits">data</abbr> transmission errors or <abbr title="ordered sequence of bits">data</abbr> manipulation.</li>
<li>The Instance-Code shall be the prefix of a <abbr title="roor node of a merkle tree">merkle root</abbr> of a <abbr title="tree data structure in which every leaf node is labelled with the hash value of a data element and every non-leaf node is labelled with the hash value of the labels of its child nodes">merkle tree</abbr> as illustrated in <a href="#fig-merkle-tree">Figure 11</a>.</li>
<li>The cryptographic <abbr title="deterministic algorithm that produces fixed-length data from an input of arbitrary-length data">hash algorithm</abbr> used for Instance-Code calculation shall be updated if a security weakness is discovered.</li>
<li>An update shall be indicated by a higher version number of the Instance-Code header.</li>
</ol>
<figure id="fig-merkle-tree">
<p><a class="glightbox" href="../images/iscc-iep-0009-f11-merkle-tree.png"><img alt="Figure 11 - Example of a merkle tree" src="../images/iscc-iep-0009-f11-merkle-tree.png"/></a>
</p>
<figcaption>Figure 11 - Example of a merkle tree</figcaption>
</figure>
<div class="admonition note">
<p class="admonition-title">NOTE 1</p>
<p>Depending on security and uniqueness requirements, applications can generate and store
Instance-Codes up to a length of 256 bits in steps of 32 bits. Longer variants of an
Instance-Code are extensions of the shorter versions (which function only as checksums) and
remain compatible while improving the security of the <abbr title="result of processing data with a hash algorithm">hash</abbr>.</p>
</div>
<div class="admonition note">
<p class="admonition-title">NOTE 2</p>
<p>The use of tree-based hashing supports efficient containment-proofs, verified streaming and
verification of <abbr title="ordered sequence of bits">data</abbr> from trusted and untrusted sources. A <abbr title="ordered sequence of bits">data</abbr> delivery application can
provide cryptographic proofs for partial <abbr title="ordered sequence of bits">data</abbr> and streams such that the receiving application
can incrementally verify chunks of <abbr title="ordered sequence of bits">data</abbr> against a given Instance-Code.</p>
</div>
<h2 id="2-format">2. Format<a class="headerlink" href="#2-format" title="Permanent link">#</a></h2>
<p>The Instance-Code shall have the <abbr title="ordered sequence of bits">data</abbr> format illustrated in Figure 12.</p>
<figure>
<p><a class="glightbox" href="../images/iscc-iep-0009-f12-instance-code.png"><img alt="Figure 12 Data format of the Instance-Code" src="../images/iscc-iep-0009-f12-instance-code.png"/></a>
</p>
<figcaption>Figure 12 - Data format of the Instance-Code</figcaption>
</figure>
<div class="admonition example">
<p class="admonition-title">EXAMPLE 1: 64-<abbr title="atomic unit of information in a computer system">bit</abbr> Instance-Code in its canonical form:</p>
<p><abbr title="International Standard Content Code">ISCC</abbr>:IAAZ3NGA3HTIYUQD</p>
</div>
<div class="admonition example">
<p class="admonition-title">EXAMPLE 2: 256-<abbr title="atomic unit of information in a computer system">bit</abbr> Instance-Code in its canonical form:</p>
<p><abbr title="International Standard Content Code">ISCC</abbr>:IADZ3NGA3HTIYUQD3SGC737FF6S5KRTRXY5DEU7ANCEMVTT4MDS2OQY</p>
</div>
<h2 id="3-inputs">3. Inputs<a class="headerlink" href="#3-inputs" title="Permanent link">#</a></h2>
<p>The input for calculating the Instance-Code shall be the bytes of a <abbr title="stored data with a known number of bits and a filename">file</abbr>, without reference to
their meaning or structure.</p>
<h2 id="4-outputs">4. Outputs<a class="headerlink" href="#4-outputs" title="Permanent link">#</a></h2>
<p>Instance-Code processing shall generate the following output elements:</p>
<ol>
<li><code>iscc</code>: the Instance-Code in its canonical form (required);</li>
<li><code>datahash</code>: a cryptographic <abbr title="result of processing data with a hash algorithm">hash</abbr> of the input <abbr title="stored data with a known number of bits and a filename">file</abbr> encoded as multihash (optional);</li>
<li><code>filesize</code>: the size of the input <abbr title="stored data with a known number of bits and a filename">file</abbr> in bytes (optional).</li>
</ol>
<h2 id="5-processing">5. Processing<a class="headerlink" href="#5-processing" title="Permanent link">#</a></h2>
<p>An <abbr title="application that generates ISCCs for digital content">ISCC processor</abbr> shall calculate the Instance-Code as follows:</p>
<ol>
<li>Apply the tree-based <abbr title="computationally efficient function mapping binary strings of arbitrary length to binary strings of fixed length, such that it is computationally infeasible to find two distinct values that hash into a common value">cryptographic hash function</abbr> to the <abbr title="stored data with a known number of bits and a filename">file</abbr> input using the appropriate number of bytes for the output digest.</li>
<li>Use the <abbr title="result of processing data with a hash algorithm">hash</abbr> digest of output as the <abbr title="International Standard Content Code">ISCC</abbr>-BODY of the Instance-Code.</li>
</ol>
<p>For further technical details see source-code in modules
<a href="https://github.com/iscc/iscc-core/blob/main/iscc_core/code_instance.py">code_instance.py</a> of the
<a href="https://github.com/iscc/iscc-core">reference implementation</a>.</p>
<div class="admonition note">
<p class="admonition-title">NOTE</p>
<p>The <abbr title="tree data structure in which every leaf node is labelled with the hash value of a data element and every non-leaf node is labelled with the hash value of the labels of its child nodes">merkle tree</abbr> chunk size is defined by the BLAKE3 <sup id="fnref2:1"><a class="footnote-ref" href="#fn:1">1</a></sup> <abbr title="set of instructions">algorithm</abbr> to be 1024 bytes.</p>
</div>
<h2 id="6-conformance">6. Conformance<a class="headerlink" href="#6-conformance" title="Permanent link">#</a></h2>
<p>An implementation of the Instance-Code <abbr title="set of instructions">algorithm</abbr> shall be regarded as conforming to the standard
if it creates the same Instance-Code as the reference implementation for the same <abbr title="ordered sequence of bits">data</abbr> input.</p>
<div class="admonition note">
<p class="admonition-title">NOTE</p>
<p>The <abbr title="International Standard Content Code">ISCC</abbr> reference implementation uses the open source BLAKE3 <sup id="fnref:1"><a class="footnote-ref" href="#fn:1">1</a></sup> library for <abbr title="tree data structure in which every leaf node is labelled with the hash value of a data element and every non-leaf node is labelled with the hash value of the labels of its child nodes">merkle tree</abbr>
hashing and appropriate use of this software will generate the same codes as the reference
implementation.</p>
</div>
<h2 id="7-bibliography">7. Bibliography<a class="headerlink" href="#7-bibliography" title="Permanent link">#</a></h2>
<div class="footnote">
<hr/>
<ol>
<li id="fn:1">
<p>O’Connor, J., Aumasson, J.P., Neves, S., Wilcox-O’Hearn, Z., <em>BLAKE3: one function, fast everywhere.</em>
Version 20211102173700, accessed July 2022.
Available at <a href="https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf">https://github.com/BLAKE3-team/BLAKE3-specs/blob/master/blake3.pdf</a> <a class="footnote-backref" href="#fnref:1" title="Jump back to footnote 1 in the text"></a><a class="footnote-backref" href="#fnref2:1" title="Jump back to footnote 1 in the text"></a></p>
</li>
</ol>
</div>
<aside class="md-source-file">
<span class="md-source-file__fact">
<span class="md-icon" title="Last update">
<svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"></path></svg>
</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2023-12-28</span>
<span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date">2024-01-04</span>
</span>
<span class="md-source-file__fact">
<span class="md-icon" title="Created">
Expand Down
Binary file added images/iscc-iep-0009-f11-merkle-tree.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/iscc-iep-0009-f12-instance-code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ <h2 id="list-of-ieps">List of IEPs<a class="headerlink" href="#list-of-ieps" tit
<td><a href="iep-0009/">IEP-0009</a></td>
<td><abbr title="International Standard Content Code">ISCC</abbr>-UNIT Instance-Code</td>
<td>Core</td>
<td>TBD</td>
<td>Draft</td>
</tr>
<tr>
<td><a href="iep-0010/">IEP-0010</a></td>
Expand Down
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

Loading

0 comments on commit d3abf78

Please sign in to comment.