Skip to content

Commit aae0656

Browse files
committed
Raise error when status list size does not meet minimum threshold.
1 parent 26aaaf5 commit aae0656

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

index.html

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -245,15 +245,16 @@ <h3>Conceptual Framework</h3>
245245
data format since, in the average case, large numbers of credentials will
246246
remain unrevoked. This will ensure long sections of bits that are the same
247247
value and thus highly compressible using run-length compression techniques
248-
such as GZIP [[RFC1952]]. The default bitstring size is 16KB (131,072 entries),
249-
and when only a handful of <a>verifiable credentials</a> are revoked, the
250-
compressed bitstring size is reduced down to a few hundred bytes.
248+
such as GZIP [[RFC1952]]. The default status list size is 131,072 entries,
249+
equivalent to 16KB of single bit values. When only a handful of <a>verifiable
250+
credentials</a> are revoked, the compressed bitstring size is reduced down to a
251+
few hundred bytes.
251252
</p>
252253

253254
<p>
254255
Another benefit of using a bitstring is that it enables large numbers of
255-
<a>verifiable credential</a> statuses to be placed in the same list.
256-
This specification utilizes a minimum bitstring length of 131,072 (16KB). This
256+
<a>verifiable credential</a> statuses to be placed in the same list.
257+
This specification utilizes a minimum list length of 131,072. This
257258
population size ensures an adequate amount of herd privacy in the average case.
258259
If better herd privacy is required, the bitstring can be made to be larger.
259260
</p>
@@ -779,6 +780,11 @@ <h3>Validate Algorithm</h3>
779780
<a href="#bitstring-expansion-algorithm">Bitstring Expansion Algorithm</a>.
780781
</li>
781782
<li>
783+
If the length of the |revocation bitstring| divided by
784+
<a href="#size">`size`</a> is less than 131,072, raise a
785+
<a href="#STATUS_LIST_LENGTH_ERROR">STATUS_LIST_LENGTH_ERROR</a>.
786+
</li>
787+
<li>
782788
Let |status| be the value in the |bitstring| at the position indicated
783789
by the |credentialIndex| multiplied by the |size|. If the |credentialIndex|
784790
multiplied by the |size| is a value outside of the range of the |bitstring|, a
@@ -929,7 +935,9 @@ <h3>Processing Errors</h3>
929935
</ul>
930936

931937
<dl>
932-
<dt id="STATUS_RETRIEVAL_ERROR">STATUS_RETRIEVAL_ERROR (-128)</dt>
938+
<dt id="STATUS_RETRIEVAL_ERROR">
939+
STATUS_RETRIEVAL_ERROR (-128)
940+
</dt>
933941
<dd>
934942
Retrieval of the status list failed. See Section
935943
<a href="#validate-algorithm"></a>.
@@ -939,6 +947,13 @@ <h3>Processing Errors</h3>
939947
Validation of the status entry failed. See Section
940948
<a href="#validate-algorithm"></a>.
941949
</dd>
950+
<dt id="STATUS_LIST_LENGTH_ERROR">
951+
STATUS_LIST_LENGTH_ERROR (-130)
952+
</dt>
953+
<dd>
954+
The status list does not meet the minimum herd privacy length requirements.
955+
See Section <a href="#validate-algorithm"></a>.
956+
</dd>
942957
</dl>
943958
</section>
944959
</section>

0 commit comments

Comments
 (0)