Post
Topic
Board Bitcoin Discussion
Re: Alert: chain fork caused by pre-0.8 clients dealing badly with large blocks
by
gmaxwell
on 12/03/2013, 06:09:55 UTC
0.8 is not flawed. The flaw lied in 0.7 and below. If an upgrade was hastened, the problem would not have been a problem at all.
Sadly, 0.8 is flawed— its "one job" was to faithfully follow the behavior of 0.7, "bugs" and all. It did not. Had we known about this behavior in 0.7 or had testing turned it up we would have made sure 0.8 behaved the same way.
This is the nature of a distributed consensus system.  The primary definition of right and wrong is "consistent" and if you aren't consistent you aren't right, no matter what.
The testing should have happened with the older version of Bitcoin. I don't see how testing 0.8 would fix this issue, given that 0.8 fixes the bug.
It was. Many of the tests we do are consistency checks: we take two nodes (old version + new version) through the same sequence of blocks and reorganizations and make sure they agree along every step of the way. So both old and new are tested at once because consistency is the most important behavior characteristic.

If you'd like to contribute, testing is an area where we can basically have an infinite amount of additional resources and put them all to good use.