Nervos CKB钱包引领比特币可编程性的新篇章
为什么大家都看好Nervos CKB 钱包?Nervos CKB钱包详细介绍!CKB作为比特币可编程性解决方案,利用同构绑定+CKB网络替代客户端验证的解决方案,实现了比特币L1层资产在L1<>L2之间的自由流转,且不依赖额外社会信任假设。而且受益处于CKB Cell的状态空间私有化特性,RBG++并没有像其他比特币可编程性协议那样给比特币主网带来状态爆炸的压力。近期,通过RGB++首批资产发行初步完成了生态的热启动,为CKB生态成功OnBoard了~15万新用户和一批新开发者。如比特币L1可编程性协议Stamps生态的一站式解决方案OpenStamp,已选择使用UTXO Stack构建服务于Stamps生态的UTXO 同构比特币L2。下一阶段,CKB将重点放在生态应用建设、实现BTC在L1<>L2之间的自由流转、集成闪电网络等方面,力争成为未来的比特币的可编程性层。
前言
第4轮比特币减半周期中,Ordinals协议以及类似协议的爆发式采用,让加密行业意识到基于比特币L1层发行资产与交易资产对比特币主网共识安全和生态发展的正外部性价值,可谓是比特币生态的“Uniswap时刻”。
比特币可编程性的进化与迭代,是比特币社区意见市场治理的结果,而非为了BTC的Holder、为了区块空间的Builder等等目的论所驱动的。
当下,通过增强比特币的可编程性进而增加比特币主网区块空间的使用率,成为比特币社区共识的新设计空间。
与以太坊和其他高性能公链不同,为了保证UTXO集的简洁性和轻量化,比特币可编程性的设计空间是高度受限的,基本约束在如何使用脚本和OP Code操作UTXO。
经典的比特币可编程性方案有状态通道(闪电网络)、客户端验证(RGB)、侧链(Liquid Network、Stacks、RootSock等)、CounterParty、Omni Layer、Taproot Assets、DLC等等。2023年以来新兴的比特币可编程性方案有Ordinals、BRC20、Runes、Atomicals、Stamps等等。
在铭文第二波浪潮结束之后,新一代比特币可编程性方案等等纷纷涌现,如CKB的UTXO同构绑定方案、EVM兼容比特币L2方案、DriveChain方案等等。
与EVM兼容比特币L2方案相比,CKB(Common Knowledge Base)的比特币可编程性方案,是比特币可编程性现代设计空间中一个原生的、安全的、不引入社会信任假设的解决方案。而与DriveChain方案相比,它不要求比特币协议级别的任何变动。
在可预计的未来,比特币可编程性的成长曲线将经历一个加速增长阶段,比特币生态的资产、用户、应用将随之迎来一波玄武纪大爆发,CKB生态的UTXO Stack将为新涌入的比特币开发者提供利用模块化堆栈构建协议的能力。另外,CKB 正在探索将闪电网络与UTXO Stack集成,利用比特币的原生可编程性实现新协议之间的互操作性。
比特币可编程性的命名空间
区块链是创造信任的机器,比特币主网是其中的0号机。像西方所有哲学都是对柏拉图的注脚一样,加密世界里的一切事物(资产、叙事、区块链网络、协议、DAO等等)都是比特币的派生物和衍生品。
在比特币Maxi与扩容主义者的协同进化过程中,从比特币主网是否支持图灵完备之争到隔离见证方案与大区块扩容方案之争,比特币在不断分叉。这既在创生新的加密项目和加密社区共识,也在强化和巩固比特币自身的社区共识,这是一个在他者化的同时完成自我确认的过程。
由于中本聪的神秘消失,比特币社区治理并不存在以太坊那样的“开明君主专 制”的治理结构,而是由矿工、开发者、社区和市场进行开放博弈达到均衡的治理模型。这赋予比特币的社区共识一旦形成、异常稳固的特性。
目前比特币社区共识的特性有:共识不是命令和控制、信任最小化、去中心化、抗审查性、伪匿名性、开源、开放协作、免许可、法律中立、同质化、向前兼容性、资源使用最小化、验证 > 计算、收敛、交易不可变性、抗 DoS 攻击、避免争抢进入、稳健性、激励一致、固化、不该篡改的共识、冲突性原则、协同推进等。[1]
目前的比特币主网形态,可以看作是以上比特币社区共识特性的实例化结果。而比特币可编程性的设计空间,也是由比特币社区共识特性所定义的。
比特币可编程性的经典设计空间
在其他公链尝试模块化、并行化等等方案探索区块链不可能三角解决方案的设计空间时,比特币协议的设计空间一直聚焦在脚本、OP Code和UTXO。
典型的两个实例,分别是2017年以来比特币主网的两次重大升级Segwit硬分叉和Taproot软分叉。
2017年8月的Segwit硬分叉,在1M的主区块外新增3M的区块专门保存签名(见证,Witness),并在计算矿工费时将签名数据的权重设为主区块数据的1/4,以保持花费一个UTXO输出和创建一个UTXO输出成本的一致性,防止出现滥用UTXO找零增加UTXO集膨胀速度的情况。
2021年11月的Taproot软分叉,则通过引入Schnorr 多重签名方案,节省UTXO的验证时间和多重签名所占的区块空间。
1个UTXO的键值组(图源:learnmeabitcoin.com)
UTXO(未花费的交易输出)是比特币主网的基础数据结构,它具有原子性、非同质性、链式耦合的特性。比特币主网上的每一笔交易,都会消耗掉1笔UTXO作为输入,同时创建整数n个新的UTXO输出。通俗点理解,UTXO可以视作运行在链上的美元、欧元等纸币,它可以花费、找零、拆分、组合等等,只不过它的最小原子单位是聪(sats)。1笔UTXO就代表某个特定时间的1个最新状态。UTXO集,即代表某个特定时间比特币主网的最新状态。
通过保持比特币UTXO集的简洁性、轻量化和易验证性,比特币主网的状态膨胀速度成功稳定在与硬件摩尔定律相适应的水平,从而保障比特币网主网全节点的可参与性和交易验证的鲁棒性。
与之相应的,比特币可编程性的设计空间同样受到比特币社区共识特性的约束。例如,为了防范潜在的安全风险 ,中本聪在2010年8月决定将OP-CAT操作码移除,而该操作码是实现比特币图灵完备级别可编程性的关键逻辑。
比特币可编程性的实现路径,没有采用以太坊、Solana那样的链上虚拟机(VM)方案,而是选择利用脚本和操作码(OP Code)对UXTO、交易的输入字段、输出字段和见证数据(Witness)等进行编程操作。
比特币可编程性的主要工具箱有:多重签名、时间锁、哈希锁、流程控制(OP_IF,OP_ELIF)。[2]
经典设计空间下,比特币可编程性是非常有限的,仅仅支持几种验证程序,而不支持链上状态存储和链上计算,而链上状态存储和链上计算恰恰是实现图灵完备级可编程性的核心功能组件。
比特币可编程性的文艺复兴
但比特币可编程性的设计空间,并不是一个固定不变的状态。相反,它更接近一种随着时间变化的动态光谱。
与外界对比特币主网开发陷入停滞状态的刻板印象不同,在各种共识向量局限设计空间的情况下,比特币主网新脚本和新操作码的开发、部署、采用、推广始终处在进行时态,并在某些时间甚至引发过加密社区的分叉战争(如Segwit硬分叉)。
以比特币主网脚本类型采用度变迁为例,我们可以清晰地感知到其中的变化。比特币主网输出类型使用的脚本,我们可以划分为3大类:原初脚本pubkey、pubkeyhash、增强脚本multisig、scripthash、见证脚本witness_v0_keyhash、witness_v0_scripthash、witness_v1_taproot。
比特币主网全历史输出类型 来源:Dune
从比特币主网全历史输出类型的变化趋势图中,我们观察一个基本的事实:比特币主网可编程性增强是长期历史趋势,增强脚本在吞噬原初脚本的份额,而见证脚本在吞噬增强脚本的份额。基于Segweit增强脚本和Taproot见证脚本的Ordinals协议所开启比特币L1资产发行浪潮,既是比特币主网可编程性历史趋势的延续,也是比特币主网可编程性的新阶段。
比特币主网操作码也有着与比特币主网脚本类似的演进过程。
例如Ordinals协议,就是通过结合比特币主网脚本taproot script-path spend和操作码(OP_FALSE、OP_IF、OP_PUSH、OP_ENDIF)实现其功能设计。
Ordinals协议的1次铭刻实例
在Ordinals协议正式诞生之前,比特币可编程性的经典方案,主要有状态通道(闪电网络)、客户端验证(RGB)、侧链(Liquid Network、Stacks、RootSock等)、CounterParty、Omni Layer、DLC等等。
Ordinals协议将UXTO的最小原子化单位聪(Satoshi)序列化,再将数据内容铭刻在UTXO的Witness字段,并与序列化后的某一特定聪相关联,然后由链下索引器负责索引和执行这些数据状态的可编程性操作。这种新的比特币可编程性范式,被形象地比喻为“黄金上雕花”。
Ordinals协议的新范式,激发了更大范围的加密社区使用比特币主网区块空间发行、铸造和交易NFT收藏品和MeMe类型Token(可统称为铭文)的热情,其中有很多人在人生中第一次拥有自己的比特币地址。
但Ordinals协议的可编程性,继承了比特币的可编程性的有限性,仅支持Deploy、Mint和Transfer三种功能方法。这让Ordinals协议以及它的跟随者BRC20、Runes、Atomicals、Stamps等等协议,只适用于资产发行的应用场景。而对需要状态计算和状态存储的交易和借贷等DeFi应用场景的支持,则比较乏力。
Ordinals协议3种类型的TX数量(图源:Dune)
流动性是资产的生命力来源。由于Ordinals类型比特币可编程性协议的天然特性,导致铭文资产重发行而轻流动性提供,进而影响到一个铭文资产全生命周期产生的价值。
而且Ordinals、BRC20协议还有滥用见证数据空间的嫌疑,并在客观上造成比特币主网状态爆炸。
比特币区块空间大小变化(图源:Dune)
作为参照系,以太坊主网Gas费的主要来源为DEX交易Gas费、L2的数据可用性费和稳定币转账Gas费等。与以太坊主网相比,比特币主网的收入类型单一、周期性强、波动率大。
比特币主网的可编程性能力,尚不能满足比特币主网区块空间供给侧的需求。而达到以太坊主网稳定且可持续的区块空间收入状态,需要比特币生态原生的DEX、稳定币和L2。而实现这些协议和应用的前提条件,是比特币可编程协议需要提供图灵完备的编程能力。
因此,如何原生地实现比特币图灵完备的可编程性,同时约束对比特币主网状态规模的负面影响,成为比特币生态的当前一个显学。
比特币可编程性的CKB方案
目前实现比特币原生的图灵完备的可编程性的方案要有:BitVM、RGB、CKB、EVM兼容Rollup L2、 DriveChain等等。
BitVM使用比特币的一组OP Code构建与非逻辑门,再通过与非逻辑门构建其他基础逻辑门,最终由这些基础逻辑门电路构建出一个比特币原生的VM。这个原理,有点类似著名科幻小说《三体》的秦王阵列图。Netflix改编的同名电视剧里有具体的场景呈现。BitVM方案的论文已经完全开源,备受加密社区的期待。但它的工程实现难度非常大,遇到链下数据管理成本、参与方数量限制、挑战-响应交互次数、哈希函数复杂度等等问题,短期内很难落地。
RGB协议使用客户端验证和一次性密封技术来实现图灵完备的可编程性,核心设计思想是将智能合约的状态和逻辑存储在比特币交易(Transaction)的输出(Output)上,将智能合约代码的维护和数据存储放在链下执行,由比特币主网作为最终状态的承诺层。
EVM兼容Rollup L2,是快速复用成熟的Rollup L2堆栈构建比特币L2的方案。但鉴于比特币主网目前无法支持欺诈证明/有效性证明,Rollup L2需要引入社会信任假设(多签)。
DriveChain是一种侧链扩展方案,基本设计思想是将比特币作为区块链的底层,通过锁定比特币来创建侧链,从而实现比特币和侧链之间的双向互操作性。DriveChain工程的实现,需要对比特币进行协议级别改动,即将开发团队提议的BIP300、BIP301部署到主网。
以上比特币可编程性方案要么工程难度极大短期难以落地,要么引入过多社会信任假设,要么需要对比特币进行协议级别改动。
在 CKB 上编程到底有什么样的优势?
- Nervos 从项目诞生之初,就一直秉持着自己的设计理念,坚持分层的设计方案,底层去解决安全和去中心化的问题,上层去解决效率、扩容、多功能的问题,希望可以通过这样的方式去解决区块链世界的不可能三角问题。Nervos 是一套完整的解决方案,经济模型、共识、虚拟机、Cell 模型、Layer 2 等等,相互之间环环相扣,形成一个完整又紧密的系统。
- 回到一个开发者所关心的问题,现在已经诞生这么多公链平台,那么在 Nervos CKB 上进行编程,究竟会有什么与众不同的体验?在 CKB 上编程,又有什么样的优势呢?
- 本文试着从 CKB 中资产是一等公民、编程上的灵活性,以及状态的确定性这三个角度进行阐述。
开发者发行的资产在 CKB 上都是一等公民
- 在 Nervos CKB 的设计哲学中,如果要将智能合约的风险降到最低,那么必须要将这些智能合约的「状态」去中心化。因为状态决定了资产的所有权,唯有将其去中心化,才能避免因状态的中心化而导致的智能合约漏洞,进而产生系统性风险,最终造成全部人的资产损失。
- 回顾过去,我们可以看到ERC20 的 Token 存在着许多系统的脆弱性,例如著名的 The DAO 事件,以及 2018 年美链的合约漏洞,它们都因为智能合约中有 bug,进而造成无数资产所有者的损失。
- 为什么单个合约漏洞就能造成如此大的伤害呢?因为 ERC20 发行的 Token 本质上是将所有用户的资产都存在一个合约地址中,因此当这些 dApp 产生漏洞时,所有该资产的状态都可能发生变动,从而造成经济损失。在 ERC20 这样的模型下发行的资产,就像将该种资产全部都锁进大金库中。可想而知,只要金库的任何一个地方发生了漏洞,那么外来的人就可以进入金库,并将所有的资产都搬走。
- 发行资产是区块链开发者的一项重要的需求,原生代币和其它发行的资产,都应该是一等公民(First-class Asset),也就是任何一个资产的所有者可以拥有自己的状态所有权,而不是像 ERC20 Token 那样,所有持有者的同类型资产都必须共用一把钥匙。因此,在 Nervos CKB 中,不论是持有 CKByte 这样的原生代币,还是持有其他用户自定义的 Token(User Defined Token,UDT),用户都是将这些资产分别锁在自己独自所有的小格子之中,并且只有用户自己才有解锁的钥匙。
- 为什么能够让资产成为一等公民?这是因为在 Nervos CKB 中,所有的资产都储存在泛化的 UTXO 模型——Cell 之中,并且可以通过 Cell 中的 lock script 验证所有权,以及通过 type script 验证新 cell 的生成,这样的状态储存与验证规则同时适用于 CKByte 和 UDT,因此降低了任何资产发行时,因合约漏洞而造成资产损失的风险。
CKB 是开发者能够任意玩耍的灵活平台
- Nervos CKB?哦,这是条公链啊?那他们的智能合约用啥语言写啊?
- 这样的问题在 CKB 上是不存在的,因为 CKB VM 是基于开源的 RISC-V 指令集开发的,使用了广泛实现的 ELF 格式,也就是说,任何可以编译成 RISC-V 程序的语言均可以直接用来为 CKB 开发智能合约;同时结合 Cell 模型这样的编程模型,我们可以将待验证的合约放在 type script 中,并将所有权的验证放在 lock script 中,这两大设计可以让在 CKB 上的编程拥有非常大的灵活性。
我们简单列举了一些优势来告诉你 Nervos CKB 究竟灵活在哪里:
- 1.任何语言都有可能在 CKB 上开发:
- CKB 核心只定义了底层的虚拟机模型,理论上任何提供了 RISC-V 后端的语言均可以用来开发 CKB 合约,而不需要局限在特定语言才能够进行编程,因此这样的设计在未来可以降低更多开发者的进入门槛,并且更能够捕获使用各种语言的开发者进入 CKB 生态之中。
- 2.你可以用各种密码学原语来作为资产的钥匙:
- 在 CKB 虚拟机上没有写死的密码学原语,因此任何密码学原语理论上都可以像普通的脚本一样被部署在 cell 中。这让 Nervos 的生态可以在不需要分叉的情况下,有了使用各种密码学技术的可能性。
- 这种特性的威力是巨大的,举例来说,你可以用以太坊和其他公链的地址和私钥去签署和收发 CKB 上的交易,因此如 MetaMask 等,这类在其他链上拥有成千上万用户的工具,可以在开发者开发好一款 CKB 上的产品之后直接为他所用,目前 Lay2 团队 的 ckb.pw 正在做这个方向的努力;另外,像各种先进的密码学技术如 Schnorr 签名、BLS 签名,和 zkSNARKs/zkSTARKs 等,都可以在 CKB 上使用。这也让安全性相关的签名机制、异构跨链、zk rollup 或 BLS rollup 等分层的实验性技术未来更有机会在 Nervos 上实现。
- 3.CKB 上可以实现可更新合约
- 合约部署后无法更新一直是区块链开发者的心头之痛,然而因为 CKB 交易中,可以验证 input cell 中 lock script 中的所有权,以及验证 type script 中的生成规则,并且还能通过 cell dep 引用其他的 cell,所以我们能够在 CKB 上产生像是 Type ID 这样的利器。所谓 Type ID 是指某个 Cell 在确定只有某个独一无二的 Type ID 的条件下,持续更新合约,兼顾可升级与确定性,让开发者更灵活地部署并升级自己的合约脚本。
- 4.可以更灵活的支付手续费
- 对于 CKB 而言,其实交易的手续费支付具有非常大的灵活性,我们可以通过 Open Transaction 的方式,将各个交易进行构造,这样的情况下我们不但可以更灵活的用各种非原生的代币支付手续费,绕开因原生代币不足而无法支付手续费 ,交易无法成功的窘境,甚至在构造交易时,我们还可以选择让交易的另一方帮你支付手续费。
- 5.Cell dep 调用的灵活性
- 如果您曾经在以太坊上进行开发,就会知道在以太坊上无法通过一个交易调用两个先前的合约,因为本质上我们需要调用的是两个合约账户,这时候就必须获得两次的合约授权(Approved),但在 CKB 中,我们可以将许多的合约通过 cell dep 与 type script 被调用,可以在使用更少的资源下实现更高的组合性。
- 灵活之余,CKB 的确定性让你更安心
- 除了上面提到了灵活性之外,在 CKB 上的开发者还可以在拥抱灵活编程模型的同时,享有确定性。因为做为 Layer 1 的 Nervos CKB,它只负责执行状态的验证,状态的生成发生在链下,因此它并不会像以太坊那样,开发者的合约需要经过计算才能得到成果。在 CKB 中,我们在链下就能够预期交易的输出状态,让整体交易的执行可以满足「确定性」这个去中心化应用的核心要求。所以,在状态具有确定性的特性下,开发者的合约可以避免被挪作它用,或是受到恶意攻击。这样一来,我们就能够最大程度的确保整体系统的稳定性。
比特币L1资产协议:RGB++
针对以上比特币可编程性协议存在的不足和问题,CKB团队给出了一个相对均衡的解决方案。该解决方案由比特币L1资产协议RGB++、比特币L2 Raas服务商 UTXO Stack和与闪电网络集成的互操作协议组成的。
UXTO原生的原语:同构绑定
RGB++,是基于RGB设计思想开发的比特币L1资产发行协议。RGB++的工程实现,同时继承了CKB和RBG的技术原语。它有使用RGB的“一次性密封”和客户端验证技术,同时通过同构绑定将比特币UTXO映射到CKB主网的Cell(扩展版的UTXO),并使用CKB和比特币链上的脚本约束来验证状态计算的正确性和所有权变更的有效性。
换言之,RGB++是用 CKB 链上的 Cell表达 RGB 资产的所有权关系。它把原本存放在 RGB 客户端本地的资产数据,挪到 CKB 链上用 Cell 的形式表达出来,与比特币 UTXO 之间建立映射关系,让 CKB 充当 RGB 资产的公开数据库与链下预结算层,替代 RGB 客户端,实现更可靠的数据托管与 RGB 合约交互。
RGB++的同构绑定(图源:RGB++ Protocol Light Paper )
Cell是CKB的基本数据存储单元,可以包含各种数据类型,如CKBytes、代币、TypeScript代码或序列化数据(如JSON字符串)。每个Cell都包含一个小程序,称为Lock Script,它定义了Cell的所有者。Lock Script 既支持比特币主网的脚本,如多签、哈希锁、时间锁等,也允许包含一个Type Script来执行特定的规则,以控制其使用。这使开发人员能够根据不同的用例定制智能合约,例如发行NFT,空投代币、AMM Swap等等。
RGB协议通过使用OP RETURN操作码将链下交易的状态根附加到一个UTXO的output,将该UTXO作为状态信息的容器。然后,RGB++将这个由RGB构建的状态信息容器映射到CKB的Cell上,将状态信息保存在Cell的type和data中,将这个容器UTXO作为Cell状态所有者。
RGB++ 交易生命周期(图源:RGB++ Protocol Light Paper )
如上图所示,一个完整的RGB++交易生命周期如下:
链下计算。当发起1笔同构绑定的Tx时,要首先选择比特币主网的一个新的UTXO btc_utxo#2作为一次性密封的容器,再在链下对原Cell同构绑定的UTXO btc_utxo#1、新Cell同构绑定的btc_utxo#2、以原Cell作为输入新Cel作为输出的CKB TX进行哈希计算生成一笔承诺。
提交比特币交易。RGB++发起一笔比特币主网的Tx,将与原Cell同构绑定的btc_utxo#1作为输入,使用OP RETURN将上一步生成的那笔承诺作为输出。
提交CKB交易。在CKB主网执行之前链下计算生成的CKB Tx。
链上验证。CKB主网运行一个比特币主网轻客户端验证整个系统的状态变更。这点与RGB非常不同,RGB的状态变更验证采用的P2P机制,需要Tx的发起方与接收方同时在线且只对相关的TX图谱进行交互式验证。
基于以上同构绑定逻辑实现的RGB++,与RGB协议相比,在让渡部分隐私性的同时,获得了一些新特性:区块链增强的客户端验证、交易折叠、无主合约的共享状态和非交互式转账。
区块链增强的客户端验证。RGB++允许用户选择采用PoW维持共识安全CKB验证状态计算和URXO-Cell的所有权变更。
交易折叠。RGB++支持将多笔Cell映射到单笔UTXO上,从而实现RGB++的弹性扩展。
无主智能合约和共享状态。UTXO状态数据结构实现图灵完备智能合约的一大困难,就是无主智能合约和共享状态。RGB++可以利用CKB的全局状态Cell和意图Cell解决这一问题。
非交互式转账。RGB++将RGB的客户端验证流程变成可选项,不再强制要求交互式转账。用户选择CKB验证状态计算和所有权变更的话,交易的交互体验与比特币主网保持一致。
此外,RGB++还继承了CKB主网Cell的状态空间私有化特性,RGB++每笔TX除了支付使用比特币主网区块空间的矿工费之外,还需要额外支付租赁Cell状态空间的费用(这部分费用在Cell消费之后原路返回)。Cell的状态空间私有化,是CKB发明的一种应对区块链主网状态爆炸的防御机制,Cell状态空间的租赁者在使用期间需要持续的付费(以被CKB流通代币通胀的形式稀释价值)。这使得RGB++协议是一种负责任的比特币主网可编程性扩展协议,在一定程度上能够限制对比特币主网区块空间的滥用现象。
去信任的L1<>L2互操作:Leap
RGB++的同构绑定,是一种共时性的原子实现逻辑,要么同时发生,要么同时翻转,不存中间状态。所有的RGB++交易都会在BTC和CKB链上同步各出现一笔交易。前者与RGB协议的交易兼容,后者则取代了客户端验证的流程,用户只需要检查CKB上的相关交易即可验证这笔RGB++交易的状态计算是否正确。但用户也可以不使用CKB链上的交易作为验证依据,利用UTXO的局部相关Tx图谱,独立地对RGB++交易进行验证。(交易折叠等部分功能仍然需要依赖CKB的区块头哈希做防双花验证)
因此,RGB++与CKB主网之间的资产跨链,并不依赖引入额外的社会信任假设,如跨链桥的中继层、EVM兼容Rollup的中心化多签金库等等。RGB++资产可以原生的、去信任的从比特币主网转移到CKB主网,或者从CKB主网转移到比特币主网。CKB将这个跨链工作流称之为Leap。
RGB++与CKB之间是松耦合的关系。除了支持比特币L 1层的资产(不限于RGB++协议原生资产,包括采用Runes、Atomicals、Taproot Asset等协议发行的资产)Leap到CKB之外,RGB++协议还支持Leap到Cardano等其他UTXO图灵完备链。同时,RGB++还支持比特币L2资产Leap到比特币主网。
RGB++的扩展功能和应用实例
RGB++协议原生支持发行同质化代币和NFT。
RGB++的同质化代币标准是 xUDT ,NFT标准是Spore等。
xUDT 标准支持多种同质化代币发行方式,包括但不限于集中分发、空投、订阅等。代币总量还可以在无上限和预设上限之间进行选择。对于预设上限的代币,可以使用状态共享方案来验证每次发行的总数是否小于或等于预设上限。
NFT标准中的Spore,会在链上存储所有元数据,实现了100%的数据可用性安全。Spore 协议发行的资产 DOB(Digital Object,数码物),类似于 Ordinals NFT,但是有更加丰富的特性和玩法。
作为客户端验证协议,RGB协议天然支持状态通道和闪电网络,但受限于比特币的脚本计算能力,把BTC之外的资产去信任引入进闪电网络非常困难。但RGB++协议可以利用CKB的图灵完备脚本系统,实现基于CKB的RGB++资产的状态通道和闪电网络。
有了以上标准和功能,RGB++协议的用例不像其他比特币主网可编程协议那样局限在简单的资产发行场景,而支持资产交易、资产借贷、CDP稳定币等复杂应用场景。例如,RGB++同构绑定逻辑结合比特币主网原生的PSBT脚本,可以实现一种订单簿网格形态的DEX。
比特币L2 RaaS服务商:UTXO Stack
UTXO同构比特币L2 Vs EVM兼容比特币Rollup L2
在图灵完备的比特币可编程性实现方案市场竞争中,DriveChain、恢复OPCAT操作码等方案由于需要比特币协议层的变更,需要的时间和成本具有非常大的不确定性和不可预测性, 现实主义路线中的UTXO同构比特币L2和EVM兼容比特币 Rollup L2更受到开发者和资本的认可。UTXO同构比特币L2,以CKB为代表。EVM兼容比特币 Rollup L2,以MerlinChain和BOB为代表。
实事求是地讲,比特币L1资产发行协议在比特币社区中刚刚开始形成局部共识,比特币L2的社区共识度则处在更早期。但在这个前沿领域,《比特币杂志》和Pantera已经尝试通过借鉴以太坊L2的概念结构为比特币L2设定定义范围。
在他们眼中,比特币L2应该具有以下3点特性:
使用比特币作为原生资产。比特币L2必须将比特币作为其主要的结算资产。
使用比特币作为结算机制来强制执行交易。比特币L2的用户必须能够强制返回其在一层资产控制权(可信或不可信)。
展示对比特币的功能依赖性。如果比特币主网失效但比特币L2系统仍然可保持运行,那么该系统不是比特币的L2。[4]
换言之,他们认为的比特币L2应该具有基于比特币主网的数据可用性验证、逃生舱机制、BTC作为比特币L2 Gas代币等。这样看来,在他们潜意识中,是将EVM兼容L2范式作为比特币L2的标准模板。
但比特币主网薄弱的状态计算和验证能力在短期内无法实现特性1和特性2,在这种情况情况下EVM兼容L2属于完全依赖社会信任假设的链下扩展方案,尽管它们在白皮书写着未来集成BitVM进行数据可用性验证和与比特币主网联合挖矿增强安全性。
当然,这并不意味着这些EVM兼容Rollup L2是假的比特币L2,而是它们没有在安全性、去信任性和可扩展性之间做到很好的平衡。而且比特币生态引入以太坊的图灵完备解决方案,易被比特币Maxi视作对扩容主义路线的绥靖。
因此,UTXO同构比特币L2 天然在正统性和比特币社区共识程度上优于EVM兼容 Rollup L2。
UTXO Stack的特性:分形比特币主网
如果说以太坊L2是以太坊的分形,那么比特币L2理应是比特币的分形。
CKB生态的UTXO Stack 为开发者一键启动UTXO 比特币L2,并原生集成RGB++ 协议能力。这使得比特币主网和使用UTXO Stack开发的UTXO同构比特币L2之间,可以通过Leap机制实现无缝互操作。UTXO Stack支持质押 BTC、CKB 以及 BTC L1 资产来保障UTXO同构比特币L2的安全。
UTXO Stack架构(图源:Medium)
UTXO Stack目前支持RGB++资产在比特币闪电网络-CKB闪电网络-UTXO Stack平行L2们之间自由流转和互操作。除此之外,UTXO Stack还支持Runes、Atomicals、Taproot Asset、Stamps等基于UTXO的比特币L1可编程性协议资产在UTXO Stack平行L2们-CKB闪电网络-比特币闪电网络之间自由流转和互操作。
UTXO Stack将模块化范式引入到比特币L2的构建领域中,用同构绑定巧妙绕过了比特币主网状态计算和数据可用性验证问题。在这个模块化堆栈中,比特币的角色是共识层和结算层,CKB的角色是数据可用性层,而UTXO Stack平行L2们的角色是执行层。
比特币可编程性的成长曲线与CKB的未来
比特币可编程性的成长曲线与CKB的未来
事实上,比特币的数字黄金叙事与比特币的可编程叙事之间内在的紧张关系,比特币社区中一些OG将23年以来兴起的比特币L1可编程协议视作对比特币主网的新一轮粉尘攻击热潮。某种程度上,比特币核心开发者Luke与BRC20粉丝之间的口水战,是继支持图灵完备与否之争、大小区块之争之后,比特币maxi与扩容主义者的第三次世界大战。
但其实存在另一种视角,将比特币视作数字黄金的APP Chain。在这种视角下,正是数字黄金的底层去中心化账本这一定位,形塑了如今的比特币主网UTXO集形态和可编程协议特性。但如果我没记错的话,中本聪愿景是想让比特币成为一种P2P电子货币。数字黄金对可编程性的需求是保险箱和金库,货币对可编程性的需求是中央银行-商业银行的流通网络。所以说比特币的可编程性增强协议并不是离经叛道的行为,而是回归中本聪愿景。
比特币是第一个AppChain (图源:@tokenterminal)
我们借鉴Gartner Hype Cycle的研究方法,可以将比特币可编程性方案们划分为5个阶段
技术萌芽期:DriveChain、UTXO Stack、BitVM等
期望膨胀期:Runes、RGB++、EVM Rollup 比特币L2等
泡沫破灭期:BRC20、Atomicals等
稳步复苏期:RGB、闪电网络、比特币侧链等
成熟高原期:比特币脚本、Taproot脚本、哈希时间锁等
CKB的未来:比特币生态的OP Stack+Eigenlayer
无论是EVM兼容比特币 Rollup L2,还是UTXO同构比特币L2,亦或者是DriveChain等新范式,图灵完备可编程性的诸种实现方案,最终都指向比特币主网作为共识层和结算层。
正如趋同进化在自然界一再发生那样,可以预期比特币生态图灵完备可编程性的发展趋势将在某些方面与以太坊生态呈现一定程度的一致性。但这个一致性,又不会是简单复刻以太坊的技术堆栈到比特币生态,而是利用比特币原生的技术栈(以UTXO为基础的可编程性)实现相似的生态结构。
CKB的UTXO Stack与Optimism的OP Stack的定位非常相似,OP Stack是在执行层保持与以太坊主网的强等效性和一致性,UTXO Stack则是在执行层保持与比特币主网的强等效性和一致性。同时,UTXO Stack与OP Stack结构一样,都是平行结构。
CKB生态现状(图源:CKB社区)
未来UTXO Stack将推出共享序列器、共享安全性、共享流动性、共享验证集等RaaS服务,进一步降低开发者启动UTXO同构比特币L2的成本和难度。目前已经有一大批去中心化稳定币协议、AMM DEX、 借贷协议、自主世界等项目,计划采用UTXO Stack构建UTXO同构比特币L2作为其底层共识基础设施。
与其他比特币安全性抽象协议不同,CKB的共识机制是与比特币主网一致的PoW共识机制,由机器算力维持共识账本的一致性。但CKB的代币经济学与比特币存在一些区别。为保持区块空间生产和消耗行为激励的一致性,比特币选择引入权重和vByte机制计算状态空间使用费,CKB则选择将状态空间私有化。
CKB的代币经济学由基础发行和二级发行两部分组成。基础发行的所有CKB完全奖励给矿工,二级发行的CKB的目的收取状态租金,二级发行的具体分配比例取决于当前流通的 CKB 在网络中的使用方式。
举个例子,假设所有流通的 CKB 中,有 50% 用于存储状态,30% 锁定在 NervosDAO 中,20% 完全保持的流动性。那么,二级发行的 50% (即存储状态的租金)将分配给矿工,30% 将分配给 NervosDAO 储户,剩余的 20% 将分配给国库基金。
这种代币经济模型能够约束全局状态的增长,协调不同网络参与者(包括用户、矿工、开发者和代币持有者)的利益,创建一个对每个人都有利的激励结构,这与市场上其他 L1 的情况有所不同。
此外,CKB允许单个Cell占用最大1000字节的状态空间,这赋予了CKB上的NFT资产一些其他区块链同类资产不具有奇异特性,比如原生携带Gas费、状态空间的可编程性等等。这些奇异特性,使得UTXO Stack非常适合作为自主世界项目的基础设施来构建数字物理现实。
UTXO Stack允许比特币L2开发者使用BTC、CKB以及其他比特币L1资产质押参与其网络共识。
总结
比特币发展到图灵完备的可编程方案阶段,是不可避免的。但图灵完备的可编程性,不会发生在比特币主网,而是发生在链下(RGB、BitVM)或者比特币L2上(CKB、EVM Rollup、DriveChain)。
按照历史经验,这些协议上将有1条协议最终发展成为垄断性的标准协议。
决定比特币可编程性协议竞争力的关键因子有二:
1. 不依赖额外社会信任假设的实现BTC在L1<>L2之间的自由流转;
2. 吸引足够规模的开发者、资金和用户进入其L2生态。
CKB作为比特币可编程性解决方案,利用同构绑定+CKB网络替代客户端验证的解决方案,实现了比特币L1层资产在L1<>L2之间的自由流转,且不依赖额外社会信任假设。而且受益处于CKB Cell的状态空间私有化特性,RBG++并没有像其他比特币可编程性协议那样给比特币主网带来状态爆炸的压力。
近期,通过RGB++首批资产发行初步完成了生态的热启动,为CKB生态成功OnBoard了~15万新用户和一批新开发者。如比特币L1可编程性协议Stamps生态的一站式解决方案OpenStamp,已选择使用UTXO Stack构建服务于Stamps生态的UTXO 同构比特币L2。
下一阶段,CKB将重点放在生态应用建设、实现BTC在L1<>L2之间的自由流转、集成闪电网络等方面,力争成为未来的比特币的可编程性层。
以上就是脚本之家小编给大家分享的是Nervos CKB 钱包引领比特币可编程性的新篇章和Nervos CKB 钱包的优势介绍了,希望此篇教程能够帮助到大家!
本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。