穩健,是 Gate 持續增長的核心動力。
真正的成長,不是順風順水,而是在市場低迷時依然堅定前行。我們或許能預判牛熊市的大致節奏,但絕無法精準預測它們何時到來。特別是在熊市週期,才真正考驗一家交易所的實力。
Gate 今天發布了2025年第二季度的報告。作爲內部人,看到這些數據我也挺驚喜的——用戶規模突破3000萬,現貨交易量逆勢環比增長14%,成爲前十交易所中唯一實現雙位數增長的平台,並且登頂全球第二大交易所;合約交易量屢創新高,全球化戰略穩步推進。
更重要的是,穩健並不等於守成,而是在面臨嚴峻市場的同時,還能持續創造新的增長空間。
歡迎閱讀完整報告:https://www.gate.com/zh/announcements/article/46117
開除Validium?從Danksharding提出者的視角重新理解Layer2
原文作者:Faust
原文來源:極客Web3
導語:近日,Danksharding 的提出者、以太坊基金會的研究員Dankrad Feist 在推特上發表了一番頗具爭議的言論。他明確指出,不採用ETH 作DA 層(數據可用性層)的模塊化區塊鏈不是Rollup,同時也不是以太坊Layer 2 。如果按照Dankrad 的說法,Arbitrum Nova 和Immutable X、Mantle 都要從Layer 2 名單裡「除名」,因為它們只在ETH 之外(自己構建了名為DAC 的鏈下DA 網絡)披露交易數據。
同時,Dankrad 還表示,像Plasmas 和狀態通道這種不需要鏈上數據可用性(Data Availability)來確保安全的方案仍算是Layer 2 ,但Validium(不用ETH 作DA 層的ZKRollup)不算Layer 2 。
Dankrad 此言一出,便引來了諸多Rollup 領域的Founder 或Researcher 質疑。畢竟有許多「Layer 2 」項目為了節約成本,並沒有採用ETH 作為DA( 數據可用性) 層,如果把這些項目踢出L2 名單,必然波及到相當多的擴容網絡;同時,如果validium 不算L2, Plasma 應該也沒資格算作L2。
對此,Dankrad 表示,Plasma 用戶在DA 不可用時(就是指鏈下的DA 層網絡搞數據扣留,不公開交易數據),仍然可以把自己的資產安全撤出至L1;但相同的情況下,Validium (大多數採用StarkEx 方案的項目都是validium)卻可以讓用戶無法撤資至L1,把錢凍住。
顯然,Dankrad 打算從「是否安全」來界定一個擴容項目是否為以太坊Layer 2 。如果從「安全性」的角度來考量,Validium 在定序器故障+ DA 層發動數據扣留攻擊( 隱瞞新數據) 的極端情況下,的確可以把用戶資產凍結在L2 無法提到L1;Plasma 因在設計上與Validium 不同,雖然多數時候安全保障不及Validium,但在定序器故障+ DA 層發動數據扣留攻擊( 隱瞞新數據) 時,卻允許用戶把資產安全撤離至L1。所以Dankrad 的說辭不無道理。
本文打算從Dankrad 的視角出發,通過對Layer 2 的細節作進一步分析,來深入理解為何Validium 不是嚴格意義上的「Layer 2 」。
到底怎麼定義Layer 2 ?
按照ethereum.org 網站和多數以太坊社區成員的定義,Layer 2 是「給以太坊擴容+ 繼承以太坊安全性的獨立區塊鏈」。首先,「給以太坊擴容」就是指分流以太坊無法承載的流量,分擔TPS 方面的壓力。而「繼承以太坊安全性」,其實可以轉譯為「借助以太坊保障自身安全性」。
比如,Layer 2 上所有的交易Tx 都要在ETH 上完成最終結算Finalize,數據有錯誤的Tx 不會被放行;如果要回滾Layer 2 的區塊,要先回滾以太坊區塊,只要以太坊主網不發生類似51% 攻擊的區塊回滾,L2 區塊就不會回滾。
如果我們更進一步探討Layer 2 的安全性,其實還要考慮許多極端情況。比如,如果L2 項目方跑路、定序器Sequencer 故障、鏈下DA 層掛掉,在這些極端事件發生時,用戶能否把自己在L2 上的資金安全撤出到L1 上?
Layer 2 的「強制提款」機制
不考慮L2 合約升級/ 多簽隱患等因素,其實如Arbitrum 或StarkEx 都有為用戶設置強制提款的出口。假設L2 的定序器發動審查攻擊,故意拒絕用戶的交易/ 提款請求,或乾脆永久宕機,Arbitrum 用戶可以調用L1 上Sequencer Inbox 合約的force Inclusion 函數,將交易數據直接提交至L1;如果在24 小時內,定序器沒有處理這筆需要「強制包含」的交易/ 提款,該交易會被直接包含進Rollup 賬本的交易序列中,這就為L2 用戶創造了一個可強制提款的「安全出口」。
相比之下,有逃生艙Escape Hetch 機制的StarkEx 方案要有過之無不及。如果L2 用戶在L1 提交的Forced Withdrawal 請求在7 天窗口期結束時,未得到定序器響應,則該用戶可以調用freeze Request 功能讓L2 進入凍結期。此時,L2 定序器將無法在L1 上更新L2 的狀態,L2 狀態凍結後要過1 年才能解凍。
L2 狀態凍結後,用戶可以構造與當前狀態相關的Merkle Proof,證明自己在L2 上有XX 數額的資金,通過L1 上的逃生艙Escape Hetch 相關合約來提款。這便是StarkEx 方案所提供的「全額提款」服務。即便L2 項目方沒了,定序器永久故障了,用戶還是有辦法把資金撤出L2。
但這裡存在一個問題:用StarkEx 方案的L2 大多是Validium(比如Immutable X 和ApeX),並不會把DA 所需的數據發佈到ETH,構造當前L2 狀態樹的信息都存在鏈下。如果用戶無法在鏈下獲取構造Merkle Proof 的數據(比如鍊下DA 層發動數據扣留攻擊),是無法通過逃生艙來提款的。
至此,文章開頭提到的Dankrad 認為Validium 不安全的原因,其實很明確了:因為Validium 不像Rollup 一樣把DA 的數據發到鏈上,所以用戶可能無法構造出「強制提款」所需的Merkle Proof。
Validium 和Plasma 在發生數據扣留攻擊時的區別
事實上,Validium 的定序器只在L1 鏈上發布L2 最新的Stateroot(狀態樹的根),再提交一個Validity Proof(ZK Proof),證明新的Stateroot 生成過程涉及的狀態轉換(用戶資金變化) ,都是正確的。
(圖源:eckoDAO)
但單憑stateroot 無法還原出此刻的狀態樹world state trie,也就無法知曉每個L2 賬戶的具體狀態(包含資金餘額),L2 用戶就無法構造對應當前合法Stateroot 的Merkle Proof。這便是Validium 不利的地方。
(Merkle Proof 其實就是root 生成過程中所需的數據,也就是圖中暗色的部分。要構造對應Stateroot 的Merkle Proof,必須要知道狀態樹的構造,需要有DA 數據)
這裡必須要強調下DAC 這個東西。 Validium 的DA 所涉數據,比如定序器最新處理的一批交易,會同步給名為數據可用性委員會DAC(Data Availability Committee)的L2 專屬DA 網絡,DAC 由多台節點服務器構成,一般由L2 官方和社區成員或其他單位負責運行和監督(但這只是表面上的,實際上DAC 成員都有誰,外界很難查證)。
有意思的地方在於,Validium 的DAC 成員需要頻繁在L1 提交多簽,證明L2 定序器在L1 提交的新Stateroot 和Validity Proof,與DAC 同步到的DA 數據能對上號。 DAC 的多簽提交後,新的Stateroot 和Validity Proof 才會被認為是合法的。
目前Immutable X 的DAC 採用5/7 多簽,dYdX 雖然是ZKRollup,但也有DAC,用的是1/2 多簽。 (dYdX 只在L1 發布State diff 即狀態變化,而非完整交易數據。但獲取了歷史記錄裡的State diff,就可以還原全部L2 地址的資產餘額,此時就可以構造Merkle Proof 來全額提款)。
Dankrad 的觀點不無道理。 Validium 的DAC 成員如果合謀,發起數據扣留攻擊,不讓其他L2 節點同步此刻的最新數據,並且更新此刻L2 的合法Stateroot,用戶無法構造此刻合法root 對應的Merkle Proof 來提款(因為此刻往後的DA 數據不可用了,可用的是以前的DA 數據)。
但Dankrad 考慮的只是理論上的極端情況,現實中大多數Validium 定序器都會實時的把新處理的交易數據廣播給其他L2 節點,其中不乏誠實節點。只要有1 個誠實節點能夠及時獲取DA 數據,用戶就可以從L2 全身而退。
可理論上存在於Validium 身上的問題,為何不存在於Plasma 身上?這是因為Plasma 判定合法Stateroot 的方式,和Validium 不同,有欺詐證明窗口期的緣故。 Plasma 是OPRollup 之前的L2 擴容方案,與OPR 一樣靠欺詐證明保證L2 的安全。
Plasma 與OPR 一樣有窗口期的設定,定序器發布的新stateroot 不會立刻判定為合法,要等窗口期close 且沒有L2 節點發布欺詐證明。所以Plasma 和OPR 的當前合法Stateroot,都是幾天以前提交的(這就好比我們看到的星光,其實都是很久以前發出的),而用戶往往可以獲取過去時刻的DA 數據。
同時,欺詐證明機制能在此刻生效的前提,是此刻L2 的DA 可用,也即Plasma 的Verifier 節點可以獲取此刻的DA 所涉數據,這樣才能生成此刻的欺詐證明( 如果有必要的話)。
那麼一切都很簡單了:Plasma 正常工作的前提是此刻L2 的DA 數據可用。如果從此刻開始,L2 的DA 不可用了,用戶能安全撤資嗎?
這個問題不難分析,假設Plasma 的窗口期是7 天,如果從某個時間點T 0 開始,新的DA 數據就不可用(DAC 發動數據扣留攻擊,不讓誠實的L2 節點獲取T 0 往後的數據)。因為T 0 及此後一段時間內的合法Stateroot,是T 0 時刻前提交的,而T 0 時刻前的歷史數據可追溯,所以用戶可以構造Merkle Proof 來強制提款。
即便很多人無法立刻察覺異常,但因為有窗口期存在(OP 是7 天),只要T 0 時刻提交的Stateroot 還未合法化,且T 0 之前的DA 數據可追溯,用戶就可以把錢安全撤出L2。
總結
至此我們大致可以理清楚Validium 和Plasma 在安全性上的區別:
Validium 的定序器發布Stateroot 後,只要立刻發布Validity Proof 和DAC 多簽,就可以使其合法,成為最新的合法Stateroot;如果用戶和誠實L2 節點遭遇數據扣留攻擊,無法構造當前合法Stateroot 對應的Merkle Proof,就無法提款到L1。
而Plasma 提交新的Stateroot 後,要等窗口期結束才能合法,此時的合法Stateroot 是過去提交的。因為有窗口期(ARB 是3 天,OP 是7 天)存在,即便新提交的Stateroot 的DA 數據不可用,用戶也有當前合法Stateroot 的DA 數據(合法root 是過去提交的),有足夠的時間強制提款到L1。
所以,Dankrad 說的話有道理。當發生數據扣留攻擊時,Validium 存在把用戶資產困在L2 的可能,但Plasma 並不存在這個問題。
(下圖中Dankrad 說的有一點不對,Plasma 應該不允許構造過時的合法Stateroot 對應的默克爾證明來提款,因為這會導致雙重支付)
所以,鏈下DA 層的數據扣留攻擊會造成許多安全隱患,但Celestia 嘗試解決的正是這個問題。此外,因為大多數Layer 2 項目都會提供讓L2 節點與定序器保持鏈下同步的服務端口,所以Dankrad 的憂慮其實往往只是理論上的,而不是現實中的。
如果我們用雞蛋裡挑骨頭的態度,再提出更極端的假設:所有的Plasma 鏈下節點都不可用了,那麼那些沒跑過L2 節點的普通用戶都無法強制提款到L1。但這種事情發生的概率,等價於一條公鏈的所有節點集體永久性宕機的概率,可能永遠不會發生。
所以,很多時候,大家只是在談論一些根本就不會發生的事情。正如美劇《切爾諾貝利》里克格勃副主席對主角說的那段金句:「為何要擔心根本就不會發生的事情呢?」