那些可能取代ERC20的顶级以太坊智能合约

2018年6月15日 00:36

本文转自:Cointelegraph, 由奇点财经翻译,原作者Julia Magas

现在,任何人都可以创建一个基于以太坊区块链的智能合同,并发布他们自己的令牌。直到最近一种特定的硬币的实现完全委托给该硬币的开发人员,它具有一种实验性的性质,通常伴随着一些相关的问题——包括冻结投资者的资金、破坏合同或不可预知的网络操作。

在这个“狂野的西部”的氛围中,新的以太坊合约正在被创建,该版本的设计初衷就是要修正以前版本的错误。也许其中一个会在年底取代ERC20,让用户使用区块链更加可靠和简单。

ERC20: 去中心化应用之王

用户友好的逻辑和简化的结构使以太坊成为一个高需求的框架,83%的项目选择以太坊区块链作为底层结构。

图片来源:ICOWatchList

 

超过12个主要的代币是基于ERC20标准,并且每天大约有400枚新币发行。虽然这些数字听起来可能不真实,但Coinmarketcap评级和以太坊区块链的代币图表显示,此类代币的总市值约为52.6亿美元。此外,这一进程似乎完全不受控制,因为没有立法来管制这一问题的频率或引发者。

 

 图片来源: Ethplorer

当你阅读以太网上的信息时,你可能会看到“ERC20”。ERC20是以太平台中最常见、应用最广泛的标准。维基百科给出了以下定义:

 ERC代表请求以太坊的评论(Ethereum Request for Comment的缩写),20是分配给这个请求的数字。

ERC20标准于2015年出台。虽然该标准最初只被程序员使用,但仅仅两年内就被广泛采用。该标准描述了在其基础上开发的硬币的创建和操作规则。这样的规范是加密货币行业的创新解决方案,因为直到那时还没有统一的编程标准——它解决了新代币创建者遇到的主要问题。

问题是,在引入该标准之前发行的所有硬币都是完全惟一的,这使得交易所、钱包和其他用于与新令牌交互的应用程序的工作变得非常复杂。每次开发人员都必须修改或添加一层(layer)到他们的软件中,这样新硬币才可以稳定地工作并且与他们的系统兼容。

在2017年,由于代码的一致性和简化了与各种应用和平台的融合,ERC20标准开始被广泛使用。它引发了首次币发行(ICO)型初创企业的爆炸式增长,这些初创企业现在拥有了进入交易所和克服流动性问题的必要工具。

图片来源:Smith&Crown

在ERC20的实施之后,在加密货币市场上的ICO创业公司的数量在2018年5月的时候显着增加了近86000个令牌。毫不奇怪,项目不再需要为令牌的发布和操作发明自己的规范和规则,或者开发与独立的区块链兼容的标准。所有这些已经在ERC20标准中进行了描述,并引入了六个主要功能:

  • 总金额的硬币;
  • 在特定地址的余额上的硬币数量;
  • 将代币从主地址转移到单个用户地址或ICO参与者的地址;
  • 用于在用户之间传输代币;
  • 在智能合同上检查代币余额的功能,可以提取资金;
  • 确保发送方在发送时拥有足够的代币来完成事务。

聪明的合同:经济

ERC20标准成功的主要秘诀是引入了智能合同。虽然智能协议的基本原则已经在比特币区块链中实现,但它们的功能非常有限,不适合为单个dApps创建代币。这就是为什幺以太坊能够被认为是第一个充分开发并实施智能合同概念的平台。

 

图片来源:Openxcell.com

智能合约的主要内容如下:当用户向收件人的地址发送代币时,发件人的地址余额会减少,而收件人的地址余额会增加。这有什幺特别之处呢?从技术层面上讲,没有人会给任何人发送任何东西。事实上,智能合同被告知所有者在一定数量的代币余额变化。结果,代币就从发送者的钱包中消失,出现在接收者的地址中。由于这个系统,网络中的节点不再需要不断地检查数据库。他们现在需要做的就是验证所有合同条款的准确性,因为双方——发件人和收件人——通过智能合同进行专门的交互。

  要求

  由于ERC20标准是基于以太坊协议的第一个版本,随着时间的推移,出现了许多问题和缺点。例如,用户不小心将代币发送到智能合约的地址,并不可能逆转交易。这是因为ERC20令牌的标准实现涉及两种传输令牌的方式:

  • 传输功能,允许将代币从一个地址发送到另一个地址;
  • 向智能合约发送代币的(审批+转换)的组合功能。

应该指出,事件处理是编程中众所周知的标准实践。因此,以太网络中资金的转移工作如下-转移是在检测错误的可能性下进行的。在这种情况下,只有在资金成功转移和没有任何错误的情况下,交易才会被认为完成。否则,智能合同将取消交易。如果你将ETH发送到一个不与之合作的智能合同,这个事件处理将有助于避免损失资金,因为这个交易将被接收者拒绝。

根据ERC20标准,代笔传输应该被视为一个事件,但是传输功能不允许处理这个交易,因为它只是增加了接收者的余额,而不进行任何预先检查。如果接收方是智能合同,而令牌是使用“传输”功能发送的,那幺当合同不能识别交易时,这可能会导致问题。这会导致传递功能的意外行为,并导致不可预知的结果——例如,代币可能丢失并永久冻结。

以太坊的创建者如何解决这个问题?答案很简单——开发人员引入了审批和转出功能,使用户有权在发送交易时允许智能合同提取资金。此后,任何错误都被排除在外。

值得注意的是,开发人员自己并不认为这是一个错误:

这不是一个错误,而是一个用户错误。它不是bug或漏洞,而是准ERC20设计的一个特性。

然而,这个问题仍然存在——去年ICO参与者损失了超过4百万美元。一个重要的例子是EOS tokensale智能合同,它从无法收回资金的用户那里获得了大约210万美元。将投资者的资金据为己有的其他合同包括Tronix——40万美元、Golem和ZRX——各超过20万美元,以及OmiseGo迄今冻结的15万美元以上。新用户似乎没有从别人的错误中吸取教训。

 ERC223:纠正ERC20错误  创建人:Dexaran  型:准的代

为了解决以太坊第一个版本中存在的漏洞,用户Dexaran开发了ERC223标准,该标准迫使ERC20标准在转让ETH到智能合约时采取与之相同的行为。现在,如果传输功能出现错误,当智能合约不支持该加密货币时,交易将被取消。为此,提出了两个新的功能:

  • 转换功能代替旧的转移;
  • 目的地智能合约的tokenFallBack功能,决定发送硬币的类型。

对于代币,通常会提出新的标准。通常来说,加密社区和区块链开发人员都会仔细检查它们。其中一些虽然不是很有名,但仍然有可能取代ERC20。

 ERC721:链养猫和其他集合  创建人:Dieter Shirley 类型:具有收藏价值的代币

在ERC20标准的帮助下创建的代币是可以互换的。换句话说,每个标记与另一个标记相同。如果将其视为一种货币,那幺这个属性是必要的,但是从“加密货币收藏品”的角度来看,这样的标记根本不适合。多亏了ERC721,每个令牌都变得惟一。Mike Raitsyn是SnowFox platform的联合创始人,该公司帮助一些项目发行了超过30个令牌,其中包括ERC721,并看到这种合约的潜力: “结合第2层扩展解决方案(分片、Plazma和状态通道),我们得到了一个终极工具,可以将所有重要资产以100%的不可变性和安全性放在区块链上(如果您愿意,也可以是混合型)。”“以太网的杀手”网络游戏密码的开发者是第一个使用这个标准的人。它基于独特属性的使用:年龄,颜色,品种。一些混合属性会变得非常罕见,使得小猫非常昂贵。毫不奇怪,这一想法被其他的娱乐项目所采纳,比如CryptoPets,甚至是CryptoPunks。

ERC827:新ERC20  创建人:Augusto Lemble   类型:标准代币

ERC827是以太坊协议的最新版本之一,并被区块链媒体记者Dariusz R Jakubowski称为“新的ERC20”。与其前身不同,该标准不仅可以转移成本,还可以转移交易数据。开发人员设法将这个函数添加到尺寸小于100行的相对较小的代码片段中。该功能拓展了以太坊网络在全国的使用范围,并使得几秒钟内在世界各地数据移动成为可能。此外,该标准允许第三方(例如经纪人或代理人)验证交易而无需访问私钥而区块链的安全性和可靠性却·保持不变。

ERC948:B2C商人的乐园  创建者:Kevin Owocki  类型:订阅代币

“订阅”模式在数字世界中变得非常流行,仅在去年就吸引了1100万客户。根据一份针对麦肯锡公司的研究显示,在2017年,所有买家中有15%都订购了电子商务。
ERC948协议为开发人员提供了一个建立平台的机会,在这个平台上公司可以使用过去十年中在零售和软件行业已被证明的、有价值的经济模型。此外,通过区块链项目与客户的结合,订阅模式可能在2018年获得更广泛的传播。

ERC884:投资者的“白名单”  创建人:Dave Sag   类型:标准代币
根据2017年的一份法律草案,特拉华通用公司法(DGCL)正式允许使用区块链登记股东。 ERC884是为特拉华州的公共和私人公司所发布的资产而建立的,其中包含几种ERC20以外的附加组件。这包括识别的代币的所有者并将其列入白名单作为代币的组成部分的指令。

协议的演变
占主导地位的加密货币之间日益激烈的竞争推动了新协议发展的演变。每个新的以太坊令牌标准都提供了一套优于现有功能的且更加先进的功能。这些新标准的推出允许开发人员解决一些积压已久的漏洞、滥用或低效率问题,并诞生更成熟的区块链dApp。2018年新协议问世的时机已经成熟,只有时间能够证明该行业是否会见证ERC20000或其他的创新性工具,这些工具将在以太坊和EOS之间的竞争中崭露头角。