The Maze of Daedalus
The points on interoperability come from a global perspective. Specialized protocols, new transaction types, systems to assess credibility and the flow of information cannot be scoped to just a single gatekeeper or user. Rather they must be readily available to anyone without censorship or tolls.
Yet what happens when Cardano does not support a protocol, transaction or application that a user cannot live without? Should we just be out of scope? The web faced a similar concern during the 1990s.
Ethereum adopted the former approach by allowing users to embed subprotocols on the Ethereum blockchain as smart contracts. Cardano supports this feature through the CCL paradigm. But what about custom extensions?
An elucidating example would be a cryptocurrency trader. Imagine a decentralized marketplace, called DM, that supports a set of different cryptocurrencies. A trader wants to automate his strategies acting on DM.
In a fragmented ecosystem, the trader would have to install dozens of clients for each cryptocurrency and then write custom software to talk to each client in order to coordinate automated trades. If one client updates, then it could break the bespoke software. Furthermore, what if the trader wants to sell the software?
Inspired from the web model of extensions, if the interface to various cryptocurrencies can be pulled into a web stack, then the trader’s task becomes dramatically easier. A universal interface can be established. Installation is one click. Distribution of software can be modeled after the Chrome web store.
For Cardano, we have decided to experiment with this paradigm by deploying our reference wallet’s front end on Electron. It is an open source project maintained by Github that combines both Node and Chrome together. Cardano’s build of Electron is called Daedalus.
The first generation of Daedalus27 will act as an HD wallet with support for many of the expected accounting and security features that are industry standards, such as spending passwords and BIP39. In later generations Daedalus will develop into an application framework with a store, universal integration APIs and an SDK.
As Daedalus is intended to be a universal framework, its roadmap and evolution is somewhat independent of Cardano’s. During 2017 they are tightly coupled, but later Cardano will be just another application for a Daedalus user. We also intend on exploring extremely unique features such as a universal key management service running solely in Intel SGX.
Ultimately, as protocol designers, we cannot support all needs. Our hope is that the flexibility that Daedalus will provide combined with stateful smart contracts running on CCL will satisfy those left out by our design decisions. We also hope that better standards can emerge to encourage all cryptocurrencies to enjoy better interoperability and security.