commit 4479d21d26a91249fd415fa59f3de8624d579d5f
parent 370e8d1cffbf537b0b7799c35557b3e15b1b543a
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Thu, 26 May 2022 18:06:08 +0200
modify difficulty calculation
Diffstat:
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/draft-schanzen-gns.xml b/draft-schanzen-gns.xml
@@ -686,8 +686,8 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
</dl>
<t>
Usually, PoW schemes require to find one POW value such that
- at least D leading zeroes are found in the hash result.
- D is then referred to as the difficulty of the PoW.
+ a specific number of leading zeroes are found in the hash result.
+ This number is then referred to as the difficulty of the PoW.
In order to reduce the variance in time it takes to calculate the
PoW, a valid GNS revocation requires that a number Z different PoWs
must be found that on average have D leading zeroes.
@@ -709,7 +709,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
<dt>Z</dt>
<dd>The number of PoWs that are required. Its value is fixed at 32.</dd>
<dt>D</dt>
- <dd>The minimum average difficulty. Its value is fixed at 22.</dd>
+ <dd>The lower limit of the average difficulty. Its value is fixed at 22.</dd>
<dt>EPOCH</dt>
<dd>A single epoch. Its value is fixed at 365 days in microseconds.</dd>
</dl>
@@ -757,7 +757,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
microseconds in network byte order.
The field <bcp14>SHOULD</bcp14> be set to EPOCH * 1.1.
Given an average number of leading zeros D', then the field value
- <bcp14>MAY</bcp14> be increased up to (D'-D) * EPOCH * 1.1.
+ <bcp14>MAY</bcp14> be increased up to (D'-D+1) * EPOCH * 1.1.
Validators <bcp14>MAY</bcp14> reject messages with lower or higher
values when received.
The EPOCH is extended by
@@ -847,7 +847,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
<li>The signature <bcp14>MUST</bcp14> be verified against the zone key.</li>
<li>The set of POW values <bcp14>MUST</bcp14> NOT contain duplicates which <bcp14>MUST</bcp14> be checked by verifying that the values are strictly monotonically increasing.</li>
<li>The average number of leading zeroes D' resulting from the provided
- POW values <bcp14>MUST</bcp14> be greater than and not equal to D. Implementers
+ POW values <bcp14>MUST</bcp14> be greater than or equal to D. Implementers
<bcp14>MUST NOT</bcp14> use an integer data type to calculate or represent D'.</li>
</ol>
<t>
@@ -861,7 +861,7 @@ zTLD[126..129].zTLD[63..125].zTLD[0..62]
</t>
<t>
The validity period of the revocation is calculated as
- (D'-D) * EPOCH * 1.1. The EPOCH is extended by
+ (D'-D+1) * EPOCH * 1.1. The EPOCH is extended by
10% in order to deal with unsynchronized clocks.
The validity period added on top of the TIMESTAMP yields the
expiration date.