# Layer2 方案 **Published by:** [muranSquat](https://paragraph.com/@muransquat/) **Published on:** 2022-09-16 **URL:** https://paragraph.com/@muransquat/layer2 ## Content 为什么区块链去中心化的特性,使得存储和计算性能受限,需要进行扩容(Scaling)分类扩容可以分为On-chain,Layer1。对区块链本身的性能提升共识。中心化换性能。Avalanche、Solana。Sharding。分库分表、并行计算。ETH2.0、Near。Off-chain,Layer2。链下计算,结果上链;离线批处理。Layer2 扩容方法典型区别点: data availability (DA) & State Validity (SV) 所有Layer2 扩容方案都在这两个方面有所不同SV,Layer2 维护者作恶问题如何保证Layer2 State的正确:ZK Proof?Fraud Proof?PoA多签?Light Cilent?防止Layer2的无效的状态回传到主链 举例:Solana Wormhole Bridge漏洞,导致Solana上whETH被凭空增发,最终将Ethereum上质押的ETH提走 将无效的状态同步到主链,并提币DA, 所有节点跑路后的问题 , 所有的钱被锁在主链的合约里如果保证Layer2 state 的持久化,存去中心化的layer1 里 还是存中心化的layer2 里?举例:StarkEx为State的存储方式提供多种选择Untitledhttps://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb Data On-Chain : Data 在layer1 上 Data Off-Chain: Data 在layer2 上 Valition:数据具体在哪个链上,由用户自己选择State channel原理: 链下交易,链上结算DA & SVDA:数据存在Layer2,由Channel双方保证DASV:Channel结束后提交Final State到Layer1,Layer1不验证,但要求提交者质押允许一周内提交Fraud Proof,Fraud Proof可验证(比如签名了更新的State),通过则扣除质押项目: 闪电网络分析:安全: Fraud Proof 非常安全,但就是提币慢性能: TPS 一般, 就是两个人之间转账兼容: 智能合约比较难, 就是两人质检的转账操作,不是一条链SideChain是一条完整的链, 和主链之间有一个桥Untitled原理:Two-way-pegged Cross-chain Bridge,主链质押Token,侧链生成Wrapped Token。主链Lock侧链Mint,侧链Burn主链Withdraw。DA & SVDA:数据存在Sidechain,由侧链的Validators保证DA, sideChain 本身有自己的安全机制SV(多种方案安全性由强到弱)Light Client Bridge(例如Near的Rainbow Bridge),trustless:任何人可以将侧链的State Root同步到主链,主链合约实现侧链的轻客户端,验证State Root (整个树的树根),保证SV 反过来也一样,如Solana 的彩虹桥Rainbow Bridge也会实现主链(ETH)的轻客户端,将ETH的header同步到Solana, Solana的智能合约会验证eth header的正确性,侧链会同步主链的状态 验证也很麻烦Plasma Bridge(例如Polygon的)trustless:侧链Validators定期将State Root同步到主链, 主链并不会像 Light client bridge 那样验证, 需要人提交质疑,主链通过Fraud Proof保证SV 如何验证 需要写复杂的代码,很麻烦Multi-signature Bridge(大多数)trusted: 桥的Validators定期将State Root或Burn Event同步到主链,主链检查多签保证SV 比如,avalanche的桥, 就是由几十个人来多签,通常是项目方开发者,或大持币者 , 大部分桥都是多签 多签比较简单项目: 所有架设了wo-way-pegged Cross-chain Bridge的链, 都可以理解为eth的侧链, 通过wraped-token扩容主链分析兼容: 一条单独的链, 可完美支持智能合约性能: tps 高 不同的链 有自己的tps方案安全:根据桥不一样,安全性不一样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上不安全原理 & DA & SVDARollup: layer2的数据压缩后存到layer1 上, 由layer1 保证DA压缩Address, 用序号表示,而不是长地址压缩value, 用科学计数法表示zk Rollup 省去签名,Optimistic Rollup不省签名(签名也比较占存储) ,zk 比 opt 压缩的更多, zk不需要签名, 直接用zk proof 证明交易的有效性Validium 变体: 数据不上传到Layer1,还是由多个Validators 托管,(在Da上类似 sidechain, 但由于是从Rollup衍生出来的,所以会拿来和rollup 比较,其SV 就是rollup的方案)Volition & zkPorter : 由用户自由选择数据是链上还是链下, 不同项目叫法不一样,在StarkWare 叫Volition, 在zkSync 叫zkPorter 有两类地址, 可供用户选择https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbfSVZK Rollup:定期同步State Root及其Validity Proof(ZK证明)到Layer1,Layer1用合约验证Proof保证SVOptimistic Rollup:定期同步State Root到Layer1,Layer1通过Fraud Proof保证SV , 提币慢ZK少签名,数据量更小;ZK提币快;ZK暂时EVM兼容性不好,但在开发中。所以ZK是长期的更优方案。项目: https://l2beats.com/分析:安全: da & sv 都有layer1 保证,非常安全 ; validium安全性稍低性能: 一般,数据压缩上传至Layer1任消耗gas, 而且存储的空间受layer1的限制兼容Optimistic Rollup: 可较好兼容evm,提币慢ZK Rollup : zkEVM 需要开发, StarkWare 有zk友好的合约编程语言Cairo; 提币快分析侧链是性能和兼容性最好的。虽然桥的安全性依赖于PoA,但是Validator通常大量持币,从经济角度保证了安全性。Rollup因为其安全性高,成为了后起之秀。性能和兼容性尚可,需要继续开发以进一步优化。zkSync的zkEVM(兼容)Ethereum社区的zkEVM(兼容),V神主导的Sharding+Rollup(性能)StarkWare的Cairo(兼容)、StarkNet(性能)市场对扩容抱有很大的期待,可以预期还将继续诞生新的方案和项目,已有的项目会因为落地而迎来市场(比如开发中的这些)。 ## Publication Information - [muranSquat](https://paragraph.com/@muransquat/): Publication homepage - [All Posts](https://paragraph.com/@muransquat/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@muransquat): Subscribe to updates