Layer2 方案

为什么

  1. 区块链去中心化的特性,使得存储和计算性能受限,需要进行扩容(Scaling)

分类

  1. 扩容可以分为

    1. On-chain,Layer1。对区块链本身的性能提升

      1. 共识。中心化换性能。Avalanche、Solana。

      2. Sharding。分库分表、并行计算。ETH2.0、Near。

    2. Off-chain,Layer2。链下计算,结果上链;离线批处理。

Layer2 扩容方法

典型区别点: data availability (DA) & State Validity (SV)

所有Layer2 扩容方案都在这两个方面有所不同

  • SV,Layer2 维护者作恶问题

  • DA, 所有节点跑路后的问题 , 所有的钱被锁在主链的合约里

    • 如果保证Layer2 state 的持久化,存去中心化的layer1 里 还是存中心化的layer2 里?

    • 举例:StarkEx为State的存储方式提供多种选择

Untitled

https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb

Data On-Chain : Data 在layer1 上

Data Off-Chain: Data 在layer2 上

Valition:数据具体在哪个链上,由用户自己选择

State channel

  1. 原理: 链下交易,链上结算

  2. DA & SV

    1. DA:数据存在Layer2,由Channel双方保证DA

    2. SV:

      1. Channel结束后提交Final State到Layer1,Layer1不验证,但要求提交者质押

      2. 允许一周内提交Fraud Proof,Fraud Proof可验证(比如签名了更新的State),通过则扣除质押

  3. 项目: 闪电网络

  4. 分析:

    1. 安全: Fraud Proof 非常安全,但就是提币慢

    2. 性能: TPS 一般, 就是两个人之间转账

    3. 兼容: 智能合约比较难, 就是两人质检的转账操作,不是一条链

SideChain

是一条完整的链, 和主链之间有一个桥

Untitled
  1. 原理:Two-way-pegged Cross-chain Bridge,主链质押Token,侧链生成Wrapped Token。主链Lock侧链Mint,侧链Burn主链Withdraw。

  2. DA & SV

    1. DA:数据存在Sidechain,由侧链的Validators保证DA, sideChain 本身有自己的安全机制

    2. SV(多种方案安全性由强到弱)

      1. Light Client Bridge(例如Near的Rainbow Bridge),trustless:任何人可以将侧链的State Root同步到主链,主链合约实现侧链的轻客户端,验证State Root (整个树的树根),保证SV

        反过来也一样,如Solana 的彩虹桥Rainbow Bridge也会实现主链(ETH)的轻客户端,将ETH的header同步到Solana, Solana的智能合约会验证eth header的正确性,侧链会同步主链的状态

        验证也很麻烦

      2. Plasma Bridge(例如Polygon的)trustless:侧链Validators定期将State Root同步到主链, 主链并不会像 Light client bridge 那样验证, 需要人提交质疑,主链通过Fraud Proof保证SV

        如何验证 需要写复杂的代码,很麻烦

      3. Multi-signature Bridge(大多数)trusted: 桥的Validators定期将State Root或Burn Event同步到主链,主链检查多签保证SV

        比如,avalanche的桥, 就是由几十个人来多签,通常是项目方开发者,或大持币者 , 大部分桥都是多签

        多签比较简单

  3. 项目:

    所有架设了wo-way-pegged Cross-chain Bridge的链, 都可以理解为eth的侧链, 通过wraped-token扩容主链

  4. 分析

    1. 兼容: 一条单独的链, 可完美支持智能合约

    2. 性能: tps 高 不同的链 有自己的tps方案

    3. 安全:根据桥不一样,安全性不一样

      1. Light client bridge 虽然安全,但开发难度大, 很多链不支持Light Client,比如eth2.0 后,共识算法换掉,不再支持light client?

        https://notes.ethereum.org/@vbuterin/HF1_proposal

        ii. Plasma bridge ,虽然安全,但是提币慢 ,

        iii. Multi-sign 的安全性低,必须要信任一些人, 跟PoA共识一样, 实现简单,充币提币快

Rollup 及相关变体

之前的State channel 和 Sidechain ,都是有layer2 来存储数据,保证数据的DA, State channel 的数据在channel 里, sideChain 的数据在Chain 上 ,不会把数据传到layer1 上 , 只会把状态传到layer1 上, 都非常难以应对节点跑路的问题,如果维护者全跑了,数据全删掉后,所有的资金都会被所在主链的合约里(锁在桥上),在DA上不安全

  1. 原理 & DA & SV

    1. DA

      1. Rollup: layer2的数据压缩后存到layer1 上, 由layer1 保证DA

        1. 压缩Address, 用序号表示,而不是长地址

        2. 压缩value, 用科学计数法表示

        3. zk Rollup 省去签名,Optimistic Rollup不省签名(签名也比较占存储) ,zk 比 opt 压缩的更多, zk不需要签名, 直接用zk proof 证明交易的有效性

      2. Validium 变体: 数据不上传到Layer1,还是由多个Validators 托管,(在Da上类似 sidechain, 但由于是从Rollup衍生出来的,所以会拿来和rollup 比较,其SV 就是rollup的方案)

      3. Volition & zkPorter : 由用户自由选择数据是链上还是链下, 不同项目叫法不一样,在StarkWare 叫Volition, 在zkSync 叫zkPorter

        有两类地址, 可供用户选择

      https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf

    2. SV

      1. ZK Rollup:定期同步State Root及其Validity Proof(ZK证明)到Layer1,Layer1用合约验证Proof保证SV

      2. Optimistic Rollup:定期同步State Root到Layer1,Layer1通过Fraud Proof保证SV , 提币慢

      3. ZK少签名,数据量更小;ZK提币快;ZK暂时EVM兼容性不好,但在开发中。所以ZK是长期的更优方案。

  2. 项目: https://l2beats.com/

  3. 分析:

    1. 安全: da & sv 都有layer1 保证,非常安全 ; validium安全性稍低

    2. 性能: 一般,数据压缩上传至Layer1任消耗gas, 而且存储的空间受layer1的限制

    3. 兼容

      1. Optimistic Rollup: 可较好兼容evm,提币慢

      2. ZK Rollup : zkEVM 需要开发, StarkWare 有zk友好的合约编程语言Cairo; 提币快

    分析

    1. 侧链是性能和兼容性最好的。虽然桥的安全性依赖于PoA,但是Validator通常大量持币,从经济角度保证了安全性。

    2. Rollup因为其安全性高,成为了后起之秀。性能和兼容性尚可,需要继续开发以进一步优化。

      1. zkSync的zkEVM(兼容)

      2. Ethereum社区的zkEVM(兼容),V神主导的Sharding+Rollup(性能)

      3. StarkWare的Cairo(兼容)、StarkNet(性能)

    3. 市场对扩容抱有很大的期待,可以预期还将继续诞生新的方案和项目,已有的项目会因为落地而迎来市场(比如开发中的这些)。