点击上方“蓝色字”可关注我们!

暴走时评:ERC-20是以太坊团队在2015年推出的适用于所有代币智能合约的单一标准,同时也是世界上最受欢迎的代币标准。而几月前以太坊团队承诺将会推出一个新的代币标准— ERC-777 —来全面取代ERC-20。这很大程度上是因为ERC-20存在一个无法消除的漏洞,即由于不正确操作而导致代币资产永远消失在智能合约中。为了解决这个漏洞带来的巨大损失,以太坊开发者创建了基于一个智能合约的中心化注册表的ERC-777。这一新的标准除了可以预防代币损失之外,同时也意在进一步开发以太坊区块链,且可以向后兼容ERC-20,是对代币发行流程的又一次简化。

作者: Julia Magas   翻译:Maya

夏天的结束是定下个人目标的好时机。我们不妨借着夏日最后的明媚阳光回顾这个夏天的重大事件,例如,Jordi Baylina、Jacques Dafflon 和Thomas Shababi承诺推出的已经准备好的ERC-777代币标准,它旨在取代目前世界上最受欢迎的代币标准,ERC-20。7月20日,Baylina在于柏林举行的DappCon论坛上做出了这个承诺。按照传统,人们在这个论坛上讨论与以太坊区块链相关的重要举措、工具和更新。开发者表示ERC-777已经做好发表准备,并且将于8月全面推出。

然而,8月来了又去,围绕着建立基于以太坊区块链的新标准的最新尝试,开发团队似乎依旧保持沉默,又或者他们正在默默酝酿一个大惊喜。虽然自7月以来在GitHub上就没有发布任何与ERC-777相关的更新,但我们或许可以从上周Baylina发布的一条推文中找出即将发布的新标准的蛛丝马迹。现在,让我们回过头来更好地了解这这个项目的背景。

为什么我们需要改变世界上最受欢迎的代币标准?这个标准是世界上最大的交易所之一Binance的交易代币以及超过6万个项目的基础,其中包括资本超过45亿美元的EOS。为了回答这个问题,我们需要比较现有标准和新标准,然后评估其应用风险。

以太坊成功史

尽管比特币被认为是世界上最受欢迎的加密货币,以太坊却不仅仅是第二大受欢迎的加密货币,它还是带来2016到2017年加密货币市场繁荣景象的区块链。如果没有以太坊平台,就永远不会出现“to the moon”这一短语,加密货币由此在几个月内从极客们的一种娱乐转变成了面向传统投资人和数百万普通人的新工具。

以太坊区块链的主要优点包括极简的应用程序开发过程以及通过智能合约实现的无障碍代币发行流程。现在,任何人都可以在一分钟内创建,也就是发行一种加密货币。这种便捷性导致了ICO的爆炸式增长。另一个可以进一步推动ICO市场的发展的工具则是一种简单的代币标准,由此就孕育出了ERC-20。

ERC-20代币标准

在标准化之前,以太坊开发人员必须为每一个代币创建一个独立的基于Solidity开发语言的智能合约。实际上,这意味着每一次都需要创建一个新的、独一无二的智能合约类型。而交换所或者钱包的创始人不得不为每一种新代币编写独一无二的编码来支持它们。出现的代币越多,这个过程的难度就越大。此外,在各自专属的智能合约上发行的代币彼此间几乎不兼容。

以太坊开发者创建了一种适用于所有代币的单一标准—ERC-20,ERC代表了“以太坊征求意见(Ethereum Request for Comment)”,而20则是GitHub的社区发行号码,这是随机的。

2015年,这个单一标准的出现彻底改变了加密货币行业,成为了该行业的核心指导方针,规范了在每个智能合约里需要执行的功能和事务。新货币的发行、兑换和变现从未如此简单。

该标准包含了智能合约的六个强制参数,并且负责三个主要方向:

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

totalSupply — 决定了发行代币总量,在达到该数字后,智能合约将停止发行代币。

balance0f — 将初始数量的代币分配给任一地址的功能。

2.转移代币:

transfer — 根据ICO结果将初始地址的代币转移到指定地址的功能。

transferFrom — 在用户间转移代币的功能。

3.执行管理职能:

approve — 核实一个智能合约上可转移的代币额的功能。

allowance — 确定一个地址拥有足够代币以便向另一个地址转移代币的功能。

一旦制定了该标准,交易所和钱包就能够统一代码,以便处理用ERC-20协议创建的任何代币。正如预期的那样,采用以太坊技术的未来应用程序随之剧增。

