隨著比特幣擴容敘事的不斷發酵,最近湧現出了眾多比特幣Layer2項目。不同於以太坊的Layer2網路,比特幣的Layer2逐漸在以技術導向的區塊鏈擴容路線中演變成了一個模糊的營銷標籤。
在討論比特幣的Layer2之前,我們先來了解一下Layer2和側鏈的區別。Layer2是建立在主網之上的一套鏈外解決方案,目的是在不犧牲去中心化或安全性的情況下提高交易吞吐量。而側鏈則是在主網之外建立一個獨立的區塊鏈網路。Layer2是一個安全性與主網相同的跨鏈橋,而側鏈則無法被主網的共識鑑別。
目前最常見的Layer2技術有兩類:狀態通道和Rollups。狀態通道是在主網上建立一個通道,在通道內進行多次交易,只有在通道開啟或關閉時才需要在主網上廣播交易。比特幣的閃電網路就是一個狀態通道的例子。Rollups則是將複雜的執行和狀態儲存過程移至Layer2來提高吞吐量。以太坊的Optimistic Rollups和Zero-Knowledge Rollups就是Rollups的例子。
想要了解比特幣Layer2的技術難點,我們需要先了解比特幣的Taproot升級。Taproot升級是一項比特幣協議的改進,旨在提高比特幣交易的隱私性和效率。Taproot引入了兩個重要的技術,用來為未來的比特幣Layer2創造可能性。一個是MAST,它將複雜的指令碼分解為多個子指令碼,並組織成一個默克爾樹的結構,節省空間、提高靈活性和增加隱私。另一個是Schnorr簽名,它可以實現多個簽名者合並成一個簽名者,簡化多籤交易,降低費用、提高安全性和增加隱私。
總結來說,比特幣的Layer2項目正在不斷出現,但其技術難點主要在於驗證。Taproot升級為比特幣的Layer2創造了可能性,而MAST和Schnorr簽名等技術則是實現這一目標的關鍵。在升級之前,我們只能使用P2SH地址来实现复杂的脚本条件,并且必须生成具有相同哈希值的赎回脚本并将其包含在交易中。
然而,对于P2SH的复杂条件,交易体积会变得非常庞大。在P2SH地址中,您必须生成具有相同哈希值的赎回脚本并将其包含在交易中。如果指定脚本中的条件太多,交易体积会变得非常庞大。
MAST可以很好地解决上述问题,这也为BTC的Layer 2发展提供了可能性。
MAST是一种将默克尔树和抽象语法树结合在一起的机制。它类似于P2SH,即向指定哈希值的脚本付款,但与P2SH不同,MAST是向指定默克尔根的哈希值付款。
MAST将一个大的条件集合组装成一棵哈希树,也就是所谓的默克尔树。在这棵树中,每个节点都是由其子节点计算出的哈希值。
树根是一个哈希值,代表了所有条件的集合。这样,在交易中只需要包含这个根哈希,而不需要把所有条件都列出来,起到缩小交易大小的作用。
首先,对所有脚本(条件)进行哈希计算;然后将计算得到的哈希值与相邻哈希值组合起来进行哈希计算,生成一组新的哈希值。不断重复这个两两哈希计算的过程,直到计算出最后一个哈希值为止。
这个哈希值就是默克尔根。
MAST可以将比特币交易与一棵默克尔树相关联,这棵树上的每个叶子节点代表一个解锁比特币的条件。
要花费这些被锁定的比特币,需要构造一个符合默克尔树上某条路径所对应的条件的解锁脚本。
网络只需要验证这个脚本所对应的条件是否属于默克尔树的原始条件集合,也就是验证这个条件是否存在于默克尔树之上。
一旦网络确认这个脚本(以及对应的条件)属于默克尔根,就知道这个脚本符合锁定比特币的要求,然后继续验证这个解锁脚本。这样我们就不需要把完整的脚本包含在交易中,从而减小了比特币交易的大小。
需要说明的是,虽然MAST极大地减小了交易脚本占用的空间,也提供了复杂的链上操作提供可能性,但语法树这种结构所能实现的逻辑相对来说还是比较有限性的,因此有些声称“MAST可以在比特币上实现类似智能合约的功能。”是不准确的。
目前BTC主网还不支持实现像以太坊Layer 2那样的账本验证功能,也就意味着,BTC Layer 2无法完全照搬ETH Layer 2的技术架构,要想保证跨链桥安全,需要另辟蹊径。
如果Schnorr签名与MAST二者结合,可以为BTC主网到Layer 2的跨链桥提供一种新思路,这种技术也是目前市面上BTC Layer 2项目的主流技术方案。
Schnorr签名
Schnorr签名是Claus Schnorr提出的一种数字签名方案,以其简洁高效而闻名。它的优势在于可以将多个签名聚合成一个单一签名,从而优化多签场景下的验证和认证流程。
举例来说,在一个需要12个签名的多签交易中,每个签名可能需要占用20字节的存储空间,那么总共需要240字节来存储这12个签名。
而Schnorr签名可以将这12个签名合并成一个统一的Schnorr签名,该签名只需要大约60字节的空间。这样就节省了很多存储空间,可以用来容纳更多的交易脚本信息。
Schnorr签名可为所有n-n多签名合约提供隐私保护。其中,最典型的应用就是闪电网络支付通道,因为它本质上是一个2-2的多签合约。
而对于通用的m-n(m
以2-3多签为例,等效于A、B解锁或B、C解锁或A、C解锁三种情况。这可以视为一个多条件脚本,每个条件是一个2-2多签,所以也可以用聚合公钥而不是明确多签来定义。
这点便是目前STX、BEVM等项目所采用的跨链技术基础:通过建立由几百个二层节点控制BTC地址来实现跨链。
总结:BTC Layer 2可行发展道路
基于前面的比较,BTC Layer 2解决方案显然不能简单地复制以太坊第二层的设计,因为两者之间存在固有的差异。
为了规划正确的前进道路,BTC Layer 2解决方案应专注于安全的核心本质,同时考虑到比特币的独特属性。
比特币基础层采用了简单的UTXO模型与有限的区块空间。
上文提到了即使有MAST的存在,BTC主网依然无法实现过于复杂的OP/ZKP验证逻辑。
这就注定了,BTC与以太坊Rollup不同,比特币第二层解决方案不能定期提交链上的责任记录进行验证。在比特币区块链上存储数据只能作为可用性检查点,而不能进行实际验证。
这一点是目前比较令市场担忧的,对BTC信仰者来讲,没有BTC共识参与的验证,就失去了BTC Layer 2的叙事;对ETH老使用者来讲,安全性弱于ETH Rollup的技术方案也并不会有太大吸引力。
去中心化跨链能力问题
这是至关重要Layer 2的定义,要实现安全等同于主网共识的跨链桥在BTC主网上难度很高。目前传统的比特币跨链技术,如hash/时间锁、锚点、交换和多重签名,无法提供足够的信任保证。
在比特币2021年的Taproot升级中引入的MAST合约和Schnorr签名的组合为去中心化的比特币跨链带来希望,是实现的BTC Layer 2的主要突破点。
相较于Rollups的链上验证,目前在开发中BTC Layer 2团队需要主要深耕的方向是尽最大可能地提升跨链桥签名的安全性。
至于实现完美的Layer 2,只有比特币能升级BIP层,矿工更新底层代码,支持OP/ZKP验证和比特币矿工的计算执行,才能实现类似ETH Rollup的二层解决方案。要知道的是,这需要非常漫长的时间,也或者永远不会被矿工采纳。
相关报道
比特币第一个预言机Alex Labs问世,推开BTC的DeFi大门
比特币Layer2的真正三难困境:闪电网络、Stacks、Rootstock..
深入探讨Layer2、L2 Rollup差异,比特币生态的前进之路