How do Bitcoin devs make sure that their modifications do not affect the consensus rules or the running network protocol? I understand that Bitcoin consensus rules are enforced by every single node individually.
However, most people run the default version of Bitcoin Core, which makes the implementations done by Bitcoin devs uttermost important.
So my question is in the title: how do they guarantee the implementations do not affect the consensus rules or network protocol?
While I also understand that each Bitcoin version is released with extreme care and extensive testing, I keep wondering whether there exists a systematic practice for this.
Any pointer would be highly appreciated.
&quot;Best-effort&quot;. Formal proofs don't help. All one can do is to write tests, like any other well-written piece of software.
They also maintain forks of some dependencies such as LevelDB and don't update some of them such as BerkeleyDB.
See What Went Wrong. Especially the 2013 hardfork wouldn't have happened if they could ensure an unchanged consensus protocol.