Skip to content

Commit cc66c35

Browse files
author
Robin Berjon
committed
some additional fixes
1 parent 3db70ce commit cc66c35

File tree

8 files changed

+33
-33
lines changed

8 files changed

+33
-33
lines changed

bdasl.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2020
<title>Big DASL (BDASL)</title>
2121
<link rel="stylesheet" href="spec.css"><link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><rect x=%220%22 y=%220%22 width=%22100%22 height=%22100%22 fill=%22%2300ff75%22></rect></svg>"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" property="og:title" content="DASL: Big DASL (BDASL)"><meta name="twitter:description" property="og:description" content="BDASL extends DASL CIDs with a new hash type that works better for large files but isn't available by default in browsers, and therefore not an appropriate option in most situations."><meta name="twitter:image" property="og:image" content="https://dasl.ing/bdasl.png"><meta name="twitter:image:alt" content="Very colourful stripes, so colourful it hurts"><meta name="twitter:url" property="og:url" content="https://dasl.ing/"><meta property="og:site_name" content="DASL"><meta property="og:locale" content="en"><meta name="theme-color" content="#00ff75"></head>
22-
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Big DASL (BDASL)</h1><table><tbody><tr><th>date</th><td>2025-10-17</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
22+
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Big DASL (BDASL)</h1><table><tbody><tr><th>date</th><td>2025-10-20</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
2323
<p>
2424
BDASL extends DASL CIDs with a new hash type that works better for large files but isn't
2525
available by default in browsers, and therefore not an appropriate option in most
@@ -53,4 +53,4 @@ <h2>Parsing BDASL CIDs</h2>
5353
</section>
5454

5555

56-
<section><h2>References</h2><dl><dt id="ref-blake3">[blake3]</dt><dd>J-P. Aumasson, S. Neves, J. O'Connor, Z. Wilcox. <a href="https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html"><cite>The BLAKE3 Hashing Framework</cite></a>. July 2024. URL:&nbsp;<a href="https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html">https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html</a></dd><dt id="ref-cid">[cid]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/cid.html"><cite>Content IDs (CIDs)</cite></a>. 2025-10-17. URL:&nbsp;<a href="https://dasl.ing/cid.html">https://dasl.ing/cid.html</a></dd></dl></section></main></body></html>
56+
<section><h2>References</h2><dl><dt id="ref-blake3">[blake3]</dt><dd>J-P. Aumasson, S. Neves, J. O'Connor, Z. Wilcox. <a href="https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html"><cite>The BLAKE3 Hashing Framework</cite></a>. July 2024. URL:&nbsp;<a href="https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html">https://www.ietf.org/archive/id/draft-aumasson-blake3-00.html</a></dd><dt id="ref-cid">[cid]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/cid.html"><cite>Content IDs (CIDs)</cite></a>. 2025-10-20. URL:&nbsp;<a href="https://dasl.ing/cid.html">https://dasl.ing/cid.html</a></dd></dl></section></main></body></html>

