📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
速览无状态 Rollup 的优势与潜在问题
**撰文:**OneTrueKirk
编译:Yvonne,MarsBit
原文来自 OneTrueKirk 在 ethresear.ch 发布帖子
这是我第一次在这里发布主题帖子,如果在任何方面有所冒犯,我深表歉意。我一直在思考这一想法(Stateless Rollups),主要是针对我们的借贷协议的专用 rollup, 但希望它可以普遍适用,感激所有反馈。
TLDR:
只发布状态根,不发布 calldata。
(MarsBit 注:Calldata 是合约交易中的数据部分的值,不能被修改。)
细节
如果不使用以太坊作为数据可用性层,通过将完整状态作为 calldata 发布,而只将状态根发布到主网,会怎么样?主要好处是减少存储在以太坊上的数据量,从而减少用户在 L2 上交易的成本。即使有 EIP-4844,blobace 也不是免费的。
主要的风险是数据保留攻击(Data Withholding Attack),即提议者发布一个有效的状态根,但从其他 rollup 节点扣留完整的数据,以垄断未来的区块生产或挟持资金。为了防止这一情况,诚实的节点必须质疑任何没有对等方可以提供数据的状态更新。Arbitrum 式的互动欺诈证明可以用来迫使提议者在主网上披露完整的状态,但如果根是有效的,仍会导致挑战失败,因此,即使在失败的情况下,挑战的成本也要低。
(MarsBit 注:数据保留攻击(Data Withholding Attack)是指攻击者在访问受保护的数据时,故意不返回全部数据或者返回错误的数据,以达到欺骗或者破坏的目的。
如果挑战失败的成本很低,那么即使诚实的提议者正确地点对点传播了状态数据,也可能会强迫他们支付将所有状态数据发布到主网以防御挑战的费用,从而使诚实的提议者感到痛苦。发起挑战的成本必须与防御成本成正比,以确保无法以这种方式攻击诚实的提议者。
在最坏的情况下,如果攻击者可以花 1 美元让诚实的提议者损失 1 美元,他们可以迫使提议者放弃,让他们的区块恢复。随后,一个新的诚实的提议者可以竞标,除非攻击者可以对所有潜在的诚实提议者重复攻击,其中包括所有有资金的人,否则他们不能造成永久停机。有可能增加另一个条款,当一个有效区块被敲定后时间过长,挑战的成本就会上升。这样一来,挑战一个不诚实的提议者很容易,但不可能长期停止状态转换。
更为乐观的是,如果节点在点对点之间传播数据,他们可以决定自己的数据备份和可访问性解决方案,而用户最好在本地存储他们自己的状态转换所需的数据。在一个特定的应用程序的背景下,我考虑过与 EVM 完全不同的方式对 rollup 状态进行编码,以对此进行优化。所有与特定用户账户相关的状态都可以被编码为相同的哈希值,因此,用户可以更容易地验证自己账户的变化,而不需要知道全局状态(即确认你在交换中收到了你想要的代币数量,而不需要担心具体来自何处)。
总结
我很想听听大家的想法,也希望大家能提供相关工作的链接。 与普通的 optimistic rollup 不同,在 optimistic rollup 中很容易确定所提交的 calldata 是否与主网的状态根相匹配,以及两者是否有效,但仅从状态根中不可能知道一个更新是否有效,因此需要仔细考虑挑战期和 griefing(即恶意行为)的经济学问题。