红包创想的诞生
一切始于一个简单但深刻的需求——我们想让NFT变得更有可玩性,更有温度。
在 Bescard 项目初期,团队成员们都在思考:为什么 NFT 不能像现实中的红包一样,既有精美的外观,又包含实际的祝福和价值?传统NFT要么是纯粹的图像,要么是功能型通证,但很少能够将"情感价值"和"实用价值"完美结合。
通过对比分析,我们清晰地看到了传统 NFT 与 BesCARD 的本质差异:
传统 NFT 的特性
-
图像:视觉艺术表达
-
元数据:描述性信息
-
所有权信息:持有人证明
BesCARD 的创新特性
-
图像:视觉艺术表达
-
元数据:描述性信息
-
所有权信息:持有人证明
-
内置资产:可存储其它资产(新特性)
解决方案的探索之路
当我们开始深入设计 BesCARD 时,期望满足下列条件:
-
红包与金额价值都上链,是去中心化的;
-
红包内的资产,仅能被“红包”所有者操作;
-
红包“拆封”后,用户才可获取红包内的内置资产(避免用户将内置资产提取后,仍然按原有价值交易红包);
我们研究了现有的各种 NFT 标准和资产模型,从编程模型、交易效率、交易成本等等角度,对比了Ethereum和Nervos CKB生态,其中,CKB的 “价值存储层”理念,与我们的红包设计思路很相似。
在面对链上交易有延迟的情况下,Nervos CKB使用的UTXO模型的“链式交易”有明显优势。“链式交易”就像商家使用一本联号支票簿:商家在链下依次签署一系列相互关联的交易(如给用户A、B、C发放红包),每一笔新交易都继承并更新前一笔的UTXO状态,借助这个能力,无须等待前一笔交易上链确认,就可以持续地为用户生成红包,这极大地提升了系统的交易效率,从而使得用户体验大大提升。
此外CKB上极低的交易Gas成本,也解决了用户使用小额红包时敏感的成本和手续费问题。
在具体实现过程中,我们发现 Nervos CKB 生态的 Spore Protocol 协议和 Type Burn Lock 功能,已在合约层满足BesCARD的业务诉求,我们只需专注于业务层逻辑的实现。
在Type Burn Lock 官方文档的描述是“Type Burn Lock is a Lock Script that allows unlocking when a specific Type Script is burned (destroyed).”,使用Type Burn Lock,来锁定一些CKB或者其它UDT资产,并绑定到特定的BesCARD,那么只有这个特定BesCARD的“持有者”就拥有了这些资产的解锁权。
在链上,本质上是形成了一个所有权关系链,用户持有BesCARD,BesCARD持有红包内资产。
这个过程非常像我们将纸币放入红包的动作,用户通过购买或者空投获得了“红包”,可以“拆红包”取出“钱”,也可以把“送红包”给其他用户。
下面列出这些动作与技术之间的对应关系:
-
包红包 → Create BesCARD + Lock Value
-
送红包 → Transfer BesCARD
-
拆红包 → Melt BesCARD + Unlock Value
基于这样的对应关系,我们在 BesCARD 实现了完整功能。
为了方便用户操作,我们在Bescard的个人中心,提供了Transfer和Melt功能,分别对应“送红包”和“拆红包”的链上操作。
作为全链上资产,一旦用户获取到了“红包”,就自主掌控了操作它的能力,因此,本质上“送红包”和“拆红包”的操作并不依赖BesCARD系统。后续,我们也会开源支持BesCARD Melt操作的开源工具,为用户提供更多选择。
未来的可能性
基于Type Burn Lock的特性,关于红包的玩法仍然有不小的想象空间,比如:给红包“追加金额”,“红包接龙”,给红包塞入其他类型的DOB等等。


