| Both of Hearn's articles contain a number of factually incorrect points. For example, his article on forks states that: > In a soft fork, a protocol change is carefully constructed to essentially trick old nodes into believing that something is valid when it actually might not be. The soft-fork protocols used for upgrades are specifically designed to ensure nodes are not tricked into believing something is valid when it might actually not be, as there is a well-defined mechanism - the block header nVersion field - that both co-ordinates soft forks and ensures that nodes that are unaware of the specifics of a given soft-fork know that there are new rules in effect. This is why at present, Bitcoin Core nodes/wallets loudly warn you that unknown rules may be in effect that your node does not understand, because the BIP91 soft-fork just activated that Bitcoin Core does not recognize. (BIP91 is a temporary hack to activate segwit at 80% rather than 95% threshold; in a few weeks it'll no longer be relevant to consensus) Hearn is misleadingly confusing the adversarial case where a majority of miners may try to change the rules without consent of the community in an undetectable fashion, but that's simply a 51% attack. At present, preventing such attacks is an open research question; conflating the 51% attacks and soft-fork upgrades is very misleading. In Hearns "resolution of the bitcoin experiment" Hearn states that: > Bitcoin Core has a brilliant solution to this problem — allow people to mark their payments as changeable after they’ve been sent, up until they appear in the block chain. and > How many people would think bitcoins are worth hundreds of dollars each when you soon won’t be able to use them in actual shops? Here he's referring to zero-confirmation payments and BIP125, Opt-In Replace-By-Fee. First of all, opt-in replace-by-fee is actually derived from Hearns own proposal to re-enable transaction replacement by nSequence. Specifically, Hearn proposed to re-enable an old feature in Bitcoin Core - originally written by Satoshi - that allowed transactions to be replaced if they signalled a higher sequence number. This creates a DoS attack, which I proposed we fix by ensuring that replacements paid a higher fee than the replaced transaction. Opt-in replace-by-fee is a combination of Hearn's proposal and my own: transactions can signal that they are replacable, and if they signal replacability, can be replaced by transactions paying a higher fee. The combination implements Hearn's desired transaction replacability behavior, while fixing the DoS attack. The bigger issue is that zero-confirmation transactions are simply not secure: even without the opt-in replace-by-fee that Hearn criticises Bitcoin Core for implementing, it is very easy to double-spend unconfirmed transactions. Soon after Hearn published that post, I did a study which found that every half the wallets tested could be double-spent trivially with nearly 100% success rates, and the other half with about 25% success rates: https://petertodd.org/2016/are-wallets-ready-for-rbf Unfortunately, Hearn is simply being dishonest on both counts here, something that got him wide condemnation in the technical community. |
You just cherry picked one (minor) point from each article, and then used an argument against those points to claim that both articles are incorrect in full. I think that is a dishonest form of argument.
Furthermore, it's worth disclosing your own personal dislike of Mike Hearn - you guys have spent a huge amount of time attacking one another... so I'm inclined to discount any of your statements on him.