# 链下扩容深度解析## 1. 扩容的必要性区块链的未来愿景是去中心化、安全性和可扩展性,但通常只能实现其中两个,这被称为区块链的不可能三角问题。多年来,人们一直在探索如何在保证去中心化和安全性的前提下,提高区块链的吞吐量和交易速度,即解决扩容问题,这是当前区块链发展过程中的热点话题之一。区块链的去中心化、安全性和可扩展性定义如下:- 去中心化:任何人都可以成为节点参与区块链系统的生产和验证,节点数量越多,去中心化程度越高,从而确保网络不受小群体控制。- 安全性:为了获取区块链系统控制权所付出的成本越高,则安全性越高,链就可以抵抗较大比例的参与者攻击。 - 可扩展性:区块链处理大量交易的能力。比特币网络的第一次重大硬分叉就源于扩容问题。随着用户数量和交易量增多,1MB区块上限的比特币网络开始面临拥堵;2015年起,比特币社区就扩容问题存在分歧,一方支持扩大区块,另一方支持使用隔离见证Segwit方案优化主链结构。2017年8月1日,支持扩容的一方自行开发8MB区块的客户端系统开始运行,导致比特币历史上第一次重大硬分叉,诞生了新币种BCH。以太坊网络也选择牺牲一部分可扩展性来保障网络的安全性和去中心化。虽然以太坊未像比特币那样限制区块大小,而是对单一区块可容纳的燃料费设置上限,但目的都是为了实现无信任共识并确保节点广泛分布。从2017年的CryptoKitties、DeFi summer到后来的GameFi和NFT等链上应用兴起,市场对吞吐量需求不断增加,但以太坊每秒仍只能处理15-45笔交易。这导致交易成本增加,结算时间变长,大部分DApps难以承受运行成本,整个网络变得又慢又贵,区块链扩容问题亟待解决。理想的扩容方案是:在不牺牲去中心化和安全性的前提下,尽可能提高区块链网络的交易速度和吞吐量。## 2. 扩容方案的类别我们按照"是否改变一层主网"作为标准,把扩容方案分为链上扩容和链下扩容两大类。### 2.1 链上扩容核心概念:通过改变一层主网协议达到扩容效果的解决方案,目前的主要方案是分片。链上扩容有多种方案,此篇不展开,简要列举两种:- 方案一是扩大区块空间,即增加每个区块打包的交易数量,但这会提高对高性能节点设备的要求,提高节点的加入门槛,降低"去中心化"程度。- 方案二是分片,将区块链账本分成若干部分,不再是每个节点参与所有记账,而是由不同分片即不同节点负责不同记账,并行计算可以同时处理多个交易;这样可降低节点计算压力和加入门槛,提高交易处理速度和去中心化程度;但这意味着全网算力被分散,会降低整个网络的"安全性"。改变一层主网协议的代码可能会产生难以预料的负面影响,因为底层任何细微的安全漏洞都会严重威胁整个网络的安全性,网络可能会被迫进行分叉或中断修复升级。### 2.2 链下扩容核心概念:不改变现有一层主网协议的扩容解决方案。链下扩容方案又可以细分为Layer2和其他方案:- Layer2:在主链之上构建的二层网络,包括State Channels、Plasma、Rollups等- 其他方案:Sidechains、Validium等## 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之间的交易,Alice需要向合约提交自己账户的最终状态,如果Bob签名批准,合约则会根据最终状态将锁定的资金释放返回对应用户。如果Bob未响应签名,合约则会在挑战期结束后将锁定的资金释放返回对应用户。#### 3.1.4 优缺点优点:- 即时交易,高吞吐量- 低交易成本- 可实现隐私交易- 安全性由底层区块链保证缺点: - 需要锁定资金- 不适合大规模多方交易- 参与方需要频繁在线- 部分场景受限制#### 3.1.5 应用比特币闪电网络:- 概述:闪电网络是比特币网络的小额支付通道,技术演变经历从单向支付通道到双向支付通道再到多人支付网络。通过链下小额支付通道,借助中间人构成交易网络,可以解决比特币网络扩容问题。使用遵循"存款(建立通道)→闪电网络交易(更新通道状态)→退款/结算(结束通道)"的流程;理论上每秒可以处理一百万笔交易。- 时间线: - 2015年2月,发布白皮书草稿 - 2016年1月发布正式版白皮书并成立Lightning Labs - 2018年3月15日,发布第一个主网版本LND 0.4 - 2021年初,公共容量约4000万美元,约10万用户 - 2021年6月,萨尔瓦多采用比特币为法定货币,9月发布基于闪电网络的钱包Chivo - 2022年,26个加密货币交易平台宣布支持闪电网络 - 2022年10月,Lightning Labs发布Taro protocol alpha版本,未来将可用于在比特币网络上铸造、发送和接收资产 - 2022年11月23日,闪电网络有76,236个支付通道,通道资金5049 BTC(81.8M美元)- 生态发展: 闪电网络生态从下到上包括:底层BTC网络、核心基础设施(解决方案、节点和流动性服务)、各种DApps。截至2022年11月,基于闪电网络的DApps已超过20个类别和100多个应用,主要包括支付、钱包、节点管理、浏览器扩展程序、播客和流媒体等。以太坊雷电网络:- 概述:雷电网络是基于以太坊的小额支付通道,与闪电网络类似,通过建立状态通道来对链上交易进行拓展,目的是实现近乎即时、低费用和可扩展的ERC20代币支付。- 时间线: - 2017年成立,创始人Heiko Hees曾是以太坊核心开发者 - 2017年10月17日ICO筹集超3000万美元 - 2020年5月第一个Raiden Light Client - Alderaan在以太坊主网上线 - 2021年底,多个交易所将$RDN摘牌- 目前未获广泛采用,原因包括: 1) 使用门槛过高:以太坊Gas费用过高时,开启通道成本过高 2) 更先进的扩容技术出现:Rollup等更好的扩容方案使Raiden Network用例受限- 生态发展: 目前生态发展缓慢,团队正改造使其运行在以太坊Layer2 Rollup网络上,以进一步降低创建State Channel的Gas费用。2022年5月宣布在Arbitrum上线,成为L2之上运行的L2。未来将以Rollups为中心进行转变,作为与Rollups共存的补充方案。Celer Network:- 概述:Celer Network本质上是一个增加了激励层(代币$CELR)的闪电网络,可通过链外扩展技术和激励性经济模型构建快速、易用、低成本和安全的高频交互类型区块链DApps,如电子
链下扩容深度解析:从概念到State Channel实践
链下扩容深度解析
1. 扩容的必要性
区块链的未来愿景是去中心化、安全性和可扩展性,但通常只能实现其中两个,这被称为区块链的不可能三角问题。多年来,人们一直在探索如何在保证去中心化和安全性的前提下,提高区块链的吞吐量和交易速度,即解决扩容问题,这是当前区块链发展过程中的热点话题之一。
区块链的去中心化、安全性和可扩展性定义如下:
去中心化:任何人都可以成为节点参与区块链系统的生产和验证,节点数量越多,去中心化程度越高,从而确保网络不受小群体控制。
安全性:为了获取区块链系统控制权所付出的成本越高,则安全性越高,链就可以抵抗较大比例的参与者攻击。
可扩展性:区块链处理大量交易的能力。
比特币网络的第一次重大硬分叉就源于扩容问题。随着用户数量和交易量增多,1MB区块上限的比特币网络开始面临拥堵;2015年起,比特币社区就扩容问题存在分歧,一方支持扩大区块,另一方支持使用隔离见证Segwit方案优化主链结构。2017年8月1日,支持扩容的一方自行开发8MB区块的客户端系统开始运行,导致比特币历史上第一次重大硬分叉,诞生了新币种BCH。
以太坊网络也选择牺牲一部分可扩展性来保障网络的安全性和去中心化。虽然以太坊未像比特币那样限制区块大小,而是对单一区块可容纳的燃料费设置上限,但目的都是为了实现无信任共识并确保节点广泛分布。
从2017年的CryptoKitties、DeFi summer到后来的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之间的交易,Alice需要向合约提交自己账户的最终状态,如果Bob签名批准,合约则会根据最终状态将锁定的资金释放返回对应用户。如果Bob未响应签名,合约则会在挑战期结束后将锁定的资金释放返回对应用户。
3.1.4 优缺点
优点:
缺点:
3.1.5 应用
比特币闪电网络:
概述:闪电网络是比特币网络的小额支付通道,技术演变经历从单向支付通道到双向支付通道再到多人支付网络。通过链下小额支付通道,借助中间人构成交易网络,可以解决比特币网络扩容问题。使用遵循"存款(建立通道)→闪电网络交易(更新通道状态)→退款/结算(结束通道)"的流程;理论上每秒可以处理一百万笔交易。
时间线:
生态发展: 闪电网络生态从下到上包括:底层BTC网络、核心基础设施(解决方案、节点和流动性服务)、各种DApps。截至2022年11月,基于闪电网络的DApps已超过20个类别和100多个应用,主要包括支付、钱包、节点管理、浏览器扩展程序、播客和流媒体等。
以太坊雷电网络:
概述:雷电网络是基于以太坊的小额支付通道,与闪电网络类似,通过建立状态通道来对链上交易进行拓展,目的是实现近乎即时、低费用和可扩展的ERC20代币支付。
时间线:
目前未获广泛采用,原因包括:
生态发展: 目前生态发展缓慢,团队正改造使其运行在以太坊Layer2 Rollup网络上,以进一步降低创建State Channel的Gas费用。2022年5月宣布在Arbitrum上线,成为L2之上运行的L2。未来将以Rollups为中心进行转变,作为与Rollups共存的补充方案。
Celer Network: