Interoperability

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.

Ironically, the web provides two different solutions that can be replicated with cryptocurrencies. The introduction of JavaScript provided programmability to any website to add arbitrary features. The introduction of browser plugins and extensions added custom capabilities for users willing to install them. Both approaches gave us the modern web alongside all its security horrors.

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.

The key innovations are ease of development by allowing programmers to use JavaScript, HTML5 and CSS3 to build their applications and a unified bridge for cross application communication. Complex behavior such as cryptography, managing a distributed network and database mechanics can be abstracted away thereby letting the developer focus solely on user experience and their application’s core logic.

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.


Footnotes

27: Which is already available at daedaluswallet.io.

Last updated: July 17, 2020 11:40 UTC

© IOHK 2015 - 2024


Cardano is an open-source project.

Cardano is a software platform ONLY and does not conduct any independent diligence on, or substantive review of, any blockchain asset, digital currency, cryptocurrency or associated funds. You are fully and solely responsible for evaluating your investments, for determining whether you will exchange blockchain assets based on your own judgement, and for all your decisions as to whether to exchange blockchain assets with Cardano. In many cases, blockchain assets you exchange on the basis of your research may not increase in value, and may decrease in value. Similarly, blockchain assets you exchange on the basis of your research may fall or rise in value after your exchange.

Past performance is not indicative of future results. Any investment in blockchain assets involves the risk of loss of part or all of your investment. The value of the blockchain assets you exchange is subject to market and other investment risks