Vitalik:Rollup 二层网络的三个阶段
人民干脆面
发表于 2022-12-1 09:55:34
138
0
0
6 D% [7 G% b( z7 K+ i
L2beat的风险分析页面,显示了有关各种rollup项目的大量统计信息,包括它们的辅助轮状态:
0 t7 B+ o2 E# @: j$ J4 v8 P
然而,截至今天,这些信息还没有很好地被标准化,这使得用户很难理解特定rollup所使用的特定信任模型。Rollup团队甚至可能有动力对他们当前的信任模型保持沉默,而是将讨论重点放在完全无需信任的未来。0 \% ^; o8 L4 m
$ W$ W) ~% N! B- i
这篇文章提出了一个简单的基于里程碑的模式,来帮助我们将Rollup分为三个不同的阶段(具体取决于它们对辅助轮的依赖程度),这样做是为了实现以下几个目标:6 r9 g4 K1 v- a6 |6 Q
8 ]) G3 L. S/ [! c' }
让用户更容易识别特定Rollup在多大程度上依赖于“对特定人群的信任”以及“对代码的信任”;
激励Rollup项目方改进他们的信任模型,降低信任最小化被取消优先级的风险;
* V* W7 |' v6 O0 b& I
给生态一些精确的里程碑来协调和庆祝,让我们说“TheSurge”何时完成一半或完全完成,这与“TheMerge”是类似的。此模式并非旨在暗示一种道德判断,即尽快实现代码信任最大化是唯一正确的行动方案。Rollup绝对应该有一个明确的摘掉辅助轮的路线图,但只有在准备好后才应该摘掉辅助轮。
图片来源:由无界版图AI工具生成。/ _. b+ K3 J) f
概要阶段0:完整的辅助轮要求:
该项目应该称自己为Rollup。2 |' f1 G( X6 A% L1 Y: X! O
所有Rollup交易都应该上链。1 | g# A u* c& \ T: Q. ?# U
应该存在一个“rollup全节点”:一个可独立运行的软件包,它可读取L1链,提取和rollup链,并计算rollup链的当前状态。如果它不同意发布到合约中的Rollup状态根,它应该发出警报。
- N: H) H& G- ]5 o1 T
应该有一种机制允许用户发布Rollup交易,或者至少确保在没有运营商合作的情况下提取他们的资产。即运营商不能通过对用户的审查来冻结或窃取用户的资产;他们这样做的唯一可能工具,必须是发布虚假状态根。* F. X% a- _1 y2 V( W
如果发布新状态根的链上机制只是一个多重签名,其中没有任何有效的欺诈证明或有效性证明,那也没关系。阶段1:有限的辅助轮要求: @" s6 J& u7 n- [; e; V7 T
必须有一个正在运行的欺诈证明或有效性证明方案,它具有接受或拒绝哪些状态根被Rollup合约接受的实际权限。) ~- W ]! ~4 }' p1 @5 j$ L
7 C/ z( }! ] q) H& }
可以存在基于多重签名的覆盖机制(“安全委员会”),它可以覆盖欺诈证明或有效性证明系统的输出并发布状态根,以防万一证明系统代码被利用。然而:(1)多重签名必须是6of8或更严格的(即>=8个参与者并且签名阈值>=75%)/ f; N$ y" Z3 H$ _
0 t# I( p* l. l6 h: v6 o
(2)至少有一个仲裁阻止组(即有足够多的参与者来阻止多重签名)必须在运行Rollup的组织之外。" {7 }4 O! B. X' B; f
4 k, ^# R* A ?- L
可以存在一种升级机制,但如果其阈值低于多重签名,则升级必须具有至少7天的强制激活延迟或防欺诈游戏的最长时长(以较长者为准)。这条规则的目标是确保升级机制不能被用来介入实时纠纷。第2阶段:摘除辅助轮要求:* Y' \: s p; v1 W1 ?! G
: w( t& }( E/ p6 t7 A; a
如果代码没有漏洞,则不得有任何一组参与者(甚至是集体)可发布除代码输出之外的状态根。* o1 c& L& G- O# L- c
这样做(“如果代码没有错误,那么没有人可以覆盖它”)的目的,是摆脱对安全委员会的过度依赖,后者只有在发生明显错误的情况下才能使用,例如:
Rollup使用其状态转换功能的两个或多个独立实现(例如,两个不同的欺诈证明者,两个不同的有效性证明者,或每一个),只有当他们不同意时,安全理事会才能做出裁决——这只会在有一个漏洞时发生。
0 j0 [5 B' W; \0 i3 g, ~/ W. f9 m
如果有人在处理相同的数据后,提交包含两个不同状态根的两个有效证明的交易或一系列交易(即“证明者不同意自己”),控制权暂时移交给安全理事会。
如果>=7天没有提交有效证明(即“证明者被卡住”),控制权暂时移交给安全理事会。
( n- I; @2 q2 M! G; h
允许升级,但必须延迟>=30天。
成为第一个吐槽的人