aboutsummaryrefslogtreecommitdiff
path: root/spec/srv-spec/specification-spec.md
diff options
context:
space:
mode:
Diffstat (limited to 'spec/srv-spec/specification-spec.md')
-rw-r--r--spec/srv-spec/specification-spec.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/spec/srv-spec/specification-spec.md b/spec/srv-spec/specification-spec.md
index 1ff7db3..8a35d22 100644
--- a/spec/srv-spec/specification-spec.md
+++ b/spec/srv-spec/specification-spec.md
@@ -1,7 +1,9 @@
<a id="srv-spec.txt-4"></a>
+
# Specification [SPEC]
<a id="srv-spec.txt-4.1"></a>
+
## Voting
This section describes how commitments, reveals and SR values are encoded in
@@ -17,6 +19,7 @@ Participating authorities need to include the line:
in their votes to announce that they take part in the protocol.
<a id="srv-spec.txt-4.1.1"></a>
+
### Computing commitments and reveals [COMMITREVEAL]
A directory authority that wants to participate in this protocol needs to
@@ -44,6 +47,7 @@ REVEAL = base64-encode( TIMESTAMP || H(RN) )
```
<a id="srv-spec.txt-4.1.2"></a>
+
### Validating commitments and reveals [VALIDATEVALUES]
Given a COMMIT message and a REVEAL message it should be possible to verify
@@ -59,6 +63,7 @@ Authorities should ignore reveal values during the Reveal Phase that don't
correspond to commit values published during the Commitment Phase.
<a id="srv-spec.txt-4.1.4"></a>
+
### Encoding commit/reveal values in votes [COMMITVOTE]
An authority puts in its vote the commitments and reveals it has produced and
@@ -76,6 +81,7 @@ ALGNAME is the hash algorithm that should be used to compute COMMIT and
REVEAL which is "sha3-256" for version 1.
<a id="srv-spec.txt-4.1.5"></a>
+
### Shared Random Value [SRVOTE]
Authorities include a shared random value (SRV) in their votes using the
@@ -94,12 +100,14 @@ To maintain consistent ordering, the shared random values of the previous
period should be listed before the values of the current period.
<a id="srv-spec.txt-4.2"></a>
+
## Encoding Shared Random Values in the consensus [SRCONSENSUS]
Authorities insert the two active shared random values in the consensus
following the same encoding format as in [SRVOTE].
<a id="srv-spec.txt-4.3"></a>
+
## Persistent state format [STATEFORMAT]
As a way to keep ground truth state in this protocol, an authority MUST
@@ -156,4 +164,3 @@ Finally is the shared random value section.
This is the latest shared random value. The fields are the same as in
section [SRVOTE].
```
-