Skip to content

Commit 06e5483

Browse files
mprorockOR13
andauthored
Change to Bit String Status List v1.0.
Co-authored-by: Orie Steele <orie@or13.io>
1 parent 81cc40f commit 06e5483

File tree

1 file changed

+34
-51
lines changed

1 file changed

+34
-51
lines changed

index.html

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<title>Verifiable Credential Status List v2021</title>
4+
<title>Verifiable Credential Bit String Status List v1.0</title>
55
<meta http-equiv='Content-Type' content='text/html;charset=utf-8'/>
66
<!--
77
=== NOTA BENE ===
@@ -19,7 +19,7 @@
1919
group: "vc",
2020

2121
// the specification's short name, as in http://www.w3.org/TR/short-name/
22-
shortName: "vc-status-list",
22+
shortName: "vc-bit-string-status-list",
2323

2424
// subtitle for the spec
2525
subtitle: "Privacy-preserving status information for Verifiable Credentials",
@@ -155,28 +155,11 @@
155155
<p>
156156
This specification describes a privacy-preserving, space-efficient, and
157157
high-performance mechanism for publishing status information such as
158-
suspension or revocation of Verifiable Credentials.
158+
suspension or revocation of Verifiable Credentials through use of bitstrings.
159159
</p>
160160
</section>
161161

162-
<section id='sotd'>
163-
<p>
164-
This document is experimental and is undergoing heavy development.
165-
It is inadvisable to implement the specification in its current form.
166-
An <a href="https://github.com/digitalbazaar/vc-status-list">experimental
167-
implementation</a> is available.
168-
</p>
169-
<!--p>
170-
Comments regarding all aspects of this document are welcome.
171-
Please file issues
172-
directly on <a href="https://github.com/w3c-ccg/vc-status-list-2021/issues/">GitHub</a>,
173-
or send them to
174-
<a href="mailto:public-credentials@w3.org">public-credentials@w3.org</a>
175-
(<a href="mailto:public-credentials-request@w3.org?subject=subscribe">subscribe</a>,
176-
<a href="https://lists.w3.org/Archives/Public/public-credentials/">archives</a>).
177-
</p-->
178-
179-
</section>
162+
<section id='sotd'></section>
180163

181164
<section class="informative">
182165
<h2>Introduction</h2>
@@ -288,7 +271,7 @@ <h2>Data Model</h2>
288271
</p>
289272

290273
<section>
291-
<h3>StatusList2021Entry</h3>
274+
<h3>BitStringStatusListEntry</h3>
292275

293276
<p>
294277
When an <a>issuer</a> desires to enable status information for a
@@ -314,14 +297,14 @@ <h3>StatusList2021Entry</h3>
314297
credential</a>. It MUST NOT be the URL for the status list. The value is
315298
not used during the verification or validation process, and does not need to be
316299
related to the `statusListCredential` value. If necessary, the value can be
317-
used to uniquely identify the `StatusList2021Entry` object, such as when it is
300+
used to uniquely identify the `BitStringStatusListEntry` object, such as when it is
318301
stored in a database.
319302
</td>
320303
</tr>
321304
<tr>
322305
<td>type</td>
323306
<td>
324-
The <code>type</code> property MUST be <code>StatusList2021Entry</code>.
307+
The <code>type</code> property MUST be <code>BitStringStatusListEntry</code>.
325308
</td>
326309
</tr>
327310
<tr>
@@ -368,15 +351,15 @@ <h3>StatusList2021Entry</h3>
368351
<td>statusListCredential</td>
369352
<td>
370353
The <code>statusListCredential</code> property MUST be a URL to a
371-
<a>verifiable credential</a>. When the URL is dereferenced, the result
372-
MUST be a <a>verifiable credential</a> that contains a <code>type</code>
373-
property that includes the <code>StatusList2021Credential</code> value.
354+
<a>verifiable credential</a>. When the URL is dereferenced, the resulting
355+
<a>verifiable credential</a> MUST have <code>type</code> property that
356+
includes the <code>BitStringStatusListCredential</code> value.
374357
</td>
375358
</tr>
376359
</tbody>
377360
</table>
378361

