以太坊将引入ERC-777新代币标准,以取代流行的ERC-20代币标准

区块链

575人已加入

描述

7月20日柏林的DappCon会议上(与以太坊区块链相关的重要举措和更新都是在这里发布的),Jordi Baylina、Jacques Dafflon和Thomas Shababi承诺将为以太坊引入其创建的ERC-777新代币标准,以取代现在全球最流行的ERC-20代币标准。开发人员表示,ERC-777已准备好发布,8月份时将完全可用。

然而,现在8月都已经过去了,开发团队似乎对创建以太坊新标准一事仍保持着沉默,也或许他们正在准备着惊喜。自7月以来,GitHub上也没有出现过与ERC-777相关的更新,但上周他的同伴Jacques Dafflon发布的Twitter可能会给我们带来一丝线索,尽管我们对它的确切发布日期仍然一无所知:

我们有着超预期的工作量,也收到了更多的反馈,我不得不专注于我的论文,这延误了新标准推出的工作。我必须澄清新标准中的一些内容并更新其参考实现。我们希望能尽快将ERC777推进至最后阶段。— Jacques Dafflon (@jacquesdafflon),2018年9月19日

现在,让我们回过头来更好地了解下这一新标准提议。

为什么改变世界上最受欢迎的ERC-20代币标准是有必要的?ERC-20标准已成为60,000多余项目的根基:如EOS,其市值超过了45亿美元;及世界上最大的加密货币交易所币安发行的BNB等。为了回答这个问题,我们有必要比较下现有标准与新标准,然后评估它们的应用风险。

以太坊成功的故事

虽然比特币被认为是世界上最流行的加密货币,但以太坊不仅是第二大最流行的加密货币,而且还是导致2016-2017年加密货币市场繁荣的区块链。如果没有以太坊平台,就永远不会有“too the moon”这一短语,以太坊在短短几个月的时间里将加密货币从极客们的玩物变成为古典投资者和数百万普通人的新投资工具。

以太坊区块链的主要优点,包括其开发应用程序的过程极其简单,及使用智能合约签发代币的过程不会出现任何障碍。现在,任何人都可以在一分钟内创建一个代币,也就是发行一种新的加密货币。这样的便捷性导致了ICO的爆发。另一个可以进一步促进ICO市场发展的工具便是ERC-20代币标准。

ERC-20标准

在标准化之前,以太坊开发者必须为每个代币创建单独的Solidity智能合约。事实上,每次都需要创建一种新的、独特的智能合约。交易所或钱包的管理者每次都必须编写对应的独特代码以支持每个新代币。 出现的代币越多,这个过程就越难完成。此外,各式智能合约发行的代币彼此之间兼容性也很差。

因此以太坊的开发者们为所有代币创建了单一的ERC-20标准,其中ERC表示“以太坊征求意见”(Ethereum Request for Comment),而数字“20”则代表分配给该征求意见的编号。

2015年发布的这一标准彻底改变了加密货币行业,它成为了中心指南,规定了哪些功能和事件必须在智能合约中实现。新货币的发行、交易和兑现从未如此简单。

该标准包含智能合约的六个强制参数,主要三种功能:

1. 设置代币的初始分发:

totalSupply - 确定代币的最大数量,达到该数量后,智能合约将停止发行代币。

balance0f - 将代币数量分配给任一地址的函数。可以获取任一地址代币的余额。

2. 转移代币:

transfer - 一个根据ICO结果将代币从主地址移动到新所有者地址的函数。

transferFrom - 一个在用户之间转移代币的函数。

3. 执行管理功能:

approve - 为智能合约检查代币可用性的函数。

allowance - 确认地址上有足够的代币来发起转移的函数。

一旦制定了该标准,交易所和钱包就能够统一它们的代码,以便处理使用ERC-20协议创建的任何代币。正如预期的那样,之后以太坊平台的应用数量迅速飙升。

ERC-20标准背后面临的挑战

去中心化网络的开发者首先是程序员,接着是商业经营者。因此,在决策过程中,人们几乎总是遵循着形式逻辑。例如,一些开发者可能不太关注 “51%攻击” ,因为代币本身会贬值,或者因为其攻击成本可能超过了黑客所能获得的收益。但似乎新型攻击的发起者有着完全不同的逻辑,2018年大量的新型攻击证明了这一点。

开发者们认为考虑代币的功能仅在ICO发布时是有必要的,而在其它服务上是无用的。但事实证明并非如此,一些团队,甚至那些不会编程的团队,也开始探索区块链的发展可能。例如,出现了单纯为好玩而创建的无用代币。

其他自定义功能甚至可能会危及用户的账户安全。例如,一些开发者通过同时执行approve和transferFrom函数实现了对交易所账户的充值。这些资金从发送人的账户中消失,但却未被记入其交易所余额,因为接收方智能合约存款的功能并没有确定。问题是,以太坊的开发者并没有提供这种转让的选择,但也没有禁止,区块链最初并不支持合约的自我确定功能。结果,加密货币的所有者损失了数百万美元,这些钱永远消失在了网络之中,如果未完成的交易没有被发送者立即取消,那么这些钱便会消失。

