From 0168cbe4857000f58b7135bb0dc14b892909d05a Mon Sep 17 00:00:00 2001 From: cgeek <cem.moreau@gmail.com> Date: Sun, 24 Aug 2014 17:51:13 +0200 Subject: [PATCH] Update Protocol.md --- doc/Protocol.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/Protocol.md b/doc/Protocol.md index 9d29eb496..1a51a5e36 100644 --- a/doc/Protocol.md +++ b/doc/Protocol.md @@ -770,11 +770,14 @@ To be valid, a block fingerprint (whole document + signature) must start with a NB_ZEROS = MAX [ powZeroMin ; powZeroMin + lastBlockPenality - nbWaitedPeriods ] Where: -* `[lastBlockPenality]` is the number of leading zeros of last written block of the member, minus `[powZeroMin]`. If no block has been written by the member, `[lastBlockPenality] = 0`. +* `[lastBlockPenality]` is the number of leading zeros of last written block of the member, minus `[powZeroMin]`, plus `1`. If no block has been written by the member, `[lastBlockPenality] = 0`. * `[nbWaitedPeriods]` is the number of blocks written by any member since last written block of the member, divided by `[powPeriod]`. > Those 2 rules, and notably the second, ensures a shared control of the keychain writing +#### Block timestamp +A node SHOULD NOT accept a new block if `Timestamp` field does not match local machine time, more or less an arbitrary delay. UCP suggests a `[-30 ; +30]` seconds interval, but any other value may be chosen. + ### Status The network needs to be able to discover new peers inside it and eventually know their state to efficiently send data to them. For that purpose [Status](./#status) messages are used to introduce nodes to each other and keep a bilateral state of the connection. -- GitLab