ERC-20 tokens have existed since 2015, but only recently it was formalized by Ethereum developers. So now we can speak of a true token standard, instead of just a way for developers to create their own tokens over the Ethereum network.
The reason why ERC-20 tokens were formalized just now is because of increased interest in ICOs. The official adoption of a standard came as Ethereum Improvement Proposal 20 was finally agreed upon. EIP20 also included the creation of a specialized API for easier deployment of tokens and smart contracts.
ERC stands for Ethereum Request for Comments, a handle for a clarification on how developers should deploy smart contracts.
And since smart contracts still need a human intellect to sort out the sending of value. So the ERC20 standard contains a few main points:
transfer of tokens by the owner
transfer of tokens on behalf of the owner
getting data about the token
The above tasks are achieved by a set of six functions and two events that build up a smart contract. And this is all it takes to build a basic token. This is how most ICO tokens are built. For developers, there are additional requirements for formatting.
Here is how setting up an ERC-20 contract looks in code:
Before it became a standard, ERC-20 was simply an approach by developers who wanted to create their own transferable tokens. But tokens that differed from the standard created some problems on the Ethereum network- mostly because they allowed simple user mistakes that led to sending tokens to the wrong address, rendering them irretreivable.
So what difference does ERC-20 make? Older tokens might have been written in a way that they can be incompatible with other projects. When all tokens follow a similar standard, this could ease the movement of tokens between different distributed app (dapp) projects.
For now, tokens are locked inside their respective projects and each project usually creates a token. With ERC-20 used across the board, at least in theory tokens could move between projects.
ERC-20 for Users
The simplest benefit for users is that MyEtherWallet and Etherscan can be used to easily hold and track Ethereum-based tokens. This is possible even now, but it remains to be seen what developers to do make the experience smoother.
There were losses reported due to sending tokens the wrong way, and this ERC-20 thread sheds some light on the developers' community approach to making the funds move correctly.
Remember that cryptocurrencies are still a new technology with enough glitches. No matter the promises, always test addresses with a small transaction to see the expected result before committing further funds. The ERC-20 tokens may be an improvement, but always be aware that you are your own banker when it comes to cryptocurrencies, so always mind the potential error when it comes to sending and receiving funds.