The Official Process for changing BitcoinThe Official Process for changing Bitcoin
There isn't one. But here are a few examples of people attempting to describe the process
- BCAP: @moneyball and co wrote this great analysis of Bitcoin consensus
- Quantum Cats made this humorous Map of BIPLand
for adopting OP_CAT - @ajtowns wrote this Forking Guide
Also, Bitcoin is not necessarily the same as Bitcoin Core. But, Bitcoin Core is the reference implementation for Bitcoin. This means Bitcoin Core code is the closest thing we have to a written down list of all Bitcoin's rules (#1208380).
Is the process working?Is the process working?
In a comment quoting @nerd2ninja's question from #1238495, @optimism suggested
is our current process for "the reference implementation" really provide the resilient structure we need to stave off those undesirable tendencies of human nature into the future[?]So why don't we discuss this here on SN? Gotta start somewhere. (#1239029)
This is probably not what was intended, but I'm curious what Stackers have as their back-of-napkin concept of the process for making changes to Bitcoin Core. I'm not so much interested in nailing down some real, official way changes happen, but instead learning how Bitcoiners think such changes happen.
My own understanding is this:My own understanding is this:
- Someone comes up with an idea for a change
- "The devs" talk about it a bunch on places like
- The Bitcoin Mailing List
- Delving Bitcoin
- Someone "makes a PR" to Bitcoin's Github
- "The devs" talk about it more but on Github this time
- Rough consensus
- Basically all the critiques get heard and addressed in some way[1] before moving on
- If reached, a "maintainer" merges it
- The change eventually shows up in a release I download
What is your understanding of how changes get made to Bitcoin Core?What is your understanding of how changes get made to Bitcoin Core?
is this where everything happens? ↩
Any Bitcoin implementation needs to be open-source. We gotta have public discussion about any changes, consensus stuff or whatever. I get that private or closed versions can exist too, but the people with the build keys basically run the show on that specific code (Open and private source).
I haven't read too much on this drama, but I still haven't seen the main miners say anything. And just so we're clear, they're the ones who really call the shots, by the way. I bet those huge mining companies just have their own dev teams and run their own code anyway.
Why do you think that?
I'm not saying they run the show by themselves; it's a balance between the miners, the devs, and the hodlers. Nobody's trying to screw anyone over, but for me, Bitcoin is all about the hashpower—that's where the security comes from. If that core thing fails, how is everything else supposed to survive?
Because people. See Risk Sharing Principle:
Aight, I get it. Bitcoin's a tool, and the people are the ones who secure it and share the risk. If everyone takes on their piece, the whole thing's safer. Word.
Now, I could be wrong, but the way I see it—even with my limited knowledge—the cats who control the hashpower are the ones with the most control. I ain't saying they're in charge all by themselves, but they got the real power on the ground. Theoretically, you can talk about other scenarios, sure. Like, other mining groups (ocean-knots) are becoming a real option cause they're stacking up some serious hashpower now.
But to me, hashpower is the whole lifeblood of Bitcoin.
Just because there are less pools than there are pure economic actors doesn't mean that the group as a whole has more power, it's just that it's less distributed because not enough people have their solar bitaxe yet (hyperbole, but for a reason - block template centralization is an issue.)
See pool share - it's under 2% and it looks like the peaks correlate with people renting off nicehash. I'd be totes happy if Ocean has 10% of the blocks, even if they won't mine coinjoins or p2a. Diversity is good.
Miners have no power. And that's a good thing
The market decides which set of consensus rules has the most valuable token, and then the miners flock to it
Miners are sheep, following the money, while the (economic) nodes are the shepherds
It's possible that a lot of stubborn miners will keep their hashrate on the least-valuable chain for a long time. But that's not my problem 😜.
The only exception is in the extremely unlikely event that a large group of miners are able to coordinate themselves to do an extended 51% attack on the chain they don't like. But that won't happen as it requires too much coordination and will be insanely expensive
We, the node runners, must stay vigilant and constantly take actions to ensure miners don't gain any power, as things could change in future
What token? Sounds like shitcoin. Ahhh
If there'd be a fork then there'd inevitably be a shitcoin. The question then becomes, which one is the shitcoin, anon? Decisions, decisions.
I thought it was just coins on Bitcoin, not tokens.
I think that the term "coin" doesn't distinguish much versus token, similarities in naming are only a vehicle for association scammers: if something is called a coin, it doesn't mean that it is good or bad, yet that is what scammers will argue.
The steps you laid out seem correct to me for any non-consensus breaking changes. Should be important to additionally note that no PR gets merged without at least a few ACKs from established contributors.
If there was an "official process", then bad actors would try to abuse the process.
Just because Bitcoin Core changes its code, does not necessarily mean "the rules" (i.e. consensus) has changed.
I was trying to ask the question broadly enough to include nonconsensus changes -- by which I mean changes to relay policy or to something like p2p networking (but also including changes to the consensus layer).
I agree, but it is a little fuzzy, isn't it? As far as I am aware all of the changes to the consensus layer in the last decade have been enacted in Core first, with the rest of the ecosystem following. This doesn't mean that is the only way it can be, but it also implies a strong connection.
I thought you just emailed the devs your desired changes and they all got to work
Non concensus break changes for bitcoin core can not be the same with bitcoin
Yeah that's not what I meant, but this is okay too. It could be interesting to learn what people think about this, and I hope Darth posts his standoff meme.
@remindme in 48 hours
Check this out:
https://podverse.fm/episode/GG9KXopD9
Now do Knots
The question is weather the node runners will upgrade to the new version
Your understanding seems somewhat accurate.
If I had to describe the process of changing Bitcoin Core in human terms, it’s like planning a neighborhood barbecue where every resident has a strong opinion on how the burgers should be cooked, and nobody actually owns the grill. Someone floats an idea, often on the mailing list or Delving Bitcoin, like “Hey, what if we add onion rings?” Then comes the endless feedback loop where everyone in the community debates whether onion rings will ruin the flavor, set the grill on fire, or lead to a dystopian future where fries become obsolete.
https://m.stacker.news/109786