pull down to refresh

Does Bitcoin have a constitution?

Earlier this week, I read Jonathan Kirkwood's "The United States of Bitcoin" (#1204462). In that piece he makes the analogy that different implementations of Bitcoin such as btcd and Knots are like different states in the union:
Bitcoin is a constitutional order written in code and sustained by consent.
This was a really interesting analogy and it got me to thinking: what is the Bitcoin equivalent of a constitution?

Is it the whitepaper?

The whitepaper is really vague compared to the code that is running on our nodes. It doesn't say anything about op_codes nor multisigs nor anything about coinbase coins being locked for 100 blocks.
Just following the description of Bitcoin laid out in the whitepaper, I'm pretty sure we'd have to say Bitcoin Cash is Bitcoin. I imagine not many are willing to make such a concession, so we must mean something more than what is described in the whitepaper when we say "Bitcoin"

Is it Bitcoin Core?

Satoshi, being awesome, didn't just release a whitepaper -- Satoshi also released software. This software client was described by Satoshi as "still alpha and experimental" and there never really was a version 1. After version 0.21 Bitcoin Core dropped the leading zero and released version 22.
The name of the "Satoshi client" was changed to Bitcoin Core in December 2013 (you can read the Github discussion about the change here).
Many people call Bitcoin Core the "reference implementation" of Bitcoin -- which I take to mean any implementation that wants to be Bitcoin has to match Bitcoin Core even down to its bugs.
There are a number of oddities about the original prototype that Satoshi released which have to be preserved if one wants to be able to sync the same chain as all the people who are using Bitcoin these days. Here are some examples:
  • The genesis block's coinbase output cannot be spent.
  • The OP_CHECKMULTISIG and OP_CHECKMULTISIGVERIFY operations pop one element too much from the stack (requiring an extra dummy push in the redeem script).
  • The checksig operations in a coinbase's scriptSig count towards the sigop limit of a block, even though that script can never be executed.
  • Encoded public keys and signatures are valid if and only if OpenSSL accepts them, including the many non-standard or simply broken encodings it accepts. Since 0.8, such non-canonical encodings are considered non-standard, but still valid inside blocks.
These are essentially consensus rules of Bitcoin that have nothing to do with what we think of as the rules of Bitcoin. They are just things that implementations of Bitcoin have to do if they want to be able to sync the BTC chain.

Is it libbitcoinkernal?