ERC-20标准背后的挑战

去中心化网络的开发者首先是程序员,之后才是商人。因此,在决策过程中,他们几乎总是遵循形式逻辑。例如,一些开发人员可能不太关心“51%的黑客攻击”,或是因为币种本身贬值,或是因为攻击成本可能会超过黑客获得的利润。但似乎这种攻击的组织者有着完全不同的逻辑,2018年大量新的黑客攻击已经证明了这一点。

另外,对开发人员来说代币的功能只有在ICO发行中才是不可或缺的,他们并不在乎其他服务。事实证明并非如此,一些团队,甚至那些谈不上编程的团队,也开始探索区块链的可能性。举例来说,这也带来了为了娱乐效果而创建的代币,例如以太坊Useless token。

而其他的自定义功能甚至可能破坏用户安全性。例如,一些开发人员通过同时执行“approve”和“transferFrom”功能来实现充值交易所账户的操作。资金从发送者的账户中扣除,但未记入他们在交易所的资产负债表中,因为接受者的智能合约的存款功能尚未确定。问题是,以太坊开发者没有提供这种转账方式的选项,但也没有禁止它,而区块链从一开始就不支持合约的自定义功能。因此,加密货币的持有者损失了数百万美元,这些钱都永远地消失在网络中了,因为如果这笔资金的转账者没有马上取消这笔未完成的交易,这些代币就会消失。

安全审计员Dexaran注意到了这个漏洞,于是他开发了ERC-223标准,在其中添加了“tokenFallback”这个功能。一旦“transferFrom”功能未能执行,这个新功能就会被触发。然而,尽管有了这项新发明,这个由不具名的程序员开发的功能却未被广泛接受。

6月,在Solidity更新后,Lucas Cremer发现了该标准的另一个漏洞,他是一名来自德国的Solidity开发者。事实证明,在执行transfer功能的价值返回时,很大比例的ERC-20代币,也就是作者所说的“坏代币”,以另一种方式运作。这些代币合约的transfer功能没有返回任何值。实际上,受到影响的代币中包括Binance和OmiseGO平台上的代币。Corner指出,人们应该关注的是,这类资产可能会以一种不可预测的方式开始执行操作,他还警告称这个漏洞必须被“尽快”修复。

ERС-777:对ERC-20的一记重拳

由于成千上万的代币、交易所和钱包都和ERC-20有着紧密的联系,它的漏洞是不可消除的,因此以太坊开发者们已经决定推出一种新的标准,而其名字的灵感则源自于幸运数字777。

ERC-777的以太坊改进协议(EIP)于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函数检查接收人的地址是否支持“白”或“黑”名单。且上述“hooks”操作还帮助实现了不同情境下对代币操作的监视,使你能够屏蔽特定地址,同时执行一系列其他操作,包括发送者和接收者对交易过程的干预。

如果你还想了解关于ERC-777的更多细节,你可以访问以太坊的GitHub上的相关帖子。

ERC-20的谢幕

ERC-777标准向后兼容ERC-20,同时所有基于旧标准的项目都可以无缝转移到新的标准中。我们可以假设通过旧标准执行代币操作的交易所和钱包,将对ERC-777的引入作出积极反应,后者最终将终结以太坊区块链中的传奇性“漏洞”。事实上,这将意味着在新标准中发行代币流程的简化,这可能会造成加密货币业活动的又一次激增,且与2016-2017年的热潮不相上下。

此外,新标准大大扩展了以太坊区块链系统的功能性,这将吸引开发人员的注意。围绕新标准的激烈讨论就是最好的证明。

最后,ERC-777标准涵盖了经过彻底修改、再设计的功能和逻辑,将避免和其他代币标准的交叉以及在执行智能合约时出现混淆。

谈到ERC-777的缺点,确实有一个:它依赖于一个智能合约的中心化注册表,这在区块链的去中心化意识形态中并非是一种理想的方案。这就需要以太坊开发者们通过其它方法来确保注册表的安全性。

一位加密货币方面的知名油管博主“Ivan on Tech”称,他确信ERC-777的成功不过是时间问题,即使实际上以太坊基金会彻底注销ERC-20的过程可能会很慢:

“展望未来,以太坊基金会确实需要支持ERC-777,它会取代ERC-20,因为它具有更出色的性能。因此,问题在于以太坊基金会依旧有相当的影响力,而他们目前在推广的还是ERC-20。这是他们目前推广最多的内容。但是,将来的情况可能是我们会转向ERC-777。”

