Time:2023-03-08 Click:122
原文来源:@ koeppelmann、@levi 0214 、@xcshuan、@jon_charb
内容整理:flowie,ChainCatcher
3 月 4 日 ,Gnosis 联合创始人Martin Köppelmann 在 EthDenver 发表了《The Limits of L2》的演讲,演讲中讨论了L2 的诸多局限性,以及基于 zkBridge 的另一种扩容方案。
Martin Köppelmann的观点很快在推特上引起了广泛讨论,且质疑的声音颇多。以UniPassID 开发者@xcshuan、 @dba _ crypto 联合创始人Jon Charbonnea为代表的不少推特用户认为,Martin Köppelmann 对于 L2 的分析,部分观点和论据逻辑混乱、完全站不住脚;而针对基于 zk bridge 的新扩容方案,质疑声音则更大,评论区充斥着“不靠谱”、“屁股决定脑袋”的言论,有评论嘲讽到,“Gnosis 自己的链还不如个测试网价值大,一天 6 万 txs,操着 10 亿用户交易量的心”。总之,Martin Köppelmann 演讲中的每一个核心论点几乎都一一遭到驳斥。
《The Limits of L2》中提到了哪些核心观点?争议点是什么?ChainCatcher 结合 @levi 0214、@xcshuan、 @dba _ crypto 等推特用户的观点和评论,对《The Limits of L2》的核心观点和驳斥点做了简要整理:
以 ENS 为例,假如全球 80 亿人口中有 10% (8 亿人)要注册 ENS,整个以太坊的交易处理能力都将被用来处理这些请求的话,需要 2 年的时间才能完成。在这 2 年中,以太坊将无法处理其他任何交易。
以股票为例,假如全世界的股票(4.5 万只),都用以太坊做结算层,即使用了 L2,那么每个股票每天只能进行不到 30 笔交易。甚至不足以让其中最大的经纪商或各种 L2 之间的转账在以太坊上结算。
对此观点,@jon_charb表示困惑,他认为以太坊 L1 的吞吐量问题老生常谈了,大家都知道不可能仅以太坊 L1 就足够了,没什么好说的,L1 执行应该继续向下扩展(通过无状态、zkEVM、硬件/带宽改进等)提供更好的结算层,但是扩展 DA (数据可用性)显然是首要任务。
@xcshuan则直接驳斥到,只适合状态不会膨胀的应用,不落实状态租赁之类的机制,用Gnosis 提出的侧链方案就不会遇到状态爆炸问题了?更何况,Rollup 并没有使用 L1 的状态,只是使用了L1的 DA(数据可用性),恰恰降低了 L1的状态占用。
对于 L2 Gas 消耗问题,@jon_charb首先提出的疑问是,“称 L2 从根本上不能做 1 美分以下的交易”缺乏论据。且实际上,没有任何一条链(L1 或 L2)能够保证低于一美分的交易。
@jon_charb表示,EIP 4844 将使 DA (数据可用性)定价与执行层竞争脱钩,然后可以扩展到超出初始参数,danksharding 提供更多 DA。最初的 danksharding 规范可以很好地处理成千上万的 rollup 交易,并且可以进一步扩展,如果对以太坊 DA 的需求非常高,就不能保证低于一美分的交易。
当然,我们也可以选择剔除链的 DA 成本,让以太坊提供的可扩展且安全的 DA 层来补贴它。DA 从根本上讲是一种高度可扩展的资源,以太坊最终将提供大量的资源。如果需要更便宜的 DA 用于微交易之类的东西,那么可能值得考虑链下 DA,例如 EigenDA、Celestia、DAC 等。
如果 rollup 本地的执行需求是瓶颈,那么它的交易成本可能会远远超过分配给支付 DA 的费用部分,但这同样适用于任何链(L1 或 L2)。这只是承认我们需要很多链,而不是我们需要很多 L1。
@xcshuan则认为,在设计不出银弹(杀手锏)的情况下,L2 的 Gas 消耗过高问题根本不值得讨论,不同的安全假设适合不同的应用,自然也有不同的成本。此外,Rollup 的 Gas 费与 L1 的 DA 吞吐能力强相关,是一个可优化的点。
@xcshuan反驳道,这个观点也十分令人困惑。分层网络原本即为各层按其所职,当用户在执行层可以满足需求,为何还要回到结算层?难道使用侧链 跨链就没有吞吐瓶颈,或者 Rollup 在官方桥之外不能有别的桥?
但此论据似乎存在技术知识硬伤,@xcshuan认为,Martin Köppelmann 应该先理清楚 Data Availability 和状态存储的区别,再思考这些应用是不是无法被 Rollup。
在列举了 L2 的四大问题后,Martin Köppelmann又提出了一个假设:那假如资产永远都留在 L2,把它当作一个永久的空间来用,行不行呢?
对此假设,Martin Köppelmann又提出了 L2 新的问题。
1、L2 的 sequencer (定序器)非常中心化
比如 L2 虽然没法拿走你的钱,但是他们有巨大的权力——可以决定是否接受你的交易、收你多少 Gas 费以及谁在前谁在后。Martin还顺道黑了一下 Coinbase,说如果你要在 Base 上做交易所,它可以很轻松地把来自它的交易排在你的交易前面。
与此同时,中心化的 sequencer 非常有可能被审查,甚至强制 KYC (只接受来自 KYC 地址的交易)。Martin还强调从目前监管看来这是非常有可能的。
对于中心化问题,@jon_charb、@xcshuan都一致驳斥道Sequencer 虽在当前是中心化的,未来升级后是可以被设计成去中心化的。
@jon_charb 提到 Sequencer 不仅可以被去中心化,且还可以添加升级延迟,以便用户可以在他们不同意的升级之前退出。而@xcshuan则发问,Martin提到的侧链方案——使用几十个节点的 BFT(拜占庭容错共识算法)难道就很去中心化了?以及 Rollup 不能对接 BFT 的 PoS?
2、如果要发行 L2 原生的、不存在于 L1 的资产,这种情况下要 L2 还有什么意义?
Martin Köppelmann 解释,L2 之所以安全,是因为从 L1 继承了安全性,可是你都不要 L1 了,为什么非要 L2 呢。
@xcshuan表示,这个问题看似很有意思,但似乎不知道在说什么问题。存在概念不清的问题,Rollup 的目的是为了在使用 L1安全性的前提下,实现一定的扩容以及新的执行层。
3、僵化问题
Martin Köppelmann提到,以太坊 L1 本身还在进化中, 往后 5-10 年还会做许多修改,这就给 L2 带来许多挑战。
Martin Köppelmann举了个例子来论证:我们用来投票的 Snapshot 就是在 L2 进行投票,然后将状态同步回 L1,它们在 L2 做 Merkle Proof(默克尔证明)。然而以太坊 L1 计划在未来一两年内从 Merkle Trees 切换到 Verkle Trees (维克尔树),这会导致当前版本的 Snapshot 不能再使用。因此,L2 可能需要某种“升级”机制,但这也会与其无需信任目标相矛盾。
对此,@xcshuan,指出结算层本就应该设计得足够抽象,并且 L2 不应该使用抽象层之下的假设,抽象层之上应该永远向后兼容。
利用 zk 在一条链上运行另一条链的轻节点客户端,然后在其中验证而无需信任,远比传统的 bridge 安全。
Martin提出的替代性新扩容方案以及新的概念——以太坊宇宙(Ethereumverse),的确有引起一些推特用户的期待。
但对此也存在普遍的质疑:一是虽然L2 当下存在很多问题,但也不能否认 L2 对于绝大多数用例提供了更好的可扩展性/安全性/互操作性。
二是 L2 存在的问题,并不能通过启动一堆新的 L1 执行层来解决。@jon_charb认为,L1之间的跨链安全性较低,最好通过扩展以太坊的 DA/执行 rollups 来解决。@xcshuan也认为,zkBridge 没有突破双向轻节点、中继、哈希时间锁三类跨链方案的安全假设,虽然使用简洁证明可以让原本链上验证不起或者非常昂贵的计算可以被压缩,但是它始终要么是双向轻节点,要么是中继,没有压缩证明的时候,一样可以设计出相同安全模型的跨链方案。
总而言之,侧链、通道网络、跨链、结算/执行/DA 的各种模块化网络,在某些时候都是可用的技术选型。但不应以推举某一路线为由,而置技术逻辑于不顾,全然选择性描述。