Are we there yet? Why not?

If you aren’t familiar with blockchains, you might ask why myself and others would propose that new social organizations be built on blockchains (like Bitcoin or Ethereum), and you might be a bit sick of that word in general.

I’m going to explain why people should care about the social implications of blockchains, regardless of what your political beliefs are, but especially if your vision of a better society requires large groups of people cooperating together efficiently.

Then, I’m going to talk about a few of the ways blockchains are awful, and why I still have hope for them!

The Problem with Traditional Computers

I hope we can agree that modern governance and society basically requires computers to behave efficiently. If you don’t agree with that, I should write another post outlining that, I guess. With computers, we can route packages around the world, pay workers instantly, and potentially optimize every aspect of social organization. We could potentially simulate the entire planet, every person’s needs, and generate a sustainable infrastructure for caring for these people. So why can’t we?

Today, Nobody has a Credible View of the World

Each company has a silo of its own records, each system administrator can freely change their records, and no one, not even the NSA with their total information awareness can definitely distinguish the underlying reality from the bits they are reading.

This is one reason why every political angle seems to be yelling “Fake News!” at the other. Evaluating information has become almost perfectly impossible for the average person.

Computers are Opaque and Potentially Corrupt

Even if we conceived of a perfect form of mass coordination, when voting machines are easily hacked, we may never even know if our perfect policies were being enacted. Strong social coordination deserves strong transparency.

Blockchains introduce a pattern for combining two kinds of functions from cryptography that allow us to create transparent and verifiable “chains” of events:

Public Key Encryption allows any information claim to be verifiably associated with the holder of a secret key.

Hash Functions allow verification of the authenticity of data, even when provided by someone who you do not trust. When arranged in a blockchain, hashes can also establish a verifiable order of events.

Combined, we can create “consensus protocols”: Ways for groups of people running computers to coordinate and agree on… anything. The first proof of this concept was Bitcoin, proving that a currency (something with the highest security requirements) could be created with no central point of control, and a whole global public network of computers could come to agree about basic facts, in that case, account balances.

However, currency was just the first blockchain application. The possibilities are enormous, with applications in basically any realm where:

Proof of intention is important.

Multiple parties are sharing the protocol who can’t trust all of the other parties.

Parties may be victims of censorship attacks from other parties.

The information is valuable enough that keeping it trustworthy is worth having many computers cross-check each other’s work.

The reason a blockchain is a good tool for new social organizations is because we should not trust our social organization to any one person, or their computer, and with consensus protocols, we take away any one person’s ability to manipulate the shared social protocol, making the very enforcement of that protocol publicly verifiable, even when parts can be secret!

In this video, Dr. Patrick McCorry demonstrates how a blockchain can be used to create “a perfect voting system”, with both total privacy, and total public verifiability.

Breaking it Down, Simpler

When you have a program running on a computer, usually that means it is being run on one computer, and when you visit a website, you’re really visiting someone else’s computer or network of computers, and asking them to tell you about the world. When you ask them, you are trusting them to show you everything the way you’d expect, and this gives them a lot of power.

A site like Facebook can choose which posts you see and which you don’t see, and sell your attention as advertising. The Pokemon servers decide which pocket-monsters you own and which you don’t, and when you enter your credit card or social security number on a new website, you’d better trust them a lot, or you might find your identity stolen.

Blockchains are a protocol for people to build computer systems that need to agree on something, and this thing can be as simple as a light switch, or as complicated as a government. The difference is that that instead of trusting any one person’s computer to run the program and tell you the result, you can run the program locally, and there is a whole economy of computers called “miners” or “validators” cross checking each other constantly, to make sure that we all stay on the same page, who will lose money or energy if they try to be dishonest.

Vlad Zamfir’s work on the Casper CBC Consensus Protocol is one of my favorites in development. It does not require energy waste like Bitcoin mining, but ensures dishonest validators lose funds, so selfish players are encouraged to play, slightly profitably, but only honestly.

You can use blockchains (and consensus algorithms) to agree on just about anything, but there are some limitations.

Blockchain Limitations

User Account Security and Usage

To use a blockchain, the users need to be able to hold their account safely themselves. It is a piece of secret information, sometimes represented as a series of random words, or maybe just a secret key somewhere on the user’s computer.

The users also need access to at least one safe computer that is able to hold this secret and perform cryptographic algorithms with it, which is how the account is used (sometimes called signing transactions).

While normal computers and phones can be used to manage accounts, if a person wants to be able to use a new device or a public computer in a safe way, they still need to hold some minimal transaction signer, so they do not disclose their private keys to any public computer.

The current smallest computers that meet these criteria are called hardware wallets, such as Ledger and Trezor products.