或许,一个新的、充满潜力的代币标准将会为以太坊网络以及ETH的发展提供新的推动力,尤其是ETH自7月起已经跌至新低: 194美元。在此之前,既然GitHub正保持沉默,似乎除了等待以太坊团队完成他们的工作,我们也没有更好的选择。至少,我们都知道他们对此十分擅长。

本文仅代表作者个人观点,不代表区块链铅笔的立场,不构成投资建议,内容仅供参考。

3分钟了解什么是区块链?(中文动画)|(英文动画教程)

3分钟了解什么是DAO?(中文动画)|(英文动画教程)

3分钟看懂以太坊和智能合约?(中文动画)|(英语动画教程)

3分钟了解比特币挖矿和区块链共识机制?(中文动画)|(英文动画教程)

3分钟了解公有链和私有链(中文动画教程)|(英文动画教程)

3分钟了解区块链的六层模型(中文动画教程)|(英文动画教程)

什么是区块链英文版(动画教程)

肖风:区块链与另类资产配置

逐鹿区块链!详解三大巨头BAT区块链战略布局

麦肯锡报告:区块链对保险行业的影响

八张图表解读区块链的未来发展

震惊全球的The DAO黑客事件全程回顾

Circle获得包括IDG、百度、万向在内6000万美元融资

关注本公众号后,进入公众号

回复关键词可以查阅资料,以下是部分关键词

回复 WEF ,查看《WEF:世界经济论坛认为区块链是互联网金融行业的未来报告》

回复 智能合约 ,查看《巴克莱银行报告》

回复 moody ,查看《穆迪120个区块链项目报告》

回复 SWIFT ,查看SWIFT《区块链对证券交易全流程产生的影响及潜力》报告

回复 论文11 ,查看论文《可扩展的去中心区块链》

回复 埃森哲2 ,查看埃森哲《区块链每年可以为投资银行节省120亿美元》报告

回复 联合国报告 ,查看联合国报告《数字货币和区块链技术在构建社会和可信金融之间扮演的角色》

回复 用户特性 ,查看普林斯顿大学首本比特币教科书初稿《比特币用户的特性(Characteristics of Bitcoin Users)》

回复 普林斯顿 ,查看普林斯顿大学首本比特币教科书初稿《比特币和数字货币技术(Bitcoin and Cryptocurrency Technologies)》

回复 IMF,查看国际货币基金组织报告《Virtual Currencies and Beyond: Initial Considerations》

回复 DTCC ,查看美国存管信托清算公司报告《DTCC: 拥抱分布式》

回复 广发 ,查看报告《科技前沿报告:区块链:正快速走进公众和政策视野》

回复 川财1 ,查看报告《川财证券:区块链技术调研报告之一:具有颠覆所有行业的可能性》

回复 川财2 ,查看报告《川财证券:区块链技术调研报告之二:区块链技术进化论-区块链技术的国内实践和展望》

回复 桑坦德 ,查看桑坦德银行报告《The Fintech 2.0 Paper: rebooting financial services》

回复 拜占庭 ,查看《拜占庭将军问题详解》

回复 论文1 ,查看论文《比特币闪电网络:可扩展的离线即时支付》

回复 论文2 ,查看论文《比特币骨干协议》

回复 论文3 ,查看论文《数字货币是否应该进入Barbados央行国际储备货币组合中》

回复 帮助 ,查看本公众号全部关键词列表

点击下方“阅读原文”查看更多,页面出现后再点击“来源”可以查看译文原文链接 ↓↓↓

