Blockchains, DeFi, DAO, and Web 3.0 in general, all carry the message of decentralization, and particularly of decentralizing financial systems. Decentralization means, for the most part, eliminating the trusted authorities that are involved in various types of transactions. Those transactions could be agreements (to be facilitated by decentralized smart contracts) and the transfer of funds in general (to be facilitated by Bitcoins and alike). Centralization of financial services is considered evil, because the middlemen often have their own incentives, and even when they don’t, they often charge a lot for their essential role in the system. As we move into the decentralized era, we have smart contracts, which enforce themselves using machine code, without a trusted executor, and Bitcoins, which carry value and can be transferred between people without them having to trust any specific or state-owned service provider. Nice.
This post is neither for nor against decentralization. As I see it, nothing can be said against what is essentially an option. A decentralized system is considered as such because it does not require a centralized authority, not because it does not allow one to exist. If you find that you really miss a middleman, then you can always appoint one. If you want the state bank to manage your Bitcoins, then nothing would prevent that. You get an option, and having options is always good.
This post discusses how suitable the current decentralized financial systems are, considering the world they operate in. My take, as the title may disclose, is that while decentralized systems are an excellent idea and a worthy option, their current implementation suffers from shortcomings that we will just have to fix before they can become mainstream. There are many shortcomings, of course, and who am I to even enumerate them, so I will focus on one: the decentralized systems today assume too much perfection; it’s not that they don’t work well — it is that they don’t fail well.
The revival of decentralization
Economics started in decentralized mode. When people exchanged goods with each other, no third party was required. I had wool, you had bread, I also needed bread and you also needed wool, and so we engaged in a direct peer-to-peer transaction. We needed no one else to facilitate this transaction. That was long ago, however. Ever since money was introduced, along with the advantages that resulted from its being essentially virtual, we rely on trusted third parties in the shape of banks and governments. It’s not that we wanted centralization and trusted third parties, but with the technologies that we had it was just inevitable. The monetary system, in its traditional form, no longer lent itself to decentralization. Decentralization was only re-enabled recently by a few technological breakthroughs; breakthroughs which range from the well established asymmetric cryptography all the way to artificial scarcity, blockchains, etc.
Newer does not mean better
Today we can achieve decentralization of financial transactions in a way that was not feasible before. However, as uncommon as this belief of mine is: newer is not necessarily better, and being able to do something is just not a good enough reason in itself to actually do it. Decentralization is an option, and options are always good, yet we need to think if and where we wish to use this option, particularly with the systems we currently have. We can use this option of decentralization in certain places and ignore it in others. Alternatively, we can appreciate the new technology without using it immediately, while keep working on it until it matures.
Before moving on, I must mention that in this particular post I intently ignore the question of whether the new technologies fulfill on their promise of decentralization. There are strong claims that decentralization is not even achieved by all that new tech anyway, for different reasons, such as the reliance on the code source and the occasional reliance on a handful of parties that carry out most computation. Let us leave it at that, and for this essay assume that DeFi, blockchains, etc., do provide for the complete decentralization we want so much.
I am currently of the opinion that decentralizing finance has some compelling promises, and is a direction to be seriously looked at, at least for some financial use-cases. However, the technology we have today is insufficiently suitable for most of them. It is unsuitable not due to technical imperfections, but more due to the perfection it requires from itself and from its surroundings, as we shall see in a minute.
The structure of centralized and decentralized systems
If centralized and decentralized systems seem to have nothing in common, it’s only because we fail to employ the right level of abstraction when looking at them both. Looking at the big picture of financial services shows that there are some commonalities between the two.
In both types of systems there is some logic that dictates how transactions are carried out, and in both types of systems this logic is implemented using certain mechanisms. By the traditional centralized approach, there are banks that facilitate transactions by maintaining ledgers and following procedures for checks and balances, and there are governments that back the banks and offer their own enforcement systems, in the shape of a legal system, jails, and whatever else is needed to support the system. There are also credit card networks and issuers, ATM owners, and so on. At the other side, by the decentralized model there are algorithms that facilitate transactions following certain hard-coded rules, and those run in a distributed fashion across millions of computers owned by millions of people.
By the centralized model, some of the logic is encapsulated in laws and regulations, and the logic is executed by banks, governments, and other devices. By the decentralized model, all of the logic is encapsulated in computer code and this logic is executed by connected computers that are made to not have to trust each other or any particular computer, hence the decentralization. When it comes to enforcement, the centralized approach has trusted parties, such as banks and governments, to watch the system, as well as technology (such as ATM PINs, two-factor authentication for bank websites, and software for detecting fraud and credit card abuse). The decentralized approach boasts not requiring trusted parties, but relying on enforcement which is part of the design and implementation of smart contracts running on decentralized computers.
Promoters of decentralized finance claim that their enforcement system is more reliable than the traditional one. It seems to have less moving parts in it, and it avoids reliance on third parties that are both expensive and not guaranteed to operate in the best interest of the user. They obviously have a strong point here, but is it enough?
Complex systems occasionally fail. They fail by their design and they fail by their implementation. The financial system is no different. When you look at money lost due to fraud, some of it is lost because the rules of the system are not always perfect. Loopholes in anti-laundering mechanisms are found, as well as loopholes for tax evasion. Even simpler fraud is often carried out in a way that is not strictly illegal by the financial system alone (think of convincing a disadvantaged person to authorize a money transfer to you.) When it comes to implementation, nothing is entirely proof either. Credit card safety measures are bypassed, banking passwords are stolen, phones are cloned (to steal one-time passwords sent via SMS), fake ATM cards are created with mules getting out cash and other goods with them, bank sites are duplicated in phishing campaigns, cash is counterfeited, and the list is as long as human history.
No complex system can do without failure-safety. In a modern passenger jet, all critical systems are doubled and tripled, just in case, critical systems are connected to multiple power lines and can be controlled manually if the automated controller fails. The same applies to financial systems. It includes checks and balances, dual signatures, audits, and numerous controls that protect against failures in the implementation of enforcement mechanisms. Occasional flaws in the design itself are also addressed, over centuries, by a complex legal system that spans different disciplines. In addition to all those controls that protect the traditional system from both design and implementation failures, the traditional centralized system has one key ingredient in its fail-safety arsenal &mdash it’s incompleteness.
Imperfection as a feature
The traditional financial system is made of components which are glued together in a way that is purposely not waterproof. There are cracks in the system which allow for circuit breakers to be deployed, and restoration to be carried out, if any of the components leading to each of the cracks fails. There are systems that prevent credit card fraud, but if a fraudulent transaction is discovered nonetheless, then there is a way to stop it, and often also to recover the funds. If a fraudster convinces an elderly woman to send him her social security money, and he is caught after the fact, then there is a system to make him pay both his debt to her, as well as debt he may owe to society, just to reduce the likelihood of him feeling like doing it again.
The ability to intervene with the execution of the centralized financial system is not a bug but a feature — a feature that is designed to cope with the imperfection of its various components. Enforcement in centralized systems is done at multiple layers, using a net of imperfect independent systems that check and balance each other, with each component compensating for the imperfection of the others and of the system as a whole. If a bank clerk sees a suspicious transaction, she can prevent it from being cleared until additional verification is done, and if she misuses her authority, then there is a legal system to kick in.
The trusted third parties have a role that is beyond just costing money and introducing often-undesirable middlemen; they are the elastic glue that connects independent components as part of the system’s fail-safety. Decentralized systems can also deploy a similar structure, but most of the current ones are still not mature enough to do so properly. We are still at the point where decentralization costs us in all elasticity.
Financial systems that are designed for perfection
Most current decentralized systems, at least by their theoretical model, have no controller other than the program code which hopefully represents their hopefully-flawless logic. Enforcement is implemented by logic that is (allegedly) complete, as opposed to the enforcement logic of centralized systems, which is made of multiple layers which are assumed to be imperfect by-design.
There are multiple rather risky assumptions that have to be made for this to work properly. For example, we must assume that:
- our intent is perfectly represented by the logic,
- the logic is perfectly implemented by the smart contract (and other) code,
- the compute model is entirely robust and proof when implementing the code,
- all other elements of compute involved, such as people’s credentials, key storage, wallet software and all other client-side components are entirely secure and reliable, and finally, that
- the people themselves never make ingenious mistakes that the designers did not anticipate, such as mistakes of not reading prompts properly, of losing their passwords, or of making any one of the many mistakes people have been known to make.
Note the repeated requirement for perfection. Perfection is assumed, because the decentralized model is so waterproof that there is very little recourse if anything does go wrong. The system may be perfect in theory, but it also requires a perfect world; a world which is great indeed, but which is not ours.
In reality, all of the above conditions failed at times, leading to billions of lost funds, and let’s remember that crypto currency is nowhere close to mainstream yet. Decentralized finance is still fairly uncommon, and yet this did not prevent it from losing over $700 million to hackers this month alone (which is not even over yet). Last year, $4 billion were stolen in crypto currencies. I don’t mean to sound judgmental, but given the limited deployment of DeFi and crypto currency to date, I cannot help but feel slightly concerned. Consider, in comparison, the mighty Lazarus Heist, probably the largest attempted bank robbery, in early 2016, which targeted “only” $1 billion. Interestingly, the amount eventually lost was less than one tenth of that, due to interventions posed, also by humans, along the way.
Let me summarize:
- Decentralizing finances is a good cause. Middlemen do cost a lot, and do potentially harm stakeholders by introducing their own interests.
- In any event, decentralization shall be seen as merely removing a requirement (the requirement for trusted third parties), so all else being equal, decentralized systems can be seen as adding options that can be used in selected use-cases and ignored in others.
- Emerging technologies are promising, and can be used as building blocks for decentralized financial systems.
- Notwithstanding, those technologies today assume too perfect of design and implementation, as well as too perfect human behavior, and consequently offer insufficient fail-safety.
What shall we do, then? I recommend that we do the following:
- Appreciate that decentralization of financial services is a worthy option to pursue.
- Acknowledge that we have useful technological building blocks towards providing the decentralization feature.
- Resist the geeky temptation to define the financial systems of the future just so they match the technologies we have now. Instead, start with the problem we want to solve and with our requirements from the new system (rather than with the solution we want to use), and then come up with a sustainable approach. Specifically, we shall find a way to introduce a model of decentralization-friendly elasticity that allows for better fail-safety.