The current easiest to use desktop client that enables this kind of application is MetaMask, which is why I am building it. MetaMask allows developers to quickly try out new web applications that are backed by blockchains, and has been recently accompanied by a variety of mobile equivalents. (I’m not as quick to endorse signers that I do not develop, since this is a personal trust decision that you should make for yourself).

Blockchain Scaling

There are a variety of technical challenges that make blockchains slow and clunky for real world applications today. You can think of a modern blockchain like one of the early computers, like an ATARI in the 80s. It has very limited throughput, and when that throughput gets filled up, and many people want to use the block chain at the same time, the transactions that get through are the ones with the highest transaction fee.



Getting transactions processed is actually a sort of auction. This is one of the basic roles of the first cryptocurrencies, like Bitcoin and Ether: The currency is the only way to pay for transaction fees on the network.

Once the blockchain is full, and the transactions are too expensive for you to afford, today you just have to wait, but there are a variety of strategies that will allow blockchains to “scale up” their capacities. I don’t want to bore you with exact details, but some of their names are State Channels, Sharding, Relays, Bridges, and Meta-Chains.

As these new protocols become built on blockchains, and easier for developers to build with, we will see blockchains that can effectively allow users to participate much more freely, and with lower transaction fees.

Blockchain Protocol Security

Since blockchains use a special currency just to pay for transactions, the way that currency is distributed is of the utmost importance.

On Bitcoin and Ethereum, which use a “proof of work” consensus protocol, the currency is minted in the hands of whoever runs computers to secure the network. This was an important advancement in computing history, because it meant for the first time there was a distributed system that “solved the double spend problem”, or ensures everything happens in a fair order.

The network could be clogged or attacked at any time by anyone who has a disproportionate share, squeezing people off the network, or even causing “consensus failures”, where groups of users can become misled about the state of the world for periods of time, which can be costly!

At the moment, I don’t know of any protocol team that is more focused on building a cartel-resistant blockchain protocol than the Casper team at the Ethereum Foundation, which is one reason I’m currently happy to be building on the Ethereum blockchain.

Power Usage

It is popular today to criticize blockchains for their power consumption, and while proof of work is revolutionary, the Casper protocol referenced above also addresses wasteful power consumption by replacing the mining process with a financial-deposit based “Proof of Stake” system, which eliminates the most wasteful part of validating the blockchain, the mining.

Also, other consensus protocols are constantly being invented, and they address power consumption in a variety of ways. Some use new cryptography to divide the mining power, like Dfinity, and some are trying to make the mining itself useful, like FileCoin.

Here is Peter Van Valkenburgh doing a great job explaining blockchain tokens in Congress.

The good news is that we currently have a high-stakes world of consensus protocol evolution. A new consensus protocol blockchain can raise enormous amounts of research funding in short periods of time (EOS, for example, raised nearly a billion dollars to kick-start their version of Proof of Stake, which there are some reasonable concerns about). With this kind of research funding, we are basically in a Cambrian explosion of computerized consensus and cryptography, so it really seems to just be a matter of time before a fantastic mining-free blockchain becomes publicly useful.

Looking out for The Ultimate Blockchain

The average person who asks me about new blockchains is asking for investment advice. I do not give out investment recommendations, beyond:

Don’t invest more than you’re willing to lose.

Buy things you believe in.

Help those things grow.

I think looking at blockchains as a get-rich-quick opportunity misses the point: Blockchains have been gaining value because more and more people are realizing that a successful mainstream blockchain may obliterate unfair, “rent seeking”, monopolistic economies, and so an unfair share of the last cryptocurrency could represent the last unfair financial advantage capital may ever see.

That advantage could be dangerous to the future of that blockchain. If everyone needs that currency to get their voice in the system, that currency becomes the power of speech itself, so I do not recommend anyone put their full support behind a blockchain that is not affordable to actually use, because it will clearly not be delivering the full promise of the technology.

For this reason, I believe that The Ultimate Blockchain that becomes mainstream, if one should ever exist in singular, will be one where people can join affordably but securely, and where the currency is divided as fairly and evenly as possible amongst new members, because if people are not happy with the terms of their participation, they can choose a different blockchain to build their systems on.

If the root blockchain is expensive, there should always be smaller chains with adequate security that users can affordably join to participate in.

These smaller chains may represent dimensions of social coordination, like local regions, community groups, or specific industries who require secure coordination with each other.

If a blockchain is really successful, you’ll know because you aren’t getting ripped off when you use it. The fees should be fair, and by using the blockchain, you should be getting access to opportunities like you can not get anywhere else, because for the first time on the internet, you’ll be interacting with other people directly over a computer program that no one can unfairly manipulate, and does just what it looks like it does. The only deal that should be able to compete is the kind of deal you get with people you interact with directly.