Blockchain allows users to own coins and have full control over them. No third party can take your coins or prevent you from being able to spend or otherwise use them at any time. Blockchain networks can provide this for native coins such as ADA, BTC, and ETH. In the case of tokens, there are differences between platforms. Cardano treats tokens similarly to ADA coins, so it will not allow anyone to have control over the tokens that users have in their wallets. Ethereum is more versatile. It allows the token issuer to have control over tokens all the time of their existence. Let's explore the differences between tokens on Cardano and Ethereum.
Transfer Of Native Coins
The blockchain protocol is a set of rules and instructions regarding all functionality offered by the given project. In the protocol, you will find rules regarding the maximum number of native coins, rules for their gradual release into circulation, etc. It defines the rules (spending conditions) for the transfer of coins from address to address.
When a user submits a transaction to the network, the protocol validates the transaction according to the prescribed rules. The protocol accepts only valid transactions.
The rules of the protocol are defined by the team. All participants in the network consensus oversee compliance with the rules. The rules can be found in the publicly available source code repository (GitHub).
You can say that the coins (your assets) are protected by decentralization, as the rules cannot be arbitrarily changed by a third party. The majority of participants in the network must agree to change the rules.
If there is no defined way to freeze the account in the rules, the protocol will not allow this. Censoring transactions (or blacklisting addresses) is almost impossible to enforce. If network decentralization is high and at least a minority of participants (block producers) will not censor transactions, all users can spend coins.
In the picture below you can see Alice and Bob using the protocol through their wallets. The team has defined the rules of the protocol. The team's control over the rules is limited in a decentralized network because the network is controlled by the consensus participants (the holders of the expensive resource). Alice and Bob have full control over the coins. There is no third party that can freeze Alice or Bob's account or prevent them from spending the coins.
Users own coins exclusively and can spend them through a transaction. Users are dependent on the network for the ability to spend coins. The network can be seen as an intermediary (third party) between Alice and Bob. However, it is not a single entity but a group of network consensus participants (block producers, resource delegators, etc.) who do not know each other and have an incentive to behave honestly.
In the figure below, you can see that Alice and Bob do not need to trust a specific third party. They trust the decentralization of the protocol, i.e. the group of network consensus participants.
The absence of a third party makes native coins a very secure digital asset owned solely by whoever has control of the private keys (wallet). The transfer of native coins is secured directly by the protocol rules. The coins are stored in a ledger (on the blockchain).
Tokens vs. Native Coins
Tokens differ from native coins mainly because their existence is not defined (guaranteed) at the protocol level. Tokens can be minted by anyone. There is always a third party who decides how many tokens will exist, what the tokens will be called, whether they can be burned, and other details.
It is also possible to decide whether to mint all tokens at once or if the number of tokens will grow over time (the issuer can mint new tokens later). Some platforms may even allow the definition of some condition or policy regarding the gradual release of coins into circulation.
The token issuer can keep control of the tokens (through a smart contract) forever, or relinquish control. Different platforms have different options.
For example, the third party may be a third party minting stablecoins. The bank holds the fiat currency and the third party mints (and burns) the tokens at a 1:1 ratio. In this case, the third party must retain control of the ability to mint and burn tokens forever.
In the case of minting NFT series, control over the ability to mint new NFTs in the series can be relinquished. It can be ensured that the amount of NFTs will never increase.
If the protocol supports the existence of tokens, it must provide these functions in some way:
- Minting tokens (and optionally burning them).
- Storing tokens in a ledger.
- Transferring tokens between users.
- Optionally, the ability to use tokens in applications.
In Cardano, minting tokens involves defining parameters such as the name of the token, the quantity to be minted, and the minting policy.
On the other hand, in Ethereum, minting tokens is a more complex process that involves writing a smart contract. This smart contract includes functions for creating (minting) and managing tokens, and it must adhere to a specific standard (like ERC-20 or ERC-721) to ensure compatibility with other contracts and wallets. These functions include methods for transferring tokens from one address to another.
Let's take a closer look at Cardano. Then we'll take a look at Ethereum. The differences between the platforms are significant in terms of tokens.
Cardano Has A Native Assets Feature
Cardano is designed to work as close as possible to how the protocol works with ADA coins. Cardano is a so-called multi-asset ledger.
The token issuer has control over the minting policy, i.e. the basic properties of tokens. The protocol is fully responsible for the storage and transfer of tokens. These are features over which the token issuer has no control by design. Cardano treats tokens natively. That is, just like ADA coins.
Simply put, the ledger and the protocol can handle tokens without the need for a third party (token issuer) to supply source code (script / smart contract) with additional rules and functions for basic operations. Even the token issuer has no means to influence the operation of the protocol in terms of token storage and transfer.
In the image below you can see how the token issuer's ability to mint (and burn) tokens is separated from its ability to transfer and store tokens.
This design has several advantages for the user. Once the tokens are transferred to the users' blockchain addresses, they have exclusive control over them. No third party has control over the tokens that are in users' wallets. Users cannot be restricted in any way in their rights to spend the tokens.
If a token issuer retains control over token burning, it can only do so if the tokens are at its address. Users must voluntarily send tokens to the address of the token issuer. Only in this case can the tokens be burned.
Cardano is in line with the principles of decentralization. The concept that is used for ADA coins is also used for tokens to the maximum extent possible. However, this also has its drawbacks in terms of the range of possibilities.
Account freezing or address blacklisting cannot be implemented on Cardano. It is not possible for ADA coins and therefore it is not possible for tokens either.
In terms of principles, this is an ideal solution. Unfortunately, from the perspective of compatibility with the current financial world, this may seem like a disadvantage. It depends on whether you are a cyberpunk adoring Satoshi's original legacy, or a pragmatist who would like to see blockchain protocols gradually replace the outdated financial infrastructure.
The IOG team chose this token design for many other advantages.
There is no dependency between the minting script and the tokens in terms of functionality. This means that it is possible to insert many types of tokens into a single transaction at the same time. There is no need to use third-party functionality (source code) for the transfer, so it is done at the protocol level. This means that the transfer is efficient and therefore cheap. It's also more secure, as the Cardano protocol is a daily used, thus very well-tested piece of code. Users are insulated from bugs that could theoretically be in third-party code.
Cardano design also has advantages in terms of using tokens in applications. Applications work with tokens similarly to ADA coins. This is very easy, as there is no need to work with smart contracts that can define different behaviors for each token (although standards make this easier). The use of tokens in applications is efficient and inexpensive, similar to transfer.
The minting of tokens is relatively straightforward and does not require the definition of functions for transferring tokens. As mentioned, the token issuer defines only the basic properties of tokens.
The lifecycle of tokens in Cardano includes setting everything up, building a new address and keys, generating a minting policy, drafting a minting transaction, calculating fees, sending the transaction and minting tokens, sending the tokens to a wallet, and optionally burning some tokens (from the address of the token issuer).
Although the Cardano platform seems to be ideal and secure for token minting, paradoxically you won't find USDT and USDC stablecoins on it. This is because Circle and Tether require the functionality of traditional financial systems, i.e. the ability to freeze user accounts or blacklist addresses. They can't implement this functionality on Cardano, which is a hurdle for them.
Let's take a look at how tokens work on Ethereum.
Tokens Via Smart Contracts
A token issuer on Ethereum must write a smart contract that defines all functionality related to tokens. Tokens are created and managed by smart contracts. The most common token standards, such as ERC-20, define a set of functions for interacting with the tokens, including transferring tokens and querying the balance of an address.
The Ethereum protocol itself doesn’t directly manage tokens. Instead, it provides the infrastructure, namely the Ethereum Virtual Machine (EVM) that allows smart contracts to be executed.
Without EVM, Ethereum would not be able to transfer or store tokens. This is a major difference between Cardano and Ethereum.
When a token is minted, the smart contract records the quantity of the token and assigns it to an Ethereum address. This is typically done in the constructor function of the smart contract when it is first deployed.
Each Ethereum address that interacts with the token has an associated balance, which is stored in the smart contract’s state. The state is a data structure that stores all the information about the contract, including the balances of all addresses. When a token is transferred, the contract updates the state to reflect the new balances. The transfer function is a part of the smart contract that allows tokens to be sent from one address to another.
You can see it in the picture below. The token issuer controls the smart contract that is used for all functionality including token transfers. When Alice sends tokens to Bob, it is done through code that is implemented in the smart contract.
Tokens minted on Ethereum have many disadvantages compared to Cardano.
Executing smart contracts consumes more resources than using the native protocol functionality. Therefore, the fees are higher. Sending multiple tokens in one transaction is somewhat complex. Third-party source code may contain bugs.
Applications working with tokens, i.e. smart contracts, must interact with smart contracts of tokens. This is a different approach from Cardano, where applications interact with protocol functions.
Ethereum allows for the composition of smart contracts, meaning one smart contract can interact with another. It is possible to chain the functionality of smart contracts together. One smart contract can call another, which calls a third. It is sometimes called ‘money legos’. This allows for complex behaviors and interactions to be built up from simpler ones. This can be an advantage for some use cases.
Cardano’s smart contracts are more isolated from each other, which can limit certain types of interactions but can also reduce the risk of one contract negatively affecting another.
It is possible to implement freezing accounts and blacklisting in Ethereum smart contracts. This is typically done by including specific rules in the smart contract.
It is important to say that it is possible to create a smart contract that is consistent with the ideals of decentralization. Ethereum is more versatile in terms of being able to create specific functionality. However, it should also be added that allowing this, allows companies like Circle to abuse it.
Circle, the issuer of USDC, can freeze and blacklist addresses.
When an address is blacklisted, it can no longer receive USDC. All of the USDC controlled by that address is blocked and cannot be transferred on-chain. Only an admin address will be able to update the smart contract with a blacklisted address.
If a regulated business gets the opportunity to use blockchain, it limits decentralization. While users have a choice, most are not interested in the details of decentralization. USDC is a very successful project despite what Circle can do with user accounts.
The design of the individual platforms shows what features were preferred by the teams. For Cardano, the emphasis was on the principles of decentralization, efficiency, predictability, and reliability. A Cardano transaction, including script transactions, will almost always be inserted into a block soon if it passes local validation. Token transactions are independent of each other and easy to verify.
In the case of Ethereum, the focus has been on versatility and composability. When Ethereum was created, it was assumed that all functionality must be executed on-chain. The ability to write almost anything into a smart contract and let the token issuer control the tokens is proving to be an advantage concerning adoption by regulated financial organizations. I believe that the blockchain industry should have higher ambitions than just innovating the traditional financial infrastructure.