Skip to content

Commit

Permalink
BIP8: add note about keeping lockinontimeout=true peers connected to …
Browse files Browse the repository at this point in the history
…each other
  • Loading branch information
ajtowns authored and luke-jr committed Oct 15, 2020
1 parent da9cdd6 commit 0f683f7
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions bip-0008.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -189,6 +189,8 @@ Blocks received while in the MUST_SIGNAL and LOCKED_IN phases must be checked to
Implementations should be careful not to ban peers that send blocks that are invalid due to not signalling (or blocks that build on those blocks), as that would allow an incompatible chain that is only briefly longer than the compliant chain to cause a split of the p2p network. If that occurred, nodes that have not set ''lockinontimeout'' may not see new blocks in the compliant chain, and thus not reorg to it at the point when it has more work, and would thus not be following the valid chain with the most work.

Implementations with ''lockinontimeout'' set to true may potentially follow a lower work chain than nodes with ''lockinontimeout'' set to false for an extended period. In order for this not to result in a net split nodes with ''lockinontimeout'' set to true, those nodes may need to preferentially connect to each other. Deployments proposing that implementations set ''lockinontimeout'' to true should either use parameters that do not risk there being a higher work alternative chain, or specify a mechanism for implementations that support the deployment to preferentially peer with each other.

===Warning mechanism===

To support upgrade warnings, an extra "unknown upgrade" is tracked, using the "implicit bit" mask = (block.nVersion & ~expectedVersion) != 0. Mask will be non-zero whenever an unexpected bit is set in nVersion. Whenever LOCKED_IN for the unknown upgrade is detected, the software should warn loudly about the upcoming soft fork. It should warn even more loudly after the next retarget period (when the unknown upgrade is in the ACTIVE state).
Expand Down

0 comments on commit 0f683f7

Please sign in to comment.