作者:YBB Capital Researcher Zeke
前言
比特币自2009年正式诞生以来,关于资产发行与扩容方案的探索一直是鲜少有人敢于挑战的领域,究其原因有三点:一是「BTC OG」在过去坚持将比特币奉为“数字黄金”,是一种存粹的价值存储手段,排斥一切可能有安全性风险的扩容方案;二是由于比特币最初是为电子支付系统而构想的,安全和稳定是整个系统运行的基石。所以中本聪采用了最极简的设计方式,比特币脚本语言仅赋予了比特币最基础的支付功能,非图灵完备的特性导致无法执行任意计算或循环,通过牺牲可扩展性,确保了比特币网络的安全性与稳定性;三是Vitalik构想的EVM(以太坊虚拟机)使得图灵完备的公链成为现实,更友好的开发环境吸引了大量开发者的留存,也造就了区块链生态除比特币外百花齐放的盛况。
不过时至今日,随着铭文的持续火爆与模块化概念的成熟,在比特币上构建新型扩容方案(形似以太坊Rollup,实际构建方式却又花样百出)的Layer2项目近期也呈井喷式爆发态势,而本文的目的旨在分析两个问题:BTC扩容的实现方式都有那些,以及此类型的BTC L2究竟是蹭热度的昙花一现,还是最古老公链的枯木逢春?
潘多拉魔盒的钥匙
如前言所述,BTC最初在设计上就摒弃了可扩展性,而如今之所以能有大量扩容方案的引入,其实源于BTC自身局限性问题(交易费用昂贵、速度缓慢、不能处理复杂的智能合约等等)带来的两次重要升级。
SegWit(隔离见证)
SegWit 是2015年12月由Bitcoin Core开发者、Ciphrecx首席技术官 Eric Lombrozo、比特币技术爱好者 Johnson Lau 及BlockStream 联创 Pieter Wuille 共同提出的比特币扩容改进提案,即BIP141。该升级于2017年实施,作为比特币网络的软分叉引入。其主要目的致力于解决当时网络的交易拥堵问题,对于决定每个区块可确认的交易数量而言,区块大小起着至关重要的作用。而SegWit的主要思想侧重于重新组织块数据。通过应用SegWit,可以将签名与交易数据分开,从而增加每个区块中可确认的交易数量。
SegWit升级后带来的最显著的优势之一是增加了区块容量。通过将签名数据从交易输入中移除,有效区块大小从1 MB增加到大约4 MB,使得更多的交易可以存储在单个区块中。另一方面修复了比特币的交易延展性(也为闪电网络的实现铺平道路),通过将签名从交易数据中分离,防止了对签名的篡改,有效防止了无效交易被永久存储在区块链上的可能性。
Taproot
Taproot提案最初由Bitcoin Core开发者Greg Maxwell于2018年1月提出。2020年10月,Pieter Wuille发起代码拉取请求,将Taproot并入Bitcoin Core代码库。为了全面部署升级,节点运行者须采用Taproot的全新共识规则。该提案最终得到90%的矿工支持,并于2021年11月14日在区块709,632中正式激活。Taproot是自SegWit后的一次重大升级,旨在提升隐私性、简化交易验证并提高效率以及更复杂的智能合约处理能力。该升级由三项不同的BIP提案组成:BIP340、BIP341 和 BIP342。
BIP340: 引入Schnorr签名,该签名是一种由克劳斯·施诺尔(Claus Schnorr)于2008年推出的加密签名方案,旨在优化比特币网络的验证过程。在Taproot升级之前,比特币使用椭圆曲线数字签名算法(ECDSA)。虽然比特币的创造者中本聪曾认为ECDSA更受人们青睐,但Schnorr签名在签名聚合、批量验证和隐私性等方面进行了升级,有效改善了效率与隐私性;
BIP341: 引入了 Taproot 协议,提高比特币交易的隐私性和灵活性。Taproot 通过将多重签名(multisig)和智能合约交易隐藏在一个单一的公钥散列下,使得多方交易和复杂智能合约在区块链上看起来像是单方交易,从而提高了交易的隐私性;
BIP342: 引入Tapscript脚本,Tapscript是原始比特币脚本(确定如何锁定和解锁交易的比特币协议的编程语言)的升级版,也可以被称为一种语言,但它实际上是带有命令的操作码的集合,这些命令为另两个BIP的实施助力。Tapscript还取消了10000字节的脚本大小上限,为在比特币网络创建智能合约提供了更好的环境。(该升级也为后来Oridnals的诞生埋下基础,因为Ordinals协议就是利用的Taproot 的 script-path spend scripts脚本来实现的附加数据)
基于 SegWit 与 Taproot的升级,也促使了闪电网络和铭文生态(BRC-20、ARC-20等)两种扩容方案的快速发展与诞生,而另一方面为了弥补不能实现复杂智能合约的缺憾,各种实现方式不同的执行层开始涌入BTC生态。
扩容方案概述:
不同于以太坊Layer2的统一性(虽然Vitalik也没明确那种方案就是Layer2,但目前一般都是指Rollup,并且实现方式都比较相似,通常来说只在数据有效性的验证方式上有较大区别),BTC Layer2并没有统一的定义和方案,如果扩容方案都可称为Layer2为标准,那么从当前需要用到的实现方式来看,其实大致可分为以下五种。(分类中的部分项目简介,截取自过去我们过去的文章《“千树万树梨花开”,比特币生态全览》、《数字黄金新征程:比特币生态多元化探索与协议创新》,阅读全文可了解详情。)
一、侧链(Sidechains):
概述:第一篇完整的比特币侧链方案技术论文是由 Blockstream 的研究员撰写的,出版于 2014 年,但该方案后来被遗弃了。直到2016年,Blockstream再次提出将挂钩的侧链作为扩展比特币的可能途径,而侧链经常是指信任最小化的区块链,一般是通过双向跨链桥连接到主链的独立区块链,允许以外来加密资产(另一区块链的原生资产)进行支付,通过侧链可以实现的最有意义的益处是用户资产发行、支持DeFi解决方案的有状态的智能合约、承诺链扩展、更快的结算终结和更高的隐私性。
验证: 侧链通常采用自己的共识机制,有一套独立的验证节点。资产从主链转移到侧链需要进行锁定,而从侧链返回主链则需要解锁。这个过程中,验证节点负责确保转移的合法性。
缺陷:可能因为节点过少导致中心化、不继承主链安全性等。
Stacks
三、客户端验证(Client Verification)&一次性密封(Single-use-seals):
概述: 在传统的区块链系统中,如比特币或以太坊,交易和智能合约的验证是由全网的节点共同完成的,即所谓的“全节点验证”。而2016 年比特币核心开发者 Peter Todd 发表论文提出了客户端验证的新范式,通过模拟传统的合同签约方式保证只有双方知道合约内容的隐私性前提,无需任何第三方参与,实现完全去中心化。同时引入的还有一次性密封的概念,会在下文RGB协议中提到。
验证: 链下数据存储、链上承诺、客户端验证。
缺陷:开发数年进展缓慢,智能合约无法交互等。
RGB协议
RGB是LNP/BP标准协会(Lightning Network Protocol / Bitcoin Protocol:比特币协议/闪电网络协议),该协会是一个监督比特币各层开发的非营利组织,覆盖了比特币协议、闪电网络协议和 RGB 等智能合约。RGB协议适用于可扩展且具备隐私性的比特币和闪电网络智能合约系统,其目的是在UTXO上运行复杂的智能合约以此引入到比特币生态当中。官方说明是:用于比特币和闪电网络的可扩展和保密智能合约协议套件,可用于发行和转移资产以及更广义的权利。该协议是基于Peter Todd在2016年提出的客户端验证和一次性密封的概念,并在比特币的第二层或链下运行的客户端验证和智能合约系统。理解RGB协议需理解以下四个关键内容:
1.一次性密封(Single-use-seals):
简单来说如同字面意思,是给需要保护的对象加上一层一次性密封条来让它只有打开和关闭两种状态,以此确保内容仅被使用一次达到防止双重支付的目的。与以太坊账户相比,比特币的网络中只有钱包地址,其中未花费交易输出(Unspent Transaction Output,简称UTXO)可以作为密封条。
所以理解一次性密封前需了解什么是UTXO,它是一种账本模型,在每笔交易中都会产生输入(Input)和输出(Output),其中转账交易的输出就是接收方的比特币地址和转账金额,而这些输出则被存储在UTXO集合中用于记录未花费的交易输出,同时一个输入指向的是前面区块的某个输出,因而这些交易是可以被追溯的,所以这里比特币的交易输出就可以当作一次性密封条来使用。
根据 RGB 官方文档的解释,一个 UTXO 就可以被视为一个密封条:在创建它的时候,密封条锁上;在花费它的时候,密封条打开。根据比特币的共识规则,一个输出只能被花费一次。因此,如果我们拿它作为密封条,那么确保比特币共识规则得到执行的激励因素,将同样保证这样的密封条只能开启一次【2】;
BitVM是目前最接近复现ETH Rollup的方案,通过无限叠加的二进制电路(Taproot地址)确实能构成一个图灵完备虚拟机,但其实现过程过于困难,可以想象成非要在普通计算器上实现电脑大型程序的过程。虽然目前只是个美好的想法,但还是能给后者提供一定的思路。
ARC-20 AVM(新兴项目)
23年12月13日Atomicals创始人Arthur在接受采访时表示元协议是开发人员创造自己的数据结构和规则的新方法,而不受现有严格结构的限制。诸如Atomicals Protocol之类的元协议不断涌现,使开发人员能够利用智能合约创建全新的结构。这让创作者能够专注于Atomicals虚拟机(AVM),该虚拟机使开发人员能够在比特币网络上构建智能合约程序。
Bison(新兴项目)
Bison是一款比特币原生的ZK Rollup,可提高交易速度,同时在原生比特币上实现高级功能。开发者可以使用 ZK Rollup 来打造创新的 DeFi 解决方案,例如交易平台、借贷服务和自动化做市商。不同于其它L2方案采用的EVM兼容,Bison采用的是Cario VM(StarkNet同款),并且主要围绕铭文进行生态构建。
技术方案上Bison与以太坊大多数Rollup类似,都是建立在底层区块链上的执行层,但特别之处在于验证。
Bison将状态和Zk proof刻录成铭文上传至Ordinals,再通过验证者的前端客户端进行证明,首先,验证者接收Zk proof和公共输入,其中公共输入是计算中公开已知的值。随后,验证者检查证明格式的正确性,并评估约束,而无需构造多项式。使用低次数测试算法确保多项式的低次数,然后验证组合多项式以确认其正确性。最后,验证者检查密码学承诺和其他密码学原语,如Merkle证明,以确保其与证明和公共输入一致。如果所有步骤通过验证,则验证者接受证明为有效;否则,将其拒绝。从实现方式来看,Bison本质上还是主权Rollup,通过自身节点验证,而DA只是通过铭文形式被保存和公示到BTC主网,并不能完全继承BTC的价值。
B2 Network(新兴项目)
B2 Network 是一个基于比特币零知识证明验证承诺的兼容 EVM 的ZK Rollup,交易数据和Zk proof 验证承诺被记录在比特币主网上,最终通过挑战-响应机制得到确认,然而唯一的问题还是在主网无法验证DA。
B2 Network 的技术架构包括两个基本层次和一个挑战机制:Rollup层和DA层。在Rollup层,B2采用ZK Rollup,结合zkEVM解决方案负责执行Layer 2网络中的用户交易以及输出相关的证明。用户的交易在ZK Rollup层提交和处理,用户的状态也存储在这一层。批量提案和生成的Zk proof随后被转发到DA层进行存储和验证。
DA层包括去中心化存储、B2节点和比特币网络。这一层负责永久存储Rollup数据的副本,验证Zk proof,最后将这些数据刻录到铭文上传至主网,同时,验证系统进行去中心化验证,并生成比特币Commitment。最后由于主网无法验证DA,Bitcoin Committer Module将Zk proof的Commitment写入主网,并设置一个时间锁定的挑战,允许挑战者对Zkp验证的Commitment进行争议。如果在时间锁定期内没有挑战者出现,或者挑战失败,Rollup将最终在比特币上得到确认。相反,如果挑战成功,Rollup将被回滚。而挑战成功者的报酬是可以取走锁在BTC主网的资产作为奖励,失败的情况下则是节点取回资产。项目的构思值得称赞,但依然没法完全继承BTC的去中心化和安全性。
结语
多年来BTC一直是以数字黄金的形态在价值存储上发挥作用的,而如今的生态爆发也给了Rollup项目逃离以太坊四天王(OP、ARB、Zks、Stark)统治,以及将BTC转化为生产资产的机会。但遗憾的是形似终归只是形似,无论哪种方案都没能完全继承BTC去中心化与安全性的价值,究其原因还是突破不了BTC无法验证这一难关。而目前整个市场也是乱象横生,近期更有甚者直接Fork了别人的方案(SatoshiVM),打着BTC L2的旗帜在外招摇撞骗,募取资金。在BTC淘金热的浪潮下,各位也需要对项目进行仔细甄别,不能一时Fomo跌进深坑。
参考文献
1.从BTC脚本到Subscript:智能合约语言剖析:https://www.sohu.com/a/439259721_120969128
2.一文盘点五类比特币扩容方案优缺点:https://www.odaily.news/post/5190588
3.链下交易:比特币资产协议的演化:https://www.btcfans.com/zh-tw/article/107183
4.RGB 协议或是智能合约的终极形态?:https://www.techflowpost.com/article/detail_15076.html
5.比特币的可编程性:https://www.btcstudy.org/2022/09/07/on-the-programmability-of-bitcoin-protocol/#二-基本模块与特性
6.比特币=熊猫?深入探讨比特币生态的投资方法论:https://www.odaily.news/post/5191166
7.牛市第一响,BTC L2 将造就 alpha 之王:https://twitter.com/blockpunk2077/status/1748652961436492288
8.Haotian:https://twitter.com/tmel0211/status/1749322402079887551
9.什么是Taproot,它又如何让比特币受益?:https://academy.binance.com/zh/articles/what-is-taproot-and-how-it-will-benefit-bitcoin