Was there ever a case were Bitcoin or Bitcoin-Core itself was compromised? For example, did it ever happen that a malware hacker could insert code that compromised Bitcoin at the protocol level? For example, a committer to Bitcoin hypothetically compromises the protocol so that some transactions are stolen? I see plenty of reports that wallet providers and cryptoexchanges were hacked, but very little about Bitcoin itself has ever been compromised. In one case, an adversary seems to have compromised the server that hosted the Bitcoin.org website. But that is not a compromise of the protocol.
1 Answers
Bitcoin-Core is just an example of a bitcoin node program. There are many others, so getting compromised code into Bitcoin-Core would not necessarily have any larger impact than creating a fork using the new rules implemented by the compromised code.
Anyone is free to run any node software with any rules that they want. You are free to download the BitCoin-core source code, modify it to do anything you like, and then run it on as many machines as you can afford. If you are able to get your modified software running on enough machines to control the majority of the hash power in the bitcoin network, then your code is the de facto correct bitcoin fork and your changes are not an attack, they are just the new consensus rules.
Note that all this is not hypothetical. Bitcoin Cash is just a fork of the original bitcoin blockchain where the rules in the code were modified and there is enough hash power following these new rules that people care.
- 297
- 1
- 8
-
1Consensus rules don't change just because a majority of miners adopts them. Consensus rules exist exactly to prevent miners from doing that. – Pieter Wuille Nov 25 '22 at 00:12
-
@PieterWuille Where are these consensus rules codified and by what process are they changed? – bigjosh Nov 26 '22 at 01:22
-
1https://bitcoin.stackexchange.com/a/97046 – Pieter Wuille Nov 26 '22 at 12:20
-
@PieterWuille Thought experiment: If majority of miner hashpower today decides to update their code to, say, ignore all transactions that have a zero fee and all blocks containing zero fee transactions, then what would happen? I think now there is a new, de-facto consensus rule that all transactions must have min 1 sat fee - implemented solely by changes to miner code. Disagree? – bigjosh Nov 28 '22 at 15:19