大多数情况下你可以直接选择 ERC-3525,它会给你足够的灵活性和可扩展性。少数情况下 ERC-1155 可能是更加简单的选择。
原文作者:孟岩
原文来源:Solv 华语社区
前天(2022 年 9 月 5 日),ERC-3525 半匀质化通证标准正式通过。这两天被问到最多的问题之一,就是 ERC-3525 与 ERC-1155 到底有何区别。我想这个问题以后一定会被一再问起,不如写一篇文章直截了当的解释一下。
先说结论。大多数情况下你可以直接选择 ERC-3525,它会给你足够的灵活性和可扩展性。少数情况下 ERC-1155 可能是更加简单的选择。
具体地说,ERC-1155 和 ERC-3525 是为不同场景设计的,但在实际应用中确实具有一定的竞争性。总的来说,ERC-1155 更简单,ERC-3525 更灵活。
那么在实践中怎么选择呢?凡是 ERC-1155 能做的事情,ERC-3525 都可以实现,而且更具灵活性。所以,如果你非常确定 ERC-1155 就能够满足你的需求,而且你的需求以后也绝不会变化或者扩展,那么就可以选择 ERC-1155,这会简化你的实现。反之,如果你没有把握,或者觉得以后还可能会提出进一步的需求或者改进,那么选择 ERC-3525 是绝不会后悔的。
为什么这么说?
ERC-1155 是一个多通证(multi token)标准。根据其实质,我们更愿意称它为多实例 NFT (multi-instance NFT)标准。它适合于一个相对狭窄的应用场景,就是同一个 NFT 有多个一模一样的实例。注意是一模一样,这些实例彼此之间必须完全相同,不能有一丝一毫的不同。
ERC-3525 是半匀质化通证(semi-fungible token)标准,这是一个通用标准,适用面非常广阔。它可以把多个相似但并不相同的通证识别为“同类”,然后允许同类之间进行相互转账等特殊操作。从效果上,相当于同类之间可以进行合并、拆分、碎片化等数学操作。
两者的差别主要就是在对于“同类”的界定上。
ERC-1155 认为同类对象必须得完全相同,有丝毫不同也不是同类。
ERC-3525 认为同类对象可以求同存异、和而不同,彼此的关键性质相同,但非关键的性质允许存在差异。
说白了,两个标准各自的设计选择,主要就是源于这个基本理念的差异。哪一个更灵活,更符合实际情况,哪一个能够适应更多的应用场景,大家可以自己去判断。
我举一个例子。这并不是 ERC-3525 的典型应用场景,但是却能够特别直观的帮助大家理解上面所说的差别。
比如电子书场景。艺术品 NFT 当然每一个都是独一无二的,用 ERC-721 就好了。但电子书,一本电子书是可以有多份正版拷贝的。这个场景用 ERC-1155 合适,还是 ERC-3525 合适呢?
如果你使用 ERC-1155 发行 100 本电子书,那么这 100 本电子书拷贝必须完全一样,在未来的整个生命周期也必须完全一样,不能够有任何不同。
但如果有一天,你突然发现其中有一本拷贝的买家是马一龙,使得这本书与其他的 99 本不同了,有没有什么办法把这本书单独拎出来搞成一个“马一龙珍藏善本”呢?
不行。在 ERC-1155 里,马一龙与另外 99 个买家共享同一本书,他只是拿到了 100 张一模一样的阅览证的其中之一而已。
为什么?请记住我刚才所说的,ERC-1155 认为同类必须完全相同,你马一龙这一本,跟马一琍的那一本完全相同,没有任何办法加以区分。
但如果你听了我建议,从一开始用的就是 ERC-3525,那么恭喜你,马一龙珍藏版就可以变得与其他 99 本不同。马一龙可以给它盖上自己的藏书章,写一个跋,借给自己的朋友 Peter Thiel 和 Larry Page 开开光。这样一来,这本书就变得独一无二了。
为什么 ERC-3525 支持这种操作?刚才说了,ERC-3525 认为,这本书与其他 99 本是同类,但是可以有差异。同类意味着,它们都是同一个标题、同一个作者、同一时间、同一版次发行的。只要这几个关键特征一样,这 100 本书就是同类。但是,君子和而不同,虽然咱们是同类,但是我这本书还是可以有自己的特色的,比如马一龙的藏书章,比如乾隆皇帝非常差劲的御笔题跋。为什么?因为藏书章和题跋不属于关键特征,因此不影响类别判定。
在内部,ERC-3525 通过一个叫做 SLOT 的机制来给通证分类。一个 SLOT 就是一个关键属性集合。两个通证,只要它们具有相同的 SLOT,也就是说,它们的关键属性完全一样,那么就被视为同类。同类之间可以你侬我侬,亲密接触。但即使我跟你是同类,咱俩的非关键属性,还是可以有所不同的。
为什么我们叫 ERC-3525 “半匀质化通证(SFT)”标准?就是因为,同一个 SLOT 的各个 SFT 是 fungible 的,像 ERC-20 一样;而不同 SLOT 的各个 SFT 彼此相异,像 ERC-721 一样。与同类匀质,而与非同类异质,所谓“半”者,就是这个意思。
那么这是不是说 ERC-1155 就完全被 ERC-3525 给覆盖了呢?也不是这样的。在某些场景里,你明确知道在整个生命周期中,一个 NFT 的多个实例就是生死与共,绝对不会彼此有所不同,那么你还是可以使用 ERC-1155 的,因为 ERC-1155 复杂度低一些,更简单。
ERC-1155 的典型场景就是游戏装备。比如一种激光剑,一共有 10 把,一模一样,从游戏上线到最后一个副本都删档了都一模一样,那么就适合用 ERC-1155。
但如果你想让每一把激光剑都有一个威力值,而且一把激光剑镶上紫钻以后威力值倍增,那就还是老老实实使用 ERC-3525 好了。
当然,ERC-3525 最适合的场景还是表达票据或者真实世界资产,比如带积分的会员卡、承兑汇票、债券、期权、期货、基金、资产支持票据、土地权证等。Solv Protocol 最初的目标是做这个。我们一开始就研究过 ERC-1155,确实不适合,才会绕一个大弯花了 23 个月打造 ERC-3525 SFT 标准。总而言之,ERC-3525 不是为了跟 ERC-1155 竞争而设计的,它们是面向不同的应用场景,但设计出来以后,确实在很多场景下对 ERC-1155 形成了竞争关系,这一点我们也不回避。
责任编辑:MK