Recently, the Komodo team learned that Cardano announced a new product offering, called the EUTXO, that is comparable to Komodo’s existing technology, Antara Modules.
These technologies allow developers to create blockchain-based contracts that rely on a fundamental unit of blockchain technology, called the UTXO. Using the UTXO as the root-level unit of a contract offers many advantages.
What is a UTXO?
In short, UTXO stands for “Unspent Transaction.” A UTXO is a currency value that is available in a user’s wallet to be spent.
When a user downloads a full blockchain to their computer, they may not realize it, but a large part of what they are doing is downloading thousands of UTXOs to their computer hard drive.
The UTXOs are held in a simple text format that describes a few important concepts, such as where the money came from, how much money the UTXO holds, and so on.
For more details on the nature of a UTXO, read this linked explanation.
Why are UTXO-based Contracts Desirable?
Understanding the Problem that UTXO-based Contracts Solve
Without UTXOs, a blockchain-based contract typically must be bound to the full value held in a user’s wallet -- as opposed to having the contract bound to a each individual unspent transaction.
Account-based Smart Contracts typically require an associated virtual machine that can manage each execution of a Smart Contract’s logical actions. This virtual machine is a separate software installation, aside from the blockchain software itself. The virtual machine must be active on thousands of user’s machines across the network to validate all Smart Contract actions.
Both the account-based model and the virtual-machine technology are quick solutions to the complexity involved with creating blockchain-based logical contracts. One can argue that the speed of deployment of these technologies is a key reason for their success.
However, as the blockchain industry matures, many people are noticing that these models have unavoidable costs and downsides. Such downsides include the fact that they are highly expensive and frequently unstable. (Read here for more details.)
The Virtual-Machine and Account-based Model Drives Demand, but Cannot Scale
These models have not yet proven capable of offering “application-specific blockchains.” An application-specific blockchain is a blockchain that serves a single type of software.
Instead, the virtual-machine and account-based model often require that all developers build their software on top of a single blockchain. For example, in Ethereum, all Smart Contract software relies on the main Ethereum blockchain.
On the one hand, the shared, single-chain model is an effective solution for creating value for the blockchain’s coin -- if everyone needs to purchase the currency of the main blockchain, its demand increases exponentially.
However, in the long run, this model proves to be ineffective. The single blockchain becomes congested, and the complications of the virtual-machine and account-based models have so far proved unable to scale into a multi-chain architecture.
Komodo’s History with UTXO-based Contracts
These needs drove Komodo in its early stages to avoid those models in favor of the UTXO-based model.
Komodo’s first encounter with the concept of UTXO-based contracts was the discovery of the CryptoConditions framework, put forth by the Interledger team. (The Interledger project has a focus on blockchain research and design that is not associated with any business or cryptocurrency.)
In 2016, under open-source philosophy Interledger released the CryptoConditions framework as the first UTXO-based contract framework. Komodo adopted CryptoConditions into the Antara Framework, and it now serves as the foundation for Antara Modules.
UTXO-based Contracts are More Powerful and Scalable
The design of a UTXO-based contract is simpler for the underlying architecture, and this provides a key advantage.
UTXO-based contracts do not need to have an associated virtual machine to manage each logical step of a contract. Instead, the blockchain software itself is capable of managing each step. This is a dramatically superior setup, compared to other contract models.
As a UTXO-based contract is only associated with UTXOs, and not full balances, a bug in a contract does not endanger a user’s full balance, by default.
When a UTXO-based contract desires to act on information available to the blockchain software, it does not have to communicate through the complexities of a virtual machine. Instead, the contract itself can access many types of information that otherwise are unavailable in other contract models.
Most importantly, UTXO-based contract’s are useful in creating scalable blockchain ecosystems, as they facilitate application-specific blockchains.
The strength of the underlying architecture of a UTXO-based contract is a key ingredient that allows Komodo to offer thousands of developers a blockchain all to themselves.
Komodo’s Antara Module Framework Release
One of Komodo’s first UTXO-based contracts was found in the Faucet Module. This UTXO-based contract allows users to maintain an autonomous cryptocurrency “faucet.” A faucet allows users on the network to extract a small amount of funds at no cost, and this is useful for onboarding new users who may not wish to purchase funds outright.
Today, Komodo offers fifteen free UTXO-based contracts that are preinstalled with each Smart Chain, and need only be activated by the Smart Chain’s developers. Many more UTXO-based contracts are in development.
Cardano’s New EUTXO Contracts
Earlier this year, Cardano announced a new product offering, called the EUTXO.
This new product offers functionality that is effectively similar in nature. Users can create new EUTXO-based contracts, and the Cardano software does not need a virtual machine to manage the execution of these contracts. Instead, the Cardano software itself is capable of processing each logical step of a blockchain.
The specific implementations of Cardano’s approach appear to differ in several areas. One example can be found in the way Cardano and Komodo are implementing Finite State Machines.
(A finite state machine is a machine that can be in only one “state” at a time. For example, a streetlight can be red, or green, or yellow, but it cannot have more than one light active at one time. For more information, read this article.)
Whereas Komodo is implementing a finite state machine as an aside that builds on top of Antara Modules, Cardano appears to be making their finite state machine integral to the functionality of each stage of a contract.
The Cardano EUTXO paper discusses some of the challenges involved with a state machine, which the team indicates they are taking care to resolve. These challenges include the problem of creating an initial state that is reliable for the duration of a state machine, and resolving a state machine in a final state that does not clutter the chain.
The solutions the Cardano team finds, and other nuances in the approaches of all industry UTXO-based contract endeavors, will likely play a larger role as this technology continues to mature.
Komodo and Cardano are Embracing the Future with UTXO-based Contracts
As the blockchain industry continues to grow and its audience scales into the millions, and eventually billions of daily users, UTXO-based contracts are likely to become ever more useful. They facilitate efficient and scalable ecosystems of application-specific blockchains, and provide a more effective underlying blockchain architecture.
Komodo welcomes Cardano to this technological endeavor and looks forward to learning from their achievements.