This year has brought many milestones for the proof-of-stake blockchain Cardano. Furthermore, it achieved the status of the third-largest cryptocurrency toppling Binance Coin. On March 1st, it successfully upgraded a protocol, called Mary, bringing the capability of native token and multi-asset support to Cardano.
The new update opened up a new world of use cases and opportunities. It stretches the existing accounting infrastructure defined in the ledger model, which is designed for processing ADA-only transactions, to accommodate transactions that simultaneously use a range of assets. These assets include ADA and a variety of user-defined custom token types.
Initiation of Mary Hard Fork of Cardano
Named after Mary Wollstonecraft Shelley, an English novelist, this hard fork does represent a step-change for the Cardano protocol. It is part of the Goguen components rollout bringing new features and functionality.
The hard fork was done using a hard fork combinator developed by IOHK, the engineering team of Cardano. The current blockchain combines Byron and Shelley blocks, and after Mary, it will also combine Goguen blocks. The hard fork combinator facilitates the transition from Shelley to Goguen and beyond without system interruption or restart while saving the history of the previous blocks. The changes took effect at the border of epoch 251.
It will be followed by plenty of upgrades to improve the native token user experience. The first focus areas will be creating a Cardano token registry, and release new versions of Daedalus Flight. It is a new ‘pre-release’ version of the Cardano wallet for user testing of multi-asset capability. In the future, Daedalus will include a token generator with a user-friendly interface for easy creation and deployment of native tokens. Cardano’s Rosetta API will also be updated for multi-asset support. The later upgrades will also support smart contracts.
Cardano team launched the testing environment in December 2020 and updates on its public testnet in February, laying the foundation for native token development. They also added a staging environment to enable initial testing by exchanges and stake pool operators.
What Is Multi-Asset Capability?
Till now, the Cardano blockchain was able to handle transactions in its native token called ADA. With Mary update, users can now create and transfer on-chain user-defined tokens other than ADA. Tokenization is the process of representing real assets (For example, fiat currencies, stocks, precious metals, and property) in a digital form. Tokens can be used to digitally represent collectibles, alternative investments, gift cards, sports betting, in-game assets, commodities, and much more.
Developers, businesses, and applications can create general-purpose (fungible) or specialized (non-fungible) tokens to achieve commercial or business objectives. These might include the creation of custom payment tokens or rewards for decentralized applications; stablecoins pegged to other currencies; or unique assets that represent intellectual property. All these assets can then be traded, exchanged, or used as payment for products or services.
Some non-fungible tokens representing digital collectibles on Cardano can be checked here.
How Is It Different from Ethereum?
Bitcoin is designed purely as a digital currency. While Ethereum also allows developers to build their own applications and run them in a decentralized manner on top of the Ethereum blockchain. Smart contracts enable this creation of user-defined tokens. Fungible Ethereum tokens could be developed with the ERC-20 standard, while unique non-fungible tokens are created under the ERC-721 framework.
However, user-defined tokens require the creation and implementation of custom code as the Ethereum chain does not offer native token support. ERC20 token creation requires manual modification of the contract standard, which can result in errors and possible bugs. This adds a layer of complexity, cost (gas is needed to pay for the execution of the code), and inefficiency. The underlying ledger does not directly support these tokens, and they are fundamentally different from Ether, the cryptocurrency native to Ethereum.
With the new update, Cardano introduces a mechanism whereby tokenization is handled natively. That is, the logic is based on the Cardano ledger, rather than smart contracts. The assets created this way behave similarly to the principal currency, ADA, except that:
- Native tokens can be created and destroyed, unlike ADA.
- ADA is the only currency that can be used to service fees, rewards, and deposits.
Native token functionality extends the accounting infrastructure defined in the ledger model to accommodate transactions that use different types of assets (fungible and non-fungible) simultaneously. Unlike ERC20, native tokens do not require special fees to send, receive, and burn or additional event-handling logic to track transactions.
Additionally, over-flow and under-flow vulnerabilities that are present for Ethereum tokens are eliminated for native tokens, as Cardano’s scripting language does not have fixed-size integers, and the ledger itself tracks tokens’ movement.
Depending on the preferences and technical expertise of users can create, distribute, exchange, and store tokens using Cardano command-line interface or using a ‘token builder’ graphical user interface or using Daedalus wallet.
To create tokens using CLI, the user needs to construct a monetary policy script and then create tokens using that. These minting policies are defined by the users as per their needs. For example, a user might wish to only allow themselves to mint any more of a certain kind of token.
To create tokens using GUI, developers simply have to provide token name, symbol, amount, and Cardano wallet address to host newly created tokens. The token builder generates the monetary policy automatically. This streamlines the token creation and simplifies it for a non-technical user.
The users who do not wish to create their own tokens but want to use existing ones for payments, purchases or exchange, will be able to use such wallets as Daedalus, and later Yoroi. Users will be then able to hold native tokens in their wallets, send, and receive them as they would do with ADA.
Native Token Framework in Cardano
The native token framework in Cardano is based on a multi-asset ledger structure built around token bundles (values). A token bundle can contain a heterogeneous mix of ADA and other tokens. These token-containing structures are stored in outputs on the ledger instead of ADA, as previously.
A native token is uniquely identified by fingerprint which contains the Policy ID and the Asset ID. Fingerprints are 44-character long alphanumeric strings beginning with the prefix ‘token’. Additional token data displayed in the wallet UI (name, description, and acronym) will be provided by the Cardano token registry, administered initially by the Cardano Foundation.
Each type of token is identified by its asset ID, which includes a hash reference to its minting policy. The minting policy itself is only ever checked during minting or burning and is not itself stored on the ledger, which makes this approach quite lightweight.
The fungibility relationship is captured by the asset ID in a lightweight way: tokens with the same asset ID are fungible with each other, but not fungible with those with a different asset ID. The asset ID identifies each type of token within a single token bundle and across the whole ledger.
While accounting for the tokens, the correctness is ensured by the ledger, whereas, minting and burning of tokens are regulated by their user-defined minting policies. A minting policy is permanently hash-associated to the tokens scoped under it, and there is no way to change this policy. This guarantees that the policy an issuer chose can never be changed to allow minting or burning of this type of token which was not authorized under the original policy. Whenever a minting transaction is added to the ledger, the policy for each type of token being minted is checked and must be satisfied.
The entire native token lifecycle i.e. minting, issuing, using, redeeming, and burning is maintained on the ledger. During these phases, asset controllers will be able to define the policy for the asset class and authorize token issuers to mint or burn tokens. Token issuers can then mint tokens (for applications, for instance), maintain their circulation, and issue them to token holders. Finally, token holders (e.g., individual users or exchanges) will be able to send tokens to others, use them for payment, or redeem them when they have finished using them.
The capacity to build new tokens on Ethereum is what has led it to its popularity. Cardano is making its own path to provide this capability to its users. Mary update is just another key building block in Cardano’s evolution into a decentralized and multi-asset (MA) smart contract platform.
We hope that the tokens representing stablecoins, wrapped assets, and lending protocol utility will all be instrumental in bringing the world of DeFi to Cardano.