Change to multiple executables?



Summary:

On August 10, 2011, Jeff Garzik and Andy Parkins discussed several ideas related to Bitcoin in an email exchange. The conversation centered on backward compatibility issues and the negative reception of some ideas. Andy had suggested that some changes could be made without financial implications, but Jeff argued that backward compatibility is essential since breaking it would mean breaking people's access to their money. Despite this, Andy suggested using a version number field combined with a complex process that allows nodes time to upgrade. Andy also proposed removing verack, querying bitcoind node over JSON-RPC for pending transactions, double SHA-256 for packet checksums, storing script parameters outside the script, and referencing them by the script, among others. However, most of these ideas were casually rejected or deemed unnecessary. For instance, the idea of MSG_DOUBLESPEND was not received positively because bitcoin can already detect double spends by being widely connected. The conversation also touched on the need for developers to prioritize keeping the current system running rather than new features. Still, Andy encouraged working on the design for bitcoin v2, which he suggested should have any breaking change, including getting rid of the patent-cloudy ECDSA, using Google's protocol buffers for encoding, and making the proof-of-work algorithm memory-intensive. However, Jeff argued that securing the integrity of money means that many implementation decisions have been cemented into stone, and backward compatibility is paramount.


Updated on: 2023-05-26T20:07:09.757924+00:00