# 链下扩容深度解析## 1. 扩容的必要性区块链的未来愿景是实现去中心化、安全性和可扩展性,但通常只能同时满足其中两个,这被称为区块链的不可能三角问题。多年来,人们一直在探索如何在保证去中心化和安全性的前提下,提高区块链的吞吐量和交易速度,即解决扩容问题,这是当前区块链发展过程中的热点话题之一。区块链的去中心化、安全性和可扩展性大致可定义为:- 去中心化:任何人都可以成为节点参与区块链系统的生产和验证,节点数量越多,去中心化程度越高。- 安全性:获取区块链系统控制权所需成本越高,安全性越高,链就能抵抗较大比例参与者的攻击。- 可扩展性:区块链处理大量交易的能力。比特币网络的第一次重大硬分叉就源于扩容问题。随着用户数量和交易量增加,1MB区块上限的比特币网络开始面临拥堵。2015年起,比特币社区在扩容问题上出现分歧,最终导致2017年8月1日比特币历史上第一次重大硬分叉,诞生了新币种BCH。同样,以太坊网络也选择牺牲一部分可扩展性来保障安全性和去中心化。虽然以太坊没有直接限制区块大小,而是对单个区块的燃料费设置上限,但目的都是为了实现无信任共识并确保节点广泛分布。从2017年的CryptoKitties到后来的DeFi、GameFi和NFT等应用兴起,市场对吞吐量需求不断增加。但即使是图灵完备的以太坊每秒也只能处理15-45笔交易,导致交易成本上升,结算时间变长,大部分DApps难以承受运行成本,整个网络变得又慢又贵。因此,区块链扩容问题亟待解决。理想的扩容方案是在不牺牲去中心化和安全性的前提下,尽可能提高交易速度和吞吐量。## 2. 扩容方案的类别我们可以按照"是否改变一层主网"作为标准,将扩容方案分为链上扩容和链下扩容两大类。### 2.1 链上扩容核心概念:通过改变一层主网协议达到扩容效果的解决方案,目前的主要方案是分片。链上扩容有多种方案,本文不展开讨论,简要列举两种:- 方案一是扩大区块空间,即增加每个区块打包的交易数量,但这会提高对高性能节点设备的要求,提高节点加入门槛,降低去中心化程度。- 方案二是分片,将区块链账本分成若干部分,由不同分片负责不同的记账,并行计算可以同时处理多个交易;这可以降低节点计算压力和加入门槛,提高交易处理速度和去中心化程度;但意味着全网算力被分散,会降低整个网络的安全性。改变一层主网协议可能会产生难以预料的负面影响,因为底层的任何安全漏洞都会严重威胁整个网络安全。### 2.2 链下扩容 核心概念:不改变现有一层主网协议的扩容解决方案。链下扩容方案可以细分为Layer2和其他方案:- Layer2:State Channels、Sidechains、Plasma、Rollups(Optimistic Rollups、ZK Rollups)- 其他方案:Validium、Volition## 3. 链下扩容的方案### 3.1 State Channels#### 3.1.1 概要状态通道规定只有在通道打开、关闭或解决纠纷时,用户才需要与主网交互,并把用户间的交互放在链下进行,以此来降低交易时间和成本,实现交易次数不受限制。状态通道是简单的P2P协议,适合"基于回合的应用程序",如两人国际象棋游戏。每个通道都由主网上运行的多签智能合约管理,该合约控制存入通道的资产,验证状态更新,并仲裁参与者间的争议。参与者在部署合约后,存入资金并锁定,双方签名确认后,通道正式开通。通道允许参与者间进行不限次数的链下免费交易(只要转账净值不超过存入的代币总额)。参与者轮流发送状态更新给对方,等待对方的签名确认。一旦对方签名确认,这笔状态更新就算完成。正常情况下,双方同意的状态更新不会上传主网,只有在出现争议或关闭通道时,才会依赖主网确认。关闭通道时,任一参与者可在主网提出交易请求,如果获得全员签名批准,则立即执行;否则需等待"挑战期"结束才能收到剩余资金。综上,状态通道方案可以大大减少主网计算量,提升交易速度,降低交易成本。#### 3.1.2 时间线- 2015/02:Joseph Poon和Thaddeus Dryja发布闪电网络白皮书草案。- 2015/11:Jeff Coleman首次系统总结State Channel概念,提出比特币的Payment Channel是State Channel概念中的子案例。- 2016/01:Joseph Poon和Thaddeus Dryja正式发表白皮书《The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments》提出比特币闪电网络的扩容方案Payment Channel。- 2017/11:提出第一个基于Payment Channel框架下有关State Channel的设计规范Sprites。- 2018/06:Counterfactual提出详细的Generalized State Channels设计,这是第一个完全与状态通道相关的设计。- 2018/10:文章Generalised State Channel Networks提出State Channel Networks和Virtual Channels概念。- 2019/02:状态通道概念扩展到N-Party Channels,Nitro是首个基于该想法建立的协议。- 2019/10:Pisa为解决所有参与者需持续在线的问题,拓展了Watchtowers概念。- 2020/03:Hydra提出Fast Isomorphic Channels。#### 3.1.3 技术原理状态通道的一般工作流程如下:1. Alice和Bob通过从个人EOA存入资金到链上合约地址,这些资金被锁定在合约中,直到通道关闭时才返回给用户;二人签名确认后,通道正式开通。2. Alice和Bob可在链下开展不限次数的交易,参与者通过加密签名消息相互通信。双方都需要对每笔交易签名,以防双花作恶。通过这些消息,他们提出自己账户的状态更新,并接受对方提出的状态更新。3. 如果Alice想关闭通道,需向合约提交自己账户的最终状态,如果Bob签名批准,合约则会根据最终状态将锁定的资金释放返回对应用户。如果Bob未响应签名,合约则会在挑战期结束后将资金释放返回对应用户。在悲观情况下,如果Bob在某个时间点不响应Alice发送来的状态更新签名,Alice可以通过向合约提交自己最后一次的有效状态来发起挑战。然后,合约允许Bob在一段时间内通过将下一个状态提交给合约进行响应;如果Bob响应,则二人可以继续在状态通道内交易;如果Bob在该时间段内没有响应,则合约自动关闭状态通道并将资金返回给Alice。#### 3.1.4 优缺点优点:- 即时交易:无需等待区块确认- 高吞吐量:链下交易次数不受限制- 低成本:只有开启和关闭通道时需要支付链上费用- 私密性:链下交易细节不会被公开缺点:- 资金锁定:在通道开启期间资金被锁定- 在线要求:参与者需要保持在线以签署状态更新- 可组合性差:不适合复杂的多方交互- 安全性依赖:依赖外部监控服务(如Watchtowers)来防止作恶#### 3.1.5 应用比特币闪电网络:- 基于比特币网络的小额支付通道,使用2/2多签构建单向支付通道,增加RSMC后构建双向支付通道,再增加HTLC后连接支付通道拓展到多人支付,最终构建支付网络。- 2015年2月提出白皮书草案,2016年1月发布正式版白皮书。- 2018年3月发布第一个主网版本。- 2021年El Salvador采用比特币为法定货币并发布基于闪电网络的钱包Chivo。- 2022年共有76,236个支付通道,通道资金5049 BTC。- 生态发展:从底层BTC网络到核心基础设施(解决方案、节点和流动性服务),再到各种支付和金融服务以及应用程序。以太坊雷电网络:- 基于以太坊的小额支付通道,与闪电网络类似。- 2017年成立,同年10月进行ICO。- 2020年5月第一个Raiden Light Client在以太坊主网上线。- 目前未获广泛采用,原因包括使用门槛高、更先进扩容技术出现等。- 正在改造为运行在以太坊Layer2 Rollup网络上,降低创建State Channel的Gas费用。Celer Network:- 本质上是增加了激励层(代币$CELR)的闪电网络,通过链外扩展技术和激励性经济模型构建高频交互类型的区块链DApps。- 适合电子竞技平台等高频交互场景。- 2018年创立,2019年3月代币$CELR在币安Launchpad发布。- 目前已推出DeFi协议Layer2.finance、信息跨链协议Celer IM和资产跨链桥cBridge等产品。#### 3.1.6 应用比较比特币闪电网络、以太坊雷电网络和Celer Network在设计思路上相似,都是基于状态通道的链下扩容方案。主要区别在于:1. 底层区块链:比特币闪电网络基于比特币,雷电网络和Celer Network基于以太坊。2. 应用场景: - 闪电网络主要用于比特币小额支付 - 雷电网络旨在支持以太坊上的ERC20代币支付 - Celer Network目标更广,支持高频交互的DApps3. 技术特点: - 闪电网络使用HTLC实现多跳支付 - 雷电网络采用类似机制 - Celer Network增加了激励层和状态路由层4. 发展阶段: - 闪电网络已较为成熟,生态发展良好 - 雷电网络发展较慢,使用率不高 - Celer Network正在向多链扩容聚合平台转型5. 代币经济: - 闪电网络无原生代币 - 雷电网络和Celer Network都发行了自己的代币### 3.2 Sidechains#### 3.2.1 概要侧链概念首次于2012年在比特币开发者聊天室中提出,2014年由Blockstream研究员撰写第一篇相关文章。侧链是为加快比特币交易而出现的一种区块链形态,可以使用更复杂的合约,或通过改善共识机制(如PoS),或调整区块参数使侧链适合特定用途。侧链的交易结果最终在传送回主链时,会记录在验证
链下扩容方案解析:State Channels与Sidechains技术原理及应用对比
链下扩容深度解析
1. 扩容的必要性
区块链的未来愿景是实现去中心化、安全性和可扩展性,但通常只能同时满足其中两个,这被称为区块链的不可能三角问题。多年来,人们一直在探索如何在保证去中心化和安全性的前提下,提高区块链的吞吐量和交易速度,即解决扩容问题,这是当前区块链发展过程中的热点话题之一。
区块链的去中心化、安全性和可扩展性大致可定义为:
比特币网络的第一次重大硬分叉就源于扩容问题。随着用户数量和交易量增加,1MB区块上限的比特币网络开始面临拥堵。2015年起,比特币社区在扩容问题上出现分歧,最终导致2017年8月1日比特币历史上第一次重大硬分叉,诞生了新币种BCH。
同样,以太坊网络也选择牺牲一部分可扩展性来保障安全性和去中心化。虽然以太坊没有直接限制区块大小,而是对单个区块的燃料费设置上限,但目的都是为了实现无信任共识并确保节点广泛分布。
从2017年的CryptoKitties到后来的DeFi、GameFi和NFT等应用兴起,市场对吞吐量需求不断增加。但即使是图灵完备的以太坊每秒也只能处理15-45笔交易,导致交易成本上升,结算时间变长,大部分DApps难以承受运行成本,整个网络变得又慢又贵。因此,区块链扩容问题亟待解决。理想的扩容方案是在不牺牲去中心化和安全性的前提下,尽可能提高交易速度和吞吐量。
2. 扩容方案的类别
我们可以按照"是否改变一层主网"作为标准,将扩容方案分为链上扩容和链下扩容两大类。
2.1 链上扩容
核心概念:通过改变一层主网协议达到扩容效果的解决方案,目前的主要方案是分片。
链上扩容有多种方案,本文不展开讨论,简要列举两种:
方案一是扩大区块空间,即增加每个区块打包的交易数量,但这会提高对高性能节点设备的要求,提高节点加入门槛,降低去中心化程度。
方案二是分片,将区块链账本分成若干部分,由不同分片负责不同的记账,并行计算可以同时处理多个交易;这可以降低节点计算压力和加入门槛,提高交易处理速度和去中心化程度;但意味着全网算力被分散,会降低整个网络的安全性。
改变一层主网协议可能会产生难以预料的负面影响,因为底层的任何安全漏洞都会严重威胁整个网络安全。
2.2 链下扩容
核心概念:不改变现有一层主网协议的扩容解决方案。
链下扩容方案可以细分为Layer2和其他方案:
3. 链下扩容的方案
3.1 State Channels
3.1.1 概要
状态通道规定只有在通道打开、关闭或解决纠纷时,用户才需要与主网交互,并把用户间的交互放在链下进行,以此来降低交易时间和成本,实现交易次数不受限制。
状态通道是简单的P2P协议,适合"基于回合的应用程序",如两人国际象棋游戏。每个通道都由主网上运行的多签智能合约管理,该合约控制存入通道的资产,验证状态更新,并仲裁参与者间的争议。参与者在部署合约后,存入资金并锁定,双方签名确认后,通道正式开通。通道允许参与者间进行不限次数的链下免费交易(只要转账净值不超过存入的代币总额)。参与者轮流发送状态更新给对方,等待对方的签名确认。一旦对方签名确认,这笔状态更新就算完成。正常情况下,双方同意的状态更新不会上传主网,只有在出现争议或关闭通道时,才会依赖主网确认。关闭通道时,任一参与者可在主网提出交易请求,如果获得全员签名批准,则立即执行;否则需等待"挑战期"结束才能收到剩余资金。
综上,状态通道方案可以大大减少主网计算量,提升交易速度,降低交易成本。
3.1.2 时间线
3.1.3 技术原理
状态通道的一般工作流程如下:
Alice和Bob通过从个人EOA存入资金到链上合约地址,这些资金被锁定在合约中,直到通道关闭时才返回给用户;二人签名确认后,通道正式开通。
Alice和Bob可在链下开展不限次数的交易,参与者通过加密签名消息相互通信。双方都需要对每笔交易签名,以防双花作恶。通过这些消息,他们提出自己账户的状态更新,并接受对方提出的状态更新。
如果Alice想关闭通道,需向合约提交自己账户的最终状态,如果Bob签名批准,合约则会根据最终状态将锁定的资金释放返回对应用户。如果Bob未响应签名,合约则会在挑战期结束后将资金释放返回对应用户。
在悲观情况下,如果Bob在某个时间点不响应Alice发送来的状态更新签名,Alice可以通过向合约提交自己最后一次的有效状态来发起挑战。然后,合约允许Bob在一段时间内通过将下一个状态提交给合约进行响应;如果Bob响应,则二人可以继续在状态通道内交易;如果Bob在该时间段内没有响应,则合约自动关闭状态通道并将资金返回给Alice。
3.1.4 优缺点
优点:
缺点:
3.1.5 应用
比特币闪电网络:
以太坊雷电网络:
Celer Network:
3.1.6 应用比较
比特币闪电网络、以太坊雷电网络和Celer Network在设计思路上相似,都是基于状态通道的链下扩容方案。主要区别在于:
底层区块链:比特币闪电网络基于比特币,雷电网络和Celer Network基于以太坊。
应用场景:
技术特点:
发展阶段:
代币经济:
3.2 Sidechains
3.2.1 概要
侧链概念首次于2012年在比特币开发者聊天室中提出,2014年由Blockstream研究员撰写第一篇相关文章。
侧链是为加快比特币交易而出现的一种区块链形态,可以使用更复杂的合约,或通过改善共识机制(如PoS),或调整区块参数使侧链适合特定用途。侧链的交易结果最终在传送回主链时,会记录在验证