Bitcoin Core Philosophy [greg maxwell via bitcointalk.org]
Bitcoin Core Philosophy [greg maxwell via bitcointalk.org]
Clarifying Communications [bitcoincore.org]
Litecoin Development Team Official Position on PoW Hard fork [mar 2014 – litcointalk.org]
Development of care robots growing in aging Japan [japan times]
Erik Voorhees, a Bitcoin Entrepreneur and CEO of Shapeshift.io has a reddit post that calls of Core Developers to end the Civil war by meeting two demands.
Move 1) Core clearly commits to a hard fork block size increase, by adding it to its formal roadmap. The specific plan should probably be the 2-4-8 plan, as proposed initially by Adam Back, and which achieved widespread consensus after the scaling conferences. The time to add it to the roadmap is now, and the time to execute the HF should then, within reason, be up to Core’s stewardship. This needn’t interfere with, and is certainly not a replacement for, the much beloved SegWit.
Move 2) Core formally, publicly, and clearly denounces the censorship that has plagued community discussion, and should apologize for not having done so earlier. Core is not responsible for the censorship, but stood silently by as it happened, allowing widespread mistrust to grow out of control.
Sadly this post in misguided in several ways;
Adam Back proposed a hard fork to scale Bitcoin over a period of several years, called the 2-4-8. While there is no doubt that Back’s proposal was sincere, the reality is that any hard fork of Bitcoin as we have argued in the past will ultimately fail, and the results could be catastrophic. At this stage no credible roadmap should propose hard forking of Bitcoin short of an emergency flaw with the protocol. The reason is simple, Bitcoin is practically un-forkable, there is no way at this size of the network to coordinate a full network upgrade across the globe without experiencing serious problems that in the end will undermine the stability of the coin. Either Bitcoin is a global decentralized consensus-network in which case a hard fork would be contentious and un-workable or Bitcoin is a semi-centralized coin whose entire network can be coordinated by reddit and a few round tables in china. The reality is that Bitcoin is the former and as such an attempted hard fork will probably result in severe disruptions to the ecosystem. Finally, any developer who plans on forking Bitcoin would really be a full time politician as almost 99% of their time would be spent convincing the network to fork, as opposed to actual development.
On the 2nd request, asking Core developers to formally denounce something they have no control over can be construed as a backhanded smear tactic. Like asking a man who has never hit his wife, to formally denounce ever beating her. Greg Maxwell lead developer for Bitcoin Core responded as follows:
On the topic of “denouncement”, I think this note is regrettable: It is both unprofessional and a crass move of disrespect towards fellow human beings.
I called out Theymos on the moderation policy and counciled against it. Yet the poster here claims there was only silence; this is flat out untrue.
At the same time, when moderation was temporarily discontinued before aggressive moderation was first instituted the flooding attacks on the /r/bitcoin were so bad that you could flip three pages before seeing something that wasn’t an (often untrue) advertisement for Bitcoin XT along with a myriad violent insults and conspiracy theories. That same embarrassing non-professionalism and near zero SNR now plague the alternative subforum today.
How loud can I continue to oppose when the “uncensored” alternative is both uselessly bad and, yet, also “censored” itself? I still think the aggressive moderation is a bad move, but would we be better served by turning /r/bitcoin into/r/btc? Absolutely not: And even to someone who believed that the /r/btc way was better: it already exists. Probably the most essential element of free speech online– where the ability to speak at all is nearly a physically inalienable right– is being able to have your own space, where attacks can’t bury your words in tripe. In that sense the constant bragading attacks on /r/bitcoin and against the Bitcoin Core project’s own communication tools are some of the worst kind of censorship possible online.
Against this backdrop; people from the bigger-blocks-at-any-cost community run with smears and insults against myself and the longstanding developers of the Bitcoin software and protocol the network uses today. Though that community mostly acts through pseudonymous throwaway accounts, some of the attacks are by well known names. Does the poster here denounce it? No, not that I’ve observed. Do they denounce the threats against my lives of myself, my family and other Bitcoin developers? Do they denounce the lies being spread to attack my reputation and others who have supported Bitcoin so many years? Do they denounce the flooding of the Bitcoin Core communications channels and github by sock accounts? No, seemingly not.
Of course, there are an effective infinitude of things going on in the world that any reasonable person finds reprehensible. Waging a campaign of disagreement with most of those things has no effect beyond wasting time that could instead be used to inform or make the world a better place. So, I don’t expect the poster to have denounced all the vicious and sometimes unlawful attacks performed in the name of his interests. But I do find it ironic that he criticizes others on the basis of a higher standard than he seems to hold himself to.
Emotionally, the argument that Bitcoin Core has an affirmative responsibility to denounce a social networking forum choosing a foolish moderation policy makes the lack of his own opposition to all the vile attacks against us conspicuous by omission. Was it the intent to suggest a degree of implicit support for the parallel attacks that he hasn’t denounced? I doubt it, but I can’t deny feeling a little bit that way. But if I really expected it done, I would have asked in private; not via an unprofessional public list of demands.
Much of what drives the Bitcoin “civil war” is due to a mis-characterized perception of what Bitcoin is. Bitcoin is not a standard open source software project, Bitcoin is a decentralized consensus system, a global political system composed of voluntary participants. Developers do not manage bitcoin, instead they provide code which the network is free to adopt or not.
This “civil war” is really an attempt for some to try and wrest back control of a system that has evolved past any group of developers, communities, or companies. It is interesting to note that today Bitcoin trading occurs all over the globe in every language, yet the epicenter of discussion is two message boards which at any time have a combined 500-800 active users. This shows how out of touch most in the Bitcoin ecosystem are.
*edit* Corrected Mr. Voorhees name.
Like most people, I recently considered the virtual currency bitcoin to be dead. Expired. Bereft of life. Kicked the bucket. An ex-currency. But now I’m not so sure.
Contrary to expectations, the currency’s value has not crashed. It’s actually gone up compared to last year’s figures, with one bitcoin worth $397 today compared to $213 in January 2014. It’s still nowhere near stable, but it’s not a disastrous investment either. Those who bought $1000 worth of bitcoin a year ago have not lost their money – indeed, they’ve gained some.
How to stop a Bitcoin hard fork… or how to accelerate it [dr. washington sanchez]
What the Heck was Bitcoin Core Thinking? [christopher gilliard]
Why One Company has Chosen Bitcoin Blockchain To Revolutionize Wall Street [ny business journal]
Draghi Put – Global Stocks Bounce Back [bloomberg]
From Barter to Bitcoin [techcrunch]
And just like that the Bitcoin system asserts it’s decentralization on all participants.
Bitcoin Magazine is confirming that F2POOL has decided for the moment to support the existing consensus rules and abandon it’s support to Hard Fork the protocol.
Speaking to Bitcoin Magazine, F2Pool operator Wang Chun confirmed this is indeed the case.
“The rumors are true,” Chun said. “Miners in China were scared by Luke Dashjr’s proof-of-work changing pull request.”
As we just discussed in “Why a Hard Fork should be fought” a minority party must assert it’s position to contest any rule change to the protocol via a Hard Fork by exploring all options. Because a Contentious Hard Fork is effectively a system reset against the interests of the minority, if successful it is centralizing.
Many will view this as obstructionist, and potentially harmful to Bitcoin’s ability to innovate. But in fact this is a momentous development which is showing that Bitcoin is becoming a truly decentralized protocol.
A Hard fork, really is a misleading name. It connotes the idea of a train traveling on the tracks and the conductor makes a decision to change the rail switch, and choose a another track to go down. While the trains directions changes, the passengers cargo and train remains the same. Everyone enjoying a happy trip, maybe the destination changes, but nothing else happened. You can imagine who today we think is the conductors of Bitcoin, and who tomorrow some hope will be the new conductors.
But in reality Bitcoin is supposed to be a decentralized system, and in those systems, its not a train, but a group of participants with guns drawn at each other. More on that later.
In the world of protocols, which Bitcoin is supposed to be, a Hard Fork, is really what a hardware engineer would colloquially call a Rip and Replace, the minute you change one rule that requires a complete network upgrade, you have in fact a new network. Now while the hardware is not changed, the players are the same, the rules of the game have changed and every participant is in effect starting from scratch in a new field.
While we have a distinction between Hard and Soft Forks, and Peter Todd does a great job explaining, the difference. I will discuss, why hard forking, which some celebrate as the epitome of bitcoin resilience is pernicious and dangerous in a decentralized network, particularly if the minority simply accepts it. Hard Forks should be a last resort and should be something self-evident to the network. If they are not it is incumbent on the minority to threaten to break the network if needed.
But before we even state why a minority should fight, consider the following:
Shower thought: Hard Forking a decentralized protocol, means its not very decentralized.
— thebitledger (@thebitledger) January 20, 2016
In fact Hard Forks, should be practically impossible in Bitcoin, if it is truly a decentralized network. Consider that in a truly decentralized trust-less network , there is no central authority and the participants do not know each other. How can you signal to an entire network it must replace its protocol at a specific date and time? Who would make this signal?
Take the debate of encryption on the internet as example. Encryption is many different protocols, which some governments now want backdoor access to. Except there is no possible way they can have access to all systems because encryption technology is decentralized and evolving, there is no way to signal to all participants to accept a specific standard. There is no way to even “hard fork” to one standard encryption protocol even if all the governments of the world somehow wanted to. Doesn’t mean they won’t try, but this is the nature of a truly decentralized system. Hard Forks in decentralized systems cannot be imposed they must emerge.
Recall the Y2K bug, for those who weren’t around, it was a potential bug embedded in what was an emergent standard (not dicated or set) of how data was stored in computer systems. Computer systems once deployed operate and exist in decentralized global system. In this case there was was a common practice, of using truncated 2 digit years to save space. So that, a document with the date of October 26, 1985, would be stored as 102685. This worked great for about forty years, particularly in the days when space was measured in bytes and kilobytes. Then around 1995, despite it being a known issue in some circles for years earlier, technology professionals began realizing that in the year 2000, some computers would mistakenly read the date of 01-01-00 as January 1st, 1900. On the face of it not the end of the world, but then people began realizing how date systems were anchors to all kinds of functions within programs and computers, and it became apparent it could be catastrophic. There were concerns people could not get paid, social security checks would not be sent, medical benefits revoked, flight control systems in airlines disabled, traffic signaling systems, banking, on and on. Well once again the governments of the world could not really mandate this change although they attempted via laws and committees. Overall because it was in everyone’s self-interest to avoid a computer failure on January 1st 2000, an emergent hard fork occurred, where pretty much every computer system was either updated or replaced, and still many were not. This is an acceptable hard fork, while the Y2K bug in the end was overblown, it was apparent from game theory that it was not an attempt by one party to gain, but all parties where affected equally and possibly fatally. It was truly a once in a life-time, possible do or die, situation that necessitated a hard fork. This should be the standards for Hard Forks, it should be an unknown event because in a decentralized network where all parties are equal it takes an external event or threat of that no one has control over to signal to all parties equally to change. If not one must conclude the network is not decentralized.
Above I stated that if a hard fork attempt is made on the network without self evident consensus then in fact the minority needs to view this as an attack of the network and now has a choice to make.
Consider a simple consensus network of 3 parties. All Parties are in equal position of relative power as they perceive it. The parties are not identical however their benefit received from the network is.
Party A participates for perceived reward Ar
Party B participates for perceived reward Br
Party C participates for perceived reward Cr
The total value of the network reward expressed as Ar+Br+Cr
Party B now determines that if they can change one rule in the system they can receive Reward Br+1, thereby improving their results and those of C, even though they believe it may not benefit party A.
Party A view the change as Ar-1, thereby a loss to them.
Party C views the change as Cr+1, indicating that they will work with B to override A.
The resulting value of the network reward being (Ar-1) +( Br+1) + (Cr+1)
Clearly B and C were correct to engage, even at the expense of A, they benefit, and the network may benefit, assuming their calculations are correct.
Party A has the choice to accept the change, or exit the network. Party A’s only ability to stop the attack is to either affect the value of B and C’s Reward to where one of the attacking party perceives it will be a net loss if it continues. Additionally consider that parties B and C will signal that no matter what A does they expect to be victorious. Although no party in fact knows how one will act and what the result will be until after the process is complete.
A now signals, that in fact it maybe willing to even further impair its own reward if the possibility exists of any way impairing one of the participants own rewards, and the overall network reward. So that for example it becomes (Ar-2) + (Br+1)+ (Cr ), where now even C’s reward expectations can be impacted thereby affecting his expected reward. A has now effectively created the possible scenario that in fact the overall network will lose rewards. Notice that B may still move ahead, because it is still a positive for itself at the expense of the network, but now C sees no gain, and in fact sees possible future impact to the network. (This is common defense for the coin limit where removing the cap in theory would not be possible because A the non-miners would signal that they will suffer greatly thereby impairing the network, by dropping the price of bitcoin and abandoning their investment)
The reason this is legitimate is because all three parties entered the system to play by the same rules, by B and C changing the rules, a new system emerges, A must now choose to stay, exit or signal to B and C that they are wrong and A must show B and C how their assumptions are incorrect.
If Bitcoin permits a Hard Fork of the network, and if a majority can hard fork the network against the wishes of the minority then what is happening is that Majority has effectively discovered a loop hole in the consensus rules and is engaging in a network attack to reward itself from the benefits of the attack. Regardless of how altruistic B claims their intent is, regardless of whether B believes that their solution will bring peace on earth, and caviar dreams and limousines to all, one has to assume in a decentralized system that all participants act out of self interest first, and if one party sees no reason for a consensus rule change and the other party does then more than likely the majority party is looking to increase its benefit at the expense of the minority.
Any result where the minority cedes to the attackers concludes the network is centralized because either A concedes and remains in the network thereby signaling that in fact B and C own the network and will manage future changes to their benefits, or A exits the network which has the same result in centralizing the network to B and C. Only by A successfully signaling that the attack will result in a loss for all can the network be restored to a decentralized state.
Pop Quiz Hot Shot!
In the 1990 cult classic movie Speed with Keanu Reeves and Sandra Bullock, the movie deals with a villain, played by the late Dennis Hopper, who masterminds No-Win scenarios, in a game of wits against Keanu’s character a Swat Officer called Jack. Jack must figure out how to catch the villain while escaping his traps, disarming his bombs and not killing civilians in the process. In the famous scene above, Jack in order to stop the villain from taking his partner hostage uses the unconventional tactic of shooting the hostage (his partner) in the knee.
In a foreshadowing to the above event the following exchange takes place between Jack and his partner
Partner: All right. Pop quiz. The airport. Gunman with one hostage. He's using her for cover. He's almost to a plane. You're 100 feet away. Jack: Shoot the hostage. What? Take her out of the equation. Go for the good wound. He can't get to the plane with her Clear shot. You're deeply nuts. You know that? "Shoot the hostage."
As Hollywood as the scenario is, it is a legitimate game theory option. This is asymmetric warfare, where the opposing force’s only chance of success is to communicate to the larger force that it will pursue unconventional tactics, that were likely not part of the large forces calculations. This can then bring into question if the successful attack of the larger force will provide the results it seeks.
Similarly those who oppose the hard fork maybe forced to signal to the attacking party that they may attempt different techniques which could undermine the overall results, the hostage in this case Bitcoin.
Some would be horrified at this discussion and indeed it is being discussed on reddit. But the reality is in a decentralized network, all participants are free to play by any rules within the consensus, and if they can change it to their benefit than the consensus rules were not properly balanced or decentralization never existed.
One scenario discussed in reddit, is forking to an alternate PoW with all the pending hard fork changes proposed by Core, thereby giving the market 2 clear choices, a 2mb increase via contentious fork, versus a coin that has serious improvements on the bitcoin protocol with a PoW that locks out all existing hardware, while this would lock out hundreds of millions in hashing investment, it opens the possibility of capturing wasted hashing locked away in worth-less altcoins and because it is forking as a last resort, a nuclear option, the only reason a hard fork should ever be attempted, it may signal to the overall market that this new coin is the more decentralized alternative.
The fact is, that the market has incorrectly assumed that core development is a centralizing force for not implementing a hard fork, and in fact it is not. Core Development correctly concluded that Hard Forking a protocol, without the hard fork being emergent and self evident, would be an act of centralization with the potential to break bitcoin, so they did not do it. Additionally, others have mistakenly perceived Core’s inaction as centralization, and are now themselves acting in manner to centralize the network by imposing a consensus change to the network without actual consensus.
Again, unless a self-evident, consensus emerges, the “Oh my god a Giant Metor is Coming”, there is no reason to hard fork an operational consensus protocol. And as such the minority power has every right to pursue all options as much as the majority power.
Now I am not advocating deliberate sabotage, or anything illegal, nor am I spitting sour grapes. But I do believe that in a decentralized system like Bitcoin that decentralization must be maintained at all costs and it is up to each participant to defend that, any party which is acting to exert influence on the others outside of the consensus rules is in fact attacking the network regardless of hashing power. To the extent that people view core development as a centralizing force they have every right to decentralize from them, notice however that core never imposed anything on the network it merely played by the already existing consensus rules.
With each successful hard fork of the network, one has to assume that either independent miners or full nodes have been lost, or combination of both or the network is centralizing on some sort of signaling. Typically the signal being that with each successful contentious fork the winning hashing power will be emboldened to continue attacking the network in successive self-reinforcing victories.
Hard Forks, in effect break the rules of the protocol, it invalidates all previous game decisions made by participants, and in effect creates a new network, with the reality that it is just a matter of time before the rules are invalidated again. Now someone would call this anti-fragile but this is wrong this is run away centralization, and in fact will lead to an inevitable black swan event. Because, the resiliency of the network the counter balance is being attacked and chipped away to accrue benefits to majority, while they are blind to the ever increasing danger of centralization.
This does not even take into account the negative signals to outside forces of seeing what is supposed to be a decentralized censorship-resistant protocol in fact centralizing and ejecting elements out of the system in pursuit of non-participant actors. One of the biggest sponsors of a contentious hard fork is in fact an entity that shouldn’t even exist in a Bitcoin, Coinbase. The fact is if that if the majority of keys where held by independent parties with at least some running full nodes, and bitcoin mining was not 10 guys in a room, contentious hard forks would be impossible to coordinate.
Now Hard Forks would clearly have less risk again, if they did not have a centralizing effect, or they where a net neutral, i.e. to address a catastrophic bug, a protocol flaw. However those would still come with potential new changes and unintended consequences, but they are pursued when the alternative is typically fatal to the network.
The 1mB limit as stupid and arbitrary as it may be is not a flaw, it does not break bitcoin, and in fact blocksize is inherent to bitcoin, since it was imposed by Satoshi on the network, so one cannot say that a catastrophe has been avoided by doubling a number.
As we previously discussed in a Dangerous Path Ahead, nothing good will come from this contentious hard fork of Bitcoin, and the laughable 2mb increase may come at irreparable harm to bitcoin and its claims to be a decentralized censorship-resistant currency.