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

我的网站

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

一文纵览以太坊扩容主力 Rollup 技术、应用与数据表现(4)

时间:2021-08-23 13:46来源:未知 作者:admin 点击:
交易字节数的压缩的方式主要包括使用效率更高的编码方式、缩减交易占用字节数、减少需要上传的数据等。 图 2-2 交易压缩,来源:Vitalik 博客,https:

交易字节数的压缩的方式主要包括使用效率更高的编码方式、缩减交易占用字节数、减少需要上传的数据等。

一文纵览以太坊扩容主力 Rollup 技术、应用与数据表现图 2-2 交易压缩,来源:Vitalik 博客,https://vitalik.ca/general/2021/01/05/rollup.html

图 2-2 是 Vitalik 归纳的交易在以太坊一层和在 Rollup 上占用的字节数。虽然各团队在最终实现时与 Vitalik 归纳的并不完全相同,但思路是一致的,因此我们在本文中仍然引用 Vitalik 的归纳。

首先,在二层的交易中,Nonce 可以在交易中被省略;Gas 相关的 Gasprice 和 Gas 也不必出现在每笔二层交易中;To 和 From 地址不需要使用以太坊的地址,而是使用其在状态树中的索引 (如图 2-3 所示,二层的账户可以由一棵 Merkle 树来组织);Value 可以使用科学技术法存储节省位数;对于签名,可以将一个批次中的交易签名进行聚合,降低每个交易的签名存储消耗。同时,这些交易数据会被存储在链上 gas 成本比较低的字段 Calldata 中。

值得说明的是,上传的一层的数据不仅仅是上述的交易内容,还会包含批次交易发生前后的状态根 (图 2-3 中的 State Root),以及用于证明 (或用于备查) 状态转换合法性的数据。ZK Rollup 系的技术能比 Optimistic Rollup 系技术取得更好的压缩效果,一个重要的原因就是 ZK 需要上传的交易数据比 Op 少,Op 为了方便验证者挑战需要上传一些中间状态信息,但 ZK 只需要针对批次的交易上传证明信息。

一文纵览以太坊扩容主力 Rollup 技术、应用与数据表现图 2-3 状态树,来源:火币研究院

除了压缩交易占用字节数以外,Rollup 中交易的计算量也会比直接在一层上执行要少,因为交易不必在一层上重新执行,只需要验证二层运营者提交的状态转换是否正确。对于 ZK 来说,主要来自于验证状态转换证明 (零知识证明) 是否合法;而对于 Op 来说,主要来自于欺诈交易的挑战消耗。

目前,经过压缩后,在理论上,ZK 系技术能带来的吞吐量提升在 100 倍上下,而 Op 在 30 倍左右。

如何将二层的状态转换同步到一层?

上一小节在讲交易压缩时提到二层运营者除了提交交易信息外,还会提交批次交易发生前后的状态根。这个状态根与以太坊一层的状态树的状态根类似,是账户状态的归集。

如图 2-3 所示,Rollup 的状态可以用 Merkle 树来组织,叶子节点为账户状态,中间节点存放层层向上进行哈希计算的信息,根节点是最终的哈希值,是二层所有账户状态的摘要。

如图 2-4 所示,是批次交易发生前后的状态转移示意图。二层的交易会改变交易相关的账户的状态,引起叶子节点的信息变动,最终导致根哈希值的变动。二层的运营者会在本地维护二层账户的状态树,记录批次交易发生前后的根哈希值,在上传批次交易时将此二哈希值一并上传。 (责任编辑:admin)

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