Getting your Trinity Audio player ready...
|
This term gets tossed around a lot in the blockchain industry and has been misinterpreted in a thousand different ways. Today I will try to clarify, in the simplest of terms, what it means to have a stable protocol, and why it is important to have it. Having a stable protocol means that innovation can happen in the economy.
Having a stable protocol also has some legal considerations that may become important as time goes on, which I’ll also go into later.
All in good time…but first…
This article will unavoidably get a bit technical, as we are talking about a technical protocol here. Still, I’ll try to give definitions in the footnotes and background information as needed. The point of this article is so that a complete layperson can answer the question and explain it to somebody else, assuming I do my job sufficiently.
So without any further ado…
What are the common things that people think that having a stable protocol means?
1) It means that there is only one reference implementation of the node software and that it cannot change
2) It means that the protocol cannot change and that no new features can ever be added to the platform
3) It means that the users of the system must always run whatever the majority consensus says is the ‘official’ version of the software
4) It means the death of innovation
As you can probably already tell, I gave only the wrong answers.
But before we can discuss what the correct answer means, we must describe some terms.
What is a protocol?
Protocol (n.) [countable] (computing) a set of rules that control the way data is sent between computers.
It is rules that define how computers will talk to each other. For the case of the Bitcoin system, we can start with the rules that Satoshi put forth in the seminal white paper, where he defined the rules in section 5, labeled “Network,” and I quote:
The steps to run the network are as follows:
1. New transactions are broadcast to all nodes.
2. Each node collects new transactions into a block.
3. Each node works on finding a difficult proof-of-work for its block.
4. When a node finds a proof of work, it broadcasts the block to all nodes.
5. Nodes accept the block only if all its transactions are valid and not already spent.
6. Nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash.
Bitcoin white paper, Satoshi Nakamoto
Starting here, that is literally the Bitcoin protocol. Note that the protocol is not the complete set of rules or detail minutiae about what makes a transaction invalid or valid, accepted or rejected.
It does not specify that specific OP_CODES may be legal or not. OP_CODES, as we will cover later, are individual words of a programming language that Bitcoin users can use to “program” their money and spending conditions—it is the ‘smart contracting’ language.
The second thing we need to cover is what it means to be “stable,” and once again, we turn to our friend, the Oxford Standard English dictionary, for the definition:
stable (adj.) – firmly fixed; not likely to move, change, or fail
So from first principles, stable means that the protocol is firmly fixed and not expected to change or fail. Coupling this with the definition of the protocol, we can see why the common belief that a stable protocol would mean no changes to the codebase or features cannot be added. It isn’t the code itself that should be fixed. It is the protocol, and the protocol, is the ruleset by how computers, or by extension, those using computers to use the system, send data to each other or talk to each other.
This leads us to the first important point: the protocol of Bitcoin is between the users of the system and those that run the nodes. The protocol, as set out in the white paper, is setting out the rules by which nodes of the system and users or creators of transactions interact. It is NOT just a ruleset for how nodes talk to nodes.
The ruleset or protocol defining how nodes talk to each other is a different protocol, sometimes referred to as the line protocol or serialization protocol of the network, and was not specified at all in the white paper. Why? Because it is irrelevant what kind of line protocol is used to implement the Bitcoin system, so long a sufficient one is used to uphold the protocol rules defined in Section 5 of the white paper. After all, if the specific line protocol was important, then Satoshi would have included it in the Bitcoin white paper, but he didn’t.
So we see that a stable protocol ideology does not preclude code changes or scalability alterations to the node software. What is important is that the protocol between its public users and the nodes of the network remain inviolate. The whole point of having a stable protocol is so that the users of the system can be relatively certain that the system and how you can use it will remain fixed and not change underneath them. This is terribly important if you consider global public technologies such as TCP/IP, which made the thing where you are now reading this article possible. How often has the TCP/IP protocol been changed or features added? Very few times. In fact, so few that when it finally needed to be upgraded, we were already a decade into the migration and still have less than 30% of the internet adopted1. Some things take a long time to finally make it into the public perception, especially if constant patching and hacks can keep the old solution ‘bearable’ for the short term.
Like the internet, we need a stable Bitcoin protocol so that innovation can spring forth from the market and developers who create real-world applications riding on Bitcoin, a token and network capable of transmitting micro-pennies worth of value at a time, the ability to charge a ‘toll’ on every packet that passes through a router on the internet. With such technology, one wonders what might have been possible back in the early days of the web.
But I digress…
The salient point here is that the protocol, the one that needs to be stable and reliable, is between the nodes of the Bitcoin network and the users. Why? Because without it, users will not want to use the system anymore. They will seek out other competing networks and platforms which are more stable in which to build their apps, cities, worlds, and metaverses.
And this is where we finally come to be able to address the issue of protocol stability in the context of the Bitcoin projects since their inception.
How do you keep the protocol stable?
Fire all the protocol developers. Just kidding. Though only barely. I thought it was akin to an old saying I remember hearing in the past if someone asked how to keep the world honest and solve all the world ails, to which someone in the crowd inevitably shouts, “kill all the lawyers!” That kind of extremism was always funny, if not a bit dangerous. But seriously, the only reason a developer could argue against a stable protocol is because it likely puts them out of a cushy job.
After all, protocol developers are fond of saying how much they don’t profit from their jobs and do all of the protocol work out of the goodness of their hearts. God Bless their little hearts! But that isn’t true, as you should well know. They do their job because they all stand to gain indirectly from the price appreciation of the token, which they are developing the protocol. And if not, they are paid a salary from a company that holds positions in that token and does.
That is why being a protocol developer is an apex lazy beta-programmer job. They have no bosses or clients to be beholden to, and they profit indirectly from their work. Making a protocol static such that it cannot change forces these developers to build solutions that run on the TOP of the base network. And once you separate the token from the solution, there is no easier money to gain by price appreciation. These solutions will have to be good, so good in fact that people will want to pay for them as clients because there won’t be a way to earn otherwise. This is a good thing in the long run for the economy. As the only good solutions and apps are those that people will be willing to pay for because they are useful, not because they also think they can earn easy money from speculative price appreciation.
So, a stable protocol means the users of the system can reliably use it, with the expectation that they won’t need to change, just like the internet. Changing the code or specific implementation of the node software is not relevant to preserving the protocol.
Now we are prepared, with newfound information in hand, to tackle the issue of the “original” protocol of Bitcoin. Being the “original” bitcoin, has a deep impact on public perception, and may have legal ramifications, as mentioned in the opening of this article.
Given that there are at least three major “Bitcoin” projects which all share the same origins and Genesis Block2, lineage, provenance, and the question of legitimacy is of keen interest. Which is the original Bitcoin? Well, if we assume that Bitcoin is a protocol and not a specific copy of a ledger at any given point in time, only that it must have started with the same Genesis Block, then from a system perspective, the original Bitcoin is the one which adheres the closest to the original Bitcoin protocol as defined in the whitepaper. And thanks to our previous explanations, we now have a toolset by which we can quantitatively measure protocols and their distance or deviation from the original one. We simply must see how compatible they are from the perspective of a user from the past!
What do I mean?
Take a hypothetical user using the wallet technology available at a certain point in time in the past. Enumerate all how they could have interacted with the system. This effectively means enumerating all the possible transactions they could have created and published. All the possible smart contracts that could have been written. All the applications of Bitcoin scripting and time-locked payments that may have been executed. Do them all for each contender chain. BTC, BCH, BSV, etc.…
The chain closest to the original and can confidently call itself “The Original” Bitcoin will be the one whose theoretical user in this experiment is from the earliest point in time because that would effectively mean that this chain would have preserved all use cases which were originally promised in the original Bitcoin. Added new use cases and features does not help in this regard, as the claim of “original” Bitcoin is the chain that can cover most functionality of the original project.
So what does this mean?
This means that when Segwit was introduced in BTC in 2017, which separated the signatures from transactions, this effectively broke the hypothetical user with wallet software earlier than in 2017. So, it can’t claim to be the original Bitcoin.
This means that when certain OP_CODES were turned off in BTC in 2011/12, users who may have had outstanding multiyear future bonds or payments published on chain effectively lost their ability to process the payments or get paid. So, they can’t claim to be the original Bitcoin.
Let’s be clear, I think that all the Bitcoin projects have deviated somewhat from the original, some in more ways than others, whether for reasons for security, scalability, or some misguided sense of necessity for the sake of “bad economics.”
But this exercise is methodical and possible for legal experts and academics to follow, and will be able to definitively answer, with compelling reasons, which of the bitcoins is closest to the original, and thus able to claim that legitimacy over the name “bitcoin.”
Why does the legal aspect matter? Besides, they all have different market-accepted ticker symbols now, and each has its own project with its own separate developer communities, supporters, and destinies. Why does it matter which is the “original”? Is it just for social credit bragging rights? Marketing fuel for the “pumping” of the price? No, and I want you to sit down and take a deep breath before reading this because the implications are shocking—it is because only the original Bitcoin issued by Satoshi Nakamoto has an ironclad case against its token being a security. Every other bitcoin will likely have to go through an exhaustive court process where it will be put to the Howey Test whether their tokens are securities. After all, every fork of Bitcoin that isn’t the original technically had issuers… that weren’t Satoshi Nakamoto. They may have taken an investment of money to launch the fork. They may have a common enterprise with some early adopters of their fork. They might have promised their followers and supporters profits if they were to sell their old bitcoins and buy the new forked ones.
These and many other legal technicalities could easily land one of the forked coins as a security. Given the recent events of regulators around the world, the topic of whether you can claim that the token of a blockchain project is subject to securities laws can make all the difference, and it always boils down to how the coins originated. The origin story and the intentions of its issuer, and only the original Bitcoin has a clean one.
So, given what you now know, you can appreciate how it cannot be automatically assumed that what courts will eventually rule as the original Bitcoin isn’t the one with the original ticker symbol.
2024 will be an interesting year.
This is why a fixed, stable protocol matter.
And why it isn’t the code implementation that defines it. It is the users—the real-world applications. And in a decentralized system, there could be any number of unknown users out there, unseen. All potentially just waiting to slap you with a lawsuit for breaking the protocol.
Maybe it’s time for the protocol developers to get a real job and start building stuff that people actually want to pay them (directly) for. The free ride of ‘protocol developers’ making protocols and earning off selling its tokens is ending.
Jerry Chain
WST
[1] As of 2021, only around 30% of the internet has adopted IPv6, the successor of the old IPv4 network, which has been used since 1981. This is despite many experts, academics, and even the original inventor of IPv4 saying that we need to migrate to the new version for over a decade.
[2] The original Bitcoin’s first block of the blockchain was started in 2009 by Satoshi Nakamoto. All blockchains with this same genesis block as the beginning of its chain can be considered “a bitcoin system,” even though their ticker and trading symbols may differ.
CoinGeek Conversations with Jack Liu: Bitcoin removes power from money—and that’s liberating