There is a project to identify Bitcoin's "validation logic, or all the logic required to determine if a given block extends the current best-work chain." This project is called libbitcoinkernal and is currently being led by @TheCharlatan (don't confuse libbitcoinkernal with Libbitcoin -- they are completely separate projects that just happen to have similar names). Here is a nice explainer he wrote.
The project has so far concentrated on cleanly separating Bitcoin Core’s validation logic from its non-validation logic.
Perhaps libbitcoinkernal will make a clean sort of constitution to which we can all refer...but this would then put a lot of pressure on the people who maintain such a project -- much more pressure even than is currently on the Bitcoin Core project. Which perhaps leads to a better question than I began with: should Bitcoin have a constitution? Perhaps we are better off with our rough consensus, lacking any clear set of rules.
132 sats \ 1 reply \ @carter 2h
At least from this poll people seem to want to modify consensus (hard fork)
reply
concerning...
reply
102 sats \ 0 replies \ @nolem 1h
If you compare Bitcoin with this reality we find ourselves in.
We have the planet, and we have had so many Core vs Knots debates over the eons, that we have countries, languages, religions, cultures, industries, foods, drinks and a myriad of other stuff.
What I'm saying is that, if you provide the ability for us to disagree, argue and fight, we absolutely will.
So the future of Bitcoin is constant tests set by ourselves, perhaps as an inbuilt calibration, so that we are continually stress testing the network.
reply
102 sats \ 0 replies \ @BITC0IN 3h
No.
It has a philosophy.
reply
I don’t think it’s necessary, the beauty of Bitcoin is that the miners call the shots with their computing power. Then people just roll with whatever rule set they wanna follow. Bitcoin’s there for anyone who wants to use it.
reply
102 sats \ 1 reply \ @fred 6h
To me it's the whitepaper as the original founder laid all his thoughts there.
reply
102 sats \ 0 replies \ @kepford 4h
Exactly. Its what a white paper is. Its absurd to think a man could forsee all the changes and needs into the future. This is why to me its always a weak argument to appeal to Satoshi and the white paper as the core of an argument. Its great to look at it and use it as a tool to understand the original ideas but that shouldn't be something we try to use an oracle for ever decision.
reply
What you'd have to look at was the intent of Satoshi. It's clear that he/them were pissed off about the whole Goldman Sachs debacle, and wanted to have a way to have a bank that wasn't tied to the forces of the world economy. That bank was bitcoin, which it turns out was also the medium of exchange in a decentralized way. So, everything else, which is much at this point, doesn't fit that vision and this is why crypto is creeping toward something against the core mission it outlined in the form of CBDC's.
reply
I don't think Satoshi's intent has anything to do with it at this point.
It may make sense to consider it as advice, because, I mean, it's Satoshi: but bitcoin has become a project that is its own thing at this point -- regardless of Satoshi's intent.
reply
If this question is what is the Constitution, the answer is what was Satoshi's intent.
reply
How do you determine Satoshi's intent?
reply
The Genesis Block, as I mentioned, is a heavy hint.
reply
Sure, but there's a lot of room for interpretation there.
I think one reason the US ended up with a constitution rather than some writings of the founding fathers is that intent isn't really a workable basis when you need to reach consensus.
reply
It isn't so difficult to interpret--and neither is the Constitution.
reply
102 sats \ 3 replies \ @kepford 6h
Seeing the abject failure of Constitutions including the one in the US I'd say the closest parallel is the white paper. Not that the white paper is a failure, its not. Its a white paper. I don't think it is logical to consider it as the final authority on bitcoin. It was the initial document describing the idea. This is my view of the US Constitution. Its a beautiful document but that's what it is. People are delusional about it just as people are delusional about the white paper. They use it as a justification for whatever they want to do and ignore it when that doesn't align.
Constitutions are pretty much powerless to do much other than provide some context and startup ideas. The power is with the people who allow things to happen and give their tacit approval. They are static documents.
But, I would be surprised if Satoshi thought of the white paper as a Constitution. Most of these types of analogies break down when you think about them. We have good patterns regarding things like Knots from the software world. I prefer to stick with them.
reply
I'd disagree with your take on the Constitution. I'd say that what we are seeing as a struggle in the US would not have been a struggle at all had there been no Constitution. Instead, you'd have something probably worse than Canada.
reply
0 sats \ 1 reply \ @kepford 4h
I wasn't clear. My argument isn't that there shouldn't be a Constitution. My argument is that a Constitution can be a restraint on the power of the state. The real restraint is the people. Obviously the Constitution is great in that we can look back at it and measure against it. The problem is that the way conservatives frame the Constitution as a bulwark against tyranny. No piece of paper can do what they claim it was its intended purpose. If that was its intended purpose it failed within a few years of being penned.
If your view is that the US would be worse off if there wasn't a Constitution we would be in agreement. I just think we ask too much of a piece of paper. That the conservative movement is a joke. Their view has put people into a passive state of expecting things to be restrained by paper. Its really hard to read American history and still believe the Constitution has not failed to restrain the growth and expansion in power of the federal government. Could it be worse. For sure. We could be like the USSR or Nazi Germany or North Korea. It can get much worse. The people are the true restraint on tyranny. And not in the ballot box, but in their everyday actions and values. Politics is downstream of culture and there's an entire system that seeks to distort this reality.
reply
I don't want to take this thread off topic, so I will simply say I also disagree with your statement about the conservative movement being a joke and leave it there.
reply
102 sats \ 0 replies \ @NovaRift 5h
This is interesting. I think we can have one, but until a lot of people are into Bitcoin, the white paper is enough.
reply
Rough consensus seems reminiscent of unwritten constitutions.
reply