夏日将尽:以太坊的ERC-777能否顺利取代ERC-20?相关推荐

  1. 以太坊数字资产的发行和流通:以太坊上的数字资产定义、ERC 20代币合约标准、ERC 20标准接口、ERC 721代币合约标准、

    第七章 文章目录 第七章 一.以太坊上的数字资产定义 二.发行和流通 三.ERC 20代币合约标准 1.ERC 20标准接口 2.现有的ERC 20标准代币 三.ERC 721代币合约标准 1.标准定 ...

  2. 5500xt挖矿算力_(视频)静态计算 RTX 3080 的以太坊挖矿回本周期 白露矿业报告 (20.09.19)...

    知乎视频​www.zhihu.com 投资云算力,了解矿业知识,看白露矿业报告 文字稿如下: 各位观众老爷大家好,今天是 2020 年 9 月 19 日,欢迎收看今天的白露矿业报告,今天我把 IPad ...

  3. 以太坊怎么注册_以太坊2.0将至,牛市即将到来??

    以太坊2.0是一个宏大的项目,我们说它"宏大"不仅表现在性能的提升上,而且体现在整体架构的改变上.而以太坊性能的提升根本也是因为它整体架构的改变,当以太坊进化到20时,它现在架构中 ...

  4. 以太坊系列(二)---Ubuntu20.04安装以太坊开发环境并建立私有链

    目录 安装版本说明 环境搭建 搭建以太坊 安装Nodejs 安装Solidity 安装Truffle 以太坊开发 安装版本说明 Ubuntu版本:20.04 Ethereum版本:1.10.1-sta ...

  5. 《我学区块链》—— 十四、以太坊安全之 太阳风暴

    十四.以太坊安全之 太阳风暴 2016年6月20日,以太坊用于开发智能合约的静态语言 Solidity,被发现了一个安全漏洞,它可以影响整个以太坊,而不仅仅是 DAO. 回顾DAO漏洞 还记得DAO漏 ...

  6. 分叉在即的以太坊,正在扰动行情

    23日,以太坊官方网站更新了关于以太坊君士坦丁堡升级的最新公告. 自1月17日君士坦丁堡的升级搁浅后,以太坊沉寂了已经有一个多月的时间.而随着7280000(以太坊原定升级区块高度)区块高度的日益临近 ...

  7. 以太坊市值超越花旗,国内外监管收紧,如何看待数字资产下的暗流涌动?

    数字资产行业的"热潮"还在继续,能量四溢. 2020年6月开始,随着机构入场.DeFi各赛道的崛起,以太坊2.0启动,以太坊迎来了诸多利好,价格一路上涨,在今年1月获得诸多突破,并 ...

  8. 脾气太大了!因为暴雪删了术士的“生命虹吸”,19岁少年创立了市值千亿的以太坊...

    "生命虹吸都没了,术士还叫什么术士!" 2010年,16岁的少年维塔利克愤怒的删除了<魔兽世界>客户端,因为暴雪刚刚在3.10补丁中移除了术士的技能"生命虹吸 ...

  9. 关于以太坊合并,你需要知道的一切

    撰文:David Hoffman, Bankless 联合创始人 编辑:0x711.0x214, BlockBeats 合并很令人困惑,那就让我们从头开始,深入浅出地讲解这件加密货币历史上发生的最重要 ...

最新文章

  1. 一文带你入门图论和网络分析(附Python代码)
  2. “网络实名制” 你认为有必要吗?
  3. Java处理excel根据某列的值查询,并将结果显示在其他列中
  4. c语言图形时钟编程,C语言图形时钟课程设计实验报告.doc
  5. 网易云信牵手有道乐读,解密「终身阅读者」背后的技术力量
  6. UVa 1626 (输出方案) Brackets sequence
  7. 如何使用jquery_好程序员web前端学习路线分享jQuery学习技巧
  8. Flex itemRenderer 内联渲染器
  9. GCD,大家都知道的回顾
  10. 【剑指offer】面试题30:包含min函数的栈(Java)
  11. android 格式化分区,Android FAT分区格式化
  12. 承担集团数万应用、研发人员日常工作,阿里持续交付平台的设计、迭代之道... 1
  13. 详解华为12种数据采集技术及应用实践
  14. 做游戏,学编程(C语言) 11 2048
  15. 最常使用Eclipse快捷键
  16. ensp的下载与安装
  17. git各种异常问题整理
  18. 数据分析和数据挖掘的概念和理念
  19. 批量图片压缩的方法-免费批量无损压缩软件
  20. springboot界面上传文件和在页面上显示文件

热门文章

  1. 使用Java实现发送微信消息(附源码)_此程序在手再也不怕对象跟你闹了
  2. nao基于opencv的红球识别
  3. PTA 1069 微博转发抽奖(Python3)
  4. 数据库压力测试方法小结
  5. 我的世界32位红石计算机,我的世界4个超棒的红石作品 最后红石计算机看后要跪键盘...
  6. UOS系统升级到1050后无法正常使用输入法功能问题解决方法
  7. 关于K8S外部域名解析和hostNetwork内部域名解析问题笔记
  8. linux 命令中英文对照,收集
  9. vue实现九宫格效果
  10. 像蚂蚁一样的工作,像蝴蝶一样的生活