CKB Stablecoin Payment 的实现
2024-10-31 12:30
作者:Jimmie,来自 10K VenturesCKB stablecoin payment 是一种基于 CKB 网络的去中心化稳定币支付解决方案,允许用户通过 CKB 和比特币的联合网络,利用如 RGB++ 和 Fiber Network 等 Layer 2 扩展,生成并管理与美元挂钩的稳定币 RUSD,实现快速、低成本、安全的跨链稳定币支付。
2.1 CKB(Common Knowledge Base)
2.1.1 CKB 是什么
CKB 是 Nervos Network 的 Layer 1 区块链,其主要功能可以总结为共识与执行(Consensus & Execution) 以及数据可用性(Data Availability),通过建立在其之上的支付通道、RGB++ 提升可扩展性。它基于 PoW 共识机制,类似于 BTC,并采用了升级版的 BTC 算法 NC-MAX,该算法通过加快交易确认时间和降低孤块率,提升了网络的效率和响应能力,与 BTC 每 10 分钟一个区块的固定间隔不同,CKB 会根据网络活动动态调整区块间隔(大约每四小时调整一次),从而优化性能。CKB 采用了 Eaglesong 哈希函数,这是一个专门为 Nervos Network 定制的哈希函数,作为 SHA-256 的替代,它提供了相同的安全性。CKB 采用了 Cell 模型作为其数据结构的核心,是 BTC 的 UTXO 记账模型的改进版本:
2.1.2 Cell 模型
Cell 模型类似于 BTC 的 UTXO 模型,但通过引入双脚本实现了智能合约脚本的链上数据存储和验证。
存储任意类型的数据或资产:在 BTC 的 UTXO 模型中,每个交易输出只能包含简单的金额信息和所有权;而 CKB 的每个 Cell 都可以存储智能合约代码),并在交易中通过外部调用触发这些脚本执行,这意味着每个 Cell 都能够独立执行与其相关的智能合约逻辑,具有可编程性。
状态与计算分离:因为 Cell 存储了智能合约的代码和状态,允许每个 Cell 独立执行合约逻辑复杂的计算任务可以在 Layer 2 或链下执行,执行结果则通过交易同步回 Layer 1,确保网络的安全性和数据的一致性。
- 并行执行和打包交易:通过 Cell 模型,不同 Cell 中的智能合约可以实现并行执行,而同时,不同 Cell 的交易结果可以打包更新上链,这种方式使计算更加高效并且降低交易费用。
Cell 是由输入和输出组成的:类似于 BTC 的 UTXO 模型,Cell 通过输入和输出来执行交易和状态更新每个 Cell 可以作为交易的输入被花费,并生成新的输出,创建新的 Cell。
Cell 的组成元素:每一个 Cell 包含 Capacity,Updated Data,Lock Script,Type Script。
Capacity(容量):Capacity 记录了 Cell 储存空间的大小,也代表了 CKB 代币的存储价值用户创建的 Cell 需要根据数据量分配一定的 Capacity,确保链上存储空间得到有效利用。
Data(数据):它是 Cell 模型的核心特性之一,可以存储从简单数字到复杂智能合约状态的任意信息,允许在区块链上存储多样化的数据。
双脚本系统:Lock Script 用于身份验证,类似于 BTC 的签名机制,防止未授权用户访问或修改 Cell 中的数据用户必须提供正确的签名或多重签名才能解锁并使用 Cell;Type Script 定义了 Cell 的数据验证逻辑,用于设定在未来交易中如何使用或更改 Cell 的规则,通过执行智能合约或规则验证来决定交易或状态的合法性。
Live Cell & Dead Cell:Live Cell 指的是当前仍然未被花费的 Cell,仍然可以用作输入进行下一笔交易或状态更新;当一个 Cell 被花费后,它就成为 Dead Cell,不能再被使用,但其历史记录保留在链上以确保可追溯性。
状态租赁机制:用户需要通过支付 CKB 代币来租赁链上的存储空间,从而保障长期的数据存储,同时防止状态爆炸(State Bloat)。
2.1.3 可编程性 & CKB-VM
Cell 模型是 CKB 可编程性的基础:支持在每个 Cell 中存储智能合约的状态和执行脚本,使合约的执行和资产的管理紧密结合通过图灵完备的 RISC-V 虚拟机(CKB-VM),开发者可以在链上执行自定义的智能合约。RISC-V 指令集的灵活性赋予开发者更多编写合约的自由,使 CKB 能够支持复杂的合约逻辑。CKB-VM 支持多种语言:包括 C 和 Rust 等流行语言。这种广泛的兼容性使 CKB-VM 有别于通常仅限于特定语言的其他区块链的虚拟机,向更广泛的开发者社区开放。CKB 网络还支持 JavaScript、Rust、Go 和 Java 等主流语言的 SDK,方便开发者使用熟悉的工具进行开发。兼容性与扩展性:CKB-VM 的设计确保了与 BTC 的 UTXO 模型和其他区块链兼容,同时支持高度扩展的智能合约和复杂应用。2.1.4 PoW 共识机制
CKB 采用类似于 BTC 的 PoW 共识机制,保障网络的安全性和去中心化,与 BTC 类似,矿工通过竞争计算哈希值来打包区块,从而保障网络的不可篡改性和抗审查性。NC-MAX 算法:相比 BTC,CKB 引入了改进的 NC-MAX 算法。这个改进允许更高的吞吐量并优化了区块打包效率,降低了孤块率,并提升了交易确认速度,使其适合大规模的应用场景,如资产存储和支付结算。Eaglesong 哈希函数:Eaglesong 哈希函数的定制设计通过 ASIC 中立性、高效性、安全性 和 网络公平性,为 Nervos CKB 网络提供了性能和安全方面的优势,确保去中心化的同时,提升了挖矿效率和网络扩展性。
2.1.5 多层次安全架构
CKB 采用了多层次的安全架构::Layer 1 专注于数据的最终结算和状态的安全保存,Layer 2 则用于扩展交易处理能力。分离的架构确保了主链(Layer 1)的安全性:减少了处理交易时的负载,提高了整体网络的稳定性
2.1.6 与 BTC 的联系及正统性
正统性:CKB 通过采用 NC-Max(Nakamoto Consensus Max)与 BTC 保持理念上的一致性,NC-Max 是中本聪共识的改进版本,提供了更好的安全性和性能。社区支持:Nervos 社区由众多区块链技术爱好者、开发者和矿工组成,并得到了部分 BTC 社区的支持,正统性在于它继承了 BTC 的去中心化思想,并通过扩展功能满足了更广泛的需求。2.1.7 CKB 在稳定币支付中的角色
存储与管理稳定币余额:CKB 的 Cell 模型 是稳定币存储的基础,用户的 RUSD 等稳定币余额存储在链上的 Cell 中。每个 Cell 包含完整的余额信息,确保了资产的安全性和可追踪性。记录交易状态:CKB 支持在链上记录交易的每一个状态变化,所有的支付流程都可以通过 Cell 模型透明化地记录并追踪。这种机制在稳定币支付中至关重要,确保了交易的安全性和可验证性。智能合约的执行:稳定币支付过程中的条件支付、锁定等复杂操作都可以通过 CKB-VM 支持的智能合约实现。
2.2.1 RGB++ 是什么
RGB++ 是一种去中心化的资产发行和智能合约协议,适用于 Bitcoin UTXO 模型和其他 UTXO 公链。RGB++ 协议继承了 RGB 协议的将链上和链下分别创造一个交易并进行绑定的思想,不同之处在于 RGB 利用客户端验证,将更多 BTC 网络无法存储的数据和无法实现的智能合约移到链下,并创建对应的交易与链上进行绑定,而 RGB++ 将这些无法存储的数据和无法实现的智能合约移到 CKB,使 CKB 成为 BTC 的智能合约结算层。
2.2.2 基本功能
通过 RGB++,将 CKB 作为 BTC 的影子链:作为 BTC 的补充链,承担 BTC 原生无法处理的包括在图灵机中的复杂逻辑和智能合约操作。RGB++ 使用客户端验证(Client-Side Validation)的模式来确保链下数据的私密性和完整性,只有在链下验证通过时才会将数据提交至 CKB 进行最终结算。资产发行与管理:RGB++ 允许用户通过链下协议发行资产(如稳定币、代币等),并使用 CKB 来管理这些资产的生命周期(不仅包括资产的发行和流通,还包括更复杂的操作,如时间锁、条件支付等功能)。RGB++ 实现了 BTC 的高安全性与 CKB 的可编程性结合。2.2.3 同构绑定(Isomorphic Binding)
资产&状态跨链同步:同构绑定是指在 BTC 和 CKB(或其他 UTXO 公链,如 Cardano)之间,将资产和状态通过一种绑定机制保持同步。每当 BTC 链上发生资产交易时,RGB++ 会在 CKB 上映射出与之对应的合约状态或资产变动。扩展 UTXO:在同构绑定中,BTC 链上的每个 UTXO 会在 CKB 上有对应的 Cell(UTXO 容器),并记录与之对应的资产状态和智能合约条件。资产绑定:当用户在 BTC 链上持有某种 RGB++ 资产时,CKB 上的 Cell 会存储相应的资产状态,两条链之间通过同构绑定确保这些资产信息的一致性。交易的同步:当 RGB++ 代币交易发生时,同构绑定机制会在 BTC 网络生成 Commitment,在 CKB 链上,对应的 Cell 会被消耗,而新的 Cell 会生成用来分配资产。
2.2.4 Leap
RGB++ Layer 升级提出: 将 CKB 与 BTC 之间的绑定关系扩展到所有 UTXO 链,通过 “换绑” 实现资产跨链。BTC 与其他 UTXO 链之间的无桥跨链:它的核心目的是让 BTC 链上的 RGB++ 资产能够无缝转移到其他 UTXO 链上,它通过切换资产绑定的 UTXO,支持在多个区块链上管理和转移资产。无桥技术:Leap 通过同构绑定(Isomorphic Binding)技术,以及切换不同链上的 UTXO,而不依赖传统的 Lock-Mint 跨链桥,实现资产的跨链转移。操作流程:例如,用户可以通过 Cardano 链来控制原本在 BTC 链上的 RGB++ 资产,并在 Cardano 链上进行资产的拆分和转移。
2.2.5 RGB++ 在稳定币支付中的角色
稳定币的发行和流通:通过 RGB++ 在 BTC 链上发行稳定币,借助 CKB 实现资产的智能管理。跨链资产管理:通过 RGB++ Layer 和 CKB 的结合,确保稳定币支付在不同 UTXO 链上无缝操作。智能合约支持:为稳定币支付提供复杂的支付条件、时间锁等功能,提升支付的灵活性和安全性。桥梁作用:RGB++ Layer 充当 BTC(以及其他 UTXO 链)和 CKB 之间的桥梁,扩展了 BTC 的可编程性和资产管理能力,使 BTC 的稳定币支付功能更加多样化和灵活。
2.3.1 Fiber Network 简介
Fiber Network 是 CKB 上类似于 BTC 闪电网络的 Layer 2 扩展方案:它专门为提升 CKB 的链下支付能力设计,允许用户在链下进行快速、低成本地支付。通过支付通道实现链下交易,减少主链的压力,提升交易速度。链下支付的特点:Fiber Network 通过支付通道实现了链下的快速转账,降低了对 CKB 主链的依赖,并提升了交易的吞吐量。现状:截至 2024 年 9 月,根据 mempool 的数据,当前 BTC 闪电网络中安置了 3 亿多美元的资金,节点数量约为 1.2 万个,彼此之间构建了近 5 万条支付通道。基于 Nervos CKB 的 Fiber Network 已经上线测试网。
2.3.2 技术要点
链下支付通道(Fiber Channels):Fiber Network 通过创建支付通道,允许用户在链下直接交换资产,直到通道关闭时才将最终状态提交到 CKB 主链进行结算。多跳路由(Multi-Hop Routing):Fiber Network 和 BTC 闪电网络一样,支持通过多个节点进行支付路径的跳转,基于 Dijkstra 算法来搜索支付路径,从而降低路由费用并提高多跳路径支付的成功率。监控服务 - 瞭望塔(Watchtower Service):用户可以利用全天候监控服务来监控支付通道的状态,防止恶意节点尝试进行双重支付或作弊行为(防止交易参与者把过期的 Commit 提交上链),该服务可以自动追踪交易并报警。2.3.3 Fiber Network 与 BTC 闪电网络的不同
BTC 闪电网络主要用于 BTC 网络内的支付,尚不支持其他 UTXO 链的跨链支付。
Fiber Network 支持多种资产的流通包括:BTC 原生资产(包括铭文、符文等)、CKB 、RGB++ 原生资产(包括 RUSD 等)。
跨链资产链下支付:借助 RGB++ Layer,所有 UTXO 链的资产,都可以进入闪电网络。
- Fiber Network 与 BTC 闪电网络可以互联:实现跨链支付(只能 Fiber Network 发出,BTC 闪电网络接收),用户可以通过 Fiber Network 使用 CKB 或 RGB++ 资产购买 BTC 闪电网络上的资产,并确保跨链交易的原子性(不会出现部分资产成功 / 失败跨链的情况)。
2.3.4 Fiber Network 在稳定币支付中的角色
Fiber Network 用于支持链下的稳定币转账,确保支付的即时性和低成本。Fiber Network 通过创建链下支付通道,让用户能够在链下进行高频交易,减少对主链的压力。Fiber Network 支持跨链原子支付,使得稳定币支付可以安全地跨越多个链。
2.4.1 Stable++ 简介
Stable++ 是一个 CKB 生态的去中心化的超额抵押稳定币协议,允许用户通过抵押 BTC 或 CKB 来铸造与美元挂钩的 RUSD。RUSD 理论上是第一个基于 RGB++ 协议直接在比特币网络上发行的稳定币,利用 CKB 的能力提供更本地化和高效的解决方案。手续费:用户抵押 BTC/CKB 铸造 RUSD 和归还 RUSD 赎回 BTC/CKB 都需要收取手续费。RUSD 质押:用户可以通过借出的质押 RUSD 获得治理代币 STB。治理代币 STB:用户可以通过质押 STB 参与抵押物的清算获得收益;用户可以通过质押 STB 参与手续费分成。跨链互操作性:RUSD 可以通过 RGB++ 的同构绑定和 Leap 功能实现 UTXO 链账户之间的转账。较低的最低质押比例(MCR):得益于高效清算,降低了协议和稳定性提供者面临潜在损失的风险,从而降低了对于抵押物价值的需求去中心化:Stable++ 是完全去中心化、独立运行的协议,无需任何实体的控制或许可,用户可自由、安全地与系统交互。2.4.2 清算机制 - 双重保险
概述:清算机制是在抵押品价值下降至某个临界点(最低质押比例借出 RUSD)时触发的保护措施,确保生成的 RUSD 稳定币始终有足够的抵押品支持,系统会自动清算那些抵押不足的用户,以维持整体系统的稳定性概述:当稳定池没有足够的储备来完成坏账清算时,坏账与抵押物将通过充分配机制在借款人之间分配。
债务重分配:当清算池无法覆盖全部坏账时,剩余的债务会在所有借款人之间按比例重分配。
抵押物分配:所有借款人共同消化坏账的同时,也会获得按比例分配的超额抵押作为奖励。
通过让所有借款人共同承担坏账,这个机制确保了系统中没有未覆盖的债务,避免了系统性风险的积累。
2.4.3 Stable++ 在稳定币支付中的角色
Stable++ 协议生成稳定币 RUSD,作为支付中使用的主要稳定币。Stable++ 通过创新的清算机制,改进了传统的超额抵押方式,保证了 RUSD 价格的稳定性。Stable++ 借助 RBG++ 的同构绑定和 Leap 能力,使 RUSD 成为第一个真正能够在任何支持 UTXO 的链上自由流通的稳定币,进一步拓宽了稳定币的流通性。
2.5.1 JoyID 是什么
JoyID Passkey 钱包是结合 Passkey 密钥管理的加密钱包。在 Nervos 的生态系统中,JoyID 被设计为一个跨链、去中心化的身份认证和管理工具,使用户可以安全地存储和使用加密货币以及其他去中心化应用。
2.5.2 主要功能
无需密码和助记词:通过生物识别即可访问钱包,实现无私钥登陆。
支持 BTC 和 Fiber Network:用户可以更快、更高效地交易,并且可以帮助拓展 CKB 的应用场景。
多链支持:不仅支持 BTC 和 Nervos CKB,JoyID 也支持 ETH 和一系列 EVM 链。
通过 Passkey 获得额外安全性:Passkey 通过与硬件设备相关联的 secp256r1 签名生成区块链交易所需的 secp256k1 签名,因为 secp256r1 签名不会在交易中暴露只会通过生物信息生成,所以给钱包增加了额外的安全性。
安全和易用的结合:
安全性:硬钱包 > Passkey 钱包 > 软件非托管钱包 > 托管钱包
易用性:Passkey 钱包 > 托管钱包 > 软件非托管钱包 > 硬件钱包
2.5.3 JoyID 在稳定币支付中的角色
JoyID 作为用户接口,允许用户在 CKB 网络中进行稳定币支付,管理他们的 RUSD 资产和支付通道。JoyID 通过其优秀的能力组合(安全性,易用性,多链支持),可以进一步赋能基于 CKB 的稳定币支付与其他交易。
支付发起与接受:用户可以通过 JoyID 钱包开设支付通道,进行稳定币支付。
稳定币发行:RGB++ 和 Stable++ 协同工作,Stable++ 通过超额抵押 BTC 或 CKB 生成 RUSD,然后通过 RGB++ 在链上发行。
跨链交易和流通:RGB++ 通过同构绑定和 Leap,将 BTC 链(以及其他 UTXO 链)和 CKB 链无缝连接,允许 RUSD 以及其他资产在多个 UTXO 链上进行跨链操作,扩展了资产流通范围 ,并保证数据同步。
交易记录与结算:Fiber Network 与 CKB 的结合,支持了链下支付的快速处理,并且 CKB 作为 L1 链保障了交易的最终结算,确保所有交易状态和资产的安全性。
- 复杂交易的基础:CKB 的虚拟机和 Cell 模型提供智能合约的执行环境,支持复杂的支付条件和自定义合约逻辑,同时也保证了 Stable++ 协议的去中心化。
参考资料:
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。