对Layer2而言,强制提款与逃生舱功能到底有多重要?
Layer2托管平台体系中的“强制提款”功能是不可或缺的,可以保障用户资产安全。路印协议V3版本提供了强制提款与破产清算模式,用户可以在Layer1上通过ExchangeV3合约发起强制提款。OP Mainnet、Base、zkSync Era、Mantle、Starknet等L2技术也提供了类似的功能,以保障用户资产安全,推动web3的mass adoption。 摘要由 Mars AI 生成 本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。
在现实世界中,几乎每一栋高楼大厦都有一个不可或缺的要素:安全出口。当火灾地震等突发事件降临时,安全出口就是保障人们生命安全的救命稻草。而在以太坊Layer2这个承载了百亿美元资产的托管平台体系中,可以让用户把资产安全撤回至Layer1的“强制提款”功能,已然成为不可或缺的必备设施。
Vitalik在最近的文章“Different types of layer 2s”中也强调,用户能否顺利的把资产从Layer2撤回至Layer1,是一个非常重要的安全指标。
但“顺利提款”问题在过去似乎没有得到大多数人的重视,甚至许多Layer2项目方都没有上线“强制提款”或“逃生舱”功能。在L2生态体系未成火候的时代,漠视“无需许可的提款”似乎不成问题。但如今Layer2已经承载了120多亿美元的资产,已然变成了一栋“太大而不能倒”的大厦。如果这样的一栋摩天大楼没有安全出口,后果简直是不可想象的。
抱着让广大读者重视Layer2安全风险的目的,《极客web3》将在下文以路印协议V3和Arbitrum为例,为大家阐明为何forced withdraw与escape hatch等“无需许可的提款功能”是Layer2不可缺少的一环。
(根据L2BEAT dYdX浏览器显示,迄今为止dYdX强制交易/提款功能,总计被使用过152次,超过100万美元的大额提款多达7笔)抗审查性是大问题:如果Sequencer故意拒绝你的请求,怎么办
过去关于Layer2的科普文章往往有一个问题,就是大多数时候都着重强调“安全性”与表面上的“可用性”,却忽略了“抗审查性”。即便是在谈论去中心化排序器方案时,很多人注意到的也是MEV是否去中心化,而不是抗审查性的改善。
换句话说,大多数人往往注重Layer2的状态转换是否有效,排序器能不能盗币,欺诈证明/有效性证明系统有没有投入使用,却忽略了一个不该被忽视的风险:如果Sequencer一直拒绝你的交易请求,或者干脆长时间故障,甚至停机,这个时候怎么办?
要知道,在Solana宕机期间,曾有人因为资产面临清算而无法及时补仓,使得几百万美元的资产面临风险。此类拒绝用户请求的场景一旦发生,造成的经济损失并不可小视。
即便只有个别人可能遭遇此类情况,但如果落到了一些手握大量资金的鲸鱼身上,整个市场都可能连带遭殃(假设某人在以太坊上的Defi借贷协议有几亿美元资产可能在一周内被清算,但他因为用了Tornado而被OFAC列入制裁名单。此人大部分资金都在OP上,而OP排序器配合OFAC拒绝它的请求)
我们不妨把这个问题投射到avalanche或polygon等独立于以太坊的公链上去分析。如果Avalanche上超过2/3的Validator共识节点决定对你展开交易审查,那么它们可以拒绝把你发起的Txn打包进区块里,或者不承认包含你的Txn的区块。这个时候,你的钱基本就被埋在了这条链里出不来:
除非你能拉拢一些Validator,使得参与审查攻击的Validator不足2/3,或者你能号召一些人通过社会共识的方法,把Avalanche分叉。显然在这个时候,你还是有办法把资金快速撤出Avalanche的,并且我们要考虑到,超过2/3的Validator联合起来对某个地址发起交易审查,本身就需要一段时间去达成,这会给被审查的用户留下充沛时间“逃出生天”。
但在Layer2上,这种情况可能大不相同。Layer2的Sequencer一般都是由官方自己在运行,如果Sequencer想要对你展开审查攻击,它可以把你的钱“冻结在Layer2”,也就是彻底拒绝你发起的,把资产从L2跨到L1的交易请求。显然按照L2的运作机理,如果你不能绕开排序器执行提款操作,是完全可能被Sequencer把资产冻结在L2不能转移走的。
那么该怎么解决这种问题呢?其实说白了就是,怎么实现“无需许可”的提款功能,让用户在被Sequencer或Layer2项目方审查的情况下,安然无恙的把资产撤回到Layer1上?有一些项目方提出了去中心化Sequencer的方案,但这治标不治本,如果这些数量极为有限的排序器联合起来审查你,还是可以把你的资产“冻结”,况且POS节点的反女巫也是个棘手的问题(参考Multichain事件)。
真正最有效的办法,是直接在L1链上设置一个“出口”,让用户在长时间得不到Sequencer响应时,通过L1上的专用出口把资金从L2撤出。
路印协议V3版本的强制提款与破产清算模式
这里我们以路印协议的V3版本为例,它针对用户发起的强制提款分列了两种不同情况,第一种情况是:
用户直接在Layer1上通过ExchangeV3合约中的forcedWithdraw函数发起强制提款,声明自己在路印协议的L2账户是哪个,以及要提走哪种Token。之后,ExchangeV3合约会抛出一个链上事件,提示有人发起了强制提款请求。由于路印协议的所有节点(包括Sequencer)都运行着Geth客户端,所以会从以太坊区块中获知,有人发起强制提款并触发了对应的链上事件。
要注意的是,强制提款不会被立刻处理,而是置入pendingForcedWithdrawals队列,处于待处理状态。Sequencer注意到有人在Layer1发起强制提款后,一般会在15天内触发ExchangeV3合约中的Process函数,在以太坊链上把Token转给提款发起者(从L2项目方在以太坊链上的存款地址,给提款者转钱)。
如果Sequencer在15天内没有响应用户的强制提款请求,用户可以调用notifyForcedRequestTooOld函数,让ExchangeV3合约抛出名为WithdrawalModeActivated的事件,通知路印协议的全节点,破产清算模式被激活了。
如果破产清算模式被激活,此时路印协议V3会停止接收Sequencer提交的新L2区块,也就是说这个时候路印协议整个就停止了运转。这个过程会持续至少30天。
但在破产清算模式下,用户依然可以在Layer1上把自己的资产提走,只不过需要提交merkle proof证明自己的资产状况/状态,在L2的状态树上是可查的。(证明自己在Layer2的资产余额,和自己发起提款时声明的金额是一致的)
路印协议的这种破产清算模式,在L2BEAT上也被称作Escape Hatch逃生舱机制。这种模式的触发有个先决条件,就是排序器在规定的时间内没有响应用户的强制提款请求,或者Sequencer长期故障或停机。此时用户可以通过手动触发的方式,让Rollup合约进入冻结模式/停止运转。然后用户可以构造merkle Proof证明自己在Layer2上的资产情况,从L2项目方在L1的存款地址中,把属于自己的那部分资产提走。
在StarkEx的文档中,还为这一过程画了专门的示意图。如果L2用户在L1提交的Forced Withdrawal请求在7天窗口期结束时,未得到定序器响应,则该用户可以调用freeze Request功能让L2进入冻结期。此时,L2定序器将无法在L1上更新L2的状态,L2状态冻结后要过1年才能解冻。之后用户可以提交merkle proof并提款。
但要构造Merkle Proof,需要先获知完整的L2状态树,也就是需要找一个L2全节点索要数据,同时需要一段代码来生成merkle Proof,显然这需要一定的技术门槛。为了方便广大用户,L2BEAT此前曾声明,Layer2应该设置一批权限开放且代码开源的全节点,帮用户获知L2上全体账户的状态(包含余额、交易次数等)。这一举动其实也说明了强制提款与逃生舱机制的重要性。
Arbitrum的“强制包含交易”功能
但强制提款/逃生舱似乎不是唯一的抗审查解决方案。比如,Arbitrum采用了“强制包含交易”的方式,用户可以先在L1上的delayed Inbox合约提交需要被Sequencer处理的Txn/withdraw,如果Sequencer超过24小时没有处理,用户可以调用L1上Sequencer Inbox合约的force Inclusion函数,让Txn直接被包含进Arbitrum的交易序列中(抛出一个链上event告知Arbitrum全节点,几笔delayed Inbox上有记录的Txn需要被包含进L2的账本中)。
相比之下,Arbitrum的方法要更简单些,但这种方法还是略带不足:因为它只抛出一个链上事件告诉Arbitrum节点,有几笔被排序器忽略了的交易需要被包含进L2最长链中,而不是像路印协议和StarkEx的 破产模式/逃生舱 那样允许用户直接在L1上把钱提走。如果Arbitrum的挑战者节点联合起来发动审查攻击,似乎还是可以让用户的钱被冻结在L2。
所以说Arbitrum的force Inclusion还不够permissionless,虽然只要有一个诚实节点愿意发布欺诈证明,就可以指出排序器忽略了某个用户的forceInclusion请求,但这还是引入了一定程度的信任假设,只不过程度很轻微。
更确切的说,“需要被强制包含的交易”是要被至少1个ARB的挑战者节点认可的,这些节点目前有9个,它们有权决定给哪些L2-L1之间的跨链消息放行,现在也只有它们能发布欺诈证明。只要这9个节点联合串谋,理论上还是可以让用户的“强制交易”无效。
所以,目前Arbitrum的强制包含交易/提款,不像路印和StarkEx的破产清算模式那样无需L2节点许可。但L2BEAT还是对Arbitrum的这个方案给予了很高的评价。因为在未来,Arbitrum会上线名为BOLD的Permissionless的欺诈证明发布机制,挑战者节点届时将难以或无法串谋(现在其实就很难串谋)。
按照L2BEAT的数据,目前TVL超过5000万美元,且没有针对Sequencer Failure或Proposer Failure中的某项提供应对举措的,包括:OP Mainnet、Base、zkSync Era、Mantle、Starknet、Linea、Polygon zkEVM、Metis。这些L2都可以在极端情况下导致用户资产被冻结在L2提不出来。
所以显而易见,强制提款或破产清算模式有其存在的必要性,虽然目前它只是依靠用户-排序器这个对手方之间的博弈来发挥作用,还称不上真正意义的“随时可提款”(Arbitrum有24小时延时且可能失败,路印最长15天延时,StarkEx有7天最大延时),但显然“有总比没有好”。而且强制提款的延时问题,相信可以在未来靠着更精巧的机制设计被妥善解决(目前主要顾及到某些MEV科学家可能利用forceInclusion发起抢跑交易,所以要引入延时。具体详情可以阅读各大L2项目方的官方资料)
随着去中心化Sequencer被越来越多L2纳入路线图,以及Vitalik为首的以太坊基金会不断向人们加强对Layer2安全性的教育,类似强制提款的抗审查交易功能势必会被越来越多人所重视,这将使得以太坊Layer2体系更接近一个抗审查、去信任化的金融基础设施体系。如果Layer2实现了去信任化的资金进入进出方式,相信将会有更多做市商与流动性提供者进入L2基础设施,为整个web3的mass adoption向前推进一步。
免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。
你也可能喜欢
DeFi 的下一步是什么?专家深入探讨 2024 年趋势和 2025 年预测
今年的DeFi关键趋势包括传统金融与加密货币的整合、Layer 2扩展解决方案和人工智能,专家告诉The Block。专家表示,随着美国在唐纳德·特朗普领导下的监管放松,DeFi可能在新的一年中蓬勃发展。
智能合约变得更智能:AI代理如何改变区块链领域
快速概述 最近,人工智能驱动的区块链项目的重点转向创建“代理”——能够执行自动化任务的人工智能机器人,如交易、投资管理和用户互动。人工智能代理的优势在于能够不断更新其模型以改进决策能力,这是传统软件机器人所不具备的能力。
据报道,以色列证券管理局将于12月31日推出六只比特币共同基金
简讯 据以色列商业新闻网站Calcalist报道,六只追踪比特币价格的共同基金将于12月31日在以色列推出,此前该国证券监管机构于上周批准了这些基金。报道称,这些批准是金融机构多年来游说努力的结果。
加密场外交易平台表示交易量“现在正在飙升”
加密交易公司表示,选举结果和近期价格上涨对加密场外交易市场来说是一个巨大的利好。他们表示,客户也开始关注比特币和以太坊之外的其他山寨币,进一步下探风险曲线。