The Ethereum blockchain is a sprawling ecosystem with thousands of tokens with different purposes and applications.
The vast majority of Ethereum tokens use ERC-20 (fungible) and ERC-721 (non-fungible)– but that’s not all. There are actually many other token standards, each with its own unique characteristics. Some are extensions or improvements upon the existing ERC-20, while others have completely distinct features and applications.
In this guide, we take a look at many different token standards, including some very new and cutting-edge ones.
ERC-20
The ERC-20 standard dominates the Ethereum ecosystem. It consists of six functions:
Allowance: This checks that the user’s account has enough tokens to cover the cost of the transaction. In short, it prevents users from defrauding one another.
Approve: This checks the balance of tokens in the transaction against the total supply of the token. This ensures that no one can counterfeit tokens.
BalanceOf: An extremely basic function that simply tells you how many tokens exist in an account.
TotalSupply: This function is run only once, at the very start of a token’s existence. It determines the total number of tokens that exist. You cannot alter this.
Transfer: As the name implies, this allows tokens to be sent from the initial supply of tokens to a user’s wallet. It specifies the recipient’s address and the number of tokens to be transferred.
TransferFrom: This is like the Transfer function but for any transfers after the initial token distribution, such as users exchanging tokens amongst themselves.
For a more in-depth review of ERC-20’s, please see our other guide here.
ERC-223
This is principally an upgrade to the ERC-20 standard. Right now, ERC-20 tokens can be sent to addresses that do not support ERC-20. This has and continues to result in a huge amount of lost tokens.
Not all Ethereum contracts accept ERC-20. However, the problem is that there is no preventative mechanism to stop users from sending ERC-20 tokens to those addresses. The network will confirm the transaction and the tokens will reach the address, but because they are not compatible, they become permanently frozen.
ERC-223 is meant to prevent this, as well as provide other improvements. It merges the Transfer and TransferFrom functions into one and introduces a new function, called TokenFallBack. This can only be used by receiving contracts that lay out exactly how to deal with the token being sent. Both of these new functions add a layer of auditing that prevents the loss of funds. In addition, by merging the two transfer functions, there is a significant saving in gas on the Ethereum network, savings costs for all users.
Please see our other guide for a deeper technical guide to ERC-223.
ERC-721
This is a completely separate standard to the previous two. ERC-721 opens up the potential for non-fungible tokens (NFTs), i.e. tokens that are not all the same. In contrast, all ERC-20 tokens are and have to be identical. The most notable use case of ERC-721 to date is CryptoKitties.
There are huge benefits to this non-fungibility. Previously, all crypto assets had been identical or fungible. This was vital in the case of money such as Bitcoin, where you need it all to be interchangeable and appear identical. However, for applying blockchain technology to other assets such as rare coins, fine art or in-game virtual items, non-fungibility is an essential feature.
ERC-777
This is an improvement upon both the ERC-20 and ERC-223. Just like ERC-223, it helps prevent the loss of funds that has happened so many times with ERC-20. Instead of merging the transfer functions, it offers one new function called Send, which reduces the two transactions used with ERC-20 to one, thus reducing costs and increasing efficiency.
Beyond this, it also allows transaction data to be sent alongside the token. This, in turn, increases the degree to which these tokens can be customized and sent with unique orders.
Through something called hooks, you will now be able to receive notifications before receiving an ERC-777 token. More than this, hooks can enforce certain conditions on the transactions, such as forcing the receiver to spend a certain amount on a certain product or service.
Perhaps most significantly, it allows for users to designate operators. This allows you to designate an address that can send and burn tokens at will and can be turned off at any stage. This could lead the way to automated payments and a host of other applications.
In short, ERC-777, helps prevent you from losing funds, as well as providing exciting new conditions and flexibility.
ERC-1400
This is a library that consists of multiple standards designed for security tokens. The tokenization of existing securities, whether that be stocks, bonds or options is something that has been hotly anticipated for several years now. More than just displacing existing forms of money and currency, blockchains could potentially help to record and transact with any security anywhere in the world.
Developers have been working on the following standards to make that a reality with Ethereum.
ERC-1410
This allows for tokens that all represent the same security, but with different conditions. Such conditions could include lock-up periods or voting rights among other things.
In effect, these are semi-fungible tokens, as the asset it represents is identical but different metadata is attached.
ERC-1594
This standard offers the basic model that any security token would need. Since there are several reasons why the transfer of a security token might fail, this standard introduces new functions. For instance, say that someone tries to send a security token that they are not legally allowed to. Then you need a function that not only prevents this from happening but also ideally provides a reason for why the transaction failed. ERC-1594 introduces the canTransfer and canTransferByPartition functions that offer this functionality.
This feature is very important if security tokens are to be successful. If users receive failed notices without any explanation and given the multitude of reasons for a possible transaction failure, the experience will be tiresome and unattractive.
ERC-1643
This standard allows for the attaching of documents to transactions. Many securities will have documents partnering them and keeping them attached to the token is imperative. Not only does this standard allow this attachment but it also means users can be notified of any changes to the documents.
The standard utilizes the hash method of document storage. It stores a hash of the signed document on the blockchain along with a link pointing out to the off-chain storage site of the whole document.
ERC-1644
On account of regulatory oversights, it is essential to make security tokens subject to the commands of regulators on the account of malpractice. This is achieved by implementing a controller function, whereby the controller address can interact with the tokens where appropriate.
Final Thoughts: The Future of Ethereum Token Standards
Development within the Ethereum ecosystem has been and continues to move at an impressive rate. These emerging token standards while commonly used as of yet could certainly prove incredibly useful in the fulfillment of ambitions around non-fungible and security tokens. The ERC-20 standard sparked the first wave of tokenization and innovation. However, it is more than likely that these new standards could initiate a wave dwarfing the previous one in terms of economic disruption.
The post A Comprehensive Guide to the Different Ethereum Token Standards appeared first on CoinCentral.