ERC-20
Basic Information
The DeFi boom has seen a large increase in new tokenized protocols on the Ethereum blockchain. Each protocol had its own original specifications and coding. This led to problems with the various tokens’ implementation in crypto wallets and on various decentralized exchanges (DEXs). They had to create a different environment for each new token, which cost time and money.
That is why the unified ERC-20 standard was created.
ERC-20 is a technical standard for fungible tokens created using the Ethereum blockchain. Fungible means that each token is indistinguishable from all other tokens in the set. Each ERC-20 token set has a ticker symbol such as ABC or XYZ (usually the protocol name). For example, it could be a set of 1 million ABC tokens and another set of 10 million XYZ tokens. Creating your own ERC-20 token is easy (just use a smart contract on the Ethereum blockchain), so the number of ERC-20 token sets is in the thousands.
Interaction with ERC-20 tokens requires the use of a gas fee (ETH). If you want to send, for example, 100 ABC tokens to Tom, you will need to add a small amount of ETH to pay for the transaction.
You can recognize ERC-20 tokens by the standard Ethereum addresses starting with 0x. (for example USDT - 0xdac17f958d2ee523a2206206994597c13d831ec7)
ERC-20 tokens are created in smart contracts. The logic of a smart contract brings some interesting use cases. For example, a smart contract may be written in such a way that it can receive a maximum of 1,000 ETH (i.e., a total of 1,000 ETH can be sent to the smart contract) and for every 1 ETH sent to the contract, it will automatically "mint" and send 100 ABC tokens back to the sender. This would "create" 100,000 ABC tokens and distribute them to everyone who sent ETH to the contract.
We can also specify other details in the smart contract, for example, "developer support". It can be programmed so that 10% of the ETH received into the contract is immediately sent to Johnny’s address. Johnny can be the "ABC token project" lead developer in this example. People sending ETH to the contract "pay" Johnny for working on the ABC token protocol in the hope that the ABC token value will increase in the future thanks to Johnny's work.
ERC-20 token source code has to fulfill these 6 features:
- Defines how many tokens a given smart contract can mint
- Provides feedback on the number of tokens at a given address
- Checks if the user address has enough tokens to send
- Checks if enough tokens can be sent
- Defines the maximum possible number of tokens distributed among users
- Allows tokens to be forwarded between addresses on the Ethereum blockchain
3 additional functions can also be set:
- Title / header
- Currency Units
- Number of decimal places (most commonly, we encounter up to 18 decimal places)
ERC-20 tokens features:
ERC-20 tokens are the most used tokens on the Ethereum blockchain. They are designed to be used to pay for features and are known as utility tokens. They can also be used to pay for goods and services.
ERC-20 tokens examples:
- USDT
- USDC
- BNB
- DAI
- BUSD
- ETH
- WBTC
PROs
- ERC-20 unifies tokens under a single programming / coding standard
- Simplifying token exchange on Ethereum blockchain
CONs
- Slow transactions
- Need to pay a fee with a second token (ETH) when sending ERC-20 tokens
Conclusion
ERC-20 tokens are comparable to other cryptocurrencies such as bitcoin (BTC), ethereum (ETH) and others. It is important to note that ETH and ERC-20 are not synonymous; ETH is the primary currency of the Ethereum blockchain, while ERC-20 is a token type. As a result, people can use this standard to generate new ERC-20 tokens, each with a unique name. All Ethereum-based platforms can use ERC-20 tokens.
Analyst opinion
The ERC-20 standard has facilitated the use of tokens in all directions. We can easily exchange one token for another and not have to deal with whether a certain DEX or crypto wallet supports it. Each blockchain works on its own standard, but due to the Ethereum prevalence, ERC-20 is the most widely used standard. We'll see what the future holds and if someone comes up with a better standard that everyone can implement.