Author: Jeff Garzik 2015-06-27 23:57:00
Published on: 2015-06-27T23:57:00+00:00
In a post to the bitcoin-dev mailing list, Natanael discussed the need to phase out old versions of software that cannot be sandboxed from the world. He explained that outdated code can be abused and exploited, countering its intended purpose. In the case of Bitcoin, full nodes validate all new transactions against their own policies and rules. Eventually, the global consensus will agree on a change of rules, and incompatible old full nodes will be removed from the blockchain. However, there is currently no simple way to tell a node that it is outdated. Natanael suggested introducing expiration dates for nodes that are behind by numerous soft forks, which would automatically switch to SPV mode while alerting the node owner. This would extend the lifetime of the node with minimal disruption, and also allows node owners who don't regularly update their software to realize an update is necessary. Additionally, he proposed an explicit declaration of block policy/rules in blocks, including miner votes for changes and an explicit declaration of incompatibility with old versions. This would allow a node to alert the owner of impending necessity to update. Switching to SPV mode again provides for minimal disruption. By switching to SPV mode, hard forks no longer become a critical deadline for getting the entire network upgraded, buying time for everybody.
Updated on: 2023-06-10T01:33:20.932538+00:00