car.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2020
<title>Content-Addressable aRchives (CAR)</title>
2121
<link rel="stylesheet" href="spec.css"><link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><rect x=%220%22 y=%220%22 width=%22100%22 height=%22100%22 fill=%22%2300ff75%22></rect></svg>"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" property="og:title" content="DASL: Content-Addressable aRchives (CAR)"><meta name="twitter:description" property="og:description" content="The CAR format offers a serialized representation of set of content-addressed resources in one single concatenated stream, alongside a header that describes that content."><meta name="twitter:image" property="og:image" content="https://dasl.ing/car.png"><meta name="twitter:image:alt" content="Very colourful stripes, so colourful it hurts"><meta name="twitter:url" property="og:url" content="https://dasl.ing/"><meta property="og:site_name" content="DASL"><meta property="og:locale" content="en"><meta name="theme-color" content="#00ff75"></head>
22-
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Content-Addressable aRchives (CAR)</h1><table><tbody><tr><th>date</th><td>2025-10-17</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
22+
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Content-Addressable aRchives (CAR)</h1><table><tbody><tr><th>date</th><td>2025-10-20</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
2323
<p>
2424
The CAR format offers a serialized representation of set of content-addressed
2525
resources in one single concatenated stream, alongside a header that describes
@@ -50,13 +50,13 @@ <h2>Parsing CAR</h2>
5050
chunk of DRISL ([<a href="#ref-drisl" class="ref">drisl</a>]) and the Body is a sequence of zero or more length-prefixed
5151
blocks that contain a tuple of a DASL CID ([<a href="#ref-cid" class="ref">cid</a>]) which is always 36 bytes long and
5252
the data addressed by that CID.
53-
The length prefix of each block in a CAR is encoded as an unsigned variable-length
53+
The length prefix in a CAR is encoded as an unsigned variable-length
5454
integer ([<a href="#ref-varint" class="ref">varint</a>], a variant of <a href="https://en.wikipedia.org/wiki/LEB128">LEB128</a>).
55-
This integer specifies the number of remaining bytes for that block entry, excluding
56-
the bytes used to encode the integer, but including the CID for non-Header blocks.
55+
This integer specifies the number of remaining bytes, excluding
56+
the bytes used to encode the integer, but including the CID for Body blocks.
5757
</p>
58-
<pre><code>|------- Header -------| |------------------- Body -------------------|
59-
[ int | DAG-CBOR block ] [ int | CID | data ] [ int | CID | data ] …
58+
<pre><code>|------ Header -----| |------------------- Body -------------------|
59+
[ int | DRISL block ] [ int | CID | data ] [ int | CID | data ] …
6060
</code></pre>
6161
<p>
6262
The steps to <dfn id="dfn-parse-a-car">parse a CAR</dfn> are:
@@ -150,8 +150,8 @@ <h2>Parsing CAR</h2>
150150
</ol>
151151
<p>
152152
After its header, CAR contains a series of blocks each of which is
153-
prefixed with a small header of its own capturing the block's size and
154-
CID.
153+
length-prefixed and has a small header capturing a CID followed by
154+
the block's body data.
155155
</p>
156156
<p>
157157
The steps to <dfn id="dfn-parse-a-car-block-header">parse a CAR block header</dfn> are:
@@ -178,13 +178,13 @@ <h3>Conformance</h3>
178178
A CAR stream must only feature DASL CIDs.
179179
</p>
180180
<p>
181-
A CAR stream must have CIDs that match the block that follows
182-
them. A CAR implementation should verify that CIDs match blocks, though
181+
A CAR stream must have CIDs that match the data body that follows
182+
them. A CAR implementation should verify that CIDs match block body data, though
183183
it may delegate verification to other components. (Keep in mind that not
184184
verifying at all negates the value of content addressing.)
185185
</p>
186186
<p>
187-
A CAR stream's stated roots must match CIDs contained in the data.
187+
A CAR stream's stated roots must match CIDs contained in the Body.
188188
However, implementations frequently operate in a streaming fashion such that
189189
they have no way of knowing whether a CAR stream conforms to this
190190
requirement before having processed the entire stream. Checking
@@ -233,4 +233,4 @@ <h2>Appendix: Media Type</h2>
233233
</section>
234234

235235

