The new ERC777 blockchain token standard, developed by Jordi Baylina, Jacques Dafflon, and Thomas Shababi, and potentially replacing the currently widely used ERC20 standard, is about to be launched.
ERC is short for Ethereum Request for Comments and describes a set of standards created to be implemented on the Ethereum blockchain.
Although the ERC20 standard has helped in the smooth execution of many projects, it was especially widely used for payment tokens, is popular in ICOs, it has its limitations.
Some contracts do not support each of the tokens, so if you send an ERC20 token to a contract that does not support this underlying protocol, the amount will be locked forever. And since transactions on the blockchain are not reversible, it will not be possible to return the money.
The ERC777 standard is fully backward compatible with the ERC20 standard. That means that any application that supports ERC20 will also support the new standard. The 777 retains all the strengths of the previous standard but compensates for several problems.
Baylina said that soon the standard is going to enter the last stage of development and will be presented in August. Its further fate will depend on the will of users and developers, who will be able to introduce new tokens at their discretion. The creators advertise the ERC777 standard as a more flexible alternative to ERC20 and claim that it will allow for faster and more streamlined transactions.
Sending transaction data
The ERC777 can send transaction data just like Ether currently does.
This ERC777 feature facilitates interoperability between all types of applications using cryptocurrencies through smart contracts, digital identity, and decentralized storage. It can also make development easier.
Reduces the chance of accidental loss
That is one of the most significant benefits of ERC777. The standard helps prevent accidental loss of cryptocurrency. They have already suffered from this many times, losing tokens worth millions of dollars. That is because an ERC777 (and ERC 820) compliant address is capable of rejecting certain types of incoming transactions. For example, do not accept those posted from a specific address. And addresses can be blacklisted. This capability allows new tokens to comply with Know Your Customer (KYC) and Money Laundering (AML) laws and regulations that regulators require.
When working with ERC20 tokens, it is often required that users make two transactions to interact with smart contracts.
First, they must approve the smart contract as the token operator. After that, you can use the functionality of the smart contract. Then you have to pay additional transaction fees.
That is not the most efficient way to transfer cryptocurrency or interact with the blockchain.
To address this issue, ERC777 allows a single transaction to run contract functionality. That reduces transaction fees. And this relieves the network from the load somewhat.
Particularly often, referring to a smart contract is used on decentralized exchanges. One transaction is enough to launch an exchange contract, which makes it cheaper and faster to use.
Technical details as per standard
Uses the same philosophy as Ether, with tokens being sent using send (dest, value, data).
Both contracts and a regular address can control and reject the token that is sent by registering the "tokensToSend" function.
Both the contract and regular addresses can control and reject the token they receive by registering the "tokensReceived" function.
The "tokensReceived" function also avoids the double call required in the ERC20 standard.
The token holder can "authorize" and "revoke" operators who can send tokens on his behalf.
Each token transaction contains a UserData byte field and similar information from the operator - in the case of an operator transaction - for free use to transfer data to the recipient.
That is a compatible way of working with wallets that do not include the "tokensReceived" function by deploying a proxy contract for the wallet.
The standard uses open source code, which can be viewed on GitHub.