直截了当地解释 ERC-3525 与 ERC-1155 的差别

作者:孟岩,Solv Protocol 联合创始人、ERC-3525 主要贡献者之一

前天(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 是绝不会后悔的。

为什么这么说?

半匀质化通证标准 VS 多通证标准

ERC-1155 是一个多通证(multi token)标准。根据其实质,我们更愿意称它为多实例 NFT (multi-instance NFT)标准。它适合于一个相对狭窄的应用场景,就是同一个 NFT 有多个一模一样的实例。注意是一模一样,这些实例彼此之间必须完全相同,不能有一丝一毫的不同。

ERC-3525 是半匀质化通证(semi-fungible token)标准,这是一个通用标准,适用面非常广阔。它可以把多个相似但并不相同的通证识别为“同类”,然后允许同类之间进行相互转账等特殊操作。从效果上,相当于同类之间可以进行合并、拆分、碎片化等数学操作。

两者的差别主要就是在对于“同类”的界定上。

ERC-1155 认为同类对象必须得完全相同,有丝毫不同也不是同类。

ERC-3525 认为同类对象可以求同存异、和而不同,彼此的关键性质相同,但非关键的性质允许存在差异。

说白了,两个标准各自的设计选择,主要就是源于这个基本理念的差异。哪一个更灵活,更符合实际情况,哪一个能够适应更多的应用场景,大家可以自己去判断。

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 形成了竞争关系,这一点我们也不回避。

Subscribe to Solv 华语社区
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
Author Address
0x07599B7E947A4F6…768F76149F490D5
Content Digest
CHcwsp_d0AINEal…eGpYDDtw82TyMes