Thoughts on blockchain

Blockchain & Crypto. I have been reading about it, buying, selling, and mining it for a few years. Lately my interest in this technology has waned and I’d like to share some of my thoughts about why.

Common Critiques:

While I had heard the popular criticisms like “proof of work wastes energy” and “Loosing a private key looses the wallet” I don’t actually think these are problems with the platform itself. The idea of “waste” is completely subjective. Bitcoin may use a lot of energy but so do the 90% of Americans that choose to drive to work. In most cases they could choose to live near their workplace and walk. We have to allow for the fact that we all expend energy satisfying our preferences. The same logic that criticizes energy use in bitcoin can be used against any other energy consuming pursuit. Entertainment, Scientific research, and military spending are all “waste” depending on your perspective.

The issue of loosing your key and loosing your crypto is also, in my opinion, moot in-terms of the feasibility of crypto and blockchain. The notion of permanent loss is painful but also a core aspect of reality and human existence. For centuries ships have been loaded up with tremendously valuable cargo and lost at sea never to be found again. This didn’t stop people from sending more. The term new term “stranded assets” describes this situation well. A holding company with legal rights to oil fields and coal mines may be worth something today, but in a future where these sources of energy are heavily taxed or disfavored would render these assets worthless, in the same way that loosing a private key would make your wallet worthless. This loss of access is simply another risk to be managed and one way or another it will be.

The value of blockchain:

I’ve felt this way about blockchain and crypto for a while and thats why I was initially quite enthusiastic about the potential. In addition to thinking most criticisms were weak the value in creating a “trust-less” (or completely trustworthy) system seemed to make almost any difficulty in the crypto space worth it. In my view a world in which every person can 100% trust the word of every other person is essentially utopia. Interest rates would be near zero in perpetuity, the economy would continuously grow and no one would ever want for anything. On the surface we can recognize that this is impossible. There’s no way to guarantee that crops will grow in a given year, or that a building will never catch fire and therefore we cannot guarantee that all loans are paid off or that all obligations will be be fulfilled. However even getting slightly closer to this asymptotic state would be immensely valuable for society as a whole. Thats essentially the promise of crypto and blockchain. A world were we don’t need lawyers, bankers, politicians or laws to act as intermediates in our interpersonal interactions would save tremendous amounts of time, money and energy. Particularly for those who can least afford those services today.

My Concerns:

Blockchain as a technology of improving trust in society was what I believed in for some time but lately I’m no longer sure. The two issues I see are this:  1) As the blockchain expands it re-centralizes, and 2) Any contracting must contend with the Oracle problem.

During the exponential growth in bitcoin value that occurred in late 2017 the platform, ironically, became less and less functional. Sending bitcoin from one wallet to another began to require hours of waiting or paying increasingly high fees to increase the priority of your transaction. Famously a bitcoin conference stoped accepting the crypto currency because it became too expensive to process the transactions. The reason for this is essentially block size. Bitcoin can be understood as a linked list data structure that contains a certain amount of transaction information in each link. The amount of transactions per block was, for a long time, limited to 1MB. In addition to this these blocks/links could only be created once every 10 mins or so. In 2017 the number of transactions exceeded 1MB in a given 10 min timeframe. This lead to a backlog and growing fees to ensure your transaction ended up on the next block, or at least higher priority on the queue. There have been a number of solutions proposed for this and some implemented. This might mean increasing the block size above 1MB, as Bitcoin Cash did. It might mean increasing the rate of new block creation. However the problem with both of these approaches is that they undermine the source of trust in the bitcoin network.

Trust in bitcoin primarily comes from its distributed nature. If millions of people and devices have access to the same bitcoin database no one person can alter it. Thats why in order to mine bitcoin you must maintain a copy of the entire history of bitcoin. However increasing the number of transactions in any way also increases the rate at which the file size of this history grows. Currently the file is around 173 gigabytes and growing exponentially. There is a scalability problem here. Bitcoin, despite its name recognition is still very very niche. If bitcoin were to grow so would the file and eventually storing the blockchain that bitcoin is based on would become untenable for the average user. As this blockchain continues to grow it will be concentrated in the hands of the wealthy and they will eventually be a small enough group that they could in theory collude to modify the blockchain and completely undermine the trust that currently exists. This brings me to “the oracle problem”.

Perhaps the blockchain never outgrows the average consumers ability to store it. There is still another problem that undercuts the “trustless” aspect of blockchain technologies. One of the key vehicles for eliminating agents of trust (lawyers, bankers, politicians etc.) is smart contracts. These are essentially programs that can be run in the blockchain. If two wallet holder agree to transfer a specific amount of crypto on a specific date, that agreement can be coded into the blockchain and be made just as immutable as the currency in the wallets themselves. Its not hard to imagine how this could be applied to all sorts of contracts in day to day life that would make such agreements clearer and easier to enforce. If you sell services freelance theres always a risk that you wont get paid and that a lawsuit to correct this won’t be worth the time and expense, but smart contracts seem to provide a solution. However in order to apply smart contracts to a situation like this you encounter the oracle problem. This is summed up nicely in a blog post by Jimmy Song:

There is an intractable problem in linking a digital to a physical asset whether it be fruit, cars or houses at least in a decentralized context. Physical assets are regulated by the jurisdiction you happen to be in and this means they are in a sense trusting something in addition to the smart contract you’ve created. This means that possession in a smart contract doesn’t necessarily mean possession in the real world and suffers from the same trust problem as normal contracts. A smart contract that trusts a third party removes the killer feature of trustlessness.

Basically you cant write a contract that depends on any “real world” outcome without trusting a third person to verify it. This essentially returns smart contract to the realm of traditional every day boring contracts. Maybe you can avoid some lawyer fees and you don’t need a courtroom but after paying a smart-contract writer to make the contract, and finding a neutral third party that you trust to verify the exchange of goods or services you’ve essentially re-created our current legal system with different actors. That doesn’t mean smart contracts are worthless, but it does mean that they cant simply replace our existing frameworks.

Why I think problems like these are unsolvable.

The blockchain size problem can probably be solved, and so can the oracle problem. However I think they point to a broader more insidious issue which is that  “trustlessness” is impossible. There seems to be a notion in the blockchain community and elsewhere in society that we can build systems that extract social value (access to markets, a common currency, private property, language, entertainment etc.) without being part of the group that maintains these things. What I now realize is that trying to use blockchain to move us closer to a trustless utopia is a misplaced endeavor. There are certainly great uses for this technology but I think the effort to build trust without actually trusting anyone is impossible. Its the technological equivalent of having your cake and eating it too. I would argue that for blockchain to truly reach its full potential the goal of complete “trustlessness” needs to be abandoned in favor of aligned interests, shared values and common cause. This is a much messier goal, that overlaps with some of our most contentious and problematic institutions but I think viewing blockchain as tool rather than a vehicle to utopia is how we will find meaningful solutions rather than misguided moonshots.

Leave a Reply

Your email address will not be published. Required fields are marked *