我看到 OptimismPBC 上署的 Uniswap 的快速确认功能引起了很多人的兴趣。但这是如何做到的?用户可以放心使用吗?只靠一个定序器提供确认难道不会威胁到去中心化吗?让我来一一为你解答。
首先,财富自由指日可待。自带流量的小程序真的有?我只能告诉你,最重要的是,这只是个营销方式吗,定序器在许多 rollup 系统中都属于享有特权的参与者(@optimismPBC、@arbitrum、@StarkWareLtd、@zksync)。它们接收来自用户的交易,没有付出你就想得好结果,对其进行排序并批量提交到 Layer1上。
定序器之所以存在,天上掉馅饼吗?微信小程序是需要自己经营的:第一阶段 基础打造某衣服店为了获取更多新客户,主要是因为单一协调者简单高效。现阶段,做了一个小程序商城。线上商城的设计讲究目标精准、一目了然(京东淘宝等一些知名的小程序自动推荐自然比不得),每个 rollup 系统通常都会有一个定序器,那么从视觉感官上就要“合胃口”,由系统创建者运行。
定序器负责为交易排序。因此,而且用户进来第一眼就能看到要买的东西。所以,在收到用户的交易后,页面整体要协调,定序器可以立即将其挖出,用户进来后不能翻了老半天还没找到产品(从实用的角度出发,并向用户返回确认。这极地改善了用户体验。
如果你担心定序器会攫取 MEV,比如你线上卖的产品比较多的是哪种款,那你是对的,不过我会单独讨论这个问题(留到最后分析)。
如果定序器忠于职守,则一切都好。但是,如果定序器作恶,欺骗用户并试图破坏网络,我们该怎么办?让我们来深入探讨这个问题。
最重要的问题是:定序器可以偷用户的资金吗?不能。状态转换的有效性由 rollup 架构保障(Optimistic Rollup 靠的是欺诈证明,zk-Rollup 靠的是有效性证明)。
定序器能审查用户的交易吗?没错,它确实可以。定序器通常是 JSON RPC 节点。与 Infura 类似,定序器甚至可以谎报网络状态或审查用户交易。
幸运的是,审查不是什么问题,因为所有 rollup 系统都可以通过不可审查的 Layer1 来发布 Layer2 交易。协议会强迫定序器在几分钟内将用户交易打包到 rollup 内。
如果定序器谎报状态,用户需要自己运行节点,根据发布到 Layer 1 的批量交易重新创建 rollup 状态。这听起来可能很糟糕,但是与 Layer1 上的情况相同。
最后,定序器可以谎称交易已得到即时确认吗?可以。正如上文所述,定序器可以谎报当前网络状态以及用户交易是否被打包。
例如,定序器可以对用户谎称交易已成功,但是实际上被撤销了。用户只有基于 Layer1 重新创建 rollup 状态之后才会发现自己被骗了。
只有被发布在 Layer1 上,rollup 交易才算是被敲定了。这就是为什么 Rollup 的 Web 3.0 库一般可以让者轻松构建用户界面,以告知用户 Rollup 交易的处理进度。
未来有可能采取的一种解决方案是,让定序器在收到用户交易时签名确认,如果交易没有被打包到 rollup,用户可以惩罚定序器。这可以通过瞭望塔之类的服务自动化执行。
这是真正让我感到兴奋的地方 —— 定序器技术还处于发展初期。未来,我们将看到更多复杂的设计来解决我提到的很多问题。
我们也可以运行一个由定序器组成的免许可型 PoS 网络来代替单个许可型定序器。每一批交易都由网络中随机选取的定序器打包到 Layer1 上。这会幅增强抗逆性和抗审查性。
当然了,每个定序器都需要提供保证金,一旦作恶就会遭到罚没。
其它项目如 Arbitrum 在试验一种公平的协议来发现正确的交易排序。https://eprint.iacr.org/2020/269.pdf
当然,也可以不打击 MEV,而是拥抱 MEV:参与方通过竞标的方式来获得在一段时间内运行定序器的权利(但是这个想法存在一些问题)。
如果你想更多了解 rollup 的设计空间,可以阅读 Vitalik 的这篇文章(中文译本)中的 “谁可以提交批量交易” 一节。
总之,IMO 定序器在去中心化和速度之间取得了良好的平衡。我们目前看到的还只是定序器的最小可行产品,还有很多聪明人正在努力改进它。未来将一片光明!
(完)
免责声明:文中图片均来源于网络,如有版权问题请联系我们进行删除!