pull down to refresh

I don't want to narrate too much around this, so I'm just going to do this pointwise.
  • Bitcoin does not run under rough consensus, it runs under absolute consensus. That's why it is super-hard to build alternative fully validating software.
  • Bitcoin Core is developed under "rough consensus", especially when it comes to protocol changes.
  • Until now, all soft forks that ever made it into Bitcoin were activated through Bitcoin Core (and before that name was changed, "Bitcoin" or "bitcoind")
  • If Bitcoin Core ossifies, that doesn't mean that Bitcoin has to ossify, but if you want to do safe miner-enforced soft forks, you'll need something that a very large majority of miners (95% for activation in the past) is willing to run, and play that very long game. It's extremely hard to do that for something that Bitcoin Core doesn't support.
  • Any developer shortcut to activate (like flag day default-to-true outcomes as was proposed for BIP-8) is playing a very dangerous game, and will eventually fuck up and cause a hard fork. And if it succeeds without fucking up, Bitcoin has become a lame developer centric, governed shitcoin, like BCH or Ethereum.
So be careful what you wish for.
302 sats \ 1 reply \ @DarthCoin 6h
reply
102 sats \ 0 replies \ @optimism 3h
Not having governance. Feature, not bug.
reply
Bitcoin does not run under rough consensus...Bitcoin Core is developed under "rough consensus"
This is a good way of putting it. I think my OP could have benefitted from making this distinction.
if you want to do safe miner-enforced soft forks
Is there an example of any other kind of soft fork? Have people ever done an unsafe soft fork of Bitcoin?
I think I recognize the truth of all your bullet points. In that case, I suppose it means that releasing and running code external to the Bitcoin Core process is actually a risk.
But then my question becomes, do you think a world where there is significant adoption of multiple implementations by miners precludes soft forks (ie soft forks are only safe to attempt while miners are mostly running the same single implementation)?
reply
238 sats \ 1 reply \ @optimism 13h
Have people ever done an unsafe soft fork of Bitcoin?
Yes. Before devs figured out how to do good softforks when the installed base and value at risk were infinitely smaller. BIP-16 (p2sh) wasn't miner enforced and there were some early Satoshi-made hard forks. Can't think of another example right now. But wishing for that mechanism now is imho really risky and I feel strongly that as users of Bitcoin (and miners) "we" should reject nonsense like that every single time. "95% or gtfo" as an attitude could really help with long-term stability, which, imho, is way more important than, say, CTV. If every softfork becomes an existential risk due to it turning into hardfork drama, like segwit2x, then that's bad for Bitcoin, imho.
I suppose it means that releasing and running code external to the Bitcoin Core process is actually a risk.
As long as a massive majority of miners runs Bitcoin Core, it could be a risk if you're relying on it and there's a bug in the software that you don't know about. But we know that for example btcd is well tested (also: #1206628) and is (or was, haven't checked in a while) regularly fuzzed, so it's not high-risk. I hope the same for libbitcoin, when it's ready.
But then my question becomes, do you think a world where there is significant adoption of multiple implementations by miners precludes soft forks (ie soft forks are only safe to attempt while miners are mostly running the same single implementation)?
It can work if these softforks are implemented and well-tested by all the different implementations. But note that this shifts the problem from having to argue on bitcoin/bitcoin, to having to argue elsewhere. For a while now, some of the more vocal bitcoin devs seem to be rather high on their retarded power trips. As long as that's the case, I don't think we'll see a successful softfork, but I'm open to miracles.
That said, there is something to be said about just forking Bitcoin Core and seeing who will run a signaling node. See who picks up on it. But if you do it while there are unaddressed concerns on Bitcoin Core (rough consensus means everything is addressed, not that everything is agreed upon) then that's a massive hurdle to overcome.
reply
Thanks for this answer. I'm always learning more about bitcoin.
I am going to think on the "95% or gtfo" motto. It has a ring to it...
reply