织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

简析以太坊 Layer 2 技术方案及扩容特性(2)

时间:2021-08-23 13:46来源:未知 作者:admin 点击:
L2 - zkSync 源代码导读 L2 - 深入理解 zkSync 电路 zkRollup,虽好,目前存在很大的缺陷:可编程性差。 细看 zkRollup 相对其他 Rollup 方案,zkRollup 方案多了 zk 证

  • L2 - zkSync 源代码导读

  • L2 - 深入理解 zkSync 电路

zkRollup,虽好,目前存在很大的缺陷:可编程性差。

细看 zkRollup

相对其他 Rollup 方案,zkRollup 方案多了 zk 证明系统。也就是说,在 Layer2 每个交易除了「执行」外,还需要生成证明,证明执行过程的正确性。熟悉零知识证明技术的小伙伴都知道,零知识证明的安全性在于「电路」的安全性。对于 Layer2,每种交易的处理「固化」为电路,电路逻辑完全公开。对应于每种电路,存在唯一的验证秘钥。验证秘钥用在 Layer1 验证状态证明。通过验证的状态证明,符合固化电路的逻辑。

简析以太坊 Layer 2 技术方案及扩容特性

关键就在于 Layer2 交易的执行和固化电路语义是否一致。公开电路就是一种共识方式,供所有人查阅电路逻辑。简单的说,为了实现 zkRollup,需要实现 Layer2 执行对应的电路。事实上,电路的实现相对复杂,没有高级语言,很多情况下都是手写 R1CS。进一步,为了利用 zk 证明系统,为了优化电路的实现,整个 Layer2 的状态经常优化为电路友好结构(merkle 树)。所以,zkRollup 的系统需要考虑电路的结构,从而约束了 Layer2 交易以及账户模型。细心的小伙伴可以发现,不管是 zksync/zkswap/loopring,都只实现了特定交易场景。

反过来说,如果需要通过 zkRollup 支持 EVM 的交易执行,需要将 EVM 的交易抽象成电路友好的账户模型。这种抽象并不容易,再者,EVM 的描述电路可以预见比较大。从零知识证明的性能看,这方面会限制整个 zkRollup 的性能。

再看看 zkRollup 方案在 Layer1 的 gas 消耗。整个 zkRollup 方案的主要 gas 消耗为三部分(withdraw 不考虑在内):

  • Transaction Raw Data:在 zksync 中称为 pub data。为了保证 data availability,所有的 Layer2 的交易都会以裸数据的形式提交到 Layer1。

  • Layer2 Block 管理:在 Layer2 提交区块状态时,Layer1 维护着 Layer2 的区块结构和状态。

  • 验证 Layer2 Block 状态:在 Layer2 提交证明时,Layer1 需要验证状态证明。

以一个区块 350 笔交易,每个交易的 Transaction Raw Data 的大小为 20 字节为例,一个区块处理的 gas 消耗:

简析以太坊 Layer 2 技术方案及扩容特性

虽然上述的数据不是精确值,但是足以说明交易原始数据在整个 zkRollup 方案中的 gas 消耗占比是非常高的。从这个角度看,Layer2 的有些项目选择通过其他链下的方式存储交易数据。

Optimism vs. Arbitrum

Optimistic Rollup 兼容 EVM。也就是说,Layer2 支持可编程性,并且在以太坊上的程序几乎无缝迁移。为了保证链上的状态正确,这两种方案都提供一段时间内的挑战机制。挑战者提供挑战的证据,Layer1 抉择正确与否。深入理解 Optimism 和 Arbitrum 可以查看之前的文章: (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容