Today, anyone can create a smart contract on Ethereum’s blockchain and issue their own tokens. Until recently, the implementation of a particular currency was entirely entrusted to its developer, and its experimental nature was often associated with problems such as freezing investors’ funds, cracking contracts or unpredictable network operations.
In this Wild West atmosphere, a new Ethereum protocol is being created — one that aims to correct the mistakes of previous versions. Perhaps one of these protocols will replace ERC20 by the end of this year, making blockchain more reliable and simpler for users.
1
ERC20: : King of dapps
The user-friendly logic and simplified structure make Ethereum a highly in-demand framework for projects, with almost 83% of projects choosing the Ethereum blockchain as their underlying architecture.
Image credit: ICOWatchList
More than a dozen major tokens are based on the ERC20 standard, and about 400 new tokens are launched daily on Ethereum. While these numbers don’t sound too unreal, Coinmarketcap’s ratings and Ethereum Token’s chart show that the total market value of these tokens has reached about $52.6 billion. Furthermore, the process of issuing tokens seems completely out of control, as there is still no legislation to regulate who initiators of tokens and how often tokens are issued.
Image credit :Ethplorer
When reading about Ethereum, you might see a reference to “ERC20.” ERC20 is the most common and widely used standard in the Ethereum platform. Wikipedia gives the following definition:
ERC20: where ERC stands for Ethereum Request Command and 20 is the number assigned to this Request.
The ERC20 standard was first introduced in 2015. Although it was initially used only by programmers, the standard became more widely used in just two years. The standard describes the rules for developing and operating coins on its basis. Such a standard specification was an innovative solution for the crypto industry, since until then there had been no unified programming standard — it addressed a major problem encountered by the creators of new tokens.
But the problem with this is that all currencies issued before the introduction of this standard are completely unique, which greatly increases the work of exchanges, wallets, and other applications used to interact with the new markup. Each time developers have to change or add a layer to their software so that the new currency works stably and is compatible with their systems.
In 2017, the ERC20 standard began to be applied everywhere due to code uniformity and easy integration with a variety of applications and platforms. It sparked an explosion of initial coin offerings (ICOs) startups, which now have the tools necessary to access exchanges and overcome liquidity issues.
Image credit :Smith&Crown
Following the implementation of ERC20, the number of ICO startups in the cryptocurrency market increased dramatically, with nearly 86,000 tokens issued as of May 2018. Not surprisingly, projects no longer need to create their own specifications and guidelines for token issues and related areas of operation, or standards for their compatibility with different blockchains. All of these have been described in the ERC20 standard, along with the introduction of six main functions:
The total coin
The number of coins in the balance at a particular address
A function used to send tokens from the primary address to the address of an individual user or ICO participant
A function that sends tokens between users
A function that checks the remaining tokens on a smart contract that has the ability to withdraw funds
Ensure that the sender has sufficient tokens when the transaction is sent
2
Smart contracts: The Birth of the new economy
The main secret to the success of the ERC20 standard is the introduction of smart contracts. While some of the basic principles of smart contracts have been implemented in the Bitcoin blockchain, the functionality in Bitcoin is very limited and it is not suitable for creating tokens for individual dApps. This is why Ethereum can be considered the first platform to fully exploit the concept of smart contracts and implement it.
Image credit :Openxcell.com
The main ideas of smart contracts are as follows:
When a user sends tokens to a recipient’s address, the sender’s address balance is reduced and the recipient’s address adds the same number of tokens.
What’s so special about that? Technically, no one sends anything to anyone. In fact, smart contracts are informed about changes in a certain amount of tokens in the token owner’s balance. The result is that the token disappears from the sender’s wallet and appears in the addressee’s address.
Because of this system, nodes in the network no longer need to constantly check the database. All they need to do now is verify the accuracy of all the terms of the contract, since both parties (sender and receiver) interact entirely through smart contracts.
3
Call for change
As the ERC20 standard was the first version based on the Ethereum protocol, many issues and shortcomings were gradually revealed over time. For example, a user accidentally sends tokens to the address of a smart contract, and rolling back the transaction is impossible. This is because standard implementation of ERC20 tokens involves two ways of transferring tokens:
The pass function allows the user to send tokens from one address to another
Combination of functions that send tokens to smart contracts (approve + transferFrom)
It should be noted that event handling is a well-known standard practice in programming. Therefore, it is possible for the transfer processing to detect errors in the transfer of funds in the Ethereum network.
In this case, the transaction is considered to have been completed with the successful transfer of funds and without any error. Otherwise the smart contract will cancel the transaction. If you send Ether to an incompatible smart contract, this event handling will help you avoid losing money because the transaction will be rejected by the recipient.
According to the ERC20 standard, the token transfer should be considered an event, but the transfer function does not allow processing of the transaction because it increases the recipient’s balance without any prior checking. If the receiver is a smart contract and uses a transfer function to send tokens, problems can arise when the contract fails to recognize the transaction. This can lead to unexpected behavior in the transfer function and unpredictable results, i.e. tokens can be lost and permanently frozen.
So how did ethereum’s creators solve this problem? The answer is simple — the developers have introduced approve and transferFrom functions, which give the user the right to allow the smart contract to withdraw funds when sending a transaction, eliminating any errors that might occur.
It’s worth noting that the developers themselves don’t see this as a mistake:
This is not a mistake, but a user error. It is not a bug or bug, but a feature of the standard ERC20 design.
However, the problem remains — icOs participants lost more than $4 million last year. One obvious example is the EOS coin offering smart contract, which pocketed about $2.1 million from users who could not get their money back.
Among other contracts that swallow investors’ money are
Tronix — $400,000,
Golem and ZRX — more than $200,000,
OmiseGo has frozen investors by $150,000.
And some new users don’t seem to learn from the mistakes of others.
4
ERC223: Correct errors in ERC20
Created by Dexaran
Type: Standard token
To address protocol vulnerabilities in the first version of Ethereum, a user named Dexaran developed the ERC223 standard, which forced the ERC20 standard to behave in the same way as it would when moving ETH to a smart contract. Now with this standard, an error in the transfer function will cancel the transaction when the smart contract does not support the cryptocurrency. To do this, it introduces two new functions:
Transfer functions replace the old transfer and transferFrom functions
The tokenFallBack function of the target smart contract determines the type of currency to send
For tokens, new standards are often proposed. As a rule, they are scrutinized by the crypto community and blockchain developers. Although some of these standards are not well known, they still have the potential to replace ERC20.
5
ERC721: CryptoKitties and other collectibles
Founded by Dieter Shirley
Type: Collectable tokens
Tokens created with the help of the ERC20 standard are interchangeable. In other words, each token is identical to the other token. This feature is necessary if one considers it a currency, but from the point of view of “cryptocurrency collectibles” such tokens simply don’t fit.
Because of ERC721, each token will become unique. Mike Raitsyn, co-founder of SnowFox, a platform that helped launch more than 30 tokens for the project (including ERC721), sees potential in this protocol:
Combined with tier 2 scaling solutions (sharding, Plazma and state channels), we have the ultimate tool to place every significant asset on a common (or hybrid) blockchain with 100% immutable and secure.
The creators of CryptoKitties, the “killer” online game on Ethereum, were among the first to use this standard. The game is based on the use of unique attributes: age, color, breed. Some mixed attributes can become very rare and make kittens very expensive. Not surprisingly, this idea was adopted by other recreational games such as the CryptoPuppies, CryptoPets, and even the CryptoPunk.
6
ERC827: New version of ERC20
Created by Augusto Lemble
Type: Standard token
ERC827 is one of the latest versions of the Ethereum protocol and has been described by blockchain journalist Dariusz R Jakubowski as “a new ERC20”. Unlike its predecessor, this standard can transfer transaction data as well as costs. The developers managed to add this useful function to a relatively short code snippet of less than 100 lines. This function extends the use of the Ethereum network across the country and allows users to move data around the world in seconds. In addition, the standard allows third parties (for example, brokers or agents) to authenticate transactions without the need to access private keys, as long as the security and reliability of the blockchain remain unchanged.
7
ERC948: : B2C merchants paradise
Created by Kevin Owocki
Type: Token for Subscription
The “subscription” model has become hugely popular in the digital world, attracting an estimated 11m users last year alone. According to a McKinsey study, 15 percent of buyers subscribed to e-commerce in 2017.
The ERC948 agreement provides an opportunity for developers to build a platform on which companies can leverage economic models that have proven valuable in the retail and software industries over the past decade. In addition, by linking blockchain projects with customers, it believes the subscription model will become more widely used in 2018.
8
ERC884: “Whitelist” of investors
Created by: Dave Sag
Type: Standard token
The Delaware General Corporations Act (DGCL) officially allows the use of blockchain for the registration of shareholders under the 2017 draft law. ERC884 was created for assets issued by any public or private company in Delaware and contains a number of add-ons beyond the capabilities of ERC20. These components include requirements for token holders to be identified and whitelisted as part of a token.
9
Protocol evolution
Growing competition among leading cryptocurrencies has spurred the development of new protocols. Each new Ethereum token standard provides a more advanced set of functions that are superior to existing ones. The introduction of these new standards enables developers to address the backlog of bugs, abuses, or inefficiencies in existing protocols, and to produce more mature blockchain dApps. In 2018 we could see that the time is ripe for a new protocol, and only time will tell if the industry will see the emergence of ERC20000 or other innovative tools that will emerge in the arms race between Ethereum and EOS.
Source: Blockchain bros
Originally by Julia Magas
Compile: Captain Hiro
Original link: http://t.cn/RBrzOdo
Recommendation of offline activities
Technical workshop | decryption code logic block chain DApp, from the request to the data store is going to have? (Shanghai)