pull down to refresh

The Official Process for changing Bitcoin

There isn't one. But here are a few examples of people attempting to describe the process
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?

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:

  1. Someone comes up with an idea for a change
  2. "The devs" talk about it a bunch on places like
    • The Bitcoin Mailing List
    • Delving Bitcoin
  3. Someone "makes a PR" to Bitcoin's Github
  4. "The devs" talk about it more but on Github this time
  5. Rough consensus
    • Basically all the critiques get heard and addressed in some way1 before moving on
  6. If reached, a "maintainer" merges it
  7. The change eventually shows up in a release I download

What is your understanding of how changes get made to Bitcoin Core?

Footnotes

  1. is this where everything happens?
102 sats \ 5 replies \ @jakoyoh629 5h
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.
reply
16 sats \ 4 replies \ @optimism 2h
[Miners are] the ones who really call the shots
Why do you think that?
reply
100 sats \ 3 replies \ @jakoyoh629 2h
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?
reply
305 sats \ 2 replies \ @optimism 2h
Because people. See Risk Sharing Principle:
Bitcoin is not secured by blockchains, hash power, validation, decentralization, cryptography, open source or game theory - it is secured by people.
Technology is never the root of system security. Technology is a tool to help people secure what they value. Security requires people to act. A server cannot be secured by a firewall if there is no lock on the door to the server room, and a lock cannot secure the server room without a guard to monitor the door, and a guard cannot secure the door without risk of personal harm.
reply
100 sats \ 1 reply \ @jakoyoh629 1h
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.
reply
66 sats \ 0 replies \ @optimism 1h
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.)
Like, other mining groups (ocean-knots) are becoming a real option cause they're stacking up some serious hashpower now.
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.
reply
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.
reply
123 sats \ 1 reply \ @nullcount 7h
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.
reply
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).
Just because Bitcoin Core changes its code, does not necessarily mean "the rules" (i.e. consensus) has changed.
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.
reply
102 sats \ 0 replies \ @Sirkay 6h
Non concensus break changes for bitcoin core can not be the same with bitcoin
reply
102 sats \ 0 replies \ @optimism 7h
This is probably not what was intended
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
reply
Your understanding seems somewhat accurate.
  1. Developers come up with random ideas that don't have to be about bitcoin being electronic cash
  2. There is no consideration for what users want
  3. In-groups of developers talk to each other, and when they reach consensus it's "rough consensus"
reply
Do you have a better suggestion for a process to maintain and/or change Bitcoin?
reply
I have lost all faith in bitcoin core development and won't be using their product any more, so I'm not really thinking about improvements for their development process. The process to change the bitcoin I'm running is to get changes merged into knots. I don't like it like that, but it is what it is.
reply
It doesn't change the problem: what is a good process for doing this in knots?
Should it begin in some community consensus? From where?
Should it start with developers? How much should be discussed before presenting to the community?
Earlier you said,
Developers come up with random ideas that don't have to be about bitcoin being electronic cash
But what is your better proposal for doing this?
reply
10 sats \ 4 replies \ @LibreHans 5h
For starters, we shouldn't fund developers who have little real world experience, or developers who are not heavily invested in bitcoin.
reply
Who determines what real world experience counts? Do you need to have children? Should you have been divorced? Must you have held political office? How do you make such a decision?
Also, "We" is whoever is spending the money. Are you saying some committe should be in charge of who can support bitcoin development?
reply
"We" is whoever cares about bitcoins future as money. And real world experience is obviously related to programming, somebody who has been paid to write code by the market
reply
many of the people working on Bitcoin Core have pretty solid experience in software development. but quite honestly, I think you are dodging my question:
what is your better proposal for the process of changing Bitcoin?
In your original response to me you said:
  1. Developers come up with random ideas that don't have to be about bitcoin being electronic cash
  2. There is no consideration for what users want
  3. In-groups of developers talk to each other, and when they reach consensus it's "rough consensu
