来源:字节元 CKB
上周五,JoyID 钱包正式发布了首个基于 UTXO 订单簿交易模式的 Spore DOB Marketplace,并已开放首个 DOB 资产 —— Unicorn Box 的交易。
DOB(Digital Object,数码物)是通过 CKB 区块链上的数码物创造协议 Spore 发行的加密资产。Spore 协议不完全是很多人所熟悉的 NFT 协议,因为 Spore 协议生成的 DOB 不仅不可篡改,完全存储于链上,而且还在内容和价值之间建立了内在联系。具体来说,生成 DOB 需要获取 CKB 代币作为 “原材料”,铸造 CKB 的多少决定了该 DOB 在链上储存空间的大小,而销毁 DOB 则可以取回占用的 CKB。这种机制确保持有 Spore DOB 等同于占用 CKB ,从而减少了生态内 CKB 的流通量,这将对 CKB 的二级市场产生积极影响 —— 随着更多 CKB 被占用,它们的价值便有望增加。这为 Spore DOB 的创造者、持有者,和 CKB 生态系统整体建立了一种健康的共生关系。
今天这篇文章,我们将详细介绍 CKB 区块链上的数码物创造协议 Spore 及其众多创新之处。
据团队介绍,Spore 协议构思于一年之前,在很大程度上是得到了 Ordinals 的灵感。由于比特币不支持智能合约,所以 Ordinals 有很多事情做不了,从技术层面看 Ordinals 就是一项非常简单的协议,但很多人却对它感兴趣,而且有很多人在使用它。于是,Spore 团队站在 CKB 的角度去想如何扩展 Ordinals 协议,后面就有了 Spore 协议。
Spore 团队认为,如果比特币支持智能合约,那 Ordinals 应该会变成 Spore 的样子。换句话说,如果把 CKB 看作是比特币的一个升级版,那 Spore 就是 Ordinals 的一个升级版。
不同于以太坊生态的很多小图片 NFT,Spore 协议不仅限于静态图像或者离线链接,还支持视频、音频、文本等多种内容类型,给了创作者更多的创造空间。
基于以太坊 ERC-721 协议的 NFT,比如 CryptoPunks,它的智能合约里只存放了 imageHash,而图片则存放在中心化的 larvalabs.com 网站的服务器中,如果服务器挂了,这些图片也就没有了;再比如无聊猿(BAYC),它的智能合约里存放了一个 IPFS 地址,所以那些无聊猿的图片其实是托管在 IPFS 中的。也就是说,大家所熟知的绝大部份以太坊 NFT,其内容都存放在链外,链上只存储了一个链接。相比之下,通过 Spore 协议铸造的 DOB,其内容数据完全存储在 CKB 区块链上(Cell 中)。
如果从技术的角度看,以太坊 ERC-721 协议的 NFT,其实际拥有者是智能合约,智能合约指定哪些地址拥有哪几个 NFT,给这些地址操作权限;而通过 Spore 协议铸造的 DOB,本质上是一个 Cell(UTXO 的改进版),是随身可携带的,完全由用户掌握和控制,因为 Cell 只能用户自己拿私钥去解锁,智能合约并不能操控这些 Cell。这也是为什么以太坊 NFT 的智能合约出了问题,所有的 NFT 都可能被 rug;而在 CKB 区块链或者 UTXO 模型的区块链上,只有用户的私钥泄露了才可能会导致资产损失。这个差异其实是账户模型和 UTXO 模型的区别带来的。
3. 每一个 DOB 都有 CKB 作为价值支撑
在 CKB 区块链上存储任何类型的东西,都需要占用 CKB,一个 CKB 代币等于链上一个字节(Byte)的空间。所以,如果你要制作一枚 200 个字节的 Spore DOB,就需要去购买 200 CKB 来实现链上空间的占用。
这一点很有意思,因为区块链本来是一个无限的虚拟空间,现在制造了一种有限的资源,而 Spore 协议把这一点进一步放大。每一枚 CKB 都耗费了矿工大量的电力资源和算力,我们使用 CKB 去铸造 Spore DOB,就好比使用从矿石中提炼出来的黄金去打造饰品,由于原材料黄金本身就有价值,所以这件饰品无论其工艺水平如何,都是有价值的。Spore DOB 的底层价值来源于其占用的 CKB,而 CKB 的价值则来源于整个区块链网络。
黄金饰品的价值天然地要高于原材料黄金的价值,所以 Spore DOB 的价值也会天然地会高于其占用的 CKB 的价值。如果我们不喜欢这件黄金饰品了,我们可以销毁饰品从而拿回原材料黄金,同样地,如果你不想要这枚 DOB 了,你可以销毁它并取回占用的 CKB。
这种机制确保持有 Spore DOB 等同于占用 CKB ,从而减少了生态内 CKB 的流通量,这将对 CKB 的二级市场产生积极影响 —— 随着更多的 Spore DOB 被创造出来、被持有,就会有更多的 CKB 被占用,CKB 流通量进一步减少,流通量的减少会带动其价格上涨,从而推动使用了 CKB 作为 “原材料” 的 Spore DOB 价值的上升,DOB 升值带来的财富效应又会吸引更多的人去铸造、去持有 DOB,最终让 CKB 实现正向飞轮。
通过 Spore 协议铸造的 DOB,在铸造时默认会多存入 1 CKB,这样未来每次交易 DOB 时就不需要再额外支付 gas fee(矿工费)了。因为在网络不拥堵的情况下,1 CKB 可以支付 7000 多次链上转账所需的矿工费。
免交易手续费,可以带来更好的用户体验,也意味着更容易出圈。试想一下,你如果想赠送一枚 CryptoPunks 给圈外的朋友,他需要先学会如何注册以太坊钱包,学会自己保存助记词和私钥,然后才能给你钱包地址,收到 CryptoPunks 后,如果他想转让给其他人,还要去市场上买 ETH 并提到钱包才能转出 CryptoPunks,在转账的过程中他还需要学习什么是 gas fee,如何设置 gas fee。如果是 Spore DOB,你可以直接让这位圈外的朋友在手机浏览器中打开 joy.id,按照指引按 2 次指纹,在几秒钟内创建好一个 JoyID 钱包,收到 Spore DOB 后,如果他想转让给其他人,并不需要购买 CKB 作为矿工费,甚至他都不需要了解矿工费是什么意思,直接输入对方地址、按 2 次指纹即可转出,非常方便。
免交易手续费,还可以带来更好的隐私保护。UTXO 模型默认注重隐私性,UTXO 链的钱包每次使用时会自动换地址;相比之下,账户模型的区块链,其钱包(比如 MetaMask)不会主动给你换地址。
区块链的数据是公开的,所有的人都能看到,如果你一直用同一个地址,所有操作都跟一个地址关联,那所有人都可以分析你的行为。Vitalik 曾经写过一篇文章,说要在以太坊上实现隐身地址(Stealth Address)。当用户 A 给用户 B 转账时,区块链临时生成一个一次性的隐身地址,用户 A 把资产转到这个隐身地址,用户 B 可以操作这个地址上的资产,这个地址只有交易双方知道它属于谁,其他人通过链上数据无法得知该地址的真实拥有者。虽然隐身地址可以在以太坊上实现,但 UTXO 区块链早就有类似的功能了,所以隐身地址并不是以太坊的一个创新点。
另外,以太坊隐身地址的方案并不完美。试想一下,用户 A 把一个 NFT 发送到了用户 B 的隐身地址 1,用户 C 把一个 NFT 发送到了用户 B 的隐身地址 2,如果用户 B 想把这 2 个 NFT 送给他的朋友,而这 2 个隐身地址上是没有 ETH 支付 gas fee 的,所以他只能自己往这 2 个隐身地址转入 ETH,但这样做就暴露了自己。或者他也可以通过各种复杂的协议,让别人代付 gas fee,但这样就会变得很复杂。所以,以太坊隐身地址的方案并不完美。
这件事情在 CKB 上可以做得很完美。CKB 的某些钱包(比如 Neuron)会自动创建多个地址,每次使用时都会自动换地址,用户 A 如果拥有 100 个 Spore DOB,每个 DOB 可以单独存放在不同的地址上,转账时,因为 Spore DOB 自带手续费,所以用户 A 可以非常方便地把这 100 个 DOB 转给其他人。
基于以太坊 ERC-721 协议的 NFT,其合约往往是可升级的,方便合约出 bug 或者想要加入新功能时,可以通过多签或者其他方式来升级合约。
相比之下,已经在 CKB 主网部署的 Spore 协议,其合约是不可升级的。如果这个合约有 bug,合约开发者也没有办法,有 bug 就是有 bug,那就是它的瑕疵,那就是它这个版本的一部分。如果我们把已部署的 Spore 协议称为 v1.0 版本,如果我们想加入更多的功能,我们就只能部署另外一个新的合约,而不是去升级 Spore v1.0。这意味着未来会有很多不同版本的 Spore DOB,有的是通过 Spore v1.0 铸造的,有的是通过 v2.0 铸造的......用 v1.0 铸造的 DOB,并不会某一天突然就升级成 v2.0 的 DOB 或者新加入一些你不喜欢的功能或者是把你喜欢的设计去掉。
通过这样的设计,Spore DOB 就变成了 CKB 这个数字世界里面永存的东西,其内容数据全部在链上,只要 CKB 这条链一直在运行,这个 DOB 就一直存在。另外,由于 Spore 合约不可升级,你不用担心你持有的 DOB 会发生变化,它如果是通过 Spore v1.0 的合约铸造出来的 DOB,就永远都是 v1.0 的版本,不会改变。现实世界中,通过一种工艺打造出来的饰品,并不会因为某一天有了新的铸造工艺,那些之前铸造的饰品就会变成新工艺铸造出来的样子,所以现实世界中才会有古董。因此,我们可以认为 Spore DOB 就是现实世界的一个模拟。
在以太坊上发行 NFT,需要去重新部署 NFT 合约,因为以太坊的智能合约里包含了逻辑和状态,两者不可分开。逻辑相当于规则,规定了 NFT 可以怎么交易转让,可以有哪些功能;而状态记录了哪些地址拥有哪几个 NFT。
CKB 上的 Spore DOB,逻辑和状态是分离的,这意味着发行 NFT 的时候不需要重新部署 Spore 协议,直接引用这个协议标准即可。具体来说,Cell 是可引用的存储单元,CKB 则类似于一个代码和数据共享库,供运行在上面的智能合约使用,所以在 CKB 上重用代码很容易。这既节省了时间,不需要开发者一次又一次地部署相同的代码,又节省了链上的空间,降低了部署成本。
代码重用并不需要担心有人修改存储在依赖 Cell 中的代码,因为 Cell 是不可变的,也就是说,没有人有办法修改它。即便这个 Cell 的所有者直接将其从 CKB 中删除,也没有人会因此受到损失。任何保存代码副本的人(例如那些运行全节点或复杂的轻客户端)都可以在链上再次部署相同的代码,代码哈希的引用仍然有效,我们只需使用新的依赖 Cell 来构造交易即可。。
Spore 协议还提出了 Cluster 的概念,即把多个 DOB 打包成一个集合,直接转账、交易这个集合,提高效率。
Spore 协议有很好的可扩展性,它能够支持其他开发者为这个合约写的插件。在调用 Spore 合约时,script 参数中可以指定使用哪几个 Spore 合约的插件,然后通过这些插件赋能 DOB,让 DOB 实现更多的功能。
当然,如果 Spore 协议及其插件都无法实现开发者想要的功能,那就需要开发者重新写一个 DOB 铸造协议并进行部署了。CKB 是一条非常灵活的区块链,可以实现各种各样的协议和标准。
根据目前的计划,比特币一层资产发行协议 RGB++将在三月底上线,届时发行在 CKB 区块链上的 DOB 可以通过 RGB++ Leap 至比特币主网,成为比特币链上的数码物。
除了比特币,通过同构绑定技术和 Leap 操作,发行在 CKB 上的 DOB 未来也可以变成其他 UTXO 链上的数码物。
上文提到的 Cluster 概念,可以帮助 Spore 协议实现更多的玩法。举个例子,一款吉祥物 DOB,可以针对它设计眼镜、耳环、项链等首饰 DOB,这些首饰 DOB 和吉祥物 DOB 组成一个 Cluster 去交易,去参加评比。换句话说,Spore DOB 就像乐高积木一样,我们可以使用不同的乐高积木组成不同的拼图,而这可以充分调动持有者的创造性和想象力。
除此之外,我们还可以在 Spore DOB 的存储内容上做创新。试想一下,如果我们要发行一款头像类的 DOB,除了直接在链上存储图片这种常规操作之外,我们也可以创新性地只在链上存放头像特征的关键词,比如短发、黑眼睛、高鼻梁、大嘴巴、白皮肤、男性,然后使用某个链上或者链外的 decoder 来进行解码。这个 decoder 相当于画师,根据这些关键词画出头像来。
这里有意思的地方在于,写入链上的关键词是不变的,但这个 decoder 是可以变的或者可以进化的。因为同样的关键词,使用不同的 AI 大模型画出来的头像肯定不一样,使用同一个 AI 大模型的不同版本画出来的头像也不一样。这意味着这款 DOB 拥有变化的能力,也拥有进化的能力,非常有趣。
Spore 是一个非常灵活且具有良好可扩展的数码物创造协议,相信通过大家的各种头脑风暴,我们还可以实现更多的创新性玩法。
CKB 首席架构师 Jan Xie 曾说:“当初在设计 CKB 的时候,其实是想构建一个数字的世界或者说宇宙。世界或者宇宙,由时间和空间两个维度构成,而 PoW 本质上是一个去中心化的时钟(具体的论述可查阅 Gregory Trubetskoy 的文章),是一种可以在数字里面创造出时间的技术。UTXO 或者说 CKB 的 Cell,是链上的空间,它里面是存放数据的。把 PoW 和 Cell 结合起来,我们可以得到一个去中心化的宇宙。在这个宇宙里面,我们做的所有的事情,其实都是去映射我们的现实世界。”
在 CKB 区块链构建的这个 “真实的虚拟世界” 中,Spore DOB 是一个链上数码物,它非常像现实世界中的物品:它的制作需要使用原材料 CKB,不想要时可以销毁并取回 CKB;它有版本,可以像古董一样做到亘古不变,也可以创新性地拥有变化或者进化的能力。而底层的 Spore 协议,其灵活性和可扩展性为 DOB 提供了更多的可能性。
本文仅代表作者观点,不代表喜来顺财经立场。
未经喜来顺财经许可,不得转载。