There’s much talk about composability in DeFi, “you know, like Lego blocks“. However, that analogy (composability === Legos) completely misses what’s special about DeFi. By thinking of Lego blocks, we run the risk of not building all those things which are simply not possible in traditional finance.
The ‘boring’ internet (aka everything non-blockchain) is already extremely good at:
- Creating standards
- Sharing or selling data
- Having easy to use APIs
- Using one way of moving data around (TCP/IP)
- Using one way to secure the data (SSL/TLS)
- Creating systems for running the same code on many different types of hardware
- Combining modular functions (storage, user management, CDN, payments, biometrics, mapping, video playback, audio processing, …) into apps, in ways that abstract the underlying complexity and allow developers to snap things together and focus on the solution they are trying to build.
- Stealing, copying, and cut-and-pasting code snippets or entire open-source codebases
- Wrapping open-source code with thin but profitable convenience layers – “Launch your own app, site, store, or blog in one click – just change the name – deploy today“.
When we use the word ‘composable’ in any of those senses, we’re just describing how the old internet already works today. Sure, all those things matter for blockchains, too – imagine a world without the ERC20 standard, and we all know the headaches of having to mix and match EIP55 compliant and non-compliant Lego blocks.
Despite all of this being important for blockchains to work, there is much more here, that the old world cannot do, and that’s probably more aptly described by the notion of coalescence. Coalescence is the act of making or becoming a single unit.
We have all built a beautiful Lego, only then to have it fall off the table and shatter into all the building blocks we used during construction. Likewise, the traditional internet is easy to shatter, because there are trust gaps between each of the Lego blocks. Sure, it may look like the Millennium Falcon from afar, but when you drop it, all you are left with are the little pieces.
The one thing that the traditional internet cannot reproduce, is to cryptographically fuse (coalesce) building blocks into longer trust chains, which guarantee that input A leads to output I, via B⟶C⟶D⟶E⟶F⟶G⟶H. Ideally, you want to be able to coalesce this chain into a single operation, A⟶I, with strong, mathematical guarantees that if you do A, then I will result. Using the Lego analogy, imagine snapping blocks together, and while you are doing that, they coalesce into an ever larger atomic object A⟶I, without any cracks or failure points. That’s what’s really special about DeFi – the possibility of creating intricate multistep operations on-the-fly, without trust gaps in the resulting chain of operations. Very practically, an example of this would be to fuse atomic swaps A⟺B, and B⟺C, such that you now have a new atomic swap A⟺C.
Please be careful with the Lego analogy, since it’s at odds with what’s actually novel about DeFi – which is probably better captured by the notion of coalescence, a (cryptographically) smooth whole emerging out of individual parts.