ERC20 vs ERC223 vs ERC777:以太坊令牌标准之间的比较

您是从事加密项目的以太坊开发人员吗?您可能会使用ERC20标准开发新令牌,但是,您需要了解改进工作。这将帮助您对使用哪种ERC令牌标准做出正确的决定,因此在本文中我将解释ERC777与ERC223与ERC20的比较。

我将以ERC 20的解释开始进行比较,随后将解释它的缺点。然后,我将通过ERC 777和ERC 223解释以太坊社区所做的改进工作。

ERC20与ERC223与ERC777之间的比较

什么是ERC 20?

在比较ERC 20与ERC 223与ERC 777之前,我需要解释什么是ERC,以及ERC20代表什么。以太坊开发人员通常会提交“以太坊改善提案”(EIP)。以太坊社区会审查EIP,发表评论,这可能会引发一些返工。

以太坊社区接受EIP之后,它成为标准,然后我们将其称为“以太坊请求评论”(ERC)。ERC 20是这样一种以太坊令牌的标准。

ERC 20是最著名的以太坊令牌标准,几乎所有使用以太坊平台的ICO都使用了它。开发人员默认使用它来创建新令牌,而钱包和交易所则容易接受ERC 20令牌。

在ERC 20之前,以太坊开发人员必须专门设置其令牌将遵循的规则,而且这种方法缺乏标准化。现在有了ERC20,以太坊开发人员知道他们将只需要使用ERC 20标准即可。自2017年以来,这种标准化在推动ICO热潮中发挥了重要作用。

什么是ERC 20标准功能?

ERC 20标准在开发以太坊令牌时规定了以下功能:

  1. 获取令牌的总供应量:您需要使用“ totalSupply”功能。
  2. 检索另一个所有者帐户的令牌余额。
  3. 将令牌发送到另一个所有者帐户:您需要使用“转移”功能。这些帐户是EOA帐户。
  4. 将令牌从一个令牌地址发送到另一个令牌地址。令牌地址是合同地址,您需要使用“ transferFrom”功能。
  5. 允许另一个帐户在指定的限制内重复从您的帐户中提取资金。您应该为此使用“批准”功能。
  6. 支出者可以使用“津贴”功能将未使用的令牌返还给所有者。

燃烧令牌的ERC 20错误

尽管ERC 20标准的文档记录和实施总体上非常完善,但它存在一个错误,并且已经烧毁了价值数百万美元的代币。“转移”功能仅允许您将令牌发送给另一个所有者,即EOA帐户。

如果您想向智能合约账户(即以太坊账户的另一种形式)汇款,则需要使用“ approve”和“ transferFrom”组合。如果使用“转移”功能将令牌发送到智能合约,您将看到交易成功,但是合约将永远不会收到令牌。

这将永久燃烧这些令牌,并且您将无法检索它们。一些用户使用了错误的功能将令牌发送到智能合约,并永久丢失了令牌!

以太坊基金会了解该错误,但仍在继续推广ERC 20标准。我不知道他们这样做的原因。他们可能不理解问题的实质,或者存在改变的阻力。

ERC223令牌标准:针对ERC 20错误的建议解决方案

一个以Reddit用户名“ Dexaran”命名的以太坊开发人员提出了EIP 223,并提供了针对此ERC 20错误的解决方案。在比较ERC 20与ERC 223与ERC 777之前,我将首先解释他的建议。

ERC223令牌标准仍是草案,以太坊社区尚未实施。它提出以下解决方案:

  1. 它将以太坊区块链上的交易视为事件,并使用“事件处理”概念。
  2. 如果用户使用“转移”功能将令牌发送到智能合约,它将引发错误,并随后取消交易。
  3. 用户支付以太坊“汽油价格”,但不会丢失任何代币。
  4. 该建议向“转账”功能添加了一个附加参数,以检查收款地址是否为合同账户。
  5. 如果发现收件人地址是合同帐户而不是EOA帐户,则假定合同已实施“ tokenFallback”。
  6. “ tokenFallback”函数允许回调令牌,因此事务不会刻录任何令牌。

虽然ERC223在很大程度上解决了ERC 20错误,但该建议中存在一个弱点。如果收件人智能合约没有“ tokanFallback”功能,则将运行“ Fallback”功能,从而导致令牌丢失。

只有少数几个项目使用ERC 223,例如AmigoCoin项目。您可以在GitHub EIP 223存储库中阅读有关ERC 223提案的更多详细信息。此标准也称为ERC 23。

ERC777标准:解决ERC 20错误的改进建议

为防止由于ERC 20错误而导致令牌丢失的改进建议是ERC 777建议。它包括以下内容:

  1. 新功能:“发送”而不是“转移”,“授权操作者”而不是“批准”,以及“已接收令牌”而不是“ tokenFallback”。
  2. 长期以来,以太坊平台一直存在缺陷,因为开发人员无法确定智能合约实现的功能。ERC 820(即另一个标准)已经在网络上实现了合同的中央注册,因此现在可以知道智能合同的功能和接口。ERC777使用它来识别智能合约使用的接口。现在,开发人员将预先知道合同是否具有接收通过某些功能发送的令牌所需的功能。
  3. ERC 777启用了运营商的“白名单”功能,因此,以太坊网络用户现在可以拒绝来自黑名单地址的付款。地址可能由于多种原因而被列入黑名单,例如,试图入侵网络,非法活动的历史记录。

您可以在ERC 777与ERC 20与ERC 223的比较中看到,ERC777如何为开发人员提供多种选择,从而可以防止令牌丢失。但是,ERC777标准还存在一些风险,如下所示:

  1. 一些以太坊开发人员认为不赞成使用“ authoriseOperator”功能,因此开发人员不应使用该功能。此功能还将需要更多的“气体”,这将给网络带来更多压力。
  2. 使用智能合约的中央注册表来查找合约使用的接口是有风险的。中央注册表可能存在错误,任何依赖它的内容都会产生不利影响。

ERC777仍然是草案,但是,ORCA令牌使用它。

ERC 777 vs ERC 20 vs ERC 223:保护资金很重要

虽然只有时间会告诉以太坊生态系统将哪种标准接受为“黄金标准”,但作为开发人员,您需要记住,保护交易者和投资者的资金是您的责任。如果您担任这种负责任的职务,您可能会同意,尽管很复杂,但仍应实施和采用ERC 777标准。

本文链接地址:https://www.wwsww.cn/ytf/1917.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。