Composability is the general ability of components of a system to be recombined into larger structures and for the output of one to be the input of another. In simple terms, the best example is Lego, where every piece can connect to every other piece.
Within crypto, composability is the ability of decentralized applications (dApps) and DAOs to effectively clone and integrate one another (syntactic composability), and for software components such as tokens and messages to be interoperable between them (morphological composability).
Ethereum already achieves syntactic composability pretty well: every smart contract on the protocol is public and can be called by any other, which means that any software logic only has to be worked out once before it is available for reuse by the entire ecosystem. In practice, this means that any Ethereum dApp can use Uniswap‘s contracts to manage token exchanges, or organizations can use Aragon’s Client contract for on-chain governance.
Being able to reuse open-source components is the superpower that makes building in Web3 extremely efficient. Teams can use huge amounts of existing, reliable code and focus only on building the components that are missing for their project. This exponentially increases the rate of experimentation and innovation. Not having to reinvent the wheel (or worry about being sued by regulators and patent trolls) every time you build a business makes Web3 magnitudes more efficient at allocating resources than Web2. It also invokes the magic of compounding:
Importantly, Ethereum’s Layer 1 (L1) allows for ‘atomic’ composability where several operations across multiple dApps can be bundled into a single transaction and executed together. If one of the operations fails, then the entire transaction will fail. This makes it possible to split a transaction across multiple exchanges, or vote on several DAO proposals at once without the risk of a partial failure.
Atomic composability is vital to decentralized finance (DeFi) because it allows for innovations like ‘flash loans’ where an asset is borrowed, invested, and paid back within a single transaction.
Although Ethereum’s architecture has been built to facilitate composability, this doesn’t guarantee that the internal morphology of dApps, such as functions and interfaces, are automatically compatible with every other. This requires collaboration. To this end, a number of application-level standards have been agreed for elements such as tokens, name registries and wallet formats, known as Ethereum Requests for Comment (ERC). The most famous of these is ERC20, which defines the characteristics of a fungible token within Ethereum.
From a Web2 perspective, the implications of morphological composability are mind-blowing: it is already possible for (take a breath…) DAO token holders to vote on Snapshot and use Zodiac Reality to trigger a transaction from the DAO’s treasury to take a $DAI loan from MakerDAO, pool the $DAI on Curve, then deposit the resulting LP tokens into Convex to earn trading fees plus $CRV and $CVX tokens. Composability like this is possible because of the interoperability of tools and the standardized definition of a token.
Beyond finance, characters or chattels from Web3 games like Axie Infinity or Guild of Guardians are instances of non-fungible tokens (NFTs) – unique digital property, standardized in ERC721. Because they are actually owned by users, they can be transferred freely between different games, sold on secondary markets, or even used as collateral for loans. To achieve the equivalent in Web2 would mean somehow convincing Nintendo to share a database with Sony and Microsoft or, back in the finance world, for eTrade to execute transactions on Robinhood. The likelihood of this happening is basically zero: even if Web2 companies weren’t all in competition with each other, they are built on incompatible tech stacks that would prevent them from reusing each others’ software.
As well as digital possessions, Web3 also allows users to port their identity and reputation between dApps. Instead of signing in with a username and password, users use their Web3 wallet to give selective read-only access to their ERC20 address, which acts as a unique identifier and reputation metric. Having a verifiable ‘resume’ of token purchases, dApp interactions, and DAO membership has given rise to the ‘Degen(erate) score‘ as a tongue-in-cheek ranking of Web3 literacy, but which is already being included by sincere applicants in Web3 job applications. In this way, identity and reputation can be seen as currencies, backed by Web3 activity. Like any currency, on-chain identities can be swapped and traded (with all of the confusion that entails), as well as forming the components of an abstracted social network that will form digital communities, working groups and new kinds of ‘nations’.
At present, there isn’t an ERC to standardize DAO structures, functions, and interfaces, but the industry is moving in that direction. DAOstar One is a roundtable of key organizations working towards standardizing the definition and minimal parameters of a DAO. The group’s focus is currently on experimentation – so not to limit innovation – but once implemented, an ERC would bring Lego-composability to the DAO ecosystem, meaning that Aragon’s Finance dApp could be used with Moloch v2, or Openzeppelin governance contracts could integrate with Gnosis Safe as well as Compound’s Governor contracts.
Even before an ERC has been agreed upon, Gnosis are developing a modular system of DAO tools built on their Zodiac Open Standard. Any DAO platform that implements their IAvatar interface will have access to a growing number of Zodiac-compliant tools such as an oracle module that can trigger on-chain executions or a bridging module that enables cross-chain control of a Gnosis Safe.
Other developments such as DAOhaus’ Boost Foundry (itself built on Moloch v2) are part of a growing trend towards dAppstores for DAOs with plugins for DeFi protocols and additional DAO functionality such as automated payment streams using Superfluid or gated content using Mintgate.
Apart from these examples, Web3 software may be open-source and forkable, but that is not in itself a guarantee of compatibility with other projects. The hope is though, that because the switching costs for users are so low and the benefits of interoperability are so high, the dynamics and desire are in place for the industry to align on a shared set of standards as soon as possible.
This last point is worth underlining. Web2 companies are notorious for building competitive ‘moats’ to isolate themselves from competition. These can take the form of favorable regulation, aggressive patent enforcement, high switching costs, data hoarding and many other self-preservation strategies. However, none of these strategies make sense in the open-source, permissionless, transparent world of Web3. Instead, organizations have to build on the assumption that their code will be reused by others and turn this into the vanguard of their growth strategy; composability converts plagiarism from a tail-risk in Web2 into a core assumption and strategic objective in Web3. In such an environment, organizations must become experts at collaboration and symbiosis, which is the reason why initiatives like DAOstar One and the DAO Global Hackathon have attracted so many participants in pursuit of DAO composability.
It is standard practice in Web2 for companies to use each other’s software for things like desktop publishing and graphic design. DAOs are similar in that they use proprietary software like Discord to manage their communities. Furthermore, Web3 infrastructure enables such tools to be integrated to such an extent that they become components of DAO governance, able to schedule and execute transactions. This is made possible by third-party networks called oracles, which are capable of verifying external data and embedding it in on-chain smart contracts. It is already possible to trigger on-chain executions on Aragon from emoji votes on Discord using Witnet’s decentralized oracle network, and as mentioned, Gnosis Zodiac’s Reality module integrates reality.eth as an oracle to trigger Safe transactions in response to Snapshot proposals, Discord polls, or any other compatible data. For a deeper look at DAO tooling, check out Incentive Design and Tooling for DAOs and Organizational Legos: The State of DAO Tooling.
The integration of real-world data into smart contracts opens up a world of data-composability in Web3 that is not possible to cover in this article but is explored in First-Party Oracles with API3 and 77 Smart Contract Use Cases Enabled by Chainlink.
Web3 is Learning to Talk
There are very few domains where a monolithic architecture makes sense: supra-national political structures tend to fracture over time; the internet’s success is due to many nodes communicating via common protocols; and even the human brain is a modular system.
Over time, computing architecture has evolved from monolithic stacks into a diffusion of microservices that can be composed together, upgraded and swapped out as required. Although Web2 is built on such a backend, composable design is not reflected in Web2 companies themselves: effective monopolies like Amazon, Facebook and Google have little incentive to break themselves up into composable microservices. In the end though, this may be forced upon them by Web3: the logic of composability is destiny if the testimonies of technology and nature are to be believed.
Before this destiny is reached, there are a couple of roadblocks to along the way.
The first is a monolithic, Web2 mindset. It takes conviction and shareholder votes to adopt a paradigm that relegates one’s own importance to a mere component, but there are signs that composability has enough traction in Web3 to sell its benefits to the wider tech industry. We have certainly seen this in the pace of adoption and metrics such as Assets Under Management (AUM) for various protocols. Web2 will not want to forfeit this kind of growth for long, and in order to participate, they will have to be composable.
The second roadblock is scaling. Composability works in theory, but the high fees that we have seen on Ethereum recently are fatal for complex operations across multiple dApps. Bridging between Ethereum and newer chains breaks atomic composability and a proliferation of new chains will dilute security and liquidity resources until the industry settles on a viable solution. This is an enormous topic that will be covered in greater depth in a forthcoming article.
It is no accident that syntax and morphology are concepts lifted from the domain of linguistics. They apply here because software is a language and Web3 – being an expression of software – fits into a linguistic framework. The next level of analysis after syntax is semantics: whether an expression makes sense; and above that is pragmatics: whether it makes sense in context. Undoubtedly, it is possible to route tokens today between dApps with no real utility or purpose. Likewise, many of the combinations being touted do not make much sense in a wider financial or social context, especially in light of Ethereum scaling. However, these are the first words of a new language that is infinitely more expressive than any we have seen before, and through the magic of composability, Web3 will find its voice.
Aragon is building the future of decentralized governance for Web3 communities & organizations. Deploy a DAO on Aragon Client or Aragon Govern, manage your community on Aragon Voice, resolve disputes in Aragon Court and run enterprise-level votes on Vocdoni, all within our open-source stack. See the latest at aragon.org, subscribe to our monthly newsletter, join the conversation on Discord, or follow us on Twitter.