236-
<section><h2>References</h2><dl><dt id="ref-cid">[cid]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/cid.html"><cite>Content IDs (CIDs)</cite></a>. 2025-10-17. URL:&nbsp;<a href="https://dasl.ing/cid.html">https://dasl.ing/cid.html</a></dd><dt id="ref-drisl">[drisl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/drisl.html"><cite>DRISL — Deterministic Representation for Interoperable Structures &amp; Links</cite></a>. 2025-10-17. URL:&nbsp;<a href="https://dasl.ing/drisl.html">https://dasl.ing/drisl.html</a></dd><dt id="ref-masl">[masl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/masl.html"><cite>MASL — Metadata for Arbitrary Structures &amp; Links</cite></a>. 2025-10-17. URL:&nbsp;<a href="https://dasl.ing/masl.html">https://dasl.ing/masl.html</a></dd><dt id="ref-varint">[varint]</dt><dd><a href="https://github.com/multiformats/unsigned-varint"><cite>unsigned varint</cite></a>. URL:&nbsp;<a href="https://github.com/multiformats/unsigned-varint">https://github.com/multiformats/unsigned-varint</a></dd></dl></section></main></body></html>
236+
<section><h2>References</h2><dl><dt id="ref-cid">[cid]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/cid.html"><cite>Content IDs (CIDs)</cite></a>. 2025-10-20. URL:&nbsp;<a href="https://dasl.ing/cid.html">https://dasl.ing/cid.html</a></dd><dt id="ref-drisl">[drisl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/drisl.html"><cite>DRISL — Deterministic Representation for Interoperable Structures &amp; Links</cite></a>. 2025-10-20. URL:&nbsp;<a href="https://dasl.ing/drisl.html">https://dasl.ing/drisl.html</a></dd><dt id="ref-masl">[masl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/masl.html"><cite>MASL — Metadata for Arbitrary Structures &amp; Links</cite></a>. 2025-10-20. URL:&nbsp;<a href="https://dasl.ing/masl.html">https://dasl.ing/masl.html</a></dd><dt id="ref-varint">[varint]</dt><dd><a href="https://github.com/multiformats/unsigned-varint"><cite>unsigned varint</cite></a>. URL:&nbsp;<a href="https://github.com/multiformats/unsigned-varint">https://github.com/multiformats/unsigned-varint</a></dd></dl></section></main></body></html>

car.src.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ <h2>Parsing CAR</h2>
3636
chunk of DRISL ([[drisl]]) and the Body is a sequence of zero or more length-prefixed
3737
blocks that contain a tuple of a DASL CID ([[cid]]) which is always 36 bytes long and
3838
the data addressed by that CID.
39-
The length prefix of each block in a CAR is encoded as an unsigned variable-length
39+
The length prefix in a CAR is encoded as an unsigned variable-length
4040
integer ([[varint]], a variant of <a href="https://en.wikipedia.org/wiki/LEB128">LEB128</a>).
41-
This integer specifies the number of remaining bytes for that block entry, excluding
42-
the bytes used to encode the integer, but including the CID for non-Header blocks.
41+
This integer specifies the number of remaining bytes, excluding
42+
the bytes used to encode the integer, but including the CID for Body blocks.
4343
</p>
44-
<pre><code>|------- Header -------| |------------------- Body -------------------|
45-
[ int | DAG-CBOR block ] [ int | CID | data ] [ int | CID | data ] …
44+
<pre><code>|------ Header -----| |------------------- Body -------------------|
45+
[ int | DRISL block ] [ int | CID | data ] [ int | CID | data ] …
4646
</code></pre>
4747
<p>
4848
The steps to <dfn>parse a CAR</dfn> are:
@@ -136,8 +136,8 @@ <h2>Parsing CAR</h2>
136136
</ol>
137137
<p>
138138
After its header, CAR contains a series of blocks each of which is
139-
prefixed with a small header of its own capturing the block's size and
140-
CID.
139+
length-prefixed and has a small header capturing a CID followed by
140+
the block's body data.
141141
</p>
142142
<p>
143143
The steps to <dfn>parse a CAR block header</dfn> are:
@@ -164,13 +164,13 @@ <h3>Conformance</h3>
164164
A CAR stream must only feature DASL CIDs.
165165
</p>
166166
<p>
167-
A CAR stream must have CIDs that match the block that follows
168-
them. A CAR implementation should verify that CIDs match blocks, though
167+
A CAR stream must have CIDs that match the data body that follows
168+
them. A CAR implementation should verify that CIDs match block body data, though
169169
it may delegate verification to other components. (Keep in mind that not
170170
verifying at all negates the value of content addressing.)
171171
</p>
172172
<p>
173-
A CAR stream's stated roots must match CIDs contained in the data.
173+
A CAR stream's stated roots must match CIDs contained in the Body.
174174
However, implementations frequently operate in a streaming fashion such that
175175
they have no way of knowing whether a CAR stream conforms to this
176176
requirement before having processed the entire stream. Checking

