lsd0001

LSD0001: GNU Name System
Log | Files | Refs | README

commit 4479d21d26a91249fd415fa59f3de8624d579d5f
parent 370e8d1cffbf537b0b7799c35557b3e15b1b543a
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Thu, 26 May 2022 18:06:08 +0200

modify difficulty calculation

Diffstat:
Mdraft-schanzen-gns.xml | 12++++++------
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.