Discouraged block: Difference between revisions

From Bitcoin Wiki
Jump to navigation Jump to search
Eldentyrell (talk | contribs)
No edit summary
Amiller (talk | contribs)
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
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".
The idea of "discouraging" a block is to not mine on top of that block, instead mining on top of some other block in an attempt to orphan the discouraged block. Bitcoin does not currently implement block discouraging in any form.


At the moment, the only "new rule" for which disobedience is being discouraged is the "put the block height in the coinbase" rule.
Block discouragement is discussed in a forum post, [https://bitcointalk.org/index.php?topic=312668.0 "Feather-forks: enforcing a blacklist with sub-50% hash power"], although the idea predates this.
 
* 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.
 
[[Category:Technical]][[Category:Developer]]

Latest revision as of 02:56, 17 October 2013

The idea of "discouraging" a block is to not mine on top of that block, instead mining on top of some other block in an attempt to orphan the discouraged block. Bitcoin does not currently implement block discouraging in any form.

Block discouragement is discussed in a forum post, "Feather-forks: enforcing a blacklist with sub-50% hash power", although the idea predates this.