作者:jolestar,来源:作者推特@jolestar
铭文从技术上来看,简单粗暴,技术人第一次看了应该都是那个问号表情,这什么玩意?
不过经过这些天在智能合约中解析铭文的经历,总结了一下,它其实可以理解成一种半同质化资产(SFT)。
本来 Ordinals Inscription 可以理解成一种 NFT 的表达,有一个唯一 ID,包含了 content_type 以及 content,可以嵌入任何数据类型。而 BRC20 协议把 JSON 嵌入到 content 中,定义了 FT。FT 在 NFT 中,其实就是一种典型的 SFT 的表达方式,大家买卖铭文也习惯用“张”来作为单位。
而 SFT 有什么使用场景呢?这个其实上一次 DeFi 时候大家都有过深入的研究。比如用来表达游戏道具,中间的 FT 的 value 可以表达稀缺度,还比如用来表达债券,优惠券,各种票据等。但上个周期它的特性并没有充分发挥出来,也没有很多 SFT 类型的资产被创造出来。而现在铭文的火爆,让这种类型的资产被充分创造出来了,如何利用它们呢?
当前铭文的扩展性困境
如果要发挥出铭文作为 SFT 的优势,必须给它创造出使用场景,就必须扩展铭文协议。已经有一些团队尝试通过扩充铭文协议,比如 BRC20 中增加更多的 op 指令来实现。但一个铭文协议一旦被市场广泛接受,必然有多家索引器的实现,要扩展协议必须要多个索引器在链下达成共识,实现共识升级,这个升级的难度不低于 L1 的共识升级,显然很难满足扩展性的需求。
而针对这种扩展性要求,业界其实已经摸索出了一套成熟的方案,那就是智能合约。区块链的智能合约虚拟机模式,是整个软件工程界摸索出来的最具有扩展性的模式。所以现在的方案有两种:1. 在索引器中引入智能合约。2. 通过智能合约来表达铭文。
索引器中引入智能合约
索引器中引入智能合约,可以叫做智能索引器,或者模块化区块链中的执行层。铭文的模式可以把它理解成 DA first 的 sovereign Rollup,它把 L1 作为 DA,也没有引入 排序器(Sequencer),直接通过 L1 的区块来进行交易排序,而索引器也自然可以理解成执行层。这种模式我在文章《铭文是个 Bug 还是 Feature?》中有过阐述。 而 Rooch 也在这个方向进行探索,具体方案参看 《Bitcoin 的 Layer2 应该怎么做?》。
我们正在构建一个这种场景的示例游戏,叫做 Bitcoin Plants。由于 Rooch 中有全量的 Bitcoin 状态,智能合约中可以读取到 Ordinals 的 Inscription,用户可以在游戏中把某个 Inscription 作为种子,种出一颗植物,这个植物需要用户定期浇水灌溉,然后它可以结出果实。而这个植物是绑定到 Inscription 上的,如果用户把 Bitcoin 上的 Inscription 转让,这个植物也会被转让。这个简单的例子展示了如何通过执行层的智能合约来给 L1 的铭文创造使用场景。详情参看 github issue https://github.com/rooch-network/rooch/issues/1214 。
另外,也看到 Ethscriptions 在构建 facet 虚拟机,也是类似的路线,看来业界朋友也都看到了这个方向。
通过智能合约来表达铭文
如果说 Bitcoin 上的是因为没有智能合约,所以开发者琢磨出了铭刻 JSON 的方法。而其他智能合约链上为啥还依然是写 JSON 呢?最不能理解的是 Rollup L2 上写 JSON,那个 JSON 最终还是会 Rollup 到 L1,那为啥去 L2 写呢?L2 不应该自然变成 L1 铭文的索引器吗?自己还需要个铭文索引器?但即便是这样,也挡不住用户玩铭文的热情,很多 L2 都被玩挂了。所以思来想去,我总结了铭文的几个启示:
1. 它是一种半同质化资产,它的流动性并不如 FT,但这在市场起步阶段是优势。
2. 它发行资产的门槛比各链上的 FT 都要低,认知成本也低。各链上发行资产一般都需要部署个智能合约,识别也主要是通过合约地址,而这对新手来说比较困难。而铭文这波把这个门槛基本降到了最低。
3. 它的公平发行模式,Bitcoin 上可以理解成通过 Gas 租赁矿工矿机的 PoW 发行模式。
那既然这样,我们为什么不用智能合约来实现一个铭文协议,并且兼具以上特性呢?于是这周我尝试用 Move 实现了一个 Movescriptions 协议。
首先,它是一种通过 Move 表达的半同质化资产协议。Move 基于数据结构的资产表达方式,非常适合表达这种协议。
1. 通过 tick 这个全局唯一的名字来表达类型,借鉴 BRC20,符合 KISS 原则,简单直观。
2. value 可以用来表达 FT 的余额,或者 NFT 里面的关键值。
3. Metadata 可以附加任意类型的数据。
其次,它支持通过 PoW 来分发资产。部署者可以通过指定 difficulty 来设置一个难度,保证资产的分发更公平,更分散。因为其他链的 Gas 太低,很难实现通过烧 Gas 来防女巫攻击。
而这样通过智能合约实现的铭文,我称之为智能铭文,铭文终于要进化到需要智能合约的时候了。 这样的铭刻出来的铭文自然就是智能合约的状态,也不依赖索引器,很容易和各种应用场景进行组合,比如 FOCG。对这个试验感兴趣的朋友可以关注 @movescription ,以及 github https://github.com/movescriptions/movescriptions 。当前 Rooch 版本的合约已经初步完成,PoW 分发也已经实现,其他 Move 链的版本正在进行中。
铭文的对开发者的启示
铭文始发于 Bitcoin 的上的随机尝试,如今席卷各公链,它虽然简单粗暴,但极具生命力。它的未来还不明朗,看待它的分歧也很大,但这也是市场有趣的地方,机会总是在产生分歧的地方。那让我们就给它再添加一些随机性吧,开发者们可以行动起来,与其让用户铭刻一堆不知道怎么用的 JSON,不如试试看能不能把它和智能合约结合起来。如果结合成功,它可能是 FOGC 以及 AW 的启动的点火石,这个我们可以下篇再聊。