Goodbye Mike and Some Thoughts About Bitcoin
15 January 2016 15 mins read
After reading Mike Hearn's
The point of decentralized systems is never to reach ubiquitous consensus about truth. Settling upon a final truth is pyrrhic at best and almost certainly a sisyphean endeavor. The goal is to facilitate the free flow of ideas and provide an effective framework to actually test them with something at stake.
Mike was a voice for a certain philosophy and regardless of whether you feel that philosophy is correct, it is a terrible tragedy that our community descended into the murky swamps of censorship and personal attacks. I will miss Mike and want to extend a profound thank you for all he has done and good luck on future projects.
All this said about Mike's contributions and positive influence on the space, I would be remiss if I didn't comment on his core argument that the Bitcoin project has failed. It's not only wrong, but utterly offensive to the thousands who have contributed weekends, painful explanations about the nature of money to their friends at bars and the repeated scorn of having to endure the scams, exchange failures and regulatory misunderstandings.
|Mike thinks we don't matter :(|
|In Pounds; Paid in Bitcoin|
|Mike thinks we don't matter :(|
So Mike I'm terribly sorry that you lost the XT fight and it's definitely true that it wasn't a fair fight, but don't take your anger out on Bitcoin the experiment nor the Bitcoin community:
|Darth Vader on Mike Hearn|
Some Basics About BlocksizeNow on to blocksize, there is already a great deal of detailed content floating around the interwebs on the various issues thus I will quickly summarize the crux of the matter. Bitcoin blocks have an arbitrary size cap of X MBs and each transaction takes on average Y bytes. As the network grows, we will (and have) hit this cap and the result will be an overall reduction of performance, reliability and robustness of the Bitcoin network.
So how does one resolve this seemingly intractable problem? The naive and kicking the can down the road solution is simply to increase the blocksize from X to a new arbitrary amount- say X(1). If Bitcoin continues to grow, then we'd have the same debate all over again in a few months or perhaps years (
One could also increase the rate of block production (referred to as the block interval). There have been several proposals to do this in a way that wouldn't increase the amount of stale blocks and Ethereum even implemented one called. The basic concept is turn Bitcoin's blockchain into a from an append only linked list. This path is reasonable, but doesn't resolve the issue of data bloat (more on this later).
We could approach the problem from the other side by examining transactions. Again the most naive approach is to reduce the size of transactions from Y to something smaller say Y(1). Again this approach doesn't solve the fundamental problem that future growth will push blocks to their cap.
Along the same line of thought, one could create a mechanism to gradually retire transactions (called pruning) or reduce the amount stored on chain. There have been some interesting ideas proposed like
Finally, one could push transactions off-chain so they don't appear in the Bitcoin network at all or eventually in a reduced form. This idea is seen in efforts like theand the . It's the most politically friendly of all proposals as there are already many projects exploring how to facilitate the offchain infrastructure without necessarily requiring a fork of the Bitcoin protocol (or at least a dramatic hard fork). As a side note, It's probably not an accident that a large pool of the Bitcoin core developers happen to work for the company spearheading these approaches.
|Blade Runner's take on Transaction Pruning and Off-Chain Solutions|
I recall the argument to get merchants to adopt bitcoin is to use services like Bitpay, yet then we go back to the solution to asset volatility of our decentralized network is to connect all the merchants to a centralized service provider? The same applies for transaction scalability solutions for the Bitcoin network. Seek decentralization wherever possible!
|What the Bitcoin movement is trying to do in a nutshell|
Solutions in a Technological Context
|I created this graphic on Gliffy. Gliffy is pretty Spiffy!|
All the parts are wired together with some form of crypto. The block body is connected to the header via a merkle tree data structure. The headers are wired together via hash pointers. And proof of work provides a mechanism for validating a given collection of blocks (the proposed blockchain) is the correct one via the notion of algorithmic weight (the proposed chain with the most work wins).
So we have been given a menu of options to change the core protocol to reflect the goal of more transactions. Increasing the blocksize makes the block contents heavier (larger merkle tree), but has no impact on the block header. It's an interesting question to consider the impact of larger blocks on block propagation times. I'd highly recommend this
Reducing the block interval will likely involve changing the structure from a single hash pointer to multiple hash pointers to different blocks, but no impact on the block contents. Inclusion of double spend transactions and longest chain selection rules are the topics of primary interest here. I'd recommend two papers to get a deeper understanding. First, Sergio Lerner'sand then Lewenberg et all .
Pruning means that over time certain leaves in the merkle tree should be removed or perhaps even entire blocks replaced with different representations. It's also interesting to consider what other authenticated data structures could be put into the block headers to improve scalability or better facilitate pruning schemes without compromising trust. The Bitcoin wonderkid researcher Andrew Miller has
And finally off-chain means that we are effectively wiring something more onto the block via the header or more likely in the block contents. The concept here is separation of concerns and layering. For example,
The Hidden Demons Behind the DebateThe original design of Bitcoin was to have a completely decentralized network of equal actors with no barrier to entry for participation. Mining was done on ordinary CPUs (in fact Satoshi mined more than a million bitcoins using CPUs). Maintaining a full node wasn't a serious commitment. It was less taxing than running bittorrent with a few HD movies.
The separation of block headers from the block contents does suggest a path to heterogeneity via light nodes holding only the header collection; however, again this action isn't forced upon anyone.
Now enter 2016, Bitcoin is a very different animal. The Bitcoin blockchain has grown considerably. Mining is heavily centralized:
|These Guys Own More than 51 Percent of the Mining Power|
|Totally not trying to co-opt the ecosystem!|
I feel that this debate has exposed more than certain people's inability to work productively with each other or the need for a new set of reddit moderators. It has exposed that Bitcoin is basically at a philosophical impasse. There really isn't a clear direction for the Bitcoin ecosystem to take. Is it supposed to be the ultimate payment system with a super cool deflationary digital gold coin backing it? Is it a settlement layer for many systems to eventually clear upon? Is it the arbiter of digital truth providing a cryptographic beacon, notary services and a logical clock? Is it a system for decentralized governance?
Fair arguments can be made for any of these directions and there is a legion of good tech to sneak into the protocol to make Bitcoin better suited for these tasks. In general, Bitcoin could basically be the entire financial stack:
|Bitcoin could be the whole stack|
Should Bitcoin be blind and deaf to other systems and cryptocurrency or does it need to talk to them on a regular basis? Are we going to tokenize all assets like gold and USDs and trade them in a decentralized network? Or are we going to trade them on exchanges and move them between exchanges using some connection to the Bitcoin blockchain? If there is a dispute, then is arbitration connected to the data held on a blockchain?
Each of these questions and the hundreds more have a dramatic impact on what needs to go into a transaction, how of many per second we need to include in the Bitcoin blockchain and also the intended set of users. Let's be intellectually honest, have we answered them? Where do you even go to start that process? Who gets to decide?
In effect, we don't have a blocksize crisis, we have a governance and philosophy crisis. And the pain will continue until this crisis has been resolved either out of some cabal gaining control of the network or by a new mechanism to decide things in a decentralized manner (See
My Proposal to Solve the DebateSince everyone has a proposal, I might as well throw my hat into the ring. First, we need to solve the immediate crisis at hand. Let's take Kryder's Law of storage growth and combine it with Nielsen's law of bandwidth to produce a reasonable rate of block growth in regular intervals. The basic idea is that blocks will grow at a rate that scales with local storage and the rate of bandwidth increases of internet connections.
Second, adopt the plan devised at the scaling bitcoin conference. It's reasonable and doesn't require dramatic action. Segregated witnesses in particular are a very solid concept. Furthermore, scaling bitcoin should really be a bi-annual event moving forward- get people talking to each other on a regular basis.
Both of these actions will take the pain off of the network and give us some breathing room. We have to then move on to phase II, which is investing in some foundational technology to radically improve the entire network.
- Sidechains is a fundamentally sound and reasonable idea. It's a conversation about getting blockchains to talk to each other and move value without needing special actors. The project is also incredibly well funded and backed by some of the best people in the space. Sprinkle some soft fork on that shit. In the absence of soft forking, BTC-Relay is pretty cool.
- Reducing the block interval is a really good idea. Ethereum's implementation of GHOST serves as a great example of a path to do this and the researchers behind DAGs are solid people. Faster settlement with the same level of security as the slower interval is frankly good for us all.
- Change Bitcoin's consensus algorithm from proof of work to something else. Mining centralization is a problem. The original idea was that the network was to be secured by many different people not a small cabal of anonymous mining corporations floating around Asia. Furthermore, we have a lot of cool things that can be done with different consensus algorithms like voting and allowing for many assets to exist concurrently on the Bitcoin network in a scalable and mobile friendly way.
- Invest in Blockchain sharding. There is an interesting project by Professor Shirer that has some legs. The point here is that Bitcoin's data model is 1 byte requires N bytes of total storage with N being the set of full nodes. It's terribly wasteful. Increase the dataset from D to D(1) via erasure codes and then chop up the blockchain into reasonable sets of shards. We could have a many petabyte blockchain that is in 50 MB pieces. Changes to Bitcoin's consensus algorithm and fundamental data structures could dramatically help here.
- Develop more productive federation technology for service providers in the Bitcoin space to interact with the Bitcoin blockchain. The reality is that we'll still have a lot of services off-chain entirely for privacy, cost or performance reasons, but we shouldn't have to completely trust the people running those networks. Ideas like Pavel Kravchenko's Infraproject and Blockstream's Liquid are movements in the right direction as are concepts like proof of solvency.
- Create a mechanism to incentivize data relay on the Bitcoin network. As the network scales, there will be enormous amounts of data floating around and it needs to be economically optimized or else you'll have centralized hubs acting as relays to millions of dependent nodes. Eric Lombrozo has been a great voice of reason in this respect.
Until the development of Bitcoin is free from outside corporate influences, it can't be discussed in an objective and fact based way, and the stakeholders of the system are able to decide instead of a cabal of well capitalized actors, we aren't going to gain the resilience of the crowd.
This phase is probably an innovation of the size and scale of Bitcoin itself and thus is unlikely to materialize immediately, but organically over a collection of hundreds of experiments. And like Bitcoin, it would fundamentally change the very nature of organizations, their mandate and the flow of funding.
Thanks for Reading!
I've been thinking about the Bitcoin Foundation over the last few months. After I left as the first chairman of the education committee back in late 2013, I dismissed the Foundation as a mostly inept attempt by some business interests in the community to gain an edge over their competitors. The actions of
So why the sudden interest after my self-imposed exile? After traveling extensively throughout the world, I've notice that there is still an impression internationally that the Foundation is relevant and in some way represents Bitcoin- especially among the international press. It's not accurate and probably similar in spirit to the headlines stating Bitcoin's CEO has been arrested.
We also have a larger, but somewhat related problem that the blocksize debate has made blatantly clear- governance. It seems nearly impossible to get the community to agree on anything outside of trying to increase adoption and the underlying value of the bitcoin token.
Hence, I think we have an opportunity to solve two problems at once. The Foundation can be productively reborn preventing another media boondoggle and at the same time we have an excellent opportunity to explore new types of governance, algorithmic regulation and social consensus.
So assuming it's somehow a good idea to rebuild the Foundation (I fully agree that there are solid arguments to simply let it burn), let's explore what it would take to do so. As a side-note, I would be equally happy with seeing the Foundation shutdown if it didn't harm the Bitcoin brand and community.
First, the Foundation has lost any form of legitimacy. It's broke because prior leaders looted it. It's undemocratic by forcing out elected board members and replacing them with appointed ones. It's utterly unable to listen to outside opinions and conduct basic affairs such as managing board meetings, elections or produce a viable road-map.
Thus these issues need to be corrected before any future progress can be made. So let's start with an independent audit of the Foundation's books, relationships and accomplishments. Hire an auditor paid from an outside pool of capital (hell I'll throw some money into that fund) and give him a mandate to do the following:
- Build a timeline of all major events since the Foundations inception
- Provide detailed financial records on the Foundation's expenses and income
- Annotate all business relationships the Foundation has had since its inception and their association (if any) to current and past board members and executive directors
- Provide an HR database of all personnel that the foundation has retained and their compensation. Also build a social graph showing the relationship between the Foundation employees and the board members past and present including if they worked for or with the board members in previous or current ventures
- List the major efforts the Foundation has embarked upon and rate their success based upon the Auditor's best judgement and whatever objective metrics can be established
- Give each executive director- past and present- an opportunity to write an explanation for the findings of the auditor.
Here's what an audit accomplishes:
- It divorces the Foundation from its past by bringing everything out into the light and exposing any corruption from past or present leadership. If anyone is responsible for criminal acts, then they will be exposed and I'd hope prosecuted
- It acts as a basis for the Foundation to re-engage the Bitcoin community. The Foundation can say ok this is what we did wrong so tell us how we can be better in the future?
- Those who are asking for the Foundation to be shutdown can now have a fair debate. The audit will provide an independent assessment of where the Foundation has been and what it has accomplished given its resources
Second, let's say the Foundation somehow survives an audit and the community -or a wealthy patron(s)- seeks to continue the Foundation's existence, then the next step is to solidify the organization behind a new mission and values. This action is a wonderful opportunity to work with several ventures such asfocusing on s and other of .
But it's natural to ask to what end? I don't think Charles Hoskinson should decide that. More to the point, no one person should. Instead let's make proposals and draft a candidate constitution. Then have the Bitcoin community vote on proposals. In my view, the core value proposition for continuing the Foundation is to experiment with technology that allows for decentralized governance. If the Foundation should continue under an unelected or pseudo-elected board, then just shut it down. We created Bitcoin to get away from these things.
This process could be amazingly beneficial. It- like Bitcoin was and still is- serves as an experiment driven by a well intended community instead of the mandate of an overlord seeking power or control (also drop Satoshi from the board, it's insulting). We would also gain tangible data on how to discuss controversial ideas within a productive framework with the aim of eventually reaching a community consensus (can you think of any debate Bitcoiners are having right now?). Finally, the community can also explore how to regulate a custodial entity using cryptography instead of trusted founders (wow, think of all those smart contracts and prove of solvency proposals that people have been preaching about- someone call Peter Todd!).
And now comes the objection: But Charles there isn't enough money to do this stuff! And I say: Aren't Mirror, Coinprism and other Bitcoin companies incredibly well funded, and don't they need a good showcase for their tech? Wouldn't the good press and community goodwill serve as excellent advertisement for their platforms?
Money is never the issue. It's vision and the ability to forge partnerships around it. If the current board can't accomplish this task, then fire them or shut the whole thing down. I'm extremely tired of hearing that we can't accomplish something. The entire point of Bitcoin has been doing the stuff that people have been saying we can't do on a consistent basis.
The argument above showcases my primary issue with the Foundation. It just doesn't lead. It lacks any notion of a vision or a purpose. Let's not blame them for it. Let's just install one that benefits the entire community.
Third, let's discuss management and global representation. Traveling around the world, I've had the privilege to meet some exceptional people from Switzerland to Japan. I'm headed to Argentina next month and will have a chance to spend some time with one of the most passionate Bitcoin communities that you can find. It utterly disturbing to see the passive level of commitment that the current (and former) members of the Foundation's leadership have outside of Bruce and a few others.
There are legions of Bitcoiners who would work with the Foundation full or part time with both enthusiasm and zeal if only given a chance. If the Foundation is going to continue existing, then it should reach out to the existing Bitcoin communities. More specifically, the Bitcoin meetup groups. They are run by passionate volunteers who love this space, the technology and its rich philosophical roots.
The Bitcoin meetup groups are also largely responsible for Bitcoin's growth from a novel technology to a global movement. I'd love to see the Foundation serve as a hub connecting them together and recruiting from within their ranks on a global basis. When people are given a great vision and a purpose, they aren't motivated by money to do work. The open source movement has proven this truth time and again.
Alright, so in conclusion, audit the Foundation, turn over any evidence of criminal conduct to the relevant authorities, draft a constitution via community participation, govern using tech from well funded Bitcoin startups, and link all the Bitcoin meetup groups together to act as the execution engine, talent farm and source of great ideas (See
It's really not that hard to accomplish something great. It just takes vision, persistence, honesty and leadership. If the Foundation has it, then it should survive. If it doesn't, then don't worry it will eventually collapse.
I recall the mid-summer Virginia afternoon back in 2013 being filled with copious conversations ranging from how to achieve value stability for a cryptocurrency to this strange idea Stan Larimer had called a DAC - a decentralized autonomous company. His drafts contained terms like Steely Eyed Geeks and a nice list of rules definitely inspired by Arthur C Clarke and Isaac Asimov, but with the boyish enthusiasm only Stan could muster. The article (Bitcoin and the Three Laws of Robotics) eventually found its way to Bitcoin Magazine and the Let's Talk Bitcoin's blog as well as Vitalik's September series (
The foundational premise of Bitcoin can be encapsulated succinctly as people suck so just trust a protocol. This line of thought has lead to numerous problems from a lack of recourse for theft (see MtGox and the dozen other exchanges) to dark market operators such as silk road using Bitcoin as their payment network. Furthermore, the rewards to miners are not connected to any external reality- just hard locked and unresponsive to the needs of the network. The protocol marches on like a silent, yet diligent sentinel uncaring in judgement, but utterly fair.
We were interested in DACs because the sentinel needs some method of getting an update and if one appointed a centralized body or even a federated one, then one has completely defeated the ultimate purpose of these systems. With more time given for clarity, when one abstracts the idea, one can notice that most businesses are a collection of systems that decompose into protocols. Thus, it stands to reason they too can be transformed into sentinels and if only we had a DAC, then they too could be fair, yet dynamic. Hence, DAOs were born.
Back in 2013, we didn't have Ethereum. Sergio Lerner had created a wonderful turing complete system intended for gaming called Qixcoin, but it wasn't well known or funded. Thus, DAOs didn't have the requisite technology nor a clear commercial path forward. Yet with the dawn of the crowdsale and Ethereum as a platform, this reality has changed.
Now up to this point, it is reasonable to assess what progress has been made. The existence of the crowdsale our space has been using for the last few years has created a funding mechanism for all kinds of interesting projects ranging from Maidsafe to Swarm. Whether these produce utility or are attractive places to store value is yet mostly unproven; however, it's truly amazing to see the amount of passion and enthusiasm. Of course, never forget that people suck so yes a lot of fraud seems to be seeping in (
Ethereum has created a way of deploying distributed protocols with a host network that has known and probably strong security guarantees about the execution of the code. Whether this system can be made secure under some reasonable formal model and associated proofs and also made efficient is another story. Yet we should at least concede that it's a pretty fun sandbox to run experiments.
The DAO is one such experiment, which brings us to the ultimate point of this article. Slock.it and their affiliates apparently wanted to create a large pool of capital that could be used to fund interesting projects (sound like any type of structure you could think of?), but make the pool a sentinel without a master. Just some helpful curators and the Ethereum network's guarantees behind it.
Ideally, a Surowiecki utopian wisdom would envelope the DAO making it the smartest way to allocate capital or something along those lines. To be honest, I mostly ignored the original proposal thinking that people wouldn't invest much time or money into it.
Common sense seems to yield a litany of concerns from the fidelity of the code controlling this concept to the creator's utter unwillingness to stand behind the DAO from a legal sense. If something goes wrong, then no one is responsible? Do we have sufficient faith in our ability to do things perfectly right the first time that we are willing to invest in a blameless system? Imagine if planes worked this way. Would you fly?
Furthermore, there was a reckless desire to maximize the size of the fundraiser without any concern to factors everyone should be wary of in some capacity. Why wasn't the DAO milestoned with the majority of the funds stored in a large multi-signature feeder contract that gradually released money into the main fund given progress and investment success? Who was responsible for maintaining, upgrading and auditing the code long term? What metrics should the DAO be held accountable for over the long term? Apparently, having a
So now we are faced with the predictable nightmare scenario only yielded from grand hubristic endeavors such as the unsinkable titanic. The DAO has been looted by a hacker who potentially has enough pithy gall to claim that the theft actually conforms to the
So why should Ethereum care? The point of the system is to be a sandbox for ideas to succeed or fail. It's a lab for experiments. That's why Ethereum is worth so much money as a system. Following this line of thought, Ethereum SHOULDN'T CARE.
You don't change the lab when someone performs a poorly formed experiment. You blame the chemist and move on. We can make a fair argument for better safety equipment (
Yet Vitalik and others close to the Ethereum Foundation are advocating to do just that. They want to fork the protocol in order to prevent the theft.
Several of the Founders have scattered across the seven seas and created new commercial ventures ranging from Consensys to Ethcore. Each has its own blend of fiduciary obligations depending upon their investors and stakeholders, yet these are not directly aligned to the needs of the Ethereum ecosystem. The closest thing Ethereum should have to a neutral body ought to be the Foundation.
You know those bodies that don't pick winners and losers and try to just protect the protocol itself? Except for the time when its leaders join multiple ventures, plaster their name everywhere and seem to have a very comfortable relationship with companies like Deloitte and Microsoft for "Projects".
Yes helping the DAO investors get their money back is a noble knee jerk reaction. But what about Gatecoin and the theft that occurred there? What about the ether purchasers who experienced an event that prevented them from redeeming their ether they fairly purchased? What about all the ether lost to defective smart contracts? DAO gets precedence, yet the others don't? Is this because its failure would invite regulatory scrutiny to the Foundation members as they have too close a relationship to it?
Returning to the core thesis of bitcoin and its children - people suck; trust the protocol - applied to the bailout of the DAO, we have people who are trusted to be neutral who cannot be due to whatever obligations that have encumbered upon themselves. As we should expect given human nature. They now want to change the protocol to prevent in part personal harm to themselves given the damage the DAO has done.
The argument of wanting to help cannot be sensibly made given their lack of interest in the other thefts and bad events in the system. I honestly can't fault them for this behavior, but I have to point out how dangerous this act is for sentinel that is the Ethereum protocol.
Stan Larimer had the foresight to imagine events like this occurring, which is why he wrote his article. The ethereum community needs to embrace this tragedy and accept it as a failure we can learn from. We need a DAO, but not one to store money to make some investors rich. We need one to help us make these kinds of hard decisions in a responsible way.
Ethereum is the first platform in human history that can transcend this predictable cycle of betrayal of integrity for person preservation and emerge into something far better. It won't be nice. It won't be kind. But It will be fair. That ultimately is why I signed up for this wild space. To build something beyond our nature, yet always accepting- sometimes painfully so- it won't always work out for me.