2016年11月 11日

In 2015, I wrote a blog post about how I thought that Bitcoin was similar in many ways to the Internet. The metaphor that I used was that Bitcoin was like email - the first killer app - and that the Bitcoin Blockchain was like The Internet - the infrastructure that was deployed to support it but that could be used for so many other things. I suggested that The Blockchain was to finance and law what the Internet was to media and advertising.

I still believe it is true, but the industry is out over its skis. Over a billion dollars have been invested in Bitcoin and Fintech startups, tracking and exceeding investment in Internet investments in 1996. Looking at many of the businesses, they look like startups during that period, but instead of pets.com, we have blockchain for X. I don't think today's blockchain is the Internet in 1996 - it's probably more like the Internet in 1990 or the late 80's - we haven't agreed on the IP protocol and there is no Cisco or PSINet. Many of the application layer companies are building on an infrastructure that isn't ready from a stability or a scalability perspective and they are either bad idea or good idea too early. Also, very few people actually understand the necessary combination of cryptography, security, finance and computer science to design these systems. Those that do are part of a very small community and there are not enough to go around to support the $1bn castle we are building on this immature infrastructure. Lastly, unlike content on the Internet, the assets that the blockchain will be moving around and the irreversibility of many of the elements do not lend the blockchain to the same level agile software development - throw stuff out and see what sticks - that we can do for web apps and services.

There are startups and academics working on these basic layers, but I wish there were more. I have a feeling that we might be in a bit of a bubble and that bubble might pop or have a correction, but in the long run, hopefully we'll figure out the infrastructure and will be able to build something decentralized and open. Maybe a bubble pop will get rid of some of the noise from the system and let us focus like the first dot-com bust did for the Internet. On the other hand, we could end up with a crappy architecture and a bunch of fintech apps that don't really do much more than make existing things more efficient. We are at an important moment where decisions will be made about whether everyone will trust a truly decentralized system and where irresponsible deployments could scare people away. I think that as a community we need to increase our collaboration and diligently eliminate bugs and bad designs without slowing down innovation and research.

Instead of building apps, we need to be building the infrastructure. It's unclear whether we will end up with some version of Bitcoin becoming "The Internet" or whether some other project like Ethereum becomes the single standard. It's also possible that we end up with a variety of different systems that somehow interoperate. The worst case would be that we focus so much on the applications that we ignore the infrastructure, miss out on the opportunity to build a truly decentralized system, and end up with a system that resembles mobile Internet instead of wired Internet - one controlled by monopolies that charge you by the megabyte and have impossibly expensive roaming fees versus the flat fee and reasonable cost of wired Internet in most places.

There are many pieces to the infrastructure that need to be designed and tested. There are many ideas for different consensus protocols - the way in which a particular blockchain makes their public ledger tamper proof and secure. Then there are arguments about how much scriptability should be built into the blockchain itself versus on a layer above it - there are good arguments on either side of the argument. There is also the issue of privacy and anonymity versus identity and regulatory controls.

It looks like the Bitcoin Core developer team is making headway on Segregated Witness which should address many concerns including some of the scaling issues that people have had. On the other hand, it looks like Ethereum which has less history but a powerful and easier to use scripting / programing system is getting a lot of traction and interest from people trying to design new uses for the blockchain. Other projects like Hyperledger are designing their own blockchain systems as well as code that is blockchain agnostic.

The Internet works because we have clear layers of open standards. TCP/IP, for instance, won over ATM - a competing standard in some ways - because it turned out that the end-to-end principle where the core of the network was super-simple and "dumb" allowed the edges of the network to be very innovative. It took awhile for the battle between the standards to play out to the point where TCP/IP was the clear winner. A lot of investment in ATM driven technology ended up being wasted. The problem with the blockchain is that we don't even know where the layers should be and how we will manage the process of agreeing on the standards.

The (Ethereum) Decentralized Autonomous Organization project or "The DAO" is one of the more concerning projects I see right now.* The idea is to create "entities" that are written in code on Ethereum. These entities can sell units similar to shares in a company and invest and spend the money and operate much like a fund or a corporation. Investors would look at the code and determine whether they thought the entity made sense and they would buy tokens hoping for a return. This sounds like something from a science fiction novel and we all dreamed about these sorts of things when, as cypherpunks in the early 90's, we dared to dream on mailing lists and hacker meetups. The problem is, The DAO has attracted over $150M in investors and is "real," but is built on top of Ethereum which hasn't been tested as much as Bitcoin and is still working out its consensus protocol even considering a completely new consensus protocol for their next version.

It appears that The DAO hasn't been fully described legally and may expose its investors to liabilities as partners in a partnership. Unlike contracts written by lawyers in English, if you screw up the code of a DAO, it's unclear how you could change it easily. Courts can deal with mistakes in contract language by trying to determine the intent, but in code enforced by distributed consensus rules, there is no such mechanism. Also, code can be attacked by malicious code and there is a risk that a bug could create vulnerabilities. Recently, Dino Mark, Vlad Zamfir, and Emin Gün Sirer - key developers and researchers - published "A Call for a Temporary Moratorium on The DAO" describing vulnerabilities in The DAO. I fear that The DAO also raises the red flags for a variety of regulators that we probably don't want at the table right now. The DAO could be the Mt. Gox for Ethereum - a project whose failure may cause many people to lose their money and cause the public and regulators to try to slam the brakes on blockchain development.

Regardless of whether I rain on the parade, I'm sure that startups and investors in this space will continue to barrel forward, but I believe that as many of us as possible should focus on the infrastructure and the opportunities at the lowest layers of this stack we are trying to build. I think that getting the consensus protocol right, trying to figure out how to keep things decentralized, how to deal with the privacy issues without causing over-regulation, how we might completely reinvent the nature of money and accounting - these are the things that are exciting and important to me.

I believe there are some exciting areas for businesses to begin working and exploring practical applications - securitization of things that currently have a market failure such as solar panels in developing countries, or applications where there are standardized systems because of the lack of trust creates a very inefficient market such as trade finance.

Central banks and governments have begun to exploring innovations as well. The Singapore government is considering issuing government bonds on a blockchain. Some papers have imagined central banks taking deposits and issuing digital cash directly to individuals. Some regulators have begun to plan sandboxes to allow people to innovate and test ideas in regulatory safety zones. It is ironically possible that some of the more interesting innovations may come from experiments by governments despite the initial design of Bitcoin having been to avoid governments. Having said that, it's quite likely that governments will be more likely to hinder rather than help the development of a robust decentralized architecture.