If you’re new or have been in the crypto space you have probably heard the term ERC-20 tokens buzzing around and are wondering ‘what are ERC Tokens?’. Now there’s a good reason why it’s popular as this brilliant concept revolutionised what the entire cryptocurrency industry is today. Without ERC20 tokens, the space we are in currently would not be as vast and innovative. ERC20 tokens have enabled the advancement of many crucial innovations to help blockchain technology achieve adoption.
So let’s do a deep dive into this article today and explore everything about ERC20 tokens and what makes them so extraordinary. We’ll start from the very basics all the way to what ERC-20 token’s code function is made of! This article and all our other articles will be simple information navigation of the complicated technical jungle.
What is Ethereum?
Everything we’ll discuss today starts with Ethereum. So what is Ethereum? Well the Ethereum network is the second-largest cryptocurrency in terms of total marketcap right now – and for a very good reason. The ETH network is a platform where smart contracts and ERC20 tokens can be created easily to be used on the platform. Think of Ethereum blockchain like Youtube but instead of uploading videos, people can create their own ERC-20 tokens on the platform.
Ok… so why do people need to create ERC-20 tokens on Ethereum? Great question. Before the days of Ethereum, creating your own blockchain network and your own ERC 20 tokens were extremely hard. Things were clunky and you had to develop from the ground up. Imagine if everyone who wanted to upload videos to the internet needs to create their own website, set up their own servers to host the videos and have to worry about all the foundations…
But then came along the Ethereum blockchain where developers did not need to worry about the security, speed foundations of the underlying network and all they needed to do was write a few lines of code. And their own native cryptocurrency token unique to their project was born. Without much setup, developers could immediately send and receive the cryptocurrency like any other. There was virtually no downside. The cryptocurrency ERC 20 tokens are essentially a plug and play system for their Decentralized applications or DApps. But what else could token’s do, other than sending and receiving?
There are several use cases with these tokens. First and foremost, developers could use it as:
- Currency – Token Economics for their ecosystem
- Governance – Users with their tokens can vote
- Item Ownage – Assign tokens to represent items which someone owns
And many more use cases and factor for these ERC20 tokens…
This gave rise to the infamous Initial Coin Offering (ICO) craze back in 2017. Similar to Initial Public Offerings (IPO) in the traditional finance world, companies used ICO’s to issue out their ERC 20 token in exchange for crowdsourced funds to realise their vision… although you may have heard of many scam ICO’s which took money and ran. But there were many legitimate projects funded through the ICO method which have shaped the cryptocurrency space it is today.
Some of the biggest and most famous ICO’s every was these projects:
- EOS – $4.2 Billion dollars raised. Block One – the team behind EOS launched their ICO on the 25th June. EOS eventually moved their ERC-20 tokens off the Ethereum network and onto their own when they launched.
- Filecoin – $257 Million dollars raised on 10th August 2017 – 10th September 2017. Filecoin is a project focused on utilising spare storage spaces of everyday people and uploading it to the cloud.
- Tezos – $232 Million dollars raised on 1st July 2017 – 14th July 2017. Tezos is a project focused on governance. Using the Proof of Stake consensus model so that users can vote to change protocols and rules on the project
These are some of the most high profile ICO’s in the crypto industry to date. There are many more but the Ethereum blockchain platform single-handedly opened up the space for anyone to come and bring their crazy ideas to the table.
What are Smart Contracts & Dapps?
To put it simply, smart contracts are a trustless program which runs on top of Ethereum blockchain. It is similar to the app the runs on your mobile phone.
But on Ethereum blockchain, to understand how smart contracts takes place, we need to talk about the Ethereum Virtual Machine or EVM for short. A normal program on your phone for example will be executed directly by your phone’s hardware. The CPU use the instructions from what the program tells it to do and executes it.
Ethereum on the other hand, is made up of multiple computers around the world. And if there’s a program which can directly control the physical aspects of the computer, it will pose major security issues for the Ethereum blockchain platform. You can’t have people taking over control of multiple computers or else they can do all sorts of malicious things.
So how it works on Ethereum blockchain is through the EVM. Instead of directly communicating to the physical hardware, all programs or smart contracts will first be stored on the ledger and then use and go through to the EVM and then the EVM reads the smart contract stored on the public ledger, turns it into code that computer machine understand. This is what separates the ledger from the machines directly.
And then what the developer created is a smart contract where people can see exactly how it works and knows the condition in which money is released from the contracts. Through the Ethereum blockchain and the EVM, any type of contract is programmable. As long as the operating system can comprehend the contract, the operating system will function correctly.
Each time a smart contract is invoked, it will use a bit of Gas to prevent spam on the Ethereum Blockchain. So while anyone can create any contract imaginable, the contract will cost to it. Each time a function is called, the contract will spend gas. Functions like adding or multiplying will cost gas for the contract.
UTXO vs Account Model
Before we dive into what are ERC-20 tokens, it is crucial to understand how payment to different user account really works in Bitcoin and Ethereum – There’s a lot of difference. In Bitcoin protocol, we have a “Unspent Transaction Output model” or UTXO where there isn’t an ‘account’ in the traditional sense. The ‘balance’ in your Bitcoin ‘account’ is made up of all the previous transactions that have been sent to your wallet, but you have not ‘spent’ it yet. It is kind of like having money pending in your bank account but it has not cleared yet. In Bitcoin however, you would be able to use that whenever you want.
Ethereum protocol uses a different payment model. It’s called the Account model. And this is more like having a balance in your wallet. When you transfer one Ether to Bob, for example, your wallet value will be updated to -one Ether and Bob’s wallet value will be updated to +one Ether. This is how Ethereum transfer currency to each other, and the difference between another blockchain.
In the Bitcoin wallet, the wallet adds up all your ‘pending’ transactions sent to you to display your balance. These transactions never expire as they are stored on the Bitcoin ledger. The ledger will indefinitely record and place every single crypto transaction. Think of the ledger as an excel sheet list where anytime there is a transaction on the blockchain, it is updated to the excel sheet list (ledger) and can never be deleted off the ledger and there’s no way for anyone to destroy the ledger. The ledger can also never be tampered with either. So what you have is a record-keeping ledger that can keep track of all payments you have sent and received.
And with the UTXO model, because the ledger keeps track of all funds transfer from anywhere, your wallet ‘goes’ to the ledger and sums up the latest transfer sent to you which you have not spent yet. The ledger can know the exact addresses that transfer Bitcoin to you and which addresses you sent to. Even when you first buy bitcoin, the ledger tracks where that Bitcoin comes from exactly.
The EVM will also access the Ethereum blockchain ledger which keeps tracks of the different states of smart contract. So it has a few more total steps for smart contract but a lot less data for cryptocurrencies payments codes to keep track of.
What are ERC 20 Tokens?
ERC-20 tokens are essentially Ethereum tokens made to be compatible with the Ethereum blockchain. These ERC 20 tokens have a simple list of rules in code to define how these tokens function on the Ethereum blockchain. But why is it important to have rules on how to create these ERC-20 tokens? There are a few simple reasons.
Interoperability between wallets and exchanges. Wallets which supports Ethereum ERC-20 tokens standard are programmed in a way to understand the predefined code. But if everyone made their own token with different instructions, wallets and exchanges would need to update every time it needs to support a new ERC-20 token technology. But if all ERC-20 token has the same predefined standard, then as soon as someone creates a new ERC-20 token, the Ethereum wallets can already send and receive the new ERC 20 tokens without having to do any updates. This makes the interoperability between all Ethereum tokens simple and convenient and have a great user experience.
Imagine having a vending machine. Now, this vending machine only accepts one type of coin. Let’s call that ERC20 token, Blu token. If Blu was the only ERC20 token in existence, then the machine would only need one type of standard hole. But if everyone develops their own ‘Blu’ ERC 20 tokens with different shapes and sizes… that machine would need to build many different standard holes to accept all the different ERC20 tokens on the Ethereum blockchain. That’s why there’s a common standard for ERC 20 tokens. To ensure every ERC 20 tokens standard is like each ‘Blu’ token and vending machines don’t need to update every time new ‘Blu’ ERC 20 tokens are in creation by a new company. And why rules are the solution.
In short, ERC stands for Ethereum Request for Comment and the “20” is the number attached to that standard. There are other ERC standards like 721 or 777 you may have heard of to make a number of tokens. It’s simply just the number reference to the command. So with ERC 20 tokens, people from the Ethereum community can build their own community and ecosystem to create their own assets. Those tokens and assets for that community and holder can accrue value in the system if the company gives it enough function. Anyone can use the token, send and receive it in the system, interact with all the function and system of other ETH token.
With the ERC-20 token’s technology, there are a few rules developers need to implement when creating these ERC-20 tokens. In total, there are 6 rules developers must follow and 3 rules which are optional.
In order to create ERC-20 token cryptocurrencies, here are the range of functions everyone needs to follow for new tokens.
These are what’s called functions in programming language -and the Eth language. It is essentially a ‘block’ of code which does a set of instructions. So the rules here is that all ERC 20 token must have these functions and also spelled exactly this way. You can’t call it transferfrom for example. It must be named transferFrom with the capital F. This ensures the token standards and standardization of everything.
So those are the mandatory requirements but here are the 3 optional functions which developers can decide how they create it.
- Token Name
- Decimal (Up to 18 places)
These are what differentiates the thousands of digital assets and cryptocurrencies we have today. The company can name their ERC20 cryptocurrency tokens anything they like.
And with these rules, it will work on day 1 on all Ethereum based crypto wallet when people send and receive transactions.