Difference between revisions of "Discouraged block"

From Bitcoin Wiki
Jump to: navigation, search
Line 4: Line 4:
  
 
* Clients '''will consider discouraged blocks''' when determining which chain is difficultywise-longest.
 
* Clients '''will consider discouraged blocks''' when determining which chain is difficultywise-longest.
* Mining clients '''will not build on top of''' discouraged blocks.
+
* Mining clients '''will not build directly on top of''' discouraged blocks.  They ''will'' extend branches containing discouraged blocks, so long as the block at the tip of the fork is not discouraged.
 
* Transactions cannot be discouraged (only blocks), so this does not affect transaction propagation.
 
* Transactions cannot be discouraged (only blocks), so this does not affect transaction propagation.
  
 
[[Category:Technical]][[Category:Developer]]
 
[[Category:Technical]][[Category:Developer]]

Revision as of 04:38, 15 February 2012

A block is "discouraged" if the ShouldDiscourage() method in the source code returns true. Currently, for each "new rule" this happens only if (a) 80 of the last 100 blocks obey the "new rule" and (b) the block does not obey the "new rule".

At the moment, the only "new rule" for which disobedience is being discouraged is the "put the block height in the coinbase" rule.

  • Clients will consider discouraged blocks when determining which chain is difficultywise-longest.
  • Mining clients will not build directly on top of discouraged blocks. They will extend branches containing discouraged blocks, so long as the block at the tip of the fork is not discouraged.
  • Transactions cannot be discouraged (only blocks), so this does not affect transaction propagation.