概述
在web3.0世界中,交易的處理性能一直是公鏈面臨的一大技術挑戰,如何在不降低安全性和去中心化程度的前提下顯著地提升區塊鏈交易的TPS無疑成為眾多公鏈技術專家追逐的目標。以Solana、Aptos為代表的新一代公鏈的出現更是吹響了通過并行執行交易來攻克公鏈可擴展性瓶頸的號角。
以太坊虛擬機因其最早在區塊鏈中引入智能合約,不僅擁有最多的DApp開發者,更有眾多新生公鏈直接將EVM采用作為其智能合約交易執行引擎,其在web3.0中的受歡迎程度可見一斑,然而受限于順序執行,EVM無疑在擴展性方面廣受詬病。
是否也可以既做到對EVM的兼容,又可以通過并行執行交易來達到提升性能的目的呢?今天我們就來對這個話題做一些探討。
EVM交易執行機制
眾所周知,EVM中交易的執行實際上是狀態的轉換,交易執行前的狀態σt和交易transaction作為EVM的輸入,輸出為交易執行后的狀態σt+1:
NEAR基金會推出Web3加速器NEAR Horizon:金色財經報道,NEAR基金會宣布推出Web3加速器NEAR Horizon,通過與Dragonfly、Pantera、FabricVentures、Hashed和其他公司的合作,NEAR Horizon將幫助創始團隊能夠在廣泛支持下擴展項目,NEAR基金會表示接下來的幾個月內將啟動項目和創始人招募。[2023/4/27 14:29:51]
要說明的是,每個交易執行前的狀態σt和執行后的狀態σt+1都是‘世界狀態’,也就是整個賬本所有賬戶的實時狀態,這種賬戶模型在一定程度上方便了實際應用的開發,但由于每筆交易的執行都需要依賴一個確定的‘世界狀態’,這也給可擴展性帶來諸多限制。正是因為這一點,EVM-based鏈鮮有通過并行執行交易提升TPS的案例。
Euler Finance公布用戶贖回方案:4月6日消息,DeFi 借貸協議Euler Finance公布用戶贖回方案,其中追回的資金共計 95,556.36059211764 枚 ETH 和 43,063,729.35 枚 DAI,未回收的資金包括攻擊者發送給 Tornado Cash 的共計 1100 枚 ETH 和發送到 Ronin 攻擊者地址的 100 枚 ETH,另外 100 枚 ETH 被攻擊者直接返還給用戶,用戶又將12枚ETH返還給Euler DAO金庫。DAO金庫地址還持有來自Sherlock協議的 3,396,964 枚 USDC 和 1,007,321 枚 DAI。
對于每個子賬戶,Euler Finance計劃在協議被禁用的區塊高度償還所有負債,此時智能合約中定義的鏈上預言機價格(Uniswap 或 Chainlink,取決于市場)用于確定資產和負債的 ETH 價值,并且賬戶的每個資產(包括非抵押資產)按比例用于償還負債。所有賬戶資產凈值將被相加以獲得總資產凈值,每個賬戶將能夠根據其在總資產凈值中的比例領取追回的 ETH、DAI 和 USDC。如果追回金額的價值超過總資產凈值,則超出部分將按比例分配給用戶。[2023/4/6 13:47:10]
并行執行的挑戰
Ledger在歐洲推出加密借記卡:11月24日消息,Ledger在英國和歐洲推出Crypto Life(CL)加密借記卡,CL卡由金融科技公司Baanx開發。用戶使用CL卡消費可獲得以加密貨幣形式返現的獎勵。該卡由陶宛銀行服務提供商Contis Financial負責保管資金。(blockworks)[2022/11/24 8:05:03]
基于這種賬戶模型,想要通過并行執行重復利用節點的硬件資源提高網絡吞吐量是很困難的。
舉個簡單的例子:A轉賬給B的交易tx1和C轉賬給D的交易tx2在理論上是可以并行執行的,因為兩個交易沒有任何關聯,但如果將tx2調整為B轉賬給C情況會是怎么樣呢?假如最初B的余額是0,tx1中A轉給B5個Token,tx2中B轉給C3個Token,我們會發現,tx1沒有執行前tx2注定會失敗,因為B此時的狀態是余額不足。這種情況在鏈上被稱為’狀態沖突‘(Stateconflicts)。
歐洲加密風投LeadBlock Partners第二支基金完成1.5億美元募資:金色財經報道,歐洲加密風險投資公司 LeadBlock Partners 完成第二支新基金籌資,該基金的目標籌資額為 1.5 億美元。新基金將投資于 Token 和股票,GSR、Portofino Technologies 和 Woorton 等,以及 Wintermute 聯合創始人 Yoann Turpin 和 SwissBorg 創始人 Cyrus Fazel 投資了該基金。
LeadBlock Partners 由前高盛員工 David Chreng-Messembourg 和 Baptiste Cota 在兩年前創立,首支基金支持過 Yuga Labs、Bitpanda 和 BlockFi 等。[2022/11/8 12:33:58]
當然,對于只做轉賬的交易,是可以通過靜態分析來確定交易彼此的依賴關系的,事實上,DApp開發者們經常通過復雜的智能合約邏輯在EVM虛擬機中實現某些特殊的業務需求,在一個智能合約交易中,EVM會根據合約的Code邏輯執行用戶千奇百怪的操作,這就不能通過簡單的對交易內容分析來確定交易間的依賴關系了。
OpenSea:以太坊合并后將僅支持以太坊 PoS 鏈:9月1日消息,NFT 交易市場 OpenSea 在 Twitter 上表示,以太坊合并后將僅支持以太坊 PoS 鏈,不會支持潛在的分叉鏈。此外,OpenSea 目前正在為產品的順利過渡做準備。[2022/9/1 13:01:35]
可嘗試的改進
Solidity被稱為圖靈完備的智能合約語言,通過對交易指令集的靜態分析來確定交易依賴關系的可行性基本是不存在的,但這并不意味著我們只能按順序執行,我們可以從近期一些優秀的區塊鏈項目中得到更多啟發。
樂觀執行是一種可嘗試的方案
既然不能事先分析交易的關聯關系,那我們是否可以先樂觀的將交易全部獨立執行,然后再事后分析呢?
Aptos項目的PE(parallelexecution)方案便是這種思路的代表,根據項目方公布的數據,在低關聯交易集合的場景,交易的執行效率最高可以是串行執行的16倍之多。
EVM中雖然沒有類似Block-STM的機制,但我們完全可以通過對區塊中交易的執行邏輯稍加優化就可以做到既和EVM保持兼容,又能支持將明顯無關的交易分成不同批次進行支持,即:
可以先根據交易發送方和接受方賬戶地址將交易依賴關系構建成可逐批執行的交易集合,樂觀的在不同的線程中獨立執行,等所有交易都被執行完以后,再將執行過程中使用的讀集和寫集做對比分析,檢查交易序號靠后的交易的讀集是否與交易序號靠前的所有交易寫集有交集,如果沒有,說明執行結果是正確的,否則意味著該交易需要依賴之前交易的最新狀態,需要根據前面交易的結果重新執行。
由用戶指定交易的讀寫集
普通的轉賬交易可以簡單的通過from和to確定交易彼此的依賴關系,而智能合約交易雖然在EVM執行它之前不能確定其對哪些賬戶有依賴,但發送交易的用戶多數情況下是可以確定交易的讀寫集的,而Sui項目正是將交易的依賴和結果完全交由用戶來指定并最終簽名確定,這將極大的簡化了分析交易關聯性的邏輯。
然而EVM現在并沒有這種機制,雖然Vitalik和Holiman提交的關于指定交易訪問lists的提案(EIPs/eip-2930.mdatmaster·ethereum/EIPs·GitHub)已經在以太坊上通過并實施,但該提案并沒有強制要求用戶必須指定所有的accesslists,如果要在EVM中實現用戶指定讀寫集,需要在以太坊提交新的EIP提案,除此之外,用戶確定讀寫集還需要SDK的支持。
通過DAG構建交易的依賴關系
對于單純的轉賬交易或是上面提到的由用戶指定了讀集的交易,是完全可以事先確定交易的依賴關系的,有向無環圖可以有效的解析這種依賴關系。
關于如何使用DAG分批并行執行交易的內容可以參見我們之前的技術文章。
一些要思考的問題
EVM架構適合并行執行嗎?
雖然并行執行可以做到有效利用硬件資源,提升鏈處理交易的能力,但正如我們在開頭提到的這絕不能以犧牲安全性和去中心化程度為代價,IlyaSergey就曾經在EVM技術架構基礎上對并行執行做過深入的研究,根據其研究的結論,對于非垃圾回收類語言,對象在內存中的重復聲明和使用過程必然會違反狀態完整性,這給形式化驗證智能合約帶來巨大的挑戰。這或許是EVM設計者在最初的設計中沒有考慮到的問題。
公鏈適合處理海量的交易嗎?
公鏈是公眾基礎設施,其用戶可以是任何人或團體,不可否認的是它處理能力越強越好,然而這并不意味著任何交易都需要上鏈,雖然gas機制可以減少垃圾數據上鏈的可能性,但隨著節點處理交易能力的提升,礦工為了增加收入必然會打包盡可能多的交易,這將必然使gas價格越來越低,鏈上將不可避免的充斥著大量垃圾數據,這將使賬本數據越來越膨脹,到難以維護的程度。
過度依賴硬件資源將使網絡去中心化程度降低
通過提升CPU核心數可以做到高交易處理性能,增加磁盤容量可以存儲更多數據,這將不斷提升節點的運行維護成本,最終導致的結果必然是只有少數人或團體有能力支付這些成本,不利于去中心化。
在今年年中,Optimism和Aribitrum等OPR陸續開啟多輪奧德賽活動;年末,Scroll、zkSync、Starknet、Hermez等ZKR都將表示將在年底和明年上半年陸續開啟測試網.
1900/1/1 0:00:00當涉及到通過rollups擴展以太坊時,零知識rollups,特別是兼容EVM的ZK-rollups的出現,通常被認為是圣杯.
1900/1/1 0:00:00MarsBitCryptoDaily2022年11月16日 一、今日要聞 Vitalik:比起硬件錢包,我更傾向于社交恢復和多簽錢包加密KOL發文:“加密Youtuber總是說.
1900/1/1 0:00:00內容概要 01.NFT價格的跌幅超過了原生代幣和許多DeFi項目的價格。關鍵的驅動因素是價值集中在少數收藏品中,而原生代幣失去價值之后加劇了這種情況.
1900/1/1 0:00:00葡萄牙 作為加密貨幣的前避稅天堂,最近宣布對加密貨幣收益開始征收28%的短期稅。如今避稅天堂葡萄牙已不復存在,那么你在為尋找新的加密貨幣避稅天堂而煩惱嗎?**長期以來,葡萄牙一直是國際加密金融投.
1900/1/1 0:00:00短短一周之內,曾為全球第二大交易所的?FTX??轟然崩塌。而更大的drama接踵而至,資產本已不多的FTX居然離奇遭遇黑客入侵,被盜數億美元.
1900/1/1 0:00:00