379-
<pre class="example nohighlight" title="Example StatusList2021Entry">
362+
<pre class="example nohighlight" title="Example StatusListCredential">
380363
{
381364
"@context": [
382365
"https://www.w3.org/ns/credentials/v2",
@@ -386,8 +369,8 @@ <h3>StatusList2021Entry</h3>
386369
"issuer": "did:example:12345",
387370
"issued": "2021-04-05T14:27:42Z",
388371
<span class="highlight">"credentialStatus": {
389-
"id": "https://example.com/credentials/status/3#94567",
390-
"type": "StatusList2021Entry",
372+
"id": "https://example.com/credentials/status/3#94567"
373+
"type": "BitStringStatusListEntry",
391374
"statusPurpose": "revocation",
392375
"statusListIndex": "94567",
393376
"statusListCredential": "https://example.com/credentials/status/3"
@@ -402,7 +385,7 @@ <h3>StatusList2021Entry</h3>
402385
</section>
403386

404387
<section>
405-
<h3>StatusList2021Credential</h3>
388+
<h3>BitStringStatusListCredential</h3>
406389

407390
<p>
408391
When a status list is published, the result is a <a>verifiable
@@ -425,15 +408,15 @@ <h3>StatusList2021Credential</h3>
425408
The <a>verifiable credential</a> that contains the status list MAY
426409
express an <code>id</code> property that matches the value specified in
427410
<code>statusListCredential</code> for the corresponding
428-
<code>StatusList2021Entry</code> (see <a href="#statuslist2021entry"></a>).
411+
<code>BitStringStatusListEntry</code> (see <a href="#bitstringstatuslistentry"></a>).
429412
</td>
430413
</tr>
431414
<tr>
432415
<td>type</td>
433416
<td>
434417
The <a>verifiable credential</a> that contains the status list MUST
435418
express a <code>type</code> property that includes the
436-
<code>StatusList2021Credential</code> value.
419+
<code>BitStringStatusListCredential</code> value.
437420
</td>
438421
</tr>
439422
<tr>
@@ -458,7 +441,7 @@ <h3>StatusList2021Credential</h3>
458441
<td>credentialSubject.type</td>
459442
<td>
460443
The <code>type</code> of the credential <a>subject</a>, which is the
461-
status list, MUST be <code>StatusList2021</code>.
444+
status list, MUST be <code>BitStringStatusList</code>.
462445
</td>
463446
</tr>
464447
<tr>
@@ -524,7 +507,7 @@ <h3>StatusList2021Credential</h3>
524507
The <code>ttl</code> indicates the "time to live" in milliseconds.
525508
This property MAY be present. If not present, implementers MUST
526509
use a value of <code>300000</code> for this property. A verifier
527-
MUST NOT use a cached <code>StatusList2021Credential</code> that was
510+
MUST NOT use a cached <code>BitstringStatusListCredential</code> that was
528511
cached for more than the <code>ttl</code> duration prior to the
529512
start of verification operation on a <a>verifiable credential</a>.
530513
Implementations that publish the status list SHOULD align
@@ -594,18 +577,18 @@ <h3>StatusList2021Credential</h3>
594577
</tbody>
595578
</table>
596579

597-
<pre class="example nohighlight" title="Example StatusList2021Credential">
580+
<pre class="example nohighlight" title="Example BitStringStatusListCredential">
598581
{
599582
"@context": [
600583
"https://www.w3.org/ns/credentials/v2",
601584
],
602585
"id": "<span class="highlight">https://example.com/credentials/status/3</span>",
603-
"type": ["VerifiableCredential", "<span class="highlight">StatusList2021Credential</span>"],
586+
"type": ["VerifiableCredential", "<span class="highlight">BitStringStatusListCredential</span>"],
604587
"issuer": "did:example:12345",
605588
"issued": "2021-04-05T14:27:40Z",
606589
"credentialSubject": {
607590
"id": "https://example.com/status/3#list",
608-
"type": "<span class="highlight">StatusList2021</span>",
591+
"type": "<span class="highlight">BitStringStatusList</span>",
609592
"statusPurpose": "<span class="highlight">revocation</span>",
610593
"encodedList": "<span class="highlight">H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA</span>"
611594
},
@@ -615,18 +598,18 @@ <h3>StatusList2021Credential</h3>
615598
<p class="issue" data-number="73" title="Design of multiple status messages is not finalized.">
616599
The Working Group is still discussing the unification of a design between status lists with a single state (such as "revoked" or "suspended") and status lists with multiple states (exposed via a series of status messages). We are seeking implementer feedback on what a unified design should look like from an ease of implementation, privacy, and security standpoint.
617600
</p>
618-
<pre class="example nohighlight" title="Example StatusList2021Credential">
601+
<pre class="example nohighlight" title="Example BitStringStatusListCredential">
619602
{
620603
"@context": [
621604
"https://www.w3.org/ns/credentials/v2",
622605
],
623606
"id": "<span class="highlight">https://example.com/credentials/status/3</span>",
624-
"type": ["VerifiableCredential", "<span class="highlight">StatusList2021Credential</span>"],
607+
"type": ["VerifiableCredential", "<span class="highlight">BitStringStatusListCredential</span>"],
625608
"issuer": "did:example:12345",
626609
"issued": "2021-04-05T14:27:40Z",
627610
"credentialSubject": {
628611
"id": "https://example.com/status/3#list",
629-
"type": "<span class="highlight">StatusList2021</span>",
612+
"type": "<span class="highlight">BitStringStatusList</span>",
630613
"ttl": 500,
631614
"statusPurpose": "<span class="highlight">status</span>",
632615
"reference": "https://example.org/status-dictionary/",
@@ -659,7 +642,7 @@ <h3>Generate Algorithm</h3>
659642
<p>
660643
The following process, or one generating the exact output, MUST be followed
661644
when producing a
662-
<a href="#statuslist2021credential">StatusList2021Credential</a>:
645+
<a href="#bitstringstatuslistcredential">BitStringStatusListCredential</a>:
663646
</p>
664647

665648
<ol class="algorithm">
@@ -669,7 +652,7 @@ <h3>Generate Algorithm</h3>
669652
</li>
670653
<li>
671654
Let <strong>RLC</strong> be an unsigned
672-
<a href="#statuslist2021credential">StatusList2021Credential</a>
655+
<a href="#bitstringstatuslistcredential">BitStringStatusListCredential</a>
673656
without the <code>encodedList</code> property set.
674657
</li>
675658
<li>
@@ -693,14 +676,14 @@ <h3>Validate Algorithm</h3>
693676
<p>
694677
The following process, or one generating the exact output, MUST be followed
695678
when validating a <a>verifiable credential</a> that is contained in a
696-
<a href="#statuslist2021credential">StatusList2021Credential</a>:
679+
<a href="#bitstringstatuslistcredential">BitStringStatusListCredential</a>:
697680
</p>
698681

699682
<ol class="algorithm">
700683
<li>
701684
Let <strong>credentialToValidate</strong> be a <a>verifiable credential</a>
702685
containing a <code>credentialStatus</code> entry that is a
703-
<a href="#statuslist2021entry">StatusList2021Entry</a>.
686+
<a href="#bitstringstatuslistentry">BitStringStatusListEntry</a>.
704687
</li>
705688
<li>
706689
Let <strong>status purpose</strong> be the value of <code>statusPurpose</code>
@@ -719,12 +702,12 @@ <h3>Validate Algorithm</h3>
719702
<li>
720703
Let <strong>compressed bitstring</strong> be the value of the
721704
<code>encodedList</code> property of the
722-
<a href="#statuslist2021credential">StatusList2021Credential</a>.
705+
<a href="#bitstringstatuslistcredential">BitStringStatusListCredential</a>.
723706
</li>
724707
<li>
725708
Let <strong>credentialIndex</strong> be the value of the
726709
<code>statusListIndex</code> property of the
727-
<a href="#statuslist2021entry">StatusList2021Entry</a>.
710+
<a href="#bitstringstatuslistentry">BitStringStatusListEntry</a>.
728711
</li>
729712
<li>
730713
Generate a <strong>revocation bitstring</strong> by passing
@@ -901,7 +884,7 @@ <h3>Bitstring Encoding</h3>
901884
encode and decode bitstrings. Failure to do so can result in checking the
902885
wrong bitstring index for a given credential, leading to a misinterpretation
903886
of its present state (e.g., mistaking a revoked status for an unrevoked
904-
status). As stated in Section <a href="#statuslist2021credential"></a>,
887+
status). As stated in Section <a href="#bitstringstatuslistcredential"></a>,
905888
bitstrings are encoded such that the first (zeroth) index refers to the
906889
left-most bit of the bitstring array. The diagram below demonstrates the
907890
proper layout for an uncompressed bitstring.
@@ -996,7 +979,7 @@ <h2>Revocable Verifiable Credential</h2>
996979
"validFrom": "2021-04-05T14:27:42Z",
997980
<span class="highlight">"credentialStatus": {
998981
"id": "https://example.com/credentials/status/3#94567",
999-
"type": "StatusList2021Entry",
982+
"type": "BitStringStatusListEntry",
1000983
"statusPurpose": "revocation",
1001984
"statusListIndex": "94567",
1002985
"statusListCredential": "https://example.com/credentials/status/3"
@@ -1019,12 +1002,12 @@ <h2>Status List Verifiable Credential</h2>
10191002
"https://www.w3.org/ns/credentials/examples/v2"
10201003
],
10211004
"id": "<span class="highlight">https://example.com/credentials/status/3</span>",
1022-
"type": ["VerifiableCredential", "<span class="highlight">StatusList2021Credential</span>"],
1005+
"type": ["VerifiableCredential", "<span class="highlight">BitStringStatusListCredential</span>"],
10231006
"issuer": "did:example:12345",
10241007
"validFrom": "2021-04-05T14:27:40Z",
10251008
"credentialSubject": {
10261009
"id": "https://example.com/status/3#list",
1027-
"type": "<span class="highlight">StatusList2021</span>",
1010+
"type": "<span class="highlight">BitStringStatusList</span>",
10281011
"statusPurpose": "<span class="highlight">revocation</span>",
10291012
"encodedList": "<span class="highlight">H4sIAAAAAAAAA-3BMQEAAADCoPVPbQwfoAAAAAAAAAAAAAAAAAAAAIC3AYbSVKsAQAAA</span>"
10301013
}

0 commit comments

Comments
 (0)