首页 资讯 正文

CKB Stablecoin Payment 的实现

字节元CKB 2024年10月31日 07:45

作者:Jimmie,来自 10K Ventures

1. 概述

CKB stablecoin payment 是一种基于 CKB 网络的去中心化稳定币支付解决方案,允许用户通过 CKB 和比特币的联合网络,利用如 RGB 和 Fiber Network 等 Layer 2 扩展,生成并管理与美元挂钩的稳定币 RUSD,实现快速、低成本、安全的跨链稳定币支付。

2. 核心组件介绍

2.1 CKB(Common Knowledge Base)

5UaN7CSFuOW7eP3zABWdLa4JjUSYdPJfBLOVc0u0.jpeg

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 模型及其特点:

Cell 模型类似于  BTC 的 UTXO 模型,但通过引入双脚本实现了智能合约脚本的链上数据存储和验证。存储任意类型的数据或资产:在 BTC 的 UTXO 模型中,每个交易输出只能包含简单的金额信息和所有权;而 CKB 的每个 Cell 都可以存储智能合约代码),并在交易中通过外部调用触发这些脚本执行,这意味着每个 Cell 都能够独立执行与其相关的智能合约逻辑,具有可编程性。状态与计算分离:因为 Cell 存储了智能合约的代码和状态,允许每个 Cell 独立执行合约逻辑复杂的计算任务可以在 Layer 2 或链下执行,执行结果则通过交易同步回 Layer 1,确保网络的安全性和数据的一致性。并行执行和打包交易:通过 Cell 模型,不同 Cell 中的智能合约可以实现并行执行,而同时,不同 Cell 的交易结果可以打包更新上链,这种方式使计算更加高效并且降低交易费用。

1sdMY6L7TTSzVXCt5B0excswgd3kiBJc6zVKvbIq.jpeg

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)。

NSosT1TUfLJoi8byGrrpophwYFzjq2OfhSbaNTu0.jpeg2.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 的联系及正统性

UTXO 模型的跨链互操作性:

CKB 的 Cell 模型是 BTC UTXO 模型的扩展。BTC 用户能够将其资产映射到 CKB 网络,借助 CKB 网络的灵活性进行存储、智能合约操作和去中心化金融(DeFi)应用。由于 Cell 与 BTC UTXO 在结构上相似,且 CKB 可以兼容 BTC 签名算法,用户可以用 BTC 钱包操纵 CKB 链上资产,对于其他 UTXO 公链同理。

正统性: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 RGB

2.2.1 RGB 是什么

RGB 是一种去中心化的资产发行和智能合约协议,适用于 Bitcoin UTXO 模型和其他 UTXO 公链。

RGB 协议继承了 RGB 协议的将链上和链下分别创造一个交易并进行绑定的思想,不同之处在于 RGB 利用客户端验证,将更多 BTC 网络无法存储的数据和无法实现的智能合约移到链下,并创建对应的交易与链上进行绑定,而 RGB 将这些无法存储的数据和无法实现的智能合约移到 CKB,使 CKB 成为 BTC 的智能合约结算层。

2.2.2 基本功能

通过 RGB ,将 CKB 作为 BTC 的影子链:作为 BTC 的补充链,承担 BTC 原生无法处理的包括在图灵机中的复杂逻辑和智能合约操作。

与 BTC 网络交互:

交易发生:在 BTC 网络中,用户通过常规的 UTXO 模型完成交易,而涉及智能合约执行的部分则通过 RGB 将合约状态和数据绑定到 CKB 上。验证逻辑:在 BTC 网络上进行的交易记录将通过 RGB 与 CKB 上存储的合约状态同步,通过特定的验证逻辑来确保交易的合法性,每当网络发生交易,RGB 会触发 CKB 上的合约执行,通过链上合约逻辑检查交易是否符合预定的规则,例如余额是否充足、签名是否有效、合约条件是否满足等。

RGB 使用客户端验证(Client-Side Validation)的模式来确保链下数据的私密性和完整性,只有在链下验证通过时才会将数据提交至 CKB 进行最终结算。

资产发行与管理:RGB 允许用户通过链下协议发行资产(如稳定币、代币等),并使用 CKB 来管理这些资产的生命周期(不仅包括资产的发行和流通,还包括更复杂的操作,如时间锁、条件支付等功能)。

RGB 实现了 BTC 的高安全性与 CKB 的可编程性结合。

dUAva0iWCgSZK1oFflfjmdNzifzxcVTrgxKldqvp.jpeg2.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 会生成用来分配资产。

同构绑定的优点 - 赋能 BTCFi

智能合约支持:BTC 无法原生支持图灵完备的智能合约,而通过同构绑定,CKB 可以作为智能合约的执行层,管理 BTC 资产的复杂交易条件,如时间锁、条件支付等。资产管理的灵活性:同构绑定允许在 CKB 上管理 BTC 网络中流通的资产,用户可以通过 CKB 的灵活编程能力执行复杂的金融操作,而无需改变 BTC 的底层协议。

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 链上进行资产的拆分和转移。

发布 Commitment:首先,用户需要在 BTC 链上发布一个 Commitment,声明要将 BTC UTXO 绑定的资产解除绑定。Cardano 链绑定:接下来,在 Cardano 链上发布一个新的 Commitment,将该 RGB 资产与 Cardano 的 eUTXO 绑定。修改锁定脚本:然后,修改 RGB 资产在 CKB 链上的锁定脚本,将解锁条件从 BTC UTXO 切换为 Cardano 链上的 eUTXO。这一步允许资产持有人通过 Cardano 链控制原本在BTC链上的资产。

CKB 在 Leap 中的作用:

