The core Bitcoin software is undergoing some fairly rapid development, and at least one of the core developers is concerned about it. Peter Todd, one of the core Bitcoin devs, posted the following to Twitter this morning:
“I’m increasingly thinking that the v0.10 dev process has been taking very big risks re: introducing consensus bugs: http://t.co/YUgkR5lXqy”
— Peter Todd (@petertoddbtc) December 15, 2014
The issue has to do with code “refactoring,” a process by which an existing code base is altered in order to be better structured, simpler, more general, or otherwise nicer to work with. Todd’s complaint is that, since an enormous amount of refactoring has been happening quite quickly, generally by developers who are using the same code for altcoins and thus need a high degree of generality. As a side effect of the rapid development process, some of the changes introduced in the upcoming v0.1 release could potentially interfere with the network’s ability to achieve consensus on which block chain is the official, accepted version of events.
“Secondly, that this change was made, and the manner in which is was made, is I think indicative of a development process that has been taking significant risks with regard to refactoring the consensus critical codebase […] This is after all a multi-billion project where a simple fork will cost miners alone tens of thousands of dollars an hour; easily much more if it results in users being defrauded. That’s also not taking into account the significant negative PR impact and loss of trust. I personally would recommend *not* upgrading to v0.10 due to these issues.”
Other devs chimed in in the mailing list discussion, including BTC Drak and Jeff Garzik, describing the need for a more responsible refactoring process which does not break backwards compatibility prior to the 0.1 release. With any luck, these issues will be resolved before the next version of Bitcoin comes online, preventing any costly and dangerous forks.