cid.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<meta name="viewport" content="width=device-width, initial-scale=1.0">
2020
<title>Content IDs (CIDs)</title>
2121
<link rel="stylesheet" href="spec.css"><link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><rect x=%220%22 y=%220%22 width=%22100%22 height=%22100%22 fill=%22%2300ff75%22></rect></svg>"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" property="og:title" content="DASL: Content IDs (CIDs)"><meta name="twitter:description" property="og:description" content="DASL CIDs are a simple structured identifier format for content addressing. They encapsulate a hash with enough metadata to be extensible (to add new hash types in the future) and to indicate whether they are pointing to raw bytes or to structured data."><meta name="twitter:image" property="og:image" content="https://dasl.ing/cid.png"><meta name="twitter:image:alt" content="Very colourful stripes, so colourful it hurts"><meta name="twitter:url" property="og:url" content="https://dasl.ing/"><meta property="og:site_name" content="DASL"><meta property="og:locale" content="en"><meta name="theme-color" content="#00ff75"></head>
22-
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Content IDs (CIDs)</h1><table><tbody><tr><th>date</th><td>2025-10-17</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
22+
<body><div class="nav-back">A specification of the <a href="/">DASL Project</a>.</div><main><header><h1>Content IDs (CIDs)</h1><table><tbody><tr><th>date</th><td>2025-10-20</td></tr><tr><th>editors</th><td><a href="https://berjon.com/">Robin Berjon</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;<br><a href="https://bumblefudge.com/">Juan Caballero</a> &lt;<a href="mailto:[email protected]">[email protected]</a>&gt;</td></tr><tr><th>issues</th><td><a href="https://github.com/darobin/dasl.ing/issues">list</a>, <a href="https://github.com/darobin/dasl.ing/issues/new">new</a></td></tr><tr><th>abstract</th><td><div id="abstract">
2323
<p>
2424
DASL CIDs are a simple structured identifier format for content addressing. They encapsulate a hash
2525
with enough metadata to be extensible (to add new hash types in the future) and to indicate whether
@@ -150,4 +150,4 @@ <h2>Relationship to IPFS</h2>
150150
</section>
151151

152152

153-
<section><h2>References</h2><dl><dt id="ref-drisl">[drisl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/drisl.html"><cite>DRISL — Deterministic Representation for Interoperable Structures &amp; Links</cite></a>. 2025-10-17. URL:&nbsp;<a href="https://dasl.ing/drisl.html">https://dasl.ing/drisl.html</a></dd><dt id="ref-rfc4648">[rfc4648]</dt><dd>S. Josefsson. <a href="https://www.rfc-editor.org/rfc/rfc4648"><cite>The Base16, Base32, and Base64 Data Encodings</cite></a>. October 2006. URL:&nbsp;<a href="https://www.rfc-editor.org/rfc/rfc4648">https://www.rfc-editor.org/rfc/rfc4648</a></dd><dt id="ref-sha256">[sha256]</dt><dd>National Institute of Standards and Technology, <cite>Secure Hash Algorithm. NIST FIPS 180-2</cite>. August 2002.</dd></dl></section></main></body></html>
153+
<section><h2>References</h2><dl><dt id="ref-drisl">[drisl]</dt><dd>Robin Berjon &amp; Juan Caballero. <a href="https://dasl.ing/drisl.html"><cite>DRISL — Deterministic Representation for Interoperable Structures &amp; Links</cite></a>. 2025-10-20. URL:&nbsp;<a href="https://dasl.ing/drisl.html">https://dasl.ing/drisl.html</a></dd><dt id="ref-rfc4648">[rfc4648]</dt><dd>S. Josefsson. <a href="https://www.rfc-editor.org/rfc/rfc4648"><cite>The Base16, Base32, and Base64 Data Encodings</cite></a>. October 2006. URL:&nbsp;<a href="https://www.rfc-editor.org/rfc/rfc4648">https://www.rfc-editor.org/rfc/rfc4648</a></dd><dt id="ref-sha256">[sha256]</dt><dd>National Institute of Standards and Technology, <cite>Secure Hash Algorithm. NIST FIPS 180-2</cite>. August 2002.</dd></dl></section></main></body></html>

0 commit comments

Comments
 (0)