Solana可成以太坊新L2?一文探討模組化敘事下的Rollup新範式
原文作者:Haotian(X:@tmel0211)
市場出現了「平行EVM」的新敘事,於layer 2 就非常有趣了,可實現一種「精細化」Rollup 新範式,誇張點可達成Solana 成為以太坊新layer 2 的魔改效果。
在我看來,平行EVM 只是Rollup 高度「模塊化」的顯學,是DA 被第三方侵襲之後,VM 執行層的再度淪陷,未來layer 2 會重新定義。Why?接下來,以科普視角分析下:
理解這個主題,得先釐清「EVM」的單執行緒執行模型。
該模型規定了交易必須按順序一個接一個地被處理和確認,這直接影響了交易處理速度、出塊時間、以及交易吞吐量等,是以太坊主網Gas 高且擁堵的主要原因。而且,之所以設計成單線程,有一定歷史限制存在。
由於以太坊上的交易由分佈的獨立節點驗證和執行完成,且要確保所有地址的數據,例如餘額、智能合約代碼等保持不同節點間的狀態一致,同時也得保證不會有同一資產雙重支付的可能性出現。
這就使得交易得依序排隊處理。如果出現並行交易,就可能導致節點之間的資料同步出錯,關鍵在於還會出現嚴重的雙花交易。
通俗解釋:銀行只有一個服務窗口,客戶取款要按順序排隊,無論是存款取款以及貸款等業務,一個客戶完成業務後才能開始下一個,優點是,銀行的賬戶系統的每項操作都會精準記錄,但客戶排隊時間會比較長;
若銀行開放多個服務窗口,客戶可選擇窗口辦理不同業務,就會出現有兩個窗口同時嘗試從一個帳戶中扣款,若窗口間帳戶系統對帳不及時就會導致雙花,顯然這樣做明顯提升了效率,但複雜的記帳邏輯會對帳務系統帶來壓力。
在layer 1 獨立鏈場景下,如果鏈底層支援並行處理問題就迎刃而解了,Solana 由於計算和儲存狀態分離,因此其VM 在收到用戶的多筆交易後,節點會對這些交易進行排序,然後調用獨立的儲存系統狀態資料檢測這些交易是否存在狀態衝突,若無衝突就將交易打包到一個區塊中,若衝突將衝突的交易排除到本次區塊外。
相比之下,以太坊的儲存狀態是即時計算出來的,每個交易必須等待前一筆交易完成才能更新狀態,故而就無法做到在等待打包前的交易篩選工作,限制了其並行處理的可能性。
在layer 2 Rollup 鏈場景下,要實現並行處理,遠離也類似。你可以把Solana 在等待POH 時間戳的交易計算和儲存狀態檢測視為Rollup 鏈在Sequener 處理交易然後向主網Batch 的過程。
現在layer 2 在Batch 交易前Sequener 會先按時間順序給交易排nonce,然後按順序Batch 到主網,如何才能做到多線程呢?
1)可基於AA 賬戶抽像模型,從賬戶狀態實現了可以同時發起多筆交易,例如,若同時執行兩筆Transfer,AA 智慧合約會賦予其nonce,需要按順序執行,若一筆是Transfer,一筆是Approve 則可以不受nonce 限制更靈活的並行處理。在AA 賬戶模型中,每個賬戶可以自訂交易處理邏輯,進而配合nonce 實現高並發。
2)可對Sequencer 中的交易進行「精細化」的加工處理,例如當layer 2 的交易被提交到Sequencer 中,Sequencer 可以快速的檢測這些交易邏輯,並進行精細化排序和篩選工作,比如若同一賬戶發起了兩筆Transfer,就要把後一筆排除在外,等待下一次Batch,若同一帳戶發起兩筆性質不同的操作,就可以同時Batch 到一個區塊中。
聽起來很簡單?但事實情況絕非如此,僅以DeFi 場景為例,Sequencer 要實現交易的精細化管理,有兩大挑戰:
1)要即時解析交易數據,了解傳入資料的智慧合約呼叫方法及參數,以DeFi 常見的Staking 為例,一次Staking 作業,涉及代幣轉移、狀態更新、質押期限、以及潛在獎勵計算等。若同時有大量用戶傳入一些質押交易,若其中還參雜質押後再Transfer 的交易,再加上複雜的Oralce 價格因素等等,若Sequener 無法解析處理到位,一步出現錯誤都可能導致嚴重事故。
2)Sequencer 得確保去中心化,當前layer 2 Sequener 只是Batch 交易的前提下,權利都已經過大了,若Sequencer 去中心化問題解決不了,再來做「精細化」Rollup,等於又賦予Sequencer 更多的權限。若Sequencer 在中作惡塞假交易,明目張膽搞MEV 夾子,甚至惡意操控Oracle 清算等等都會滋生。
最近,Metis 受追捧,表面上看只是Sequencer 實現了去中心化,深層看則是為未來Sequencer 做精細化Rollup 構建了基本的共識前提。
當然,靠著Sequencer 做到高度精細的Rollup 交易匯聚與處理,目前還只是一種設想,還好,AA 賬戶抽象,區塊鏈整體的模塊化組合開放想法為這一設想落實提供了先決條件。
以上。
況且如前文所言,現在layer 2 整體日趨模塊化,在OP Stack 的框架上嵌入ZK 技術來實現隱私擴展;把原先的以太坊DA 轉化成Celestia 這類第三方DA 來降低成本;逐漸把ETH作為Gas 費的傳統也改變掉了,給予layer 2 代幣更大的實用性賦能;甚至,layer 2 完全也可以Batch 好交易後提交給不同的VM 執行環境,交易分到Solana 和以太坊上處理等等。
到時候,一個全新的範式出現了,現在的layer 2 不再單單是以太坊的layer 2 ,Solana 也可以做以太坊的layer 2 ,甚至layer 2 的定義也會被魔改。
大膽設想,現在layer 2 變成了一個集成高並發交易處理能力的入口級“layer 1 ”,而以太坊、Solana 這些曾經的layer 1 變成一個做資產結算和安全性保障的新“layer 2 ” 。
layer 2 從來都不是一個死板的概念,layer 2 平台們要解決交易大規模並發處理,吸引增量用戶市場群體的使命一直存在。
若使命達成,在模組化思想下,不僅以太坊layer 1 的正統性會被打破,整個全鏈的DA 數據可用性、VM 執行層甚至interoperability 通信交互都會成為layer 2 們實現Mass Adoption 的infra。
屆時,layer 2 不再只是layer 1 的補充,而成為一個強大的綜合交易匯聚和分發處理平台,試問,誰是誰的layer 2 ?


