Lock protocol version numbers [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2011-11-05T17:30:02+00:00


Summary:

The discussion among Bitcoin developers revolves around the use of user-agent strings in communication choices. Christian Decker opposes this approach, believing it could lead to poor decision-making and discrimination based on client type. However, another developer argues that user-agent strings can be useful in identifying bugs among similar-functionality clients. The conversation then shifts to the idea of enforcing a standardized format for user-agent strings, including system information and settings for further analysis.There is agreement among the developers on the importance of maintaining protocol compliance and disconnecting non-compliant clients promptly. They discuss the hierarchy of protocol, variant, GUI, flavor, and build in user-agent strings, with examples such as /Satoshi:314700/bitcoin-qt:0.4/ and /BitcoinJ:0.2/AndroidBuild:0.8/. The possibility of a freely defined comments field is also debated, with examples like /BitcoinJ:0.2[iPad; U; CPU OS 3_2_1]/AndroidBuild:0.8/ and /Satoshi:314700/bitcoin-qt:0.4[Ubuntu Oneiric]/ being given.The conversation extends to using user-agent strings as a starting point for protocol choices. Some modifications are suggested to parse user-agent strings effectively. The question arises about the necessity of a freely defined comments field to include more specific information. The email exchange takes place on the Bitcoin-development mailing list in November 2011.Another discussion involves the naming of the client protocol identifier. Amir Taaki suggests calling it the "Satoshi" client as a tribute to its creator. However, it is clarified that the wxWidgets client, previously referred to as the "Satoshi" client, has been retired. The decision regarding the client name lies with the maintainers.Amir Taaki proposes locking the version numbers of the Bitcoin protocol to the sub_version_num field and revision number for individual builds. This would avoid constantly bumping up the version numbers with each client release. Gavin Andresen agrees with this idea and suggests creating a Bitcoin Improvement Proposal (BIP) for it. The conversation also touches on parsing the version number from the string "Satoshi 0.5" and the importance of a sensible protocol versioning scheme.In summary, the discussions among Bitcoin developers cover topics such as the use of user-agent strings in communication choices, the naming of the client protocol identifier, and locking the version numbers of the Bitcoin protocol. The developers emphasize the importance of protocol compliance and prompt disconnection of non-compliant clients.


Updated on: 2023-08-01T02:37:08.735445+00:00