区块链世界的发展,日新月异。就拿数字资产标准来说,除了以太坊上的代币标准不断在进行迭代更新,其他协议标准也在持续面世,那么它们究竟有何区别呢?
当绝大多数从业者还停留在ERC-20代币标准的时候,ERC-721在今年6月22日也正式成为以太坊网络标准之一。这是一次重大的改变,但代币规则不断完善改进的步伐并不因此就停驻,新的代币标准ERC-1155、BCX-NHAS-1808、ERC-998等纷至沓来。
ERC全称EthereumRequest for Comments,即以太坊开发者提交的协议提案,ERC后面的数字是提案编号。开发者如果计划制定以太坊新标准,需要先在Github上创建一个EIP(Ethereum Improvement Proposal,以太坊改进提案)描述协议内容。经过公开审议后,获得广泛认同的提案会被标准化,列入Gitbub上以太坊代码库的EIPs之中。 EIP的类型包括核心层(Core)、网络层(Networking)、接口(Interface)、元(Meta)等,其中不涉及修改以太坊本身代码的这部分提议,通常会被归类为ERC。
本文主要介绍以下4种数字资产标准,分别是:已经被正式认可的ERC-20和ERC-721,目前被寄予厚望的ERC-1155以及BCX-NHAS-1808 。
ERC-20
ERC-20是目前使用最广泛的协议标准,大部分ICO代币都基于这一标准搭建。它于2015年11月份推出,一直到2017年9月才正式标准化。ERC-20标准中规定了6个操作函数和2个事件函数,包括totalSupply、balanceOf、transfer、transferFrom、approve以及allowance。使用这种规则的代币,表现出一种通用的和可预测的方式。简单来说,任何 ERC-20 代币都能立即兼容以太坊钱包。
不过,由于ERC-20标准本身也存在一些缺陷,其中最严重的是在接受指令方面存在问题,在某些情况下会导致资金损失。此外,由于其准入门槛过低,导致当下数字货币市场充斥着大量垃圾空气项目,严重的扰乱了市场秩序。
ERC-721
ERC-721 于2017年9月提出,2018年6月22日正式成为以太坊网络标准之一。它规定了10个操作函数和两个事件函数,包括name、symbol、totalSupply、balanceOf、ownerOf、approve、takeOwnership 、 transfer 、tokenOfOwnerByIndex和tokenMetadata。
与同质化代币标准ERC-20不同,ERC-721是一种非同质化代币(Non-Fungible Tokens,简写为NFTs)标准。去年年底横空出世的以太坊现象级游戏CryptoKitties是第一个实现了ERC-721 标准的去中心化应用。为了更好的理解非同质化的定义,我们就以CryptoKitties为例说明。在CryptoKitties中,每一只猫都被赋予并拥有独一无二的基因,猫与猫之间是不能分割的,每只猫都会拥有自己的标签等独特属性,这种稀缺性导致了它具备一定的收藏价值。但是,ERC-20是可置换和可分割的,某些部分或者数量可以被另一同等部分或者数量所替代。
实际上,ERC-721拥有更加广阔的应用场景,它可以将现实中的实物资产都映射到区块链上,无论是图书馆中的一本书,还是商场中的一件衣服,抑或是每只宠物等,都可以进行数字资产化,并且进行链上交易。更重要的是,非同质化更强调的是个人化的,是一种人性化的所有权。
ERC-1155
今年第二季度,游戏开发平台Enjin推出了一个名为ERC-1155的全新的以太坊代币标准。相较于ERC-721这种比较早期的非同质化代币标准,ERC-1155能够更好的解决游戏开发者当前面临的一些问题。
此前,链鱼鱼也曾对Enjin进行过研究分析,详见(链游东风已来,聚焦道具上链的ENJIN能否脱颖而出?)。Enjin专注于道具上链,并且希望通过打造一体化的游戏开发平台,推进游戏游戏开发者、游戏服务器以及游戏社区三者协同实现跨平台管理游戏资产。
ERC-1155代币标准的提出,一方面,通过将所有代币(物品)存储在单个合约中,开发者只需要用最小量的数据就能区分项目,而不再依靠智能合约中重复的、相同的代码,从而极大地减少研发成本;另一方面,它还优化了现有的代币兑换模式,消除了“中间商”,也就是所谓的原子交换。
基于现行的代币系统,用户完成兑换交易需要经历四个独立的步骤,操作繁琐耗时。而如果采用ERC-1155规则,用户能够将他们想要交换的所有代币(物品)捆绑在一个合约中,只需要一个批准步骤即可完成。此外,单个或多个代币(物品)还可以一次性地发送给单个或多个接受地址,节省了大量的gas费用,能够有效缓解以太坊的拥堵情况。
总体而言,ERC-1155标准的灵活性更强,它的进步之处在于可以融合不同代币(可能是同质化代币,也可能是非同质化代币,抑或是两种代币的混合体)进行“打包处理”。
BCX-NHAS-1808
BCX-NHAS-1808是Cocos-BCX推出的新的非同质化代币标准。对于Cocos-BCX,链鱼鱼也曾做过专访调查,详见(独家专访|“当前还没有看好的游戏类DApp”,陈昊芝讲述Cocos的链游探索布局之路)。一般来说,区块链游戏发展会经历四大阶段,截至目前,Cocos-BCX已经完成了使用token进行游戏充值、结算和游戏内道具可以基于区块链生成,通过智能合约约定这前两个阶段,并正在对第三阶段,即游戏核心逻辑上链进行产品测试。在技术形成之后,Cocos-BCX通过和业界各方的探讨,最终提出了适用于游戏资产的非同质化代币标准 BCX-NHAS-1808以及适用于非易失性资产的非同质代币标准BCX-NVAS-1809。
公开资料显示,非同质化代币标准 BCX-NHAS-1808与其他以太坊非同质化代币标准相比,具备许多优势,比如:具备资产与合约分离的特性以及可拓展、可自定义的数据区域、可兼容其他非同质资产标准。
其中,在BCX-NHAS-1808标准中,资产数据与合约分离,独立存储于链网络中。这一设计能够使资产拥有者具备该资产的全部权限,资产操作仅能由拥有者的授权完成,这就可以避免因资产合约不分离而出现通过修改合约内容而破坏资产属性或者调用他人资产的情况发生,并且不考虑合约因素的制约则更容易实现非同质资产的跨链映射。
结语
除了上述提到的这些代币标准,还有许多其他的改进协议也很值得我们关注,比如说:在ERC-20基础上增加了tokenFallback函数,能够更好地处理错误情况的的ERC-223;在ERC-20基础上增加了increaseSupply和decreaseSupply函数,能够控制代币总量的增减的ERC-621;非同质化代币标准ERC-998;ERC-827;ERC-875等。
不过,这些协议大部分处于草稿(Draft)状态,离正式标准化距离尚远。即使是已经被正式认可的ERC-20和ERC-721,也仍然存在许多不足和可提升的空间。随着区块链技术的不断成熟和越来越多应用落地的需求,在现有代币标准的基础上优化出更完善的解决方案是开发者需要深入探索的方向之一。