Blockchain industry is developing very fast. The problems arise inevitably on the way of its development and need to be solved in the near future. The introduction of ERC-20 standard was a turning point in the cryptocurrency world. The simplicity of the Ethereum platform, open source and the presence of many services have led to the formation and distribution of thousands of new tokens.
We have already mentioned the problems that arose when using the traditional standard ERC-20. One of the most serious vulnerabilities was the absence of a regulatory mechanism for sending tokens created on the basis of the ERC-20 standard to other addresses that do not support this standard. All tokens transferred in this way are burned.
This mechanism can be described in more detail as follows: users who use transfer in the contract when sending ERC-20 coins to contracts that do not support it and do not recognize incoming tokens, lose their money, since they simply go nowhere. This function is different from the automatic transfer. The ERC20 standard uses both transfer and transfer From functions. The result of discussing this problem in the GitHub network of developers was the creation of other types of standards for smart contracts.
In 2017, the user with the nickname Dexaran laid out in open access to GitHub the offer code of the new standard ERC-223, which was designed to solve the inconsistency problem described above. The elegant solution involved combining the two functions transfer and transferFrom of the ERC-20 standard into a single function called transfer, but now with three parameters – address _to, unit _value, bytes data. These parameters allowed to exclude the possibility of improper use of the function by users.
Another important improvement was the introduction of the tokenFallback function, which prepares the contract for accepting any kind of coins being sent and prevents them from being sent if it does not receive a response from the recipient’s address. At the moment, the Ethereum platform has a similar function for the entire network – the payable contract modifier, which prepares contracts for receiving Ether coins.
In fact, the implementation of the ERC-223 standard is slow, and most projects continue to use the ERC-20 standard. This is partly due to the popularity of the second and insufficient awareness of the first, as well as the distrust of the creators of the projects to other versions of the standards. An important factor is that the mentioned bugs are quite rare and the Ethereum network itself is now an additional protective factor against such errors.
Created in late 2017, the new proposal of the standard was intended to solve several problems at once. Thanks to the new tokenReceived function, which made it possible not to use the second approval function (second verifying transaction), the transaction time was halved. Also in this standard, there is an opportunity to mark untrusted or incompatible addresses that may be associated with hackers or scammers. This standard also solved the incompatibility problem by using the backward compatibility method, which made its cross-standard compatible on the Ethereum platform.
Among the drawbacks of this fairly new standard is its code, which is still undergoing changes, as well as the creation of a large number of interdependent calls for contracts if it is used, which can create security problems in the future. One of the projects using the token of this standard is ORCA.
This standard was created in 2017 thanks to the Cryptokitties game, where you can exchange and collect collections of virtual kittens with unique genotypes or 256-bit unsigned codes. Unusual in this game was that each kitten was a unique cryptocurrency of different prices, depending on its popularity and rarity.
The ERC-721 standard was the first example of non-fungible tokens (NFT) – unique or non-interchangeable tokens that was proposed for electronic collectibles. Fungibility is a characteristic feature of a currency, each currency of which can be replaced by another exactly the same. For example, $ 5 or $ 20 is good just like any other $ 5 and $ 20.
All fiat money is interchangeable as well as divisible. The second means that the currency is divisible to a certain limit. For example, the dollar is 1/100, which means that each dollar is divided into 100, in his case, cents.
The approve and takeOwnership functions, as well as two types of events: Transfer and Approval make transactions more secure against accidental loss of funds, as is the case with the ERC-20 standard.
At the moment, there are two main types of standards. The first one includes all the proposals created to improve the ERC-20, and the second is the standard for the unification of NFT or electronic collectibles.
Each standard takes time to develop, as well as the validation, approval, and implementation of the platform by the community. These and many other standards of the Ethereum platform are the engines for the development of the entire cryptoecosystem and are designed to make networking in the network easier, safer and cheaper.
It is possible that soon we will see the cataloging of compatible and proven ERC standards, for use in various decentralization projects.