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

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

关于 Optimistic Rollup,你需要知道的一切 (3)

时间:2021-01-28 15:32来源:未知 作者:admin 点击:
」 (sequencer) 的第三方来实现这一点。他们负责本地存储和执行用户提交的事务。为了保持系统的活跃度,排序器需要定期提交他们接收到的事务的默克
」 (sequencer) 的第三方来实现这一点。他们负责本地存储和执行用户提交的事务。为了保持系统的活跃度,排序器需要定期提交他们接收到的事务的默克尔根以及以太坊上产生的状态根。这是朝着正确方向迈出的一步,因为我们只在以太坊的状态中存储 O (1) 数据,用于 O (N) 链下交易。

问:所以我们通过让排序者计算链下的一切,只发布默克尔根来实现伸缩?

答:是的。

问:好的,所以一旦你加入,排序器能保证你的转账费用很便宜。那么存款和提现会如何操作?

答:用户将通过在以太坊上存钱的方式进入系统,然后排序者将相应的金额记入用户的账户。用户可以在以太坊上提出这样的交易内容,比方说,「我想提现 3 个 ETH,我的账户目前有 >3 ETH,这是证明」。即使第 1 层没有实际的用户状态,用户也能拿出排序器发布的状态根显示相关的默克尔证明,表明他们在当前状态下有足够的资金。

问:现在我们知道了,用户需要默克尔证明来提取他们的资金。用户如何获得构建默克尔证明的数据?

答:他们可以要求排序者给他们提供数据!

问:万一排序者暂时或永久不可用,那该怎么办?

答:排序者可能是恶意的,也可能只是因为技术问题而离线,这将导致性能下降(或者更糟,偷走你的资产!)。因此,我们还必须要求排序者在链上提交完整的事务数据来进行存储,但不能执行。在这个问题上,目标是获得数据可用性。假设所有数据都永久存储在以太坊上,即使排序者消失了,新的排序者也可以从以太坊中检索所有第 2 层相关的数据,重建最新的第 2 层状态,并从他们的前任离开的地方继续。

问:如果排序者在线,但拒绝向我提供默克尔证明数据,我可以从以太坊下载吗?

答:没错,你可以自己同步一个以太坊节点,或者连接到众多托管节点服务中的一个。

问:有一点我还是不明白,你怎么能在以太坊存储东西而不执行它呢?不是每个事务都要通过 EVM 吗?

答:假设你提交了 10 个事务,将 ETH 从 A 转移到 B。执行每笔事务都将执行以下操作:增加 A 的 nonce,减少 A 的余额,增加 B 的余额。这得从以太坊的世界状态里进行相当多的写入和读取。相反,你可以将所有事务的编码发送到智能合约的 publish (bytes _transactions) public { } 函数中。注意,该函数的主体是空的!这意味着发布的交易数据不会被解释、执行,也不会在任何地方进行状态访问,它只是存储在区块链的历史日志中(写入的成本很低)。

问:我们能信任排序者吗?万一他们发布了一个无效的状态转换怎么办? (责任编辑:admin)

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