All three of these sound negative. And yet, Knots or any implementation of Bitcoin is going to have to answer the hard question of how to make changes to the software. I'd like to hear your real improvements on the three negative steps you outlined.
Yes, rough consensus is a thing in development discussions, but not in the determination of what is and is not spam.
Neither of these discussions propose changing consensus rules, but only one discourse is allowed to have an influence on bitcoin development.
reply
Okay, I would be interested to hear what you think the process should be for a proposed change like datacarriersize deprecation or for a change like decreasing the default datacarriersize to 42B? (The process should be the same for either one)
reply
102 sats \ 2 replies \ @fourrules 5h
I think it's a broader problem with social consensus that plagues everything, because we live in an engagement based paradigm for social media (ad funded optimised for time on device) based upon the bunk idea of "revealed preferences", which is just a terrible idea that pervades everything.
The downstream effects of this in discourse, politics, and civil integration are myriad, but for the purposes of your question it has the unfortunate effect siloing for the sake of security through obscurity. Groups below the Dunbar number where it's possible to have repeat interactions with identifiable individuals segregate to avoid the noise of platforms like twitter, Instagram, Facebook, or whatever bullshit platform captures the broader communities attention. In dance communities they might balkanise into WhatsApp, which makes promoting what they want to get out into the public sphere really difficult. The same effect exists in technical communities. Technically anyone may be able to post, but the discourse happens in places where there is a technical or other hurdle, meaning public discourse is meaningfully segregated from technical discourse, and because the environments have different models for amplifying and suppressing voices (not necessarily better, different) they come to intractably different conclusions.
The segregation of networks below the Dunbar number also creates in-group team dynamics, and if a member of the in-group sides with "the mob" they get excommunicated for introducing "noise", even if the mob is right on that occasion (even if they are right for the wrong reasons), reinforcing friend-enemy distinctions. One hierarchy cannot abide the conclusions of another, one power center cannot abide the mandate of another.
Twitter is indeed a terrible place for discourse, but technical discourse has to happen meaningfully in public, not segregated and balkanised, or decisions like that made on OP_RETURN will feel to the public like something out of the blue, an attack.
Anything that works, anything robust against entropy, stable, reliable, trustworthy, is built on proof of work, even if bitcoin's is the most efficient. Perfect is the enemy of good enough.
Social media should be built on a Pagerank-like paradigm, shirking revealed preferences in favour of optimising for consensus, and applying the perfectly aligned business model of Substack or Patreon. A follow would be contextual, not general. You should follow people for a specific key word, not all of their content, and this would be a sort of weak endorsement. Build more explicit endorsements on top of that, and explicit references ("I stayed with this guy during a #bitcoin conference in New York and he was a great host" or "this guy is my #bitcoin development mentor" or "she has been my #salsa dance teacher for 5 years and is the best"). The highest reference I can think of is a monthly donation, and that is where the platform can take a cut for development funding. Build this around real world events because repeat interactions help to build integration and supports good behaviour, weeding out (decreasing amplification) the awful behaviour of people who hide behind keyboards.
I've been working on this since the block size wars, when I temporarily lost faith in bitcoin because I felt that it would eventually win but not within the current social media paradigm.
I wish I could build this on something that Bitcoiners would accept, but I don't know how to do it on something like Nostr, because private key literacy is still in its infancy.
I think we're just going to be plagued by these fork wars until Bitcoiners realise that we need to fix social discourse before bitcoin can break out, or it's fixed for them.
Once that problem is solved the business end, the thin end of the wedge, the tip of the spear that you're talking about resolves itself organically. Human beings are good at that part. The broader context is causing the problems.
In other words, you don't throw a spear by holding the pointy bit at the top.
reply
It sounds like you believe we have to build an entirely different communication platform before we can do a good job of talking about Bitcoin (particularly, changes to Bitcoin).
I respect the thought you seem to have put in to the matter, but unfortunately, Bitcoin is here and now and we have to deal with the platforms that are in front of us.
In a way, I think delvingbitcoin.org was created as a place for the more healthy kind of conversation you describe (not that it includes any of the innovations you suggest).
Whatever the case, I don't see such a platform being built soon or the social media paradigm changing in the near future. We have to deal with what we've got. At the very least, we still have to make updates to Bitcoin software for the occasions when bugs are found or dependencies need to be maintained.
I still think it's worth trying to describe, given the current tools, what we think the process for changes to Bitcoin should be.
reply
You might think you're being practical but you're really being naive, wholly underappreciating the scale and breath of the problem.
The entire scientific academy, including theoretical physics, journalism, politics, any technical field that doesn't touch grass and is deeply and directly consequential for a dependent public, is plagued by the same structural collapse in social consensus. They are running on pure inertia and the prestige built my men long dead (even bitcoin falls in that camp).
Yes, it's a big problem, but "given tools" aren't fit for purpose, and it's a waste of time to intellect to pretend otherwise.
Its existential. Bitcoin is a financial prepper's bunker in a age of entropy, of decay, of collapse. Core's conflict with users is a symptom of that disease.
You can't cure cancer with the pills you have in your medicine cabinet. You cannot throw a spear by putting two fingers on the tip and guiding towards your target.
reply
123 sats \ 0 replies \ @035736735e 6h
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.
reply