You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EPOCH_LIMIT_PUBLIC: Public epoch-limit key generated from EPOCH_LIMIT_SECRET
89
-
EPOCH_LIMIT_PROOF: A bytestring representing a zero-knowledge proof of
90
-
knowledge of EPOCH_LIMIT_SECRET.
89
+
EPOCH_LIMIT_PROOF: A bytestring representing a zero-knowledge proof of knowledge of EPOCH_LIMIT_SECRET.
91
90
Output:
92
91
REQUEST: Bytestring containing EPOCH_LIMIT_PUBLIC and EPOCH_LIMIT_PROOF
93
92
```
@@ -117,8 +116,7 @@ Inputs:
117
116
SITE_PUBLIC: Public key generated from SITE_SECRET
118
117
TOKEN: Bytestring containing VALUE and SIG
119
118
Output:
120
-
VALID: Boolean indicating whether TOKEN was issued using EPOCH_LIMIT_SECRET
121
-
and SITE_PUBLIC.
119
+
VALID: Boolean indicating whether TOKEN was issued using EPOCH_LIMIT_SECRET and SITE_PUBLIC.
122
120
```
123
121
124
122
#### Proof Generation Algorithm
@@ -131,21 +129,14 @@ Inputs:
131
129
SITE_PUBLIC: Public key generated from SITE_SECRET
132
130
TOKEN: Bytestring containing VALUE and SIG
133
131
BOUND: Integer which we want to prove VALUE is less than or equal to
134
-
EPOCH_LENGTH: Integer in seconds representing the length of a given epoch
135
-
for rate limiting purposes.
136
-
EPOCH_LIMIT: Integer between 0 and 2^17 exclusive representing the maximum
137
-
tokens possible to issue in a given epoch.
132
+
EPOCH_LENGTH: Integer in seconds representing the length of a given epoch for rate limiting purposes.
133
+
EPOCH_LIMIT: Integer between 0 and 2^17 exclusive representing the maximum tokens possible to issue in a given epoch.
138
134
COUNTER: Amount of proofs issued in current epoch (excluding this one).
139
135
PROOF_ID: String used to trace this specific proof generation request.
140
136
Intermediates:
141
137
EPOCH: The current epoch according to EPOCH_LENGTH and the current time.
142
-
EPOCH_LIMIT_RANDOM: Output of a VRF seeded by EPOCH_LIMIT_SECRET and applied
143
-
to EPOCH and COUNTER.
144
-
T_PROOF: Non-Interactive Zero-Knowledge Proof that TOKEN was issued using
145
-
EPOCH_LIMIT_SECRET and SITE_PUBLIC, that VALUE <= BOUND, that
146
-
EPOCH_LIMIT_RANDOM was properly calculated, that COUNTER <
147
-
EPOCH_LIMIT, that the current time is within EPOCH, and of
148
-
PROOF_ID's value.
138
+
EPOCH_LIMIT_RANDOM: Output of a VRF seeded by EPOCH_LIMIT_SECRET and applied to EPOCH and COUNTER.
139
+
T_PROOF: Non-Interactive Zero-Knowledge Proof that TOKEN was issued using EPOCH_LIMIT_SECRET and SITE_PUBLIC, that VALUE <= BOUND, that EPOCH_LIMIT_RANDOM was properly calculated, that COUNTER < EPOCH_LIMIT, that the current time is within EPOCH, and of PROOF_ID's value.
149
140
Output:
150
141
PROOF: Bytestring containing EPOCH_LIMIT_RANDOM and T_PROOF.
151
142
```
@@ -159,16 +150,11 @@ Inputs:
159
150
SITE_SECRET: Server's private key
160
151
PROOF: Bytestring containing EPOCH_LIMIT_RANDOM and T_PROOF.
161
152
BOUND': Integer which we want to prove VALUE is less than or equal to
162
-
EPOCH_LENGTH: Integer in seconds representing the length of a given epoch
163
-
for rate limiting purposes.
164
-
EPOCH_LIMIT: Integer between 0 and 2^17 exclusive representing the maximum
165
-
tokens possible to issue in a given epoch.
153
+
EPOCH_LENGTH: Integer in seconds representing the length of a given epoch for rate limiting purposes.
154
+
EPOCH_LIMIT: Integer between 0 and 2^17 exclusive representing the maximum tokens possible to issue in a given epoch.
166
155
PROOF_ID: String used in generating PROOF to demonstrate provenance.
167
156
Intermediates:
168
-
EPOCH: The current epoch according to EPOCH_LENGTH and the current time. The
169
-
server may decide to try multiple EPOCHs (for example, the ones
170
-
immediately before or after) to prevent issues around EPOCH
171
-
boundaries.
157
+
EPOCH: The current epoch according to EPOCH_LENGTH and the current time. The server may decide to try multiple EPOCHs (for example, the ones immediately before or after) to prevent issues around EPOCH boundaries.
172
158
Output:
173
159
VALID: Boolean indicating whether or not PROOF is valid.
0 commit comments