比特币 (Bitcoin),简称 BTC,是一个基于区块链去中心化共识并且应用点对点网络通信的开源加密货币系统,由分布在全球各地的计算机网络和节点共同维护。BTC 的白皮书由中本聪在 2008 年 10 月 31 日发布,此后的 2009 年 1 月 3 日,BTC 的共识链产生了第一个区块。然而,随着加密社区和生态日渐壮大繁荣,早期的 BTC 技术已无法满足用户对加密货币系统可扩展性的需求。直接改进 BTC 底层协议的复杂度高、社区阻力大,会增加 BTC 系统的风险、导致硬分叉和社区分裂。一个更加合适的方案是 BTC Layer 2,即基于 BTC 构建新的层级而不对 BTC 进行改动,兼容 BTC 的同时,满足用户对扩展性的需求。本文对 BTC Layer 2 进行调查,综合地阐述 BTC 现状、问题以及 BTC Layer 2 的技术方案以及优劣性,并且对其未来进行展望。
BTC 的技术简介
BTC 的核心是分布式账本技术,使用区块链储存交易数据。区块链是基于哈希指针链表结构,链表的每节是一个数据区块,包含上一个区块的哈希值、交易数据、时间数据、挖矿参数和协议版本信息。BTC 网络中,新区块链的写入权力,即记账权,由节点遵循工作量证明机制 (Proof of Work, PoW) 依靠算力竞争得到。获得记账权的节点成功写入新的区块后,获得一定的比特币代币作为奖励,因此这个过程也被称为挖矿。
BTC 采用基于转账记录的账本方案 (Transcation-based ledger),只把转账信息记录在区块链中,而不维护账户余额。因此,为了防范双花攻击,节点需要在本地维护一组未花费交易输出数据 (Unspent Transaction Outputs, UTXO),并且账户转账时需要提供资金来源,以便节点验证交易的合法性。
BTC 使用非对称加密和哈希算法来组织账户、保护和验证交易。一个账户包括账户私钥和账户公钥。账户私钥是一个随机生成的私钥,而账户的公钥由椭圆曲线乘法处理私钥后生成。此外,账户的地址由哈希散列算法处理公钥后生成。交易被私钥签名后,通过点对点网络广播给节点。节点使用对应的公钥验证交易,验证成功后,再将交易打包在新区块中。
BTC 的共识机制是 PoW。所有节点各自构造一个新的区块头,使得它的哈希值小于等于一个给定的目标值。率先找到符合条件区块头的节点,拥有下一个区块的记账权。通过调节目标值的大小,能够间接调节出块时间。目标值越大,挖矿越简单,出块时间越短;目标值越小,挖矿越难,出块时间越长。BTC 期望每个块的出块时间为 10 分钟,因此,BTC 每过 2016 个区块会重新调整目标值,即调整挖矿难度。
BTC 的现状和遇到的问题
BTC 是首个被全球加密货币社区广泛认可的数字货币系统。自 2013 年以来,BTC 的市值常年占据加密货币总市值的一半以上,是当之无愧的加密货币龙头。
长期以来,BTC 以其首创地位和极高的安全性受到用户的追捧,然而,随着加密货币用户的壮大,BTC 难以满足用户对加密货币系统低手续费、便利、即时、保护隐私、资产多样和应用多样日益增长的需求。长期来看,BTC 的市值占加密货币总市值的比例,在慢慢下降。相比 Ethereum 的繁荣生态、Solana 低手续费和高 TPS (Transactions Per Second) 等各有千秋的公链,BTC 似乎除了知名度和安全性外,没有其他核心竞争力,而面临以下问题:
- 交易速度慢、确认时间长、不够方便:BTC 每个区块容量为 1M,每笔交易的数据的大概是 250B,因此每个区块最多包含 4000 笔交易。按照期望出块时间 10 分钟计算,BTC 的 TPS 只有 7 左右。BTC 上的交易需要等待 6 个块进行可信确认,这导致约 1 个小时的最终确认时间。此外,BTC 上转账只能一次性把余额全部转出,找零需要声明转回自己地址,否则作为奖励给矿工。这无法满足用户对交易便利和即时的需求。
- 高昂的交易手续费:用户使用 BTC 进行交易时,需要付出手续费吸引矿工打包交易,手续费越高,交易确认的速度越快。当交易拥堵时,手续费会变得额外昂贵,在 2021 年一度达到 60 多美金。自 2020 年 5 月 14 日至 2023 年 5 月 15 日,比特币的交易手续费平均需要 4.66 美金。这个手续费成本阻碍了很多用户使用 BTC。
- 不支持智能合约编程:BTC 不支持直接构建复杂的应用,只能从协议层着手。然而从协议层开发应用的成本远比通过标准化的智能合约的开发成本高。这限制了 BTC 的应用多样和资产多样的发展。
改进 BTC 的阻力与 Layer 2 方案
技术难度: BTC 遇到的问题来源于老旧的技术方案不能满足现在的需求,即使在 BTC 上直接进行微调,也无法彻底解决问题,反而会衍生出新问题。如果对 BTC 进行扩容,把每个区块从 1M 提升为 100M,让 TPS 提高到 700,会导致每年新产生近 5T 大小账本数据,提高运行节点的门槛,影响系统的去中心化程度,增加系统风险。即使不考虑账本数据大小的问题,按照互联网带宽中位数 13 Mbps、区块中每个交易大小为 250 B 来计算,BTC 的 TPS 上限为 13Mbps/8Mb/250 B 6815,无法于 Polkadot、Solana 等能够支持上万甚至数十万 TPS 的公链相竞争。Bitcoin Cash (BCH) 对 BTC 的区块进行扩容,增大了 BTC 的区块大小,然而,BCH 的客户端错误频出,并且提高了全节点的运行成本,带来中心化风险。在 2019 年,为了对抗利用 BCH 代码漏洞的攻击者,BCH 矿池发起 51% 攻击修改交易数据。
社区阻力: 在安全性和扩展性之间,BTC 社区以安全性优先。BTC 核心开发者出于对技术风险的谨慎,使得面对直接对 BTC 进行扩展的建议非常保守。最简单的扩展,是增加 BTC 每个区块的大小。对提高 BTC 区块容量的建议自 2015 年开始,获得很多用户、矿工和开发者的支持。提高区块容量,用户能够获得更快的交易速度,矿工则能收取更多的交易手续费。然而,以 BTC 开发者团队总负责人 Wladimir van der Laan 为首的一些开发者不赞同这个扩容方式,支持隔离见证 (Segregated Witness) 和闪电网络 (Lightning Network) 等方案。区块扩容的争论导致 BTC 社区分裂,最终在 BTC 引入隔离升级技术后,一部分人拒绝这次技术升级,在 2017 年 8 月造成 BTC 硬分叉,衍生出 BCH。BCH 在硬分叉后,将区块上限提高为 8M,后续又提高到 32M,平均 TPS 在 120 左右。此外,BCH 社区在 2018 年,因为技术升级路线的分歧,再次分裂,硬分叉出 BSV (Bitcoin Satoshi Vision)。这次分叉导致 BCH 全网总算力暴跌,至今没有再达到过分叉前的算力水平。BSV 的区块大小上限被提高至 4G,但是缺少矿工和用户,远不如 BTC 安全。
Layer2 方案:事实上,直接改动 BTC 的复杂度高并且社区阻力大,更被社区接受的方案是基于 BTC 构建新的层级, 既兼容并且不影响 BTC 系统的同时,又解决以上问题。BTC 具有极高的安全性,使用 BTC 作为核心层,依靠 BTC 区块数据以及利用 BTC 脚本程序,开发者能够在 BTC 的上层构建兼容 BTC 的系统,把大量交易放在 BTC 外面执行,而只把最终的状态数据写入 BTC 中,这类方案被称为 BTC Layer 2。
BTC 二层的目标和发展历史
BTC Layer2 是指比特币(BTC)的第二层扩展技术,这类技术旨在提高比特币的交易速度、降低手续费用,并增加可扩展性,解决 BTC 面临的一系列问题。
Layer2 的发展目标:
提高交易速度:Layer2 试图通过优化交易处理方式来提高比特币的交易速度,在链下对交易进行批量处理,使用最新对技术在链下同步和验证每笔交易,从而扩大比特币在全球范围内的应用和推广。
降低交易成本:Layer2 通过在 BTC 链下批量处理交易,只把交易完成后的最终状态写入 BTC 中,最终状态和初始状态中的中间交易和状态则存在链下不在 BTC 上同步,降低了交易手续费,并减轻比特币底层区块链的负担。
增加可扩展性:Layer2 技术的引入旨在缓解比特币底层区块链的可扩展性问题,使其更具容量应对未来交易量的增长。
近年来,Layer2 是 crypto 行业最重要的投资主题之一,但是其在大部分场景中特指以太坊的 Layer2 扩容方案,然而,BTC 的扩容方案要远早于以太坊扩容提议的出现,甚至以太坊也是因为 Vitalik Buterin 对 BTC 改进提议被拒绝后才创建的。
2012 年,Pegged Sidechains 的概念首次被提出,其派生自双向锚定(Two-way Peg),它使得资产可以在两条链上无缝转移。这一提议为之后的侧链技术奠定了基础。
2014 年,Blockstream 成立,开始研究和开发侧链技术,以提高比特币的可扩展性。
2015 年,Lightning Network 白皮书发布,托普尔(Tadge Dryja)和波光(Joseph Poon)是该白皮书的作者。Lightning Network 是一种将小额交易从主链上分离出来的解决方案,通过创建双向付款通道,无需在区块链上记录中间交易,只需要在 BTC 上记录最终状态。
由于 BTC 的设计较为简单,本身并不具有灵活的可拓展性,因此早期 BTC Layer2 方案难以真正嵌入比特币,因此也未引起较大反响。
直到 2017 年,SegWit(隔离见证)升级激活,解决了比特币区块链中的交易可塑性问题,为 Layer2 技术发展提供了可能。
2018 年以来,开发者逐渐开始部署 Lightning Network 节点,并获得了一定的用户和支持。据bitcoinvisuals 网站统计,截至 2023 年 6 月 4 日,闪电网络的节点数量已经超过 1 万 8 千个,可容纳的支付通道超过 7 万个,网络容量超过为 5000 个比特币,价值超过 1 亿美金。
近期,BRC-20 代币标准的出现进一步丰富了比特币的相关生态,同时让 BTC Layer2 走进大众视野。构建 BTC Layer2 的项目有不少,最知名的是闪电网络。
闪电网络
闪电网络最早于 2015 年由 Joseph Poon 和 Thaddeus Dryja 在其白皮书中率先提出。闪电网络使用微支付 (micro-payments) 通道技术,将大量交易放到比特币区块链之外进行,只把关键环节放到链上进行确认。其交易过程如下类比:需要交易的用户,开辟一个房间进行线下交易,进入房间时用户质押货币获得票据,使用新票据分配双方质押的货币,交易完成后,走出房间时,交易结算,用户凭借最新的票据赎回货币。
闪电网络的技术简介
为了构造安全可靠的微支付通道,闪电网络采用可撤销序列合约 (Recoverable Sequence Maturity Contract, RSMC) 和时间锁合约 (Hashed Timelock Contract, HTLC) 作为关键技术。
RSMC 提供质押和结算功能,即一个多签钱包资金池,交易双方先预存一部分资金到资金池里,初始情况下双方的分配方案等于预存的金额。每次发生交易,需要对交易后产生资金分配结果共同进行确认,同时签字把旧版本的分配方案作废掉。任何一方需要提现时,可以将他手里双方签署过的交易结果写到区块链网络中,从而被确认。从这个过程中可以可以看到,只有在提现时候才需要通过 BTC 交易。首先发起提现的一方晚于对方 1000 个区块到账,这个时间窗口内对方可以进行反驳。
HTLC 则建立双方的交易通道,类比交易房间,设置有效期,有效期满自动结算。同时 HTLC 也约定跨通道的交易规则,方便交易路由:在闪电网络里,建立交易通道需要成本,任意两个用户间可能没有存在的交易通道,这个时候,可以使用与其他人存在的交易通道作为中介,进行交易。
然而,早期闪电网络具有以下问题:
1. 每次交易需要双方操作:在通道内,每次交易都需要双方进行签名确认,不能单方转账
2. 需要交易双方博弈:如果 A 和 B 进行交易,A 使用旧的交易结果发起提现,B 只能在 1000 个区块时间内提交更新版本的交易结果作为反驳,否则 A 的提现会生效
3. 通道状态管理: 用户需要动态同步和备份通道的状态,否则如果提交一个旧状态,交易对手能够发起欺诈反驳,请求索赔,获得通道内所有资产
事实上,由于上述问题,早期的闪电网络需要用户运行全节点钱包或者使用完全托管钱包。全节点钱包需要用户手动管理临时私钥和通道状态,交易体验并不算好。而完全托管型钱包,比如萨尔瓦多使用 的 Chivo,使用门槛低,托管方自动代替用户操作,但是托管方拥有用户账户私钥的控制权,安全性堪忧。随着开发者对闪电网络的持续开发,上述问题正在逐渐解决,发展出了功能更加完善的闪电网络以及配套设施,比如 OmniBOLT 以及其团队开发的 OBAndroid 闪电网络钱包。
OmniBOLT Omni 是完整、全部的含义,而 BOTL,是闪电网络基础 (Basis of Lightning Technology) 的缩写。OmniBOLT 基于 BTC 和 Omni Layer,提出了一套完整的闪电网络协议,在扩展闪电网络支付 BTC 功能的同时,也能够基于 Omni Layer 发行和交易多样化资产,并且支持自动化做市商机制 (AMM: Automated market makers),允许用户在闪电网络上,利用支付通道的资金池作为流动性,构建和使用去中心化交易所。OmniBOTL 的愿景很宏大,但是目前来看,技术复杂,涉及多个协议和系统,可能存在漏洞风险,需要更多的时间来检验其安全性。
OBAndroid 是一个功能齐全的闪电网络全节点移动端钱包。在该钱包中,用户具有私钥控制权的同时,能够自动监控交易、快速同步全节点数据、支持云端和本地备份通道状态。此外,OBAndroid 也支持 Omnilayer 的资产通过 OmniBOTL 进行交易。OBAndroid 使得闪电网络的交易体验能够被用户接受,降低了闪电网络的使用门槛。
其他 BTC Layer 2 项目
除了闪电网络外,还有其他 BTC Layer 2 项目正在发展之中:
Syscoin 由SYSLab团队分叉 BTC 源码进行开发,旨在同时利用 BTC 的安全性兼容以太坊生态。目前,SYSLab 团队已上线 NEVM (Network-Enhanced Virtual Machine),利用 BTC 的 PoW 的安全性构建的虚拟机,兼容以太坊智能合约。此外,SYSLab 团队还计划上线 ZK 和 Optimistic 的 Rollup、携带链上数据证明 (Proof of Data) 的 Validium 等项目。Syscoin 项目信息较少,难以从技术上评估其优劣,不过其源代码库更新频繁,还在稳定开发之中。
RGB (Really Good for Bitcoin) 是一个集成了闪电网络的 BTC 智能合约系统,由 Giacomo Zucco 和 Peter Todd 于 2016 年提出。RGB 利用 BTC 来维护抗审查性和对抗双花攻击。在 RGB 中,所有代币的交易和验证工作都放在链下处理,只需要接收支付的一方进行客户端验证。客户端在 BTC 中对支付方的资金来源进行核查,确定是有效交易后,直接修改交易双方的 UTXO,而不需要把交易数据写入区块链中,具有保护隐私的特性。除此之外,客户端能够直接引入智能合约的功能,对交易进行规则判断,并且因为不需要全局状态共识,因此智能合约的数据不需要上链,也能保障隐私特性。RGB 社区已开发出图灵完备的智能合约虚拟机 AluVM (algorithmic logic unit VM),具有很不错的可扩展性、安全性和隐私保护性。
BTC Layer2 总结和展望
尽管比特币作为全球最早、最安全、最知名以及市值最高的区块链网络,其生态发展一直在持续深化。例如,其最大的第二层网络——闪电网络的通道容量持续增长,Taproot 升级提升了比特币的效率和隐私性,以及 Taro 协议为闪电网络引入了稳定币支付和链上原生 NFT。然而,与以太坊链上的比特币数量相比,闪电网络的比特币容量相对较低,并且由于全节点数据同步和通道状态管理,闪电网络的使用门槛较高,用户规模不如以太坊,但这种现状可能预示着巨大的增长潜力,随着闪电网络相关生态的进一步发展,类似 OmniBOLT 改进版本闪电网络协议和降低使用门槛的 OBAndroid 钱包持续开发,让闪电网络最终具备良好的安全性、可扩展性和易用性,被用户们接受,或许能让 BTC 的市值再上一层楼。
同时也需要注意其他的 Layer 2 项目发展,比如具备天然隐私保护的 RGB 方案和兼容以太坊生态的 Syscoin。这些项目不如闪电网络有名,但是也能够解决 BTC 面临的问题,并且具备其他方案无法相媲美的优点。然而,相比以太坊二层扩展项目,这些项目不够知名,收获的投资较少,也不像闪电网络那样得到 BTC 核心开发团队的支持,他们对 BTC 的扩展落地,大概率会晚于以太坊扩展的落地,比如 Syscoin 的 Rollup 方案。在 Layer 2 生态方面,似乎还是以太坊生态具备更好的良性循环,更受投资人的青睐。
在未来,我们可能会看到比特币生态加速扩展。随着闪电网络基础设施日渐完善并且吸引越多的关注,以闪电网络为基础的项目类似 OmniBOLT、RGB,能够从中收益,获得更好的开发基础、更多的用户甚至更多投资。而 Syscoin 这类兼容以太坊的 BTC Layer 2 项目,也会从快速发展的以太坊二层生态中收益,加速其路线图的进展。除此之外,对 BTC 扩展方案的探讨一直没有停下: John Light 于 2022 年提出的基于比特币的 zk-rollups 二层网络将可能为比特币带来更多功能、更高的扩展性和更好的隐私性,同时保持其去中心化的本质;由前推特 CEO Jack Dorsey 领导的公司 Block 正在推动闪电网络的流动性改进,这可能意味着比特币生态将在支付、DeFi、NFT 等领域之外,开辟一条新的赛道,覆盖更多的用户。