安全审计人员Dexaran注意到了这个漏洞,他随后开发了ERC-223标准,添加了tokenFallback函数。如果transferFrom函数未执行,则执行该函数。然而,尽管如此,这个由匿名程序员创建的新函数也没有得到广泛认可。

在Solidity更新后,6月份,来自德国的Solidity开发者Lucas Cremer发现了另一个漏洞。事实证明,有相当大比例的ERC-20代币transfer函数的返回值不同。这些代币合约的transfer函数没有返回任何内容。受该影响的代币有BNB和OmiseGO。Corner指出,人们应该关注的是,这些资产可能会以不可预测的方式运作,他警告说,需要“尽快”修复该漏洞。

ER-777:给予ERC-20的重击

由于成千上万的代币、交易所和钱包都与ERC-20关系密切,其漏洞是无法消除的,因此以太坊开发者们决定发布ERC-777,一个名字受幸运数字777启发的新标准。

ERC-777的EIP(Ethereum Improvement Proposals,以太坊改进协议)于2017年11月20日发布,并得到了社区的认可。但是,为了充分发挥其作用,新标准需要一个辅助的ERC-820协议,该协议为形成统一智能合约注册方式确立了规则。在这个中心化注册表的帮助下,以太坊区块链的主要问题——无法确定合约执行的函数,得到了解决。

现在它是如何运作的?任何具有函数功能描述的合约都可以一次性注册; 并且在执行代币转移时,区块链可以应用于注册表以澄清允许的行为。如果用户尝试使用代币执行无效操作,则这些代币只会保留在帐户上且不会消失。

在柏林的DappCon会议上,Jodi Baylina和Jacques Dafflon通过使用一个新术语 - “hook” (钩子) 来解释描述新标准的具体细节,以确定“在代币转移期间可以调用的函数”。这些函数与ERC-820协议配合运作,可提供ERC-20中缺少的简单类型的详细内省。因此,就可以检代币是否拥有具体特征以执行或拒绝操作,从而使得智能合约变得更加智能。新的ERC-777标准将解决接收方的代币在发送到不支持接收或管理此类资产的合约时会丢失的问题。由于这样的漏洞,以太坊社区已经损失了数百万美元。很大一部分资金似乎永远地被困在了一些顶级ICO项目的合约之中。以下只是其中的一些:

然而,防止由于不正确的交易而导致代币丢失的保护并不是该新标准的唯一创新,该新标准旨在进一步发展区块链。

例如,ERC-777内置了trusted operator函数,可以代表所有者转移和焚烧代币。这是通过执行authorizeOperator函数实现的,例如,可用于在ETH中完成即时自动付款。

此外,该标准允许你使用ITokenRecipient函数来检查接收人的地址是否支持“白”或“黑”名单。此外,上面提到的“hook”使得可以监视代币的行为,根据具体情况,允许你屏蔽某些地址并执行其他更多操作,包括发送者和接收者的对交易过程的干预。

如果你需要更多关于ERC-777的详细信息,可以参考GitHub上以太坊的相关信息。

再见,ERC-20

ERC-777标准向下兼容ERC-20,任何基于先前标准的项目都可以顺利地转移到新标准。假设使用先前标准的代币、交易所和钱包对ERC-777的发布做出了积极的反应,那么最终以太坊这一传奇的漏洞将不复存在。这将意味着,在新标准上发行代币的程序又简化了,这可能又将导致加密货币行业的相关活动激增,与2016至2017年引发的热潮不相上下。

此外,新标准显著扩展了以太坊区块链系统的功能,这将吸引开发者们的注意。开发者们对新标准的激烈讨论便是最有力的证据。

最后,ERC-777标准包含着完全重新设计的函数和逻辑,这将避免在执行智能合约时与其他代币标准发生交叉和产生混淆。

谈到ERC-777的缺点,是的,它有一个缺点:它依赖于智能合约的中心化注册。在区块链的去中心化意识形态中,这不是一个理想的方法。这将需要以太坊开发者们采取其他额外措施,以确保其注册表的安全性。

一位著名的加密货币YouTube用户“Ivan on Tech” 确信 ERC-777的成功只是时间问题,尽管以太坊基金会完全注销ERC-20的进展可能会很慢:

“展望未来,以太坊基金会真的需要支持ERC-777,它可以取代ERC-20,因为它更好。以太坊基金会仍然具有相当大的影响力,他们正在推进ERC-20。这是他们宣传最多的。但是在未来,我们可能会转而改用ERC-777。”

或许,一个新的、更有前途的代币标准将为以太坊网络的发展提供新的动力。在此之前,虽然GitHub上他们仍保持着沉默,但似乎没有什么比让以太坊团队完成他们的工作更重要了,我们知道他们擅长于此。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分