From decentralized governance to composable, arbitrarily programmable governance.
Decentralized governance has been dreamed of and experimented with for a long time. From self-managed market socialism in Yugoslavia to revolutionary anarchists in Spain to the IETF’s use of rough consensus, plenty of people have sought new and better ways to make bottom-up decisions.
But doing so at scale has never been easy. It is fiendishly difficult to get lots of people to make decisions and work together both non-hierarchically and effectively. Because blockchain technology enables decentralized consensus at scale, the implications for human decision-making and coordination are immensely promising; if we can use it to scale decentralized governance, this could be a paradigm shift in how most of us live and work together.
It’s not decentralization itself that is unlocking new possibilities for governance and other areas – it’s decentralized computation. Let’s take decentralization as a constraint here; in certain contexts, we want to avoid having centralized power and few points of failure. Computation is that which makes it possible to do what we want while respecting the constraint of decentralization.
Smart contracts on Turing-Complete chains contain the promise of composable, arbitrarily programmable governance – what I call Turing-Complete governance.
Arbitrary programmability comes from the fact that blockchains like Ethereum are Turing-Complete computers, which can run algorithms to perform any well-defined computational tasks. If you create smart contracts to help organize people to do something together as a decentralized autonomous organization (DAO), you can specify any series of steps to determine how to do things like grant membership, allocate decision-making power, allocate created value, or aggregate member input to produce an output.
Composability comes from the fact that Ethereum is also a world computer with interoperable programs (for more on why this is important, scroll to the appendix). This allows anyone to build upon existing contracts easily and reliably, to create something new and in turn, to share their creation with the world.
Turing-Complete governance entails an arbitrarily vast and interconnected design space in which we can find better ways of encoding our organizational wants and needs. Hence, DAOs are routes to experiments in human organization and politics; a way for organizations to quickly experiment with decision-making, ownership and coordination structures that work for them.
The procedures we have in society for coordinating people to make a decision together are limited by our tools, and by what we can understand, verify and calculate. While it is undesirable (and impossible) to attempt to fully specify the soup of human desires and values in code, there are things that computers do better than humans do—even simple things—and we would do well to enable a symbiotic partnership between human and machine.
Today, collective action problems abound. Misaligned incentives between the individual and the group prevent us from making progress on anything from pollution, to pandemics, to building alliances and working towards the same mission.
Humanity has found a few ways to coordinate with each other to solve these issues. One classic coordination mechanism that humanity has found is the market. It’s arguably the most efficient one that we’ve made work somewhat-well at the scale and complexity of contemporary human society. (Many caveats here.)
But markets don’t just appear naturally – they take lots of work. They’re also often simply unsuitable for coordination, particularly when people need to make conscious decisions together rather than simply participating in transactions. In many domains, organizations work better than markets. In those cases, coordination usually occurs via the imposition of bureaucratic and hierarchical layers; the bigger the organization, the more layers. The role of managers, for example, is a coordination mechanism to ensure people are broadly aligned and doing what they’re supposed to.
Blockchain-enforced execution of agreed contracts using consensus and transparency can, in numerous cases, reduce the need for the bureaucratic and hierarchical layers—the slow processes of legal and social recourse—that usually exist to coordinate humans to make decisions together.
But properties like decentralization and guaranteed execution are not enough to combat coordination problems. Decentralize what? Guaranteed execution of what? Despite our compelling goals and powerful processing tools, our knowledge of what organizational structures we want to create and the corresponding tooling to enact it is quite rudimentary. We should use our tools, in particular the composability and programmability of Turing-Complete blockchains, to deliberately experiment with and enact better methods of human organizing. If we can build up that empirical knowledge, we could address humanity’s biggest Achilles heel.
Since Ethereum’s inception, the concept of on-chain DAOs has captured all sorts of interest. DAOs are often compared to internet-native businesses, or—the code-centric view—mostly-autonomous agents that require some degree of human support. The term is rather fuzzy, but whatever you believe a DAO is, it always involves multiple humans, whose association and activities are determined to some extent by smart contract code.
While there are all sorts of reasons for creating a DAO—e.g. they can be purely social (e.g. gating access to an exclusive community based on a token), or necessitated based on a low-trust adversarial environment—to view DAOs as defined decision-making communities opens up their conceptual potential as powerful instruments for enabling better governance.
Governance is defined by Wikipedia as “the decision-making among the actors involved in a collective problem that leads to the creation, reinforcement, or reproduction of social norms and institutions… the political processes that exist in and between formal institutions.” Let’s break this down into three components. Governance inherently involves a community coordinating to make decisions of consequence, and is formalized or defined in some way - it can’t just be a group of friends deciding where to go for drinks.
Viewing DAOs as decision-making communities is equivalent to seeing them as vehicles for governance. This view naturally brings up the questions of, what decisions are made, who makes them, and how are they made? Quickly, one will realize that almost all somewhat-formalized human activities involve making and executing decisions, so the scope of governance varies widely. As such, the scope and implementation of a DAO can and should also vary widely.
On the more simple side, you can have a DAO be a multi-signature wallet like PleasrDAO, where a certain proportion of signatures are required to take actions. More complex implementations generally involve a series of smart contracts that specify how ownership is allocated, what governance decisions are made, and what the decision-making process looks like—such as MakerDAO, which makes use of a complex system of interrelated smart contracts for governance.
At the moment, the usual structure of a DAO is an organization whose on-chain protocol involves using a token that allows the holder to vote on governance decisions. Usually, 1 token = 1 vote. This token-centric method of governance bundles ownership and governance rights in that one asset, in a bid to align power and responsibility.
The pure form of token-gated governance involves some downsides. Token ownership has the advantage of being an easy-to-understand model which allows for permissionless ownership by enabling community inclusion and decision-making power to be traded. Tokens can also, as has been pointed out, covertly sneak cooperative principles into “highly financialized spaces” by awarding governance power automatically to holders.
However, token ownership also keeps out those who may be affected but don’t have the capital for buying tokens—a paradigm that becomes increasingly unjust as decisions made become increasingly consequential. It also creates opportunities for vote buying through unbundling economic interest and governance power, where those who are not personally invested in the community can borrow governance power through financial markets in these tokens. There’s also the question of those who are uninterested in governance power, and purely want to make money through the community, which can end up corrupting and over-financializing the spirit of the community, or even result in a hostile takeover. Auctioning off or loaning away voting power to those uninvested in quality governance, or want to steer governance towards selfish ends misaligned with the community, is generally a terrible idea.
The popularity of token governance is influenced by the current finance-first crypto culture. Decentralized finance (DeFi) is the most popular application of smart contracts, because it’s easy to do it fully on-chain – you simply move numbers around on the blockchain. The most financially valuable and visible ones are built around DeFi protocols; just take a look at this dashboard of the most valuable DAOs. Token-based structures meet DeFi needs by allowing scalable ownership in low-trust contexts in which financial motives play a key role, and community over-financialization is low on the list of concerns. And even in those canonical DeFi spaces, there are still many organizational kinks to iron out, e.g. a lack of truly participatory decision-making.
In general, governance power should be given to those who are truly invested in making good governance decisions and contributing to the community in the long term.
The financialization of decision-making communities often rubs up directly against values like egalitarianism, inclusiveness or justice, forcing undesirable tradeoffs. It also prevents progress on decision-making around things that cannot or should not be monetized, including public goods like water, the internet, roads and libraries, or basic rights like clean air and education. Creating crypto-enabled decision-making communities around any of these things will require us not to take current implementations as given and examine our assumptions, e.g. transforming how we view and use tokens as digital rather than financial objects.
There’s a wave of excitement about DAOs; new ones springing up are opportunities to experiment and play with decision-making structures at lower stakes with freedom, earnestness and intention, so that communities can find better, more values-aligned ways to make the higher-stakes decisions.
You moved house two months ago, and have been parking on a side street close to your workplace during the day. You’ve been using your crypto wallet to pay for parking, and because your wallet address has been interacting with the parking spots in this area multiple times for months, you were granted a non-transferable governance token by the local council DAO, to participate in local decision-making. This token stays in your wallet as long as you’re still regularly parking there. You can also obtain this token by using your wallet to pay for public transit, where your route begins or ends in the area. Those that pay business taxes in the area get slightly different tokens, too.
Before it was easy to distribute participation, it was just the business owners who got invites to these forums. Now, rather than paying lip-service to the idea that they value the opinions of all those who come through the area, the council can find a clean, easy way to enact this, without creating complicated registration forms and braving the hurdles of outreach and discoverability—by dropping non-transferable tokens to various addresses that have activity in the area.
You’re sent an invite link to the forum, and to semi-regular meetings. Twice a year you get automagically pinged with a ballot listing a number of decisions on topics including parking standards, busking rules, permits, bike lanes, revenue allocation, waste collection days, and unusual one-off choices like under what conditions we let film crews close a certain street temporarily for shooting a movie scene, and how locals should be compensated for the disruption. While voting records are protected with zero-knowledge proofs, decision outcomes and consensus statements are transparently recorded, so if you find a new construction site across the street, you know exactly why they’re there, and how long they’ll be blocking traffic and making noise for. You also get pinged with quarterly polls on things like community safety and whether there is enough bicycle parking in the area. In earlier years, overwhelming decision-making friction meant that these decisions were largely all made by the larger city council, which standardized guidelines around parking, rates and road maintenance, at a granularity too coarse to be effective.
In earlier years, DAOs were primarily means of decentralizing ownership, but achieving the decentralized decision-making to go alongside it was very difficult. There was too much noise in forums, people had too little time to build context on decisions, and so on. In practice, decisions tended to come from the top down, and DAOs found it hard to scale to accommodate diverse input. Now, innovations in community governance tooling and “organization legos” have made sorting and prioritizing proposals much more streamlined, and thus much less centralized. Modular, composable mechanisms for submitting and reviewing proposals have proliferated, such that the most important ones get the most attention. This large council DAO has, through experimentation, come to rely on a proposal prioritization algorithm, which enables members to have personalized proposal feeds that still allow data control and privacy.
You find the parking signage extremely confusing, and one day you submit a proposal to spend money to standardize and clean up unnecessary clutter and difficult-to-interpret signage. Turns out that there are plenty of interface designers living in the area, who have been recommended your proposal by the algorithm. One of them has been wanting to switch to urban design; they are able to tag on to the proposal, and are eventually contracted for a few months to redesign the public signage in the area. Would they have known about this opportunity to contribute if not for the fact that your participation in local affairs, as well as their ability to see relevant information, was made relatively frictionless, and yet with decentralized and privacy-preserving properties?
After a few months, some members want to start a local credit union, to help the community with better interest rates and fees. Because of interoperability, they’re able to immediately take the existing member list of the local council DAO (plus that of the local library DAO, and the community arts center DAO), and stitch together a preliminary reputational system based off the existing data contained in those DAOs, to bootstrap a credit system (through which financial privacy is protected using zkSNARKs). Interoperability allows them to avert the cold-start problem.
Jane Jacobs speaks of the importance of lively sidewalks to a city, where many people of all backgrounds mingle, keep a casual eye out for each other, and can meet naturally in public. Much of this, she insists, must be informal, to keep private life from being transgressed on by institutional structures. Interoperability and programmability means that we have an opportunity to stitch together human structures that look very different to past ones—informal, lively, casual yet strong.
Public infrastructure on the Internet should be like public infrastructure in the physical world: in the ideal case, freely accessible and used by many. We shouldn’t settle for an online landscape of gated silos, difficult-to-use UIs, and huge barriers to participation. Crypto doesn’t solve all these problems (in fact, it can feel like an abnormally difficult space to navigate), but properties like interoperability and decentralization can help us find ways of bringing together loosely-connected people. Cryptographic security can help people who have no prior reason of trusting each other, to come together to plant an initial seed of confidence, a seed which is now allowed an opportunity to grow and become real, non-digital trust. What can our powerful processing tools do for reshaping what a digital society looks like?
These are theoretically infinite possibilities in how you could configure your organization to address your needs. Here, I will break governance down into five configurable aspects:
How membership is granted
How power within the organization is allocated
How preferences are aggregated to produce decisions
How consensus is signalled
How created value is allocated
(Although, as I’ll get to later, there are design decisions and tradeoffs to be made here—in particular, we likely do not want to make all of these pieces highly algorithmically complex.)
One example of a complete DAO configuration is token based membership where 1 token = 1 vote, tying both membership (#1) and power (#2) to the number of tokens held in one’s wallet. A binary yes-no vote on a decision, with the majority of some quorum needed to pass the vote, serves to aggregate preferences (#3). Consensus is signalled through a UI that displays the vote tallies for each option (#4) and the value created is represented by the financial value of the governance token, which one hopes to increase (#5).
This is a pretty standard token-based governance model, but it is limited, as mentioned. But, as also (repeatedly) mentioned, Turing-Complete governance means that there are truly infinite possibilities.
For membership granting (#1), you can have people submit proposals that are endorsed by an existing member (e.g. MolochDAO does this). Or, a protocol can automatically grant membership to anyone who has interacted with it a certain number of times, determining who has a voice solely based on their history of participation. Airdrops work like this: protocols can automatically send governance tokens to early users, when a token is created for it. Airdrops are magical because few human organizations have ever been able to directly tie ownership to participation and early adoption so efficiently and cheaply. Before crypto, this would require extensive, deliberate personal information tracking and human outreach effort, far beyond simply sending tokens to a list of addresses. Imagine if we had airdrops for more decisions relevant to the off-chain world, like participating in local council (or being a regular at a community library, or listening to a radio station).
Power allocation within the organization (#2) can also be implemented in many ways. Instead of allocating executive power via voting for specific proposals, an organization can grant roles to different addresses which can execute different capabilities. Imagine fair, decentralized jury duty in the local council DAO, where every month different addresses are randomly chosen to participate in a jury of peers, responsible for executing difficult and involved decisions e.g. major disputes between members. They can also add transparent conditions, such as, the jury participant needs to have been part of the organization for at least 100 days. When you are called to jury duty, you can trust in some degree of fairness and lack of corruption guaranteed by the code, which for some, might make the difference between whether they participate or not.
Differential amounts of power could be allocated by varying how many votes a member has. Power could be tied to a proxy for correctness or knowledge, derived from e.g. how information- or citation-dense your posts generally are, how “predictive” your voting pattern is of organizational behavior, and so on. It could also be tied to reputation. The magic of interoperability is that you could earn a greater say via increasing some reputation metric within the community, or improving your reputation elsewhere on the chain. If you participate in a number of DAOs, someone could create e.g. a modified PageRank algorithm that determines your reputation score by incorporating all of your on-chain activity. (This also has Sybil-resistant properties, since it’s hard to create multiple accounts all with good reputation.)
Preference aggregation (#3) differs from power allocation in the sense that all members could be granted equal capabilities, but there are still many different ways one could aggregate many equals’ inputs to produce some decision. A quadratic voting, conviction voting or a futarchy algorithm can be used to make decisions. If you’re worried about the effects of doing something highly experimental and possibly community-damaging, you could program the smart contract to only implement this for a fixed trial period. You could also implement a voting system that chooses an outcome dependent on some external state: e.g. we vote to pass the decision for the DAO to donate $40k to a crisis hotline if our token value hits its all-time high in the next week. Everyone is thus transparently committed to the donation, making it easier to honour our commitments, and harder to renege on the promise out of laziness or sudden uncharitability.
One of the most interesting design decisions defining DAOs is the aggregation of member inputs to produce some output, whether for producing the final decision (#3) or for signalling consensus (#4). Usually, this involves vote aggregation: if the majority of members vote “Yes” on a proposal, the DAO code gathers up these votes and outputs a decision on whether the proposal will indeed be accepted or rejected. Imagine, however, a DAO that is tasked with recording and amending the canonical narrative of some subculture. It takes user proposals on sentences to change the on-chain story, and amends the story contract to evolve the story. Or, imagine a DAO that is an experiment in capturing people’s preferences in richer and more useful ways, which takes in people’s preferences as text input and amalgamates this to create a consensus document about what the group believes.
Polis, for example, is an existing example of a system for gathering, analyzing and visualizing what large, diverse groups of people think in their own words; something like this could be used in the DAO decision-making process. If we have consensus statements from the DAO (or subgroups within it), this can become a rich iterative loop, with some of the statements being turned back into proposals to be fed back into the governance process for further improvements.
Signalling consensus is an important function of a DAO; creating a record of what people want and signalling the common opinion, in as rich and useful a manner as possible, allows people both inside and outside the group to keep a pulse on the state and likely direction of the group sentiment, values, culture, nodes of power and ability to coordinate.
Lastly, created value can be allocated (#5) in various ways. There can be an explicit value loop with paying out dividends to members (e.g. dxdao does this), an implicit value loop enabled by token holding (e.g. MakerDAO and the MKR token, which should increase in value if people govern well), or allocating it to the broader community by vote, bounty, participation, or other metric; whatever one decides. Because a lot of the management is automated away using code, there will likely be more value to share among contributors—and not just direct contributors, but those further down the chain, outside the DAO, who you could program payment to as well. As Vitalik Buterin said, “Instead of putting the taxi driver out of a job, blockchain puts Uber out of a job and lets the taxi drivers work with the customer directly.” It’s an opportunity to rethink the usual value loops that we participate in.
Turing-Completeness is a paradigm shift for governance, as it was for computers. Quite literally, anything is possible. One can build with composable models of decentralized community, orienting a community to financial stake, discourse, or anything else. And given that communities are dynamic, the efficiency and composability of code means people can more easily enact different models of governance as the shape and context of their community changes over time.
And while I’ve proposed these five components of governance, they’re not the only parts of an organization that can or need to be designed (especially as our understanding of governance evolves). For example, one idiosyncratic property is a specification of when the DAO will end: e.g. programming a temporary task-force DAO to disband after the members reach their goal.
There’s so many mechanisms out there that haven’t yet been imagined. This article gestures at some implementations, but barely scrapes the surface of the possible. What is the equivalent of the Uniswap mechanism—a conceptually elegant, relatively simple mechanism that actually works—for DAOs? Are there implementations that can help us create spaces that are more inclusive, intuitive, and generative?
Blockchain and interoperability don’t necessarily have to make everything easier. In fact, a lot of things are made difficult (or even impossible) by design, such as making a one-line code update or running large parallel-processing machine learning jobs. If one decides to use blockchain, they decide to accept its particular landscape of friction; when they program on top of that, they can likewise choose where to increase and decrease friction.
We might want to make the community resilient to exploitative bad actors in a decentralized way. One simple way of doing this is increasing friction for the use of executive power, by e.g. having a multi-sig wallet for key decisions, where you need a minimum amount of signatures to agree to a decision. You could add an extra layer of security by requiring e.g. a majority vote on a decision on top of the multi-sig condition. You can pile on even more layers of resilience if you so choose; and excitingly, these computational layers of resilience may turn out to look very different to the default hierarchical and bureaucratic layers of resilience built into our standard institutions. Computation allows for organizational processes with curious properties.
Another way of increasing resilience to bad actors is by decreasing friction for whistleblowing, e.g. interoperable programs that make anonymous whistleblowing more computationally secure. Imagine a potential whistleblower working for an on-chain decentralized company, who wants to speak up about another member’s bad behaviour or to anonymously leak politically sensitive documents. Using zero-knowledge proofs, this person could prove from an alt address that their main address is in a list of addresses that have been part of the company for years, without disclosing who they actually are. This gives their voice needed legitimacy, while preserving anonymity. For example, when it comes to the OpenSea insider trading scandal: imagine if someone at OpenSea got wind of some insider trading early on, and wanted to speak up about this to save the direction of the company and to oust the culprits without risking their own reputation. The incident may have course-corrected early on, and resulted in a smaller public outcry. The threat of anonymous whistleblowing may even have prevented such behaviour.
We might also want to decrease friction for those using alternative identities to gain DAO membership more generally, not just for whistleblowing. Inter-DAO and inter-address reputation mechanisms, and services built on zero-knowledge proofs (like TornadoCash) could increase participation from marginalized people, those who are or could be at political or social risk, and the 1 billion people worldwide without an official ID. All these people would ordinarily be locked out of regular human governance institutions, but now they can participate, especially if the DAO has a culture of building trust without necessarily requiring real names, something many people do on Twitter. This would increase the diversity of participants as a whole, letting in voices that we don’t even know we’ve been missing out on.
In DAO design, it’s important to consider the amount of complexity being introduced. We don’t want to make governance overly complicated, with fancy, inscrutable algorithms that many won’t trust or intuitively understand.
Turing-Complete governance shouldn’t be advocated as a way to make the most complex algorithm possible. The point is that we can have any inputs we want, and any computational transformation of those inputs to produce some output. Vitalik has pointed out that simple social systems with more predictable outcomes and understandable processes for tweaking the outcome are more desirable; participants are more inclined to trust and rely on institutional processes. We should be looking for elegant, intuitive mechanisms, not complicated ones. And what “elegant” or “intuitive” means may surprise us, once we do more experimenting in this massive design space. The most empirically effective mechanisms may not be the solutions that seem theoretically immaculate.
Furthermore, rather than using computation to make the space of outcomes overly large and risking overfitting to a particular situation, we could use it to create more complexity in the form of layers of safety and security, in order to increase the resilience of the organization (e.g. make interoperable layers for communities to guard against black swan events together, making it cheaper to prevent terrible, but low-probability events). In Vitalik’s words, optimizing for low VC dimension, but higher Kolmogorov complexity.
The higher the stakes and the more people depending on the system for more things, the less complicated an outcome space we want. At the same time, humans have a complex and long list of values to fulfill. How do we solve this? Rather than having each of our institutions become everything to everyone, it’s better to create many institutions that are limited in different ways such that as an ecosystem of institutions, they cover the span of what people need and want. Let’s make it far easier to increase the number of institutions (something that technology can help us with), but define each of them narrowly.
Once something is created, especially if it’s complicated and experimental, it’s important to study its human effects. We should pay close attention to how technology and people interact and co-evolve. How do participants respond to and integrate these mechanisms into their life? How do people modify, adapt, fork, learn in response to and in tandem with code?
Technical properties of governance are critical; they determine many of the freedoms and constraints of decision making, can help keep a community together, and to a large extent determine the character or quality of decisions made (or the fact of being able to make any decisions together at all!). But ultimately, our attempts at constructing better governance systems is in service of people, and the purposes and values that people define. DAOs can bring people together who never would have otherwise met, had a say in decision-making, or been able to share in the upside of good governance. A DAO succeeds if its technical properties grease the flywheel of decision-making, community building and participation, rather than staying the center of attention. A DAO also succeeds if its programmability allows the community to experiment with radical organizing structures and decision-making processes, and come away with valuable learnings. (Even if ultimately people decide that keeping everything or anything on-chain is unsuitable for them.)
In a very deep sense, everything is arbitrary, and everything is connected. Our agency is coupled with this arbitrariness. What do we choose when we can choose anything?
In this infinite design space, we are not forced to limit ourselves to one single paradigm. Rather, this is the opportunity to choose and explore many different things as an ecosystem of communities, and what’s more, to connect and compose our creations—and in a sense, ourselves—together.
Our collective success and responsibility involves using our tools and coordination mechanisms to move towards the more fertile path — where win-win games are easier to find, where miscommunication reduces, and where we more deeply feel our interconnectedness.
Thank you to everyone who talked with me about these ideas, read or left comments on drafts of this essay, including but not limited to Justin Glibert, Toby Shorin, gubsheep, Scott Moore, Vivek Singh, Raymond Zhong, Andy Tudhope, Jasmine Wang, Nikhil Devraj, and riley wong. I’m very grateful for the opportunities this piece has provided to discuss, think and imagine with all of you. Additionally, thanks very much to 0xPARC for a learning grant that helped make this essay happen.
It’s worth expanding on the value of composability, which comes about because of blockchain interoperability. I’ll introduce the idea by comparing it with another common term in software: open source. While it is now relatively common as a hallmark of software openness to make something open source, enabling interoperability is less common, and less easy.
The distinction between the two is that for open source, the source code is freely available, whereas interoperability means that one application/system can exchange, integrate, access and use another application or system’s functionality and data. Things like common protocols, permissionlessness, and no or minimal system downtime increase interoperability.
In a way, open source is easy to operationalize. You simply release your source code. Interoperability, however, has to be built into the system, and exists by degrees. Just because you can see the source code of an app doesn’t mean you can use its data, communicate with it, or build on top of it. Usually developers have to spend significant effort building and maintaining APIs to facilitate interoperability.
Interoperability is generally enabled by canonical protocols and standards for interface design and communication. While the underlying layer of the internet is fundamentally interoperable through e.g. TCP/IP, HTTPS, TLS and email protocols, most applications on top of it are not. This results in people becoming inescapably tied to platforms, unable to change clients or move their data, and the proliferation of bloated, monopolistic silos like Instagram and YouTube.
Imagine if every application on the Internet by default had a zero-downtime, publicly exposed API. You can message Discord accounts using WhatsApp, and watch videos hosted anywhere on a video client of your choice. Flexibility is the norm; silos are rare.
Smart contracts are tremendously interoperable by default. They can not only programmatically interact with other smart contracts, the blockchain guarantees equal uptime, data availability and validity of all programs. It’s possible to use and compose existing primitives on top of each other to make potentially complex and tightly integrated systems, without fear that something further down the stack will fail. Anyone’s work can be highly interoperable without them putting significant effort into making it so.
You can also see the blockchain as a decentralized database and source of shared truth—you can read data to e.g. verify that some existing algorithm acts in an expected way, rather than just seeing the source code. This decentralized data availability adds extra guarantees.
We’ve made a decentralized world computer that we can easily build together on, with a database we can all use as shared reference. DeFi has exploded as a result, going from the invention of fully-on-chain stablecoins to the proliferation of complicated financial derivatives in just 2-3 years. What might interoperability do for other applications?
Originally published November 1st 2021 at: