专栏名称: 以太经典社区
与核心团队紧密联系,分享以太坊经典(ETC)相关技术、生态与社区新闻。此公众号由以太坊经典中国社区(Ethereum Classic Community)运营。
目录
51好读  ›  专栏  ›  以太经典社区

科普丨你常听到的ERC20、ERC223及ERC721到底是啥?

以太经典社区  · 公众号  ·  · 2018-09-05 16:05

正文


以太经典社区最近经常收到社区用户有关代币标准的问询,如,ERC223是什么?它跟ERC20、ERC721有何联系和区别?ERC721可以应用在哪些场景……


现在,我们来统一科普下代币标准的发行原因以及目前市场上常见的几种代币标准。

接触过数字货币的人都应该知道,以太坊是一个分布式的智能合约平台,可以分发代币(Token)。截至2018年8月23日,以太坊上有112686个代币的智能合约,我们可以在以太坊区块链浏览器中查看相关数据:

https://www.etherscan.io

发代币的过程

用户写一份适合自己场景的智能合约,然后向这份智能合约发送一些ETH或ETC,合约就会根据规则自动返还给你一定数量的代币。

1

为什么要设计代币发行标准?


因为每个创建的合约都不一样,后期对于交易所、钱包开发和第三方应用开发都是个比较麻烦的事情。而且代币有成千上万种,如果每个代币的规则都不一样对于后期的市场发展是非常不利的。

所以开发者就做了一个智能合约设计标准,也就是现在的ERC20。这个代币发行标准提供了代币接口,规定了代币的基本功能,方便第三方使用。

ERC 是Ethereum Request for Comments的缩写,代表以太坊开发者提交的协议提案。它相当于是以太坊版的RFC(Request For Comments/一系列以编号排定的文件)。ERC后面的数字是议案的编号。

据统计,现在主流的代币基本上80%以上都是基于ERC20发行的。


ERC20标准

ERC20功能

ERC20是一段代码,主要有6个功能,分别是名称,简写,以及可以支持的最大位数以及定义查询方法等等。从ERC20发币的开源代码可以看出,如果一旦你要发币,首先就是要确定名称,代币简称,总量,代币精确小数点后多少位等等。

ERC223标准

ERC20是第一代数字代币标准 ,它是有缺陷的,比如代币丢失问题。


这是因为一个代币的合约只会跟踪和分配代币。例如,当您从钱包中向另一个用户发送代币时,该钱包将调用代币的合约来更新数据库。所以如果您试图将代币直接传输到代币的合约中,那么由于该代币的合约无法响应,所以币就“丢失”了。

采用ERC20代币标准而丢失的代币情况:

1. QTUM, $1,204,273

2. EOS, $1,015,131

3. GNT, $249,627

4. STORJ, $217,477

5. Tronix , $201,232

6. DGD, $151,826

7. OMG, $149,941

以上数据来源:

https://github.com/ethereum/EIPs/issues/223

为了解决代币在以太坊网络上丢失问题,ERC223应运而生。


ERC223新功能

根据开发者的说法,使用ERC 223标准将能减少合同执行过程中Gas的消耗;同时该标准还具有“不允许代币转到不支持代币接受和处理合同”的功能,从而避免代币丢失的危险性。由于其对安全问题的注重,不少人认为该标准未来或许会取代ERC 20。其具体优势表现为:


1 . 解决了将ERC20代币发送到合约时(用户将代币发送到钱包时指令出错),代币丢失问题。ERC223允许用户使用相同传输指令将代币发送到钱包或合约中,从而消除了可能存在的代币混淆和代币丢失问题。


2 . 允许开发人员处理代币转入交易,并拒绝接收不支持的代币(ERC20标准不支持此功能)。


3 . 节约能源。将代币转移到合约中,假如使用ERC20,需要2个步骤;而使用ERC223标准,只需1步即可将代币转移到合约中。由此可见,使用ERC223标准可起到减少Gas消耗和减缓网络拥堵的作用。

2

如何从ERC20代币标准转换至ERC223?

ERC223代币向后兼容ERC20代币,这意味着ERC223兼容ERC20所有功能,ERC223代币能在基于ERC20标准搭建起来的合约和服务上运行。

从ERC20转换到ERC223是非常艰难的,使用ERC20标准发行的代币都需要在ERC223标准下重新部署。这也意味着任何交易平台的上市都需要更新他们的信息和地址。这是一个艰苦的过程,这也就意味着,在未来很少有现有基于ERC20创建的代币被有效地转换为ERC223。

ERC721

除了ERC 20、ERC 223之外,还有名为“ERC 721”的标准,ERC721官方简要解释是“Non-Fungible Tokens”,翻译为不可互换的代币, 英文简写为"NFT",简单理解为每个代币都是独一无二的。也就是说ERC721的每个代币都拥有独立唯一的tokenId编号。







请到「今天看啥」查看全文