-
Notifications
You must be signed in to change notification settings - Fork 36.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mark blocks with too many sigops as failed #7217
Conversation
Hmm, that one's fun.... Yea, thinking briefly about it I don't see how that error could indicate block malleability. On December 15, 2015 12:46:54 PM PST, Suhas Daftuar notifications@github.com wrote:
|
A relayer cannot cause this error to trigger without also causing one of the real corruption-possible checks to fail, so concept ACK. |
@sipa and I went back and traced the blame for that line...it looks like when the corruption possible flag was set for this case, it was, indeed needed as it was checked before the merkle tree was checked. As the order has now changed we do, indeed, no longer need this check. |
utACK |
5246180 Mark blocks with too many sigops as failed (Suhas Daftuar)
Will this cause a hard-fork or a soft-fork? |
neither, we'd already never accept such blocks, iiuc? |
@rebroad neither, this just has to do with avoiding downloading the block in a loop |
Is this appropriate to backport to 0.11 and 0.10? |
ACK for backport
|
Yes, it should be also really simple to backport. |
ACK for backport to 0.10 and 0.11 |
This unsets the "corruption possible" field in
CValidationState
when callingCheckBlock
on a block with too many sigops. Without this change, bitcoind would re-request such a block rather than mark it as permanently failed.