I’m a ex-Wall Street Techie, 11 years at Goldman Sachs, 3 years at JPMorgan. I’ve worked with some of the smartest people that I have ever known. Then I discovered Bitcoin, and that’s when I really started to learn about money, and how the economy really works, (and why it doesn’t)*
Easter weekend. Family reunions, liturgical services, fasting for some, feasting for others, a time for renewal, time to dispel some crypto myths!
Everyone talks about “going to the moon” in crypto but few if any really knows what that means. Cypherpunks care about privacy and censorship resistance, libertarians care about political ideology and businesses care about making money. But how many of them actually think through how to get there?
I don’t mean in a metaphoric sense, I mean pragmatically. What is the adoption roadmap? What do we mean by ‘moon’? Price? Resistance to government usurpation? Censorship resistance? Self sustaining system without any oversight?
True, most people who say “To the moon!” are just pumpers or speculators trying to incite a windfall profit from the penny stock altcoin that they purchased for the express purpose of dumping it for a profit on unsuspecting suckers. But let’s consider a moment the goal of Bitcoin –becoming a widely accepted alternate money to fiat currencies– how does Bitcoin get to there from where it is today? What challenges and obstacles must it overcome? What different stages of development and growth must it evolve through?
I’ll start with the presupposition: Getting ‘to the moon’ means establishing Bitcoin as a permanent irreversible alternative to fiat currencies, available to anyone on planet earth with an internet connection, who wishes to use it, regardless of their political environment.
To the Moon, via the Bitcoin Rocket
Let’s examine the path to the moon by way of an analogy. Yes, I know that analogies are dumb. Well, most of them are. They are dumb because most people use them incorrectly to ‘prove’ a point. For one, analogies don’t prove anything. Just because you come up with some way of rationalizing something to yourself in your mind, doesn’t mean that you have uncovered some sort of objective proof that shows that you are correct. More often than not, analogies are just generalization fallacies wrapped up in a catchy phrase. But anyway, here we go.
You have all heard of the saying that upgrading Bitcoin is like replacing the engine of a car while it is speeding down the highway. Well, I like to think of Bitcoin as being a rocket ship. A Saturn V rocket, if you will, built and designed to reach the Moon. Getting to the Moon, like real life rocketry, must be done in stages.
Stages to the moon, listed with its primary driver:
First, the rocket is build by the crypto-geeks, cypherpunks and the engineers
Libertarians and anarchists ideologists act as the ignition and the fuel to take the rocket off the launchpad and into the troposphere
Speculators and pumpers push it up into the stratosphere
Businesses and capital investments act as second stage boosters which take the rocket into the mesosphere
+1m user adoption brings the rocket into unstable low earth orbit (current state of Bitcoin)
Greater adoption (a developing countries worth of GDP) brings it into medium earth orbit
Mass adoption (a G20 countries GDP) breaks it out of high earth orbit and safety coasting towards to Moon
The big misconception is about what level the network needs to be in order to reach stable earth orbit (i.e. self sustainable). Some people who say that we can afford to wait for more businesses to develop before increasing network capacity. They say that a fee market is necessary because users need to pay more for the decentralization that they have up until now been getting for free. That essentially means consciously limiting the network users to those who are currently underserved, and NEED to use Bitcoin because it would be illegal to do what they are doing with fiat currencies. Yes, a fee market means that Bitcoins biggest users will be drug dealers, pirates, ransomware hackers, pedophiles and terrorists. (of those, only ransomware hackers and drug dealers have come to use Bitcoin so far). But keeping Bitcoin exclusive to those can afford to pay for decentralization is reducing its potential user base. And that is as folly as shutting off the rocket engines halfway through its ascent — the rocket comes crashing back to earth.
Notice that I listed the final three stages to the moon all depend on user adoption. New users become the primary source of fuel for this rocket soon after the stratosphere is reached. It is users that will put Bitcoin into stable orbit (beyond reproach of the earth’s gravity). It is not scalable technology, it is not business use cases, it is not speculators. This is because the only thing that can ensure that the network is beyond the far reach of governments is mass adoption. As long as the government controls the guns, then the only thing they are afraid of is mass revolution, and negative public sentiment which affects votes (in democracies anyway).
Decentralization isn’t a goal, it is a means to an end
Most people think of decentralization as a static goal. As if it was a certain quality of the network that can be increased and decreased in by incentivizing the participants in a certain way. Central planning is the biggest hubris that some long time cypherpunk philosophy is guilty of. This is naturally due to the fact that they are paranoid of outside forces which they cannot control, so they strive to control everything.
Decentralization is not achieved via running more nodes in geographically distinct locations. It is already achieved by way of the protocol being public and open, and the network effect which incentivizes people to preserve the network functionality.
The analogy often used is TCP/IP. Is it decentralized? It is just a protocol. It doesn’t make sense to say it is decentralized. Is the internet decentralized? It certainly is. Why? Because although there are certainly datacenters that run most of the servers on the internet, this does not stop anyone from running darknets across it, or pirate media via BitTorrent.
Did that require heavy handed controls such as artificial fee-markets and resource caps by developers to achieve? Not at all. The internet just developed naturally that way. And so will Bitcoin, if the central planners would just get the heck out of its way. The fear of mining being centralized into datacenters is as silly a notion as demanding that everyone on the internet host their own website on their home computer in order to preserve decentralization, for fear of censorship.
Certainly people are free to do so, but the current level of government oppression does not warrant that level of decentralization yet. (If it did, people may just start doing just that) But to limit the bandwidth of the internet just so that it would preserve the ability of individual home PCs to be able to compete as peers to every other machine on the network would have seen the internet never catching on, and perhaps alternatives like CompuServe, AOL and Nifty would have remained the dominant place for e-commerce, and the public internet regulated to personal webpages where one would post embarrassing party pics of their college frat. Where would the internet be without Amazon, or eBay, or Craig’s List, or Mixi(ミクシィ), or Facebook? If Bitcoin is looking to ensure its own survival, then I say we need to support a set of developers who don’t try to fight the formation of these large ‘centralized’ businesses on the network, and instead welcome them. They fail to see the forest for the trees. For without the public commercialized internet, with its concentrated power hubs like Google and Baidu and Facebook, do you think we would even have a darknet?
Developers, cypherpunks, libertarians and crypto-anarchists, time to get your heads out of your collective arses and see the forest for the trees. Before you regulate Bitcoin to being just a footnote in the history of money.
As a new experiment, I am now moving my donations over to Counterparty Indiesquare Wallet. As a bonus, now when you donate to my blog I will repay you with WSTCoin (Wall Street Tech Coin) which is my personal reader rewards coin. I intend to eventually offer exclusive content to people for WSTCoin, therefore making a small market for its use. All BTC donated to WST, will go towards web hosting and translations of this blog to other languages. Thanks for your readership!
As the ongoing debate in Bitcoin between the Core and the Classic camp rages on, early signs of tentative order emerging spontaneously from the un-orchestrated chaos can be seen. For one, most of the intelligent proponents on either side finally seem to have recognized the fundamental irreconcilable differences of opinion on either side of the divide, having spent the last 3 months weeding through the army of trolls and sycophants which always seem to amass around idealogical movements.
The industry has started to look upon itself in a satirical way, from high profile jokers like Samson Mow, to the absurd display at the Miami Satoshi RoundTable, organized by Bitcoin Foundation Bruce Fenton, which sported such medieval artifacts as an actual suit of armour and a Bitcoin Magna Carta which would make 45 year old AD&D live roleplaying nerds giddy. The industry has certainly reached its apogee of insanity, absurdity and self flagellation, and it can’t possibly get any worse, and thus, we should expect to see things starting to come back to reality very soon.
Several promising things have been happening recently that give me cause to be hopeful that we may yet see the end of this “Rite of Passage” in the life of Bitcoin:
Core has started to consider a hard fork proposal themselves.
Interest in Bitcoin has been re-kindled in the form of 2000+ (as of writing) new nodes added to the network.
Mining pools have started to implement miner voting systems within their constituents.
New consensus tools have emerged which help bring visibility to and encourage people get involved in, the decentralized crypto-governance process.
A total of 4 past attempts at securing industry participants into binding agreements have all failed to produce consensus.
Let’s examine each in turn.
Good Golly Batman, a Hard Core Fork!
The core proposal of a hard fork after their segwit deployment, would involve a 95% activation trigger with a 252 day grace period. You read that right. 1 year. Why in the world anyone need a year to upgrade? Well, their reasoning is that they don’t want to lose any nodes in the network whatsoever, while also avoiding any chance of anyone losing any money. This argument doesn’t hold water on many levels. First, of the non-conforming 5% in a 95% consensus, if most of exchanges and wallets have upgraded, then there would be no chance of them losing money at all. Only miners would risk losing money through a potential loss of mining rewards (in the event of a re-org). The irony is that the reason they use to argue for a 1-year grace period (people losing money) is exactly the reason why others believe a long grace period is not needed, because people will not want to lose money. Core seems to believe that people can’t take care of their own money, so they need to do it for them.
Second, the cost of corruption is too high with a 5% veto. All a bad-faith conspiring party need to do is to pay off 5% of the miners to block any change. In fact, this need not be a bribe, it could just as well be a death threat or similar threat of harm to body or business. Making the margin for veto too low, puts increased risk to individual miners personal safety or that of their families.
Finally, with 1 year of grace time, much can change in the distribution of hash power from the time of the trigger to the time of actual activation. It is possible even the proposed change to 2mb would be insufficient in a years time. Miners can play hashpower withholding games or new ASIC tech may be developed in the span of a year. It is extremely dangerous to get a majority to agree to enforce rules so far in the future that some of the participants may not even be in business by the time the rules come into effect. I think this proposal from core devs displays a certain naive perspective of a hard fork being a purely technical endeavour, or deliberately made such that it would never be acceptable by the public. Hard forks, unlike soft forks, are very much an economic animal, and economic incentives play the most important role in their deployment. We also well know the economy is notoriously hard to model, for if it were easy, economists would have solved it by now. Sometimes you just have to pick reasonable parameters and allow the economy to adjust to them. Still, the fact that they are willing to even put forth a proposal is a step in the right direction.
2000 New Nodes!
With the rush of support for alternative implementations, the Bitcoin network has seen a growth of more than 2000 new full-nodes in the last 3 months, a rate of growth unseen since the early days of Bitcoin. This in and of itself is a great thing. It shows a renewed interest in Bitcoin, with people willing to put up resources to help the network grow. Nodes running Classic now number close to 30% of the entire network. Core supporters however, are quick to point out that the number of nodes don’t really matter. This is particularly amusing, as not too long ago, the falling number of full-nodes in the network was all they could talk about.
In fact, to this day that is still quoted as one of the big reasons the decentralist brigade will say is the danger of 2mb blocks, because it will increase the cost of running a full-node and thus reduce the number of nodes on the network! But I guess when they say “full-node”, they really mean full-node running core software. The other full-nodes don’t count I suppose. A great site detailing the data on the distribution of nodes can be found here. It’s just a matter of time before this data is integrated into a world map akin to the War Room in Stanley Kubrick’s Dr. Strangelove.
Voting by Hashpower!
This is one of the most exciting things happening in the last 2 weeks. Under pressure by Slush pool introducing a voting system where individual miners for the first time have the ability to express their opinion on which client to support, 2 of the largest pools in China, F2Pool and Antpool have started to implement their own forms of miner voting. While the systems still have some kinks to work out (like what to do with non-voting hashpower) the fact that they are starting to explore this aspect of Bitcoin is very encouraging. I believe that if pools allowed all their miners to express votes through them, then we will approach a system much more similar to what Nakamoto originally intended with 1 CPU 1 vote. This may also help miner decentralization, because the differentiation between pools is no longer limited to the size of the pool and the fees that the pool charge. Soon, the voting system that your pool can offer you may be a deciding factor in pool choice, adding a new dynamic to pool competition. Competition is good. Voting systems also take the politics out of the equation for pool operators. They can simply delegate the decision of which client to support to their constituents. This removes any scrutiny and pressure from the business of a pool operator.
Tools! Tools! Tools!
Great apps like Coin Dance and NodeCounter have emerged which track the consensus process. Early on, one of the fears often talked about was the lack of ways in which the economy could monitor the signalling process of a fork activation. With many new sites that now show live updates of blocks mined for each implementation, and the current network breakdown of nodes and hashpower, we are actually witnessing for the first time in human history a completely uncoordinated election happening in real time. –Think about that for a second– This is monumental if it turns out to be the model for all future elections made in cryptocurrencies in the future. Every other cryptocurrency in existence is currently running on the “benevolent dictator” model. If Bitcoin can evolve beyond this, we are certainly making history. I believe we are witnessing democracy and freedom of choice emerge spontaneously in Bitcoin. Some day, I think a book will be written about the events of early 2016.
Honey Badger just doesn’t give a F*&k !
4 separate times in the past 1 year, the well meaning members of meatspace have tried to organize “RoundTable” meetings with devs and miners and other industry participants in order to come to a gentlemen’s agreement and settle the dispute with off-chain signatures. I, like them, used to think that these were necessary, but I have since been enlightened. Agreements in real life should not be required to keep the Bitcoin network running smoothly. If they were, then Bitcoin has already failed as a system for coming to consensus. I am not saying that face-to-face meetings are not useful, (having spent 14 years working on a trading floor has certainly impressed upon me the effectiveness of throwing things at other people) But the need to come to ‘binding’ agreements off-chain should be avoided. At the end of the day, in order for Bitcoin to be a strong resilient network, we need to make sure that everyone in it feels adequately empowered to have an opinion. This means as a user, you should run your own full-nodes, or lobby your wallet providers to run a certain node. Exchanges should run their own nodes and perhaps even start small mining operations themselves, and mining pools should provide voting systems for their individual hashers. Nakamoto PoW was created so that we do not need to rely on external political systems to come to consensus. Let us resist the urge to satiate misplaced preconceptions and add a superfluous secondary layer on top of Nakamoto PoW. We can talk and lobby all we want in real life in or around any shape of table, any number of times, but when it come down to it, every individual’s own vote is one’s own right and duty to make. No decisions should be made off-chain. Any attempt at doing so can be seen as precisely the 51% collusion attack that Satoshi designed the system to resist.
I look forward to watching the evolution of Bitcoin unfold in the next coming months.
I have often observed that disagreements between smart people inevitably devolve into a difference of opinions based on assumptions which are either ignored by one or both sides or insufficiently proven, which leads to the construction of a belief system built on top of nothing more than reasonable guesses. Because of this, it takes a long time before one can peel away the layers of conditional truths before you reach the core assumptions over which the principle disagreement is erected upon. (one needs to look no further than the renewed flat earth movement to see how you can rewrite your entire belief system to support your theory). Over the last month as I have debated with the decentralists on the foundations of their “decentralization is the most important thing about Bitcoin”* argument, I believe I have finally discovered the crux of the dispute, the mistaken assumption, upon which all other conclusions are derived upon, the genesis block of the debate, if you will.
The problem comes from the fact that the term decentralization has been overloaded to mean so many different things. From topological point of view the old graphic from Paul Baran (1964) (inset right) may seem to provide a good enough definition but only from the perspective of a network topology which is certainly not the common usage of the term today. More recently some folks have improved upon the definition to more clearly indicate that it is the notion of control (the little puppet master hands in the diagram) of the network nodes that make them more or less decentralized.
This explanation, which I credit for adding richer meaning to the term decentralization in its own right, unfortunately misses the mark and fails to address the real issue at hand, the core basic assumption which I alluded to above… which is that it is not really decentralization that we want.
What we really want, is network security. Security from corruption, and collusion. Security against that evil puppet master hand taking control of things. Let’s measure this thing and call the quantity the net Cost of Corruption (CCR) of the network. What we want is to maximize this. The higher the CCR is, the more difficult and thus more unlikely it will be for a malicious puppet master to take over the network. Decentralization certainly helps in increasing the CCR, or does it? Not enough academic study has been done on the topic to say for sure, but I can empathize with the decentralists that in absence of solid theoretical or empirical evidence, it sure feels like increasing decentralization should increase network security. Right?
Well I’m not a PhD in economics so I will leave the heavy lifting to others on this, but I can certainly outline the framework by which I would start to examine this quantity of network security, or its Cost of Corruption.
Let the cost of a failed collusion attempt for a mining node be
Which broken down into all the assets which would be lost if the collusion is discovered, sunk capital costs, legal costs, expected future profit stream, and potential reputational damage
What a node gains for a collusion, i.e. the bribe amount, in % of current profits we shall call the gains
Now there is a cost to contacting every node in a network to coordinate a collusion, it increases the more independent nodes the network supports. This is quite a dynamic variable, as costs could drop if methods for coordinating an attack could be more efficiently employed, such as anonymous posted bounties, or use of social media, or use of viral spreading techniques. But as those methods can only reduce the cost of coordination, I will assume for now the worst case scenario where it is constant, and only linearly increasing with just the number of nodes.
Let the cost the cost of corruption be defined by
Where each node’s CCR is defined by
Where the expected costs of a failed collusion are
And the expected gains of a successful collusion are
The theory is that as the network becomes more decentralized, (more independently controlled nodes controlling an increasingly smaller portion of hash power), the cost of coordinating a collusion increases, but the cost of a failed collusion drops
Because smaller miners make less profits, and in the extreme case of teenagers in their basement, they also have little reputation or capital assets at risk.
Worse, if all nodes were anonymous, then colluding and being caught doing so would not even affect their future profits, so the biggest factor in the cost(fail) is practically zero. Contrast this to a large mining business, where their future revenue stream is likely the largest component of their cost(fail).
Let d be a configuration of network decentralization which results in a specific cost of coordination for the whole network, and a cost of failure for each node
It is also the case that the configuration of the network changes with the number of N nodes which will comprise more than 51% of the network hashing power.
But since we cannot enforce the number of mining nodes in the network N, (and if we did it would alter the cost(fail(d)), then it follows that we should optimize decentralization such that the net Cost of Corruption is maximum for any given N, which is the most secure network state.
It should be obvious from above that maximizing decentralization (maximizing N) alone, does not produce the maximum security, in fact it may start to hurt network security beyond a certain point due to decreasing the cost(fail) for each node. As we get more nodes, the cost(coord) may go up, but the CCR(n) for each node will drop. We should in fact be trying to find the optimal d. In addition, if we modelled the cost(coord) more accurately, accounting for more efficient ways to coordinate independent nodes to collude, then the result would even be stronger against decentralization being the most important factor in network security.
This is the decentralization myth.
* -“and this is why we need smaller blocks! Because big blocks hurt decentralization!”(would be the common “False Effect” argument built on top of this assumption)
The disagreements between the ‘big blockers’ and the ‘small blockers’ in Bitcoin are heating up. Bitcoin Classic is poised to release its first client to compete with Bitcoin Core, and Bitcoin Unlimited has had its first vote on its new feature set. It is a time of peril in the galaxy…
Now as the credits fade into the star field background picture a big wedge shaped Star Destroyer with the banner reading “Decentralization” filling the screen. This word is really the Battle Cry of most crypto-currencies, and as I have written in the past, it is so poorly understood.
It is a repurposed term, that simply describes a quality of network topology, transformed into a rallying call of rebellion. The problem is that almost everyone that I read or encounter in the industry uses this term as a panacea for all the problems that they see in the world today, without actually knowing what it truly means. They believe it because of faith from authority, and through basic reasoning, that it is good and thus must be fought for without actually knowing why. This is dangerous, as this is how cults start. The Cult of Decentralization.
Decentralizing for the sake of Decentralization
Ask any ‘decentralist’ what it means to be ‘decentralized’ or how they measure it, and they will fumble. They will offer excuses as “it is hard to measure clearly” or “you can’t measure it directly, but you can measure certain aspects of it”. Which, to any trained skeptic is just poppycock self-rationalizations of an assumed belief system which they do not actually understand, but believe via faith alone.
They will say that more nodes makes a network more decentralized (not really, if all the nodes are in one area, or controlled by one person). Or they will say then that more independent nodes controlled by different people are better than a few controlled by one, for that is obvious. Well, if you think it is obvious, then you have fallen into the mind trap. The mistake is to stop here because this rationale is based purely on the technical definition of the word “decentralized”. Indeed topographically, in graph theory and mathematics, the notion of more connections between nodes makes a system less centralized and more decentralized, ending in the maximally decentralized topology “distributed”. But if you end the discussion here, then you have fallen prey to the magicians trick. The classic distraction of the audience to mask the true illusion, which is of course, that the REAL thing we care about is censorship resistance, and network security. Somehow, after all the brouhaha and cries for decentralization, most people will have forgotten to ask the most important question of all… is decentralization the same as Security? If not, and it is only a proxy for security, then it stands to reason that we must try to show by what measure or relation does increasing decentralization actually increase security. Is it a linear relationship? Is it monotonically increasing? Is it just positively correlated? In which domains? Should we be also evaluating other solutions which may not increase decentralization, but actually increase security? In fact, the whole “Maximum Decentralization is the goal of Bitcoin” narrative of the Cult of Decentralization breaks down, along with the core foundation of the ‘small blocker’ camp’s arguments.
So how DO you measure decentralization? Well, that is a foolish question, if you are measuring the wrong thing. The correct answer is how do you measure security, and how much does decentralization affect it. I have mentioned this many times on other occasions but network security cannot be measured by theoretical technical analysis alone. In adversarial game theory, you must always consider the socio-economic costs of an attack. Thus, the only way to measure security, (and by extension how much decentralization matters or affects it) is in terms of dollars, or what I call the “Cost of Corruption”. Think of it as the cheapest possible method by which an attacker could compromise the network to do something which is against the rules (or social contract) of the network. You can see this as an event where a government wishes to block a users payments, confiscate property unlawfully, or even if a bunch of golden-hearted bandits decide to steal from the rich and give to the poor. In Bitcoin, one way you can empirically discover one cost of corruption is by how much it would take to bribe 51% of the hash power of miners to block payments from an individual or party.
Now the reason why it is very important to think of Bitcoin network security in terms of Cost of Corruption is because then you start to appreciate where the TRUE dangers to network security may be, and spoiler alert, the number of individual nodes in the network isn’t the biggest worry. For instance in order to actually get 51% of the hash power to collude to defraud or act against the network, you have to work out what they are losing in return. They risk losing all future revenue streams from their business, as well as socio-economic losses in personal reputation. This means that a small mining operation is cheaper to bribe than a larger one, because they have less expected future revenue. Furthermore, they have less of a potential loss due to less capital invested into their business. This means that the constant point repeated by decentralists that we need more diversity in mining nodes is a red herring, unless you further qualify that those node collectively must be more costly to bribe than 1 large mining node. (a hundred 16-year olds running mining nodes on their laptops can be pretty cheap to buy off via anonymous bounty than 1 large business with future revenue streams to protect). This is also pertinent, with respect to the much debated safe activation threshold for a hard fork (with 60%, 75%, 90%, or 99% of the majority). Traditionally, a supermajority in politics involves a 67% majority. This is no accident. There are good reasons for this, but unfortunately many of the computer scientists who have little background in socio-economic systems discount it, calling it a relic of governments and Bitcoin is a new system that need not play by old rules. This is just ignorance.
The reason why 67% is statistically significant is because it is the ratio which makes the Cost of Corruption the most expensive, and thus, the least likely to be corrupted. Why? Consider if the majority rule were to be triggered at 90%. This means that a group controlling 11% of the vote would be able to block any measure or proposal from passing. This may be seen as a good thing from the perspective that the ‘minority should not suffer by the majority’, but this situation, called Minoritarianism, is actually quite susceptible to corruption due to the fact that an attacker need only to bribe, threaten the business, or kidnap the loved ones of 11% of the vote in order to control the system. Having compromised 11%, the attacker can then demand and influence which proposals the majority proposes (and vow to veto all others). Considering the bottom 11% of hash power in the Bitcoin network are likely small mining operations with equivalently small capital investments, they make easy blackmail and extortion targets, and are more likely to give in to attacker demands. The level of 67% is significant because, it sets the Cost of Corruption at 33%, which is the highest it can be while still having the majority support be greater than 2x that of the minority; any more and the majority would no longer be a supermajority.
So knowing this, you can start thinking critically about what is the lowest cost to corrupt the network today? Where do the biggest risks lie? I leave you with this challenge: Which do you think is cheaper, to bribe one or more developers to mislead 51% of miners into installing malicious code, or to have 51% of the miners collude amongst themselves to create and install malicious code*?
Next time anyone says that this or that is good for decentralization, you know what to ask them, to see if they really know what they are trying to sell you, or if they are just repeating the common in-vogue party line.
*Hint: one solution involves considering the mining businesses future expected revenue streams, the other does not.
I ask you, dear reader, please forgive me. I am going to break from my normal “impartial observer” commentary on the Bitcoin space and speak personally about a project that I am involved in, because I believe it matters.
There is an election going on in Bitcoin space. At least this is what the media is going to call it very shortly (perhaps in a months time, after it is all settled, as mainstream media is apt to do… always late to the party). This election, like any, is political. It is a battle of wills, of differing philosophies, of ways of thinking. But like all elections, I believe that the will of the people, the majority, will determine the results.
Bitcoin Classic, is an implementation headed by Gavin Andreson, Jeff Garzik, Jonathan Toomim and others, which aims to deliver an alternative implementation of Bitcoin, aimed at addressing the demands of the users and businesses in Bitcoin.
We seek to work cooperatively with all implementations of Bitcoin, including BitcoinCore! This has been the philosophy of Bitcoin Classic from the beginning. To promote freedom of choice, in users being able to help guide the priorities of the project, and to work together with developers cooperatively to make Bitcoin better. Indeed this is the guiding principle of open source code. As a investor in Bitcoin, I feel it is my right to have a say in the direction I want Bitcoin to evolve and develop, but the existing maintainers have been consistently telling everyone that we cannot have the freedom of choice. The majority must succumb to the oppression of the minority, because the small minority of experts knows what’s best for us. This view would normally be well and good if this minority were publicly elected officials, but they are not. They are just people who inherited the Bitcoin codebase and taken custodianship of the network, of the capital and businesses it represents, of _my_ money.
Pro-Rules vs Pro-Choice
At Bitcoin Classic, the policy has been one of free choice, of allowing people to choose which features they want, instead of the ones that the developers think are best for us. For example, a highly contentious feature, Replace by Fee, which was not well explained to the public and on the surface looks to open up attacks on instant transactions over Bitcoin, was forced into the codebase without much more than a cursory explanation of what it was, and why it was necessary. It has since become a contentious topic. (it actually makes things like Lightning network work better). Core devs should not be blamed for their behaviour though. Many of them are really hard working selfless volunteers. But they are open source developers, who are unaccustomed to asking for permission or interacting with the users of the system. In a company, the project managers would fill the role of negotiating with stakeholders about which features they wanted, and made sure that the developers created a product that fit the users demands. This is unfortunately not the current development process being employed. Bitcoin, is the world’s first open source project with over 6 billion dollars riding on it. The developers have all the right to be overly cautious. Unfortunately, that level of caution has come at the expense of them being completely disconnected with what the real stakeholders in the system want.
Instead of listening to the users, Blockstream (the company which employs many of the Core devs) advocated strict enforcement of the “no contentious changes shall pass” in order to force consensus. Block size is one such change. They insist that consensus rules (written by them) are inviolate, and that everyone needs to respect them, even if a majority of the stakeholders may not agree with them. This is just another way of saying the defacto law is that the minority rules, and the majority must suffer the oppression of the minority, because math!
Well, who writes the math(computer code)? It doesn’t matter what language rules are written in, whether it be C++, or the legal language of legislators, rules are created by people, who in real life are voted in by the people. The fact that Bitcoin’s consensus laws are written in computer code and secured by cryptography just means that they are easier to enforce, without the need for an army of big brutes with guns to do it. Think about that for a second. If you can essentially make laws, and you don’t need a police force to enforce them, then that means you can’t really stop people from disobeying them, unless you can convince them it is for their own good, that they don’t have a choice. And that is exactly what the Core supporters are trying to do presently, in every way they can.
In real life politics we at least have a semblance of a choice in the matter. We vote. We allow for competing parties with competing ideological platforms. Not so in Bitcoin! If the Blockstream line is to be believed. Nobody voted in the Core developers, they devoted their own time, many without pay, and volunteered for the job. This model has gotten us up to this point, but the time has come when the prodigal son needs no leave the homestead, to set off into world at large to live on his own. It is time to let the Bitcoin project go, into the world, to try and stand on its’ own two feet.
I have advocated for the need to have diversity and freedom of choice in Bitcoin, in order for it to grow out of its infancy, and the developer teams who write the code are no exception to this requirement. How can it become the money which stands for freedom, when the incumbent team is strictly enforcing compliance to its own agenda?
Stage One: First they ignore you…
When Classic was first announced, it was dismissed by Core as “Bitcoin XT2.0” by Adam Back (CEO of Blockstream) This was in reference to the previous attempt by Mike Hearn to create an alternative implementation of the Bitcoin code base. That effort failed for its own reasons, but it has no relation at all to the current Classic project.
Stage Two: Then they laugh at you…
It started with hooligan attacks such as the vandalizing of the Classic teams shared google documents, and attempts at trying to get us to violate our own democratic policies. LukeJr, notable Core supporter, put in a code pull request into the BitcoinClassic system, which proposed changing the Proof-of-Work algorithm of Bitcoin, so that all the existing mining companies would be obsoleted. (by making their mining hardware useless). This suggestion, something that he has been advocating for years, while technically ‘legitimate’, was a poison pill, whose motivation may have been to cast doubt on the ability of the Bitcoin Classic democratic model to work effectively. It was quickly voted down, democratically. Next the Blockstream supporters* switched strategies and tried to filibuster the Classic forums with ‘strawmen’, people whose task it is to fill the chatrooms with endless rhetoric and debate so that legitimate users voices are drowned out, and all the channels turn into never ending shouting matches so as to deter any real exchange of information. They were asked to desist, but they remained. In the final attempt to ‘win the debate’ in a /r/btc reddit exchange, Adam Back (adam3us) came forward with the reasons why he was so adverse to hard forks, one of which was a claim to moral hazard, to which Jonathan Toomim (jtoomim) decisively rebuffed here. This was when it started to become apparent that the Core supporters did not have much technical merit to their argument, nor any claim to moral superiority.
Stage Three: Then they fight you…
The tone changed drastically when BitcoinCore supporters started to see the support of the majority was leaning towards BitcoinClassic. This culminated with Adam himself coming onto the Classic chatrooms and leaving not-so-subtle hints that several Core developers would quit their work on Bitcoin, if a hard fork was ever done, regardless of how successfully it was deployed, and what percentage of the population agreed with it, so long as it was controversial (can you spot the catch-22? As long as anyone thinks it is controversial, it is.)Basically he is saying that unless the changes are made by us, we aren’t going to go along with them and will instead rage quit like somebody else recently did.
The first offensive shots were fired when, despite days of civilized debate in the BitcoinClassic forums, The tactics of the Core supporters changed from trying to convince everyone of the over-exaggerated dangers of a hard fork to outright sabotaging of the BitcoinClassic code.
We would have liked to think that people would behave civilly and in good faith, but the truth is undeniable it seems, and Blockchains are War and Andrew Poelstra was right when he said that we have to expect adversaries everywhere in crypto. We just didn’t expect the adversaries to come from within the Bitcoin ranks though. The attack was directed at impeding the progress of the project in releasing its awaited first version of the code.
How? Through the informal democratic process, which specific system features to include in the first release were voted upon. For instance, whether or not to remove the controversial Opt-in RBF, and whether to make the block size scaling choice a simple 2mb static bump vs a 2-4mb linear algo etc. After discussion, the conclusion was arrived at to just do a simple 2mb bump first, as it seemed that the world just needs to be convinced that a simple hard fork can be done safely, if well planned and with a majority consensus of the entire network. But soon the decision for a simple 1-feature-only change became an unexpected necessity…
Within a day of this decision, many malicious buggy changes were put into Classic’s code repository many by anonymous users, in a sort of ‘Denial-Of-Service’ attack on the project’s developers. This had the effect of slowing down the real work that needed doing as efforts were diverted in order to weed out the bug injection attempts from the honest code updates. Such bugs if not caught could have been used to publicly declare the supposed lack of competence of the Bitcoin Classic developers.
I’m hoping that stage four will be “and then they join us” instead of “we win”, and I sincerely hope that any logical developer on the Core dev team would agree with me. The real enemies to the Bitcoin movement are elsewhere, and it doesn’t help the Bitcoin community at large for us to remain divided for long. Like all elections after all is said and done, we need to reconcile our differences and push forward together. Even if they don’t join Classic intends to work with Core, in helping to make sure that their code is compatible with the network post hard fork.
If you want to show your support for choice then choose a alternative Bitcoin implementation that supports people’s voices! (BitcoinClassic, BitcoinUnlimited). If the message is heard loud and clear by the Core team, then I would like to hope that they change their minds and realize that Bitcoin has evolved to a stage where it cannot be controlled by any onecentralized team any longer. The honey badger naturally rejects centralization, even in its own development teams!
* To be absolutely fair, I do not believe that Blockstream is officially condoning the malicious behaviours in any way. I think they are just as frustrated about this drama as everyone else. All the developers working there have contributed countless years of unpaid work in maintaining the Bitcoin codebase. They should not be vilified for the actions of a few bad apples. Do not, repeat, do not give them any undeserved hassles or show them any ill will. This is not about disagreeing with the people, it is about disagreeing with the message.