Layer 2方案的比较
市值排名
项目名称 | 技术方案 | 是否发币 | 市值 | 排名 |
---|---|---|---|---|
Polygon | Plasma | MATIC | $153.28亿 | 1 |
zkSync | zk-Rollup | 将会发币 | ||
Arbitrum | Op-Rollup | 可能会发币 | ||
StarkEx | Zk-Rollup | 可能会发币 | ||
OMG | Plasma | OMG | $7.51亿 | 4 |
Loopring | zk-Rollup | LRC | $4.09亿 | 7 |
Skale | side chain | SKL | $20.73亿 | 2 |
Celer Network | State channgel | CELR | $3.80亿 | 8 |
Hermez | zk-Rollup | HEZ | $4.34亿 | 6 |
Optimism | Op-Rollup | 可能会发币 | ||
xDai | Side chain | XDAI | $857.11万 | |
Connext | State channel | |||
POA | side chain | POA | $894.03万 | 10 |
Fuel Network | Op-rollup | |||
Aztec | Zk-rollup | |||
Raiden | state channel | $3960万 | ||
Fuel | Op-rollup | |||
Loom Network | Plasma | $6267.20万 | 9 | |
ZKswap | Zk-rollup | ZKS | $7.69亿 | 3 |
KEEP Network | KEEP | $6.95亿 | 5 | |
Liquidity Network | state channel | LQD | $70.88万 |
Arbitrum
- Arbitrum 特别使用 Optimistic Rollups,其中发布到以太坊的断言被乐观地「假设」为真实和正确,除非受到其他验证者的质疑。验证者只将断言——而不需要随附的有效性证明——发布到以太坊网络。为了激励诚实验证,验证者还必须在特定时间段内向以太坊投入保证金。在这一窗口期,如果另一个验证者对原始验证者的断言提出异议,他们可以在以太坊上正式「挑战」该断言,并投入自己的保证金。如果原始验证者的断言不正确,原始验证者将失去其保证金。如果挑战者不正确,挑战者将失去自己的保证金。 如果一个断言在没有受到任何成功挑战的情况下度过了指定的时间窗口,它就会被「接受」为真实,将与以太坊区块链的最终状态合并。
- 对于断点挑战,Arbitrum采用多轮交互式证明方式。
-
交易有三种确认状态:
- 链上确认,通过以太坊交易确认,为最终确信,但是延迟时间较长。
- 由验证者确认,验证者会质押确交易状态,可以选择可信的验证者确认交易的状态,或者自己成为验证者。
- 通过序列器模式式确认交易,能够为用户提供快速的,半可信的链下确认。
对于一般用户而言,可通过所连接的节点快速确信交易。
对于取款操作,需要等待一个较长的挑战期完全确认,但可以支付一些手续费采用跨链技术快速取款。
数据可用性: 对于批量处理的交易,压缩后以
calldata
形式保存在 L1 合约中。Arbitrum 跟以太坊完全兼容,兼容 EVM,无须重写程序。并原生支持 Etherscan、Hardhat 和 Truffle 等第三方工具。
Arbitrum 开发者主网测试版上线一周之内,逾 250 个项目陆续登陆,其中包括uniswap, chainlink, Graph等。
测试显示,TPS可以达到4500.
主网于5月28号上线,称为:Arbitrum one。
Matter Labs
zkSync 1.x更新
zkSync 1. x升级已上测试网,主要支持以下功能:
- Token交易: 支持 ERC20 swap.
- NFT: 支持mint, transfer 和 swap
- 新的事件系统
- permissionless token listing
主网升级需要重新生成创世块,将更新状态树的结构:
zkSync 2.0
zkSync2.0 是EVM兼容的程序模型,zkEVM已于6月上线测试网,将8月上线主网。
ZincVM
目前是实现图灵完备的ZincVM, 能编译成中间语言的表示, ZincVM基于LLVM实现。
支持将Solidity和Zinc直接编译为zkEVM 字节码,目前编译器尚未开源。
目前能够支持大部分opcode
, 但下面一些除外:
- ADDMOD, SMOD, MULMOD, EXP, CREATE2目前未支持,未来将支持。
- 目前不支持KECCAK256指令,但采用了替代的hash函数,以后将采用预编译型式支持KECCAK256.
- 不再支持SELFDESTRUCT指令,以太坊未来将计划移除。
- 不支持XOR/AND/OR指令,采用编译器其它一些指令实现。
zkEVM目前能支持99%的Solidity合约。Zinc基于Rust 实现,未来将支持用rust开发智能合约。
gas费用将随着 L1gas费用变化,因为要发布 calldata
, .
零知识证明采用UltraPLONK方案,即Plonk支持定制门电路和查找表。采用递归聚合证明可以将多个块生成一个证明。
以太坊钱包支持
zkSync 2.0 能够直接支持ECDSA签名(基于PLONK lookup实现)。
可扩展性
将达到20,000+TPS, 采用zkRollup和zkPorter的整体架构设计。
时间线
- 公开测试网:2021年5月
- 文档:和测试网一块公开
- 主网:2021年8月
zkPorter
目前,Optimistic rollups和EVM兼容的zkRollup并无法满足用户增长的需要。
Rollup能够提供线性增长的吞吐量,但是目前需要指数级增长的吞吐量。
-
ZkPorter TPS将达到200, 000+, 比Oprollup更安全,将于半年后上线。
Optimistic将达到25x倍的可扩展性提升,zkRollup达到100x的可扩展性提升,zkPorter将达到1000x倍的提升,促进大规模用户的采用。
zkRollup上的合约和账户能够与zkPorter上的合约账户无缝交互,在zkPorter上有更低的手续费。
- zkRollup可以实现
on-chain data availability
, zkPorter可以数据可得性由Guardians
利用pos机制保证。 - 用户可自由选择zkRollup(
on-chain data availability
)和zkPorter(fee sensitive), 这种架构称为Volition
。 - 相比Optimistic rollup, zkPorter攻击成本更高, 即使攻击成功后,也只能停止产块,无法盗取用户资金。
- zkSync 1.x 将支持交易和NFT。
Zinc 虚拟机
Zinc为Matter Labs开发的编程语言, 主要为实现EVM兼容的L2方案。Zinc的两个目标:
- 用于开发zkSync上的智能合约;
- 实现通用的零知识证明电路。
Zinc类似于Rust语言语法,目前还在开发中。
Zinc是非图灵完备的语言,不允许递归和非常量的循环。
目前Zinc已实现 Curve 应用demo。
采用 zargo
可以对其编译,并在Zksync网络中部署。类似Solidity合约,并可以对其进行查询和调用。
Zinc目前并不完善,相关依赖库比较缺乏,后续仍需要持续关注中。
Starkware
Cairo
Cairo是首个产品级的用于STARK证明的通用计算平台, Cairo是图灵完备的,并且非常高效。
Cairo可以可以通过降低计算和存储代价来减少gas消耗。
STARK定位于解决通用计算的可扩展问题,复杂的计算在链下计算,生成在链上容易验证的证明。
所有的Cairo程序都可以用一个合约验证。
Cairo支持零知识证明验证。
Cairo能将300K个交易打包进一个proof
中。
Cairo是一种编写可证明的程序的语言,它生成trace
, 然后由trustless prover
生成证明,然后证明由链上的验证者(verifier
)验证。
Cairo基于Python开发,目前已经开源。
Cairo业务架构
Cairo引入了SHARP
的概念,它有三个主要的组件:
- 证明者(Prover)
- 验证合约(on-chain)
-
fact registry contract
(on-chain)
Cairo编译运行后生成execution trace
,输入到Prover
生成证明,并把证明发送给验证者合约。在验证后证明后,把fact
写入FactRegistry
。 用户Dapp合约即可通过验证fact
是否存在,完成链下计算的验证。
因此dApp
合约无需执行复杂的计算,从而减少gas消耗。
具体使用demo可参考AMM.
StarkEx 2.0
StarkEx 2.0 已于2020年12月上线主网,主要有以下特点:
- 基于Cairo实现,图灵完备,生成zk-stark证明,一个证明可以打包300,000个交易。
- 能够实现L1-L2快速连结,从L2到L1取款仅需一个区块的时间;
- 提供ERC-721支持;
- 支持DeversiFi, ImmutableX和dYdX defi应用部署。
- 灵活支持Rollup和Vlidium模式。
- 交易在进行入交易队列时即可即时结算,无需最终确认。
StarkNet
StarkNet是基于STARK零知识证明方案的L2的ZK-Rollup, Alpha版本已于6月上线测试网。
分四步构建:
- Foundation: 已完成;
- Planets: 单应用的Rollups;
- Constellations: 多应用的Rollups;
- Universe: 去中心化的Rollup
第2步将在几个月内完成,第3和4步将在年底完成。
StarkNet基于图灵完备的Cairo语言,支持以太坊上通用的计算。
在StarkNet上,开发者可以构建应用并部署;用户可以发起交易并在StarkNet上执行; 节点可以通过激励保证网络良好运转。
StarkNet的所有交易周期性地批量打包到一个proof中,在以太坊上验证。
所有构建StarkNet的数据在链上(on-chain)发布。
Cairo 是用来生成通用计算STARK 证明的图灵完备的语言框架。
Cairo GPS(Generic proof service) 允许开发者利用Cairo构建自己的应用,可以实现任意的逻辑。GPS可以生成证明,在链上验证。
GPS可以将多个应用的证明生成一个proof, 以此来分摊gas开销;
StarkEx: StarkWare的规模化引擎,已在以太坊主网上部署;Stark可以处理复杂的交易逻辑,包括现货交易, 衍生品,NFTs,支付等;
ethStark: 开源的prover, 以其它的快20倍;
StarkNet可以在一个proof中处理300K个交易,TPS达到3K, 315 gas/tx.
Polygon
Polygon 从前叫做 Matic Network,所采用的 侧链本质上是一个完全独立的区块链,它通过将区块头发布到以太坊来定期与以太坊「同步状态」。
Matic 网络架构
主要为三层网络架构:
- 以太坊上的合约,处理质押,实现Plasm功能等;
- Heimdall (Proof of Stake 验证层),在每一个
span
周期内,通过共识生成checkpoint; - Bor, 区块生成层,主要进行产块。
Plasma matic安全性
安全主要有两方面保证:
通过类似DPOS的机制的POA节点,只要不超过2/3的节点串通作弊,可以保证安全性;
若所有的节点共同作弊,可通过了
checkpoint
的欺诈证明机制保证安全,任可人都可以发起挑战。
Matic侧链TPS可达到: 65000+。
polygon目前致力成为扩容聚合器。
随着近几个月的生态爆发,Aave、Curve、Sushiswap、1inch、Opensea、Zapper 等诸多以太坊生态内的知名项目均已部署了自己的 Polygon 版本
Polygon 网络的独立地址数量基本保持着增长趋势,但在 5 月 21 日之后,该指标的增长速度出现了一定放缓,直到 6 月 7 日后,增速才再次抬头。4 月 9 日,Polygon 网络的独立地址数量为 227265 个,6 月 9 日数据为 3319869 个,区间增幅高达 1360.8%。
4 月 9 日,Polygon 网络的每日交易笔数为 246909 笔,6 月 9 日数据为 5966384 笔,区间整体的增幅高达 2316.4%;
Polygon 作为 Layer2 赛道的代表,从链上指标活跃度表现要明显优于 BSC、Fantom 这两大公链代表。
参考
https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/
https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955
https://developer.offchainlabs.com/docs/developer_quickstart
https://medium.com/matter-labs/zksync-2-0-hello-ethereum-ca48588de179
https://medium.com/matter-labs/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf
https://zinc.zksync.io/index.html
https://github.com/matter-labs/zinc
https://www.cairo-lang.org/cairo-for-blockchain-developers/
https://medium.com/starkware/on-the-road-to-starknet-a-permissionless-stark-powered-l2-zk-rollup-83be53640880
https://www.cairo-lang.org/
https://docs.matic.network/