CKB 扮演了类似索引器和数据可用性(DA)层的角色。所有的 RGB 资产数据仍然存储在 CKB 链上,CKB 作为第三方见证人来处理 Leap 请求,并确保跨链资产的安全性。CKB 提供了安全性和可信度:相比传统跨链桥中常见的多签或 MPC(多方计算)机制,CKB 的安全性和去中心化属性更为可靠。

2.2.5 RGB 在稳定币支付中的角色

稳定币的发行和流通:通过 RGB 在 BTC 链上发行稳定币,借助 CKB 实现资产的智能管理。

跨链资产管理:通过 RGB Layer和 CKB 的结合,确保稳定币支付在不同 UTXO 链上无缝操作。

智能合约支持:为稳定币支付提供复杂的支付条件、时间锁等功能,提升支付的灵活性和安全性。

桥梁作用:RGB Layer 充当BTC(以及其他 UTXO 链)和 CKB 之间的桥梁,扩展了 BTC 的可编程性和资产管理能力,使 BTC 的稳定币支付功能更加多样化和灵活。

2.3 Fiber Network

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 主链进行结算。

链上合约(HTLC):

类似于 BTC 闪电网络,Fiber Network 现在也使用哈希时间锁合约(HTLC) 来保障链下交易的安全性;如果链下交易在约定时间内没有被确认,可以通过 HTLC 自动退回资产。PTLC:Fiber Network 在 HTLC 的基础上改良,避免整条支付路径图使用同一加密值,将使用 PTLC 来防止对交易关联性的隐私泄漏。

多跳路由(Multi-Hop Routing):Fiber Network 和 BTC 闪电网络一样,支持通过多个节点进行支付路径的跳转,基于 Dijkstra 算法来搜索支付路径,从而降低路由费用并提高多跳路径支付的成功率。

监控服务-瞭望塔(Watchtower Service):用户可以利用全天候监控服务来监控支付通道的状态,防止恶意节点尝试进行双重支付或作弊行为(防止交易参与者把过期的 Commit 提交上链),该服务可以自动追踪交易并报警。

2.3.3 Fiber Network 与 BTC 闪电网络的不同

多资产支持:

BTC 闪电网络之前仅支持 BTC 的链下支付,现在可通过 Taproot Asset 升级支持其他资产。Fiber Network 支持多种资产,包括 CKB、BTC、RGB 稳定币等。

手续费和交易速度:

BTC 闪电网络由于在 BTC 链上运行,打开和关闭通道时需要支付较高的 BTC 手续费,尤其当 BTC 交易费用上涨时,通道操作成本大幅增加。Fiber Network 由于依赖 CKB,拥有更高的 TPS 和更低的交易费用,这使得打开和关闭通道的操作成本更低,提供了更好的用户体验。

跨链互操作性:

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 Stable

5wgAZewYSy7PYlkpuzBNyqNeTyAA3UGR8yoNk2XH.jpeg2.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 清算机制 - 双重保险

Inl0xy8UMystIcYsWfMQrO8H3MaNEsP9pdx3v0qa.jpeg概述:清算机制是在抵押品价值下降至某个临界点(最低质押比例借出 RUSD)时触发的保护措施,确保生成的 RUSD 稳定币始终有足够的抵押品支持,系统会自动清算那些抵押不足的用户,以维持整体系统的稳定性

稳定池(Stability Pool):

为解决发生大面积清算时效率低下的问题,Stable 使用稳定池来代替大多数借贷协议通用的拍卖方式进行清算,无需在市场上寻找清算人。自动清算:稳定池需要 LP(用户)预先存入 RUSD 来作为储备,当清算发生时,稳定池中与坏账等额的 RUSD 会被直接销毁,同时抵押物会直接分配给 LP。通过稳定池自动清算的能力,用直接分配超额抵押物来代替传统拍卖,提升了稳定币在出现大面积清算的运行效率和稳定性。

重分配:

概述:当稳定池没有足够的储备来完成坏账清算时,坏账与抵押物将通过充分配机制在借款人之间分配。债务重分配:当清算池无法覆盖全部坏账时,剩余的债务会在所有借款人之间按比例重分配。抵押物分配:所有借款人共同消化坏账的同时,也会获得按比例分配的超额抵押作为奖励。通过让所有借款人共同承担坏账,这个机制确保了系统中没有未覆盖的债务,避免了系统性风险的积累。2.4.3 Stable 在稳定币支付中的角色

Stable 协议生成稳定币 RUSD,作为支付中使用的主要稳定币。

Stable 通过创新的清算机制,改进了传统的超额抵押方式,保证了 RUSD 价格的稳定性。

Stable 借助 RBG 的同构绑定和 Leap 能力,使 RUSD 成为第一个真正能够在任何支持 UTXO 的链上自由流通的稳定币,进一步拓宽了稳定币的流通性。

2.5 JoyID

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 的稳定币支付与其他交易。

3. 支付链路

支付发起与接受:用户可以通过 JoyID 钱包开设支付通道,进行稳定币支付。稳定币发行:RGB 和 Stable 协同工作,Stable 通过超额抵押 BTC 或 CKB 生成 RUSD,然后通过 RGB 在链上发行。跨链交易和流通:RGB 通过同构绑定和 Leap,将 BTC 链(以及其他 UTXO 链)和 CKB 链无缝连接,允许 RUSD 以及其他资产在多个 UTXO 链上进行跨链操作,扩展了资产流通范围 ,并保证数据同步。交易记录与结算:Fiber Network 与 CKB 的结合,支持了链下支付的快速处理,并且 CKB 作为 L1链保障了交易的最终结算,确保所有交易状态和资产的安全性。复杂交易的基础:CKB 的虚拟机和 Cell 模型提供智能合约的执行环境,支持复杂的支付条件和自定义合约逻辑,同时也保证了 Stable 协议的去中心化。