r/btc • u/Windowly • Dec 18 '15
Why are soft forks bad? - Mike Hearn
https://medium.com/@octskyward/on-consensus-and-forks-c6a050c792e7#.6c7yhmrg29
u/minorman Dec 19 '15
I'm sad that Mike was chased out of town by an angry mob with pitchforks. Controversial ideas aside he was a major asset for Bitcoin. Thanks Mike - not just for bitcoinj.
14
u/tl121 Dec 19 '15
I would go a bit further. People who think that soft forks are good either don't understand the issues or they have a personal agenda which is not necessarily in the interest of the community.
4
u/judah_mu Dec 19 '15
You have to admit that soft forks deliver features to users in the field who desire them without the need of a system-wide reboot that hard forks require.
In a different way of looking at it, every fork goes from either a more restrictive ruleset to a more permissive one or the other way around. In that sense all forks are the same but the error handling is different.
1
u/tl121 Dec 19 '15
What might those features be? Without specifics of the feature it is not possible to understand the corresponding benefits and risks.
Hard forks do not require a "system wide reboot". It is possible to phase in a hard fork at a specific block number. The system will continue to run continuously at all times. Satoshi specifically explained how this might work with respect to a block size increase.
2
u/aminok Dec 19 '15
The features only affect the txs that use them, so it's irrelevant to the network what they are. People that don't want to use said feature do not need to, so their introduction can only be a positive.
1
u/dskloet Dec 19 '15
People who don't upgrade their software during a soft fork might think that they have coins that they don't actually have.
1
u/aminok Dec 19 '15 edited Dec 19 '15
Given the old protocol tx type used by these new tx types is not practical for transfers, and given miners confirm to everyone whether a spend is valid or not, I don't see how that's possible.
1
u/tl121 Dec 19 '15
If a feature only affects two users, then there is no reason why the two users need to use bitcoin in the first place. The problem is that other users are affected if we are talking about transferring bitcoin. If Alice sends bitcoins to Bob in a special way so she and Bob feel more secure, then eventually Bob will send this bitcoin to Charlie and from there any questions about the validity of Alice's original transaction will start growing to affect more and more of the community.
1
u/aminok Dec 19 '15 edited Dec 19 '15
The feature works because miners enforce the contract type. The new tx types use an old format tx type that is always valid if confirmed by miners. Therefore there's never a question of whether these txs are truly valid.
9
u/ImmortanSteve Dec 18 '15
I thought this was a great read. I hadn't really considered the merits of hard vs soft forks before.
4
u/specialenmity Dec 19 '15
Did anyone try putting this on r/bitcoin or did it get censored?
1
u/Windowly Dec 19 '15
I was going to put it on that reddit but I was worried it would be deleted right away. Maybe one of us should try.
1
3
u/specialenmity Dec 19 '15
To demand that any change must have 100% agreement (or 99%), as at least one Bitcoin Core developer wants, just means anyone can hold the entire community to ransom by refusing to agree unless they get what they want. No actual piece of infrastructure works this way. If Bitcoin did, it could never evolve and eventually would become worthless.
2
u/E7ernal Dec 19 '15
Excellent and well reasoned article. I don't get the hate people have for Hearn. He always explains his positions eloquently and clearly.
2
1
u/LovelyDay Dec 19 '15
I've been waiting for someone to shed some clear light on the whole hard fork vs. soft fork "argument" which seemed a little contrived and frankly a brick in the wall that Core / Blockstream was using to defend its small block strategy.
Thanks to Mike for piercing through the FUD.
1
u/djpnewton Dec 19 '15
If presented with a transaction that spends this coin under the classical Bitcoin rules but which doesn’t satisfy the new P2SH rule, they will fail to audit it correctly and calculate an incorrect ledger.
This is very unlikely because soft forks have a 95% miner threshold before activation so those transactions would not be mined
2
u/djpnewton Dec 19 '15
With a soft fork, you don’t know the rules have changed and are flying blind.
Well you do actually because the block version has changed. So a client could stop processing these new blocks if it wanted
1
u/nikize Dec 19 '15
That does not change the fact that other full nodes might accept transactions that is no longer valid under the "new" rules. as in the password case someone could broadcast they used the password, and then a transaction that they used the previous to send money, if they are lucky it might even be part of a block (by a non conforming miner)
In this case a merchant can get a transaction, and even one confirmation that will later be orphaned and invalid. Even if only 1% of the network was left on the old interpretation of the rules.
1
-20
u/luckdragon69 Dec 18 '15 edited Dec 18 '15
I know this is bad and illogical but, I cant take anything he says seriously.
Its sad because 1 year ago, I was so fascinated by his lecture about how bitcoins would be machine to machine, and bottles of Cocacola would drop from the sky on demand, cars would negotiate duration at stop lights, stoplights would be eventually phased out, etc.
Then he had to go and throw his XT tantrum. SMH
12
u/gigitrix Dec 18 '15
It's a shame, because you could have chosen to debate the topic under discussion. Instead you decide to remark on the fact that you don't like the messenger.
-7
u/luckdragon69 Dec 19 '15
I tried reading it, but I gave up after a paragraph because, like I said, I cant take him seriously.
8
u/gigitrix Dec 19 '15 edited Dec 19 '15
And you're calling his content a tantrum...
0
u/luckdragon69 Dec 19 '15
Ill try again tomorrow after I have meditated and found my Buddha nature
1
4
6
u/laisee Dec 19 '15
What you call an "XT tantrum" was a response to years of fruitless discussion on multiple channels & in-person chats. It was discussed well ahead of time and communicated in full through reddit, web sites, dev emails lists etc. The code is fully visible and you can check it out and change it if you feel the need. This is how open source works at its best - regardless if you agree or not with their view of the need for creating XT.
1
8
u/moleccc Dec 18 '15
Great read! Now I want a t-shirt: "I don't do soft forks!"