買以太坊 買以太坊
Ctrl+D 買以太坊
ads

SBF:【密碼學探秘】EVM鏈和并行執行交易_TRANSPARENT價格

Author:

Time:1900/1/1 0:00:00

概述

在web3.0世界中,交易的處理性能一直是公鏈面臨的一大技術挑戰,如何在不降低安全性和去中心化程度的前提下顯著地提升區塊鏈交易的TPS無疑成為眾多公鏈技術專家追逐的目標。以Solana、Aptos為代表的新一代公鏈的出現更是吹響了通過并行執行交易來攻克公鏈可擴展性瓶頸的號角。

以太坊虛擬機因其最早在區塊鏈中引入智能合約,不僅擁有最多的DApp開發者,更有眾多新生公鏈直接將EVM采用作為其智能合約交易執行引擎,其在web3.0中的受歡迎程度可見一斑,然而受限于順序執行,EVM無疑在擴展性方面廣受詬病。

是否也可以既做到對EVM的兼容,又可以通過并行執行交易來達到提升性能的目的呢?今天我們就來對這個話題做一些探討。

EVM交易執行機制

眾所周知,EVM中交易的執行實際上是狀態的轉換,交易執行前的狀態σt和交易transaction作為EVM的輸入,輸出為交易執行后的狀態σt+1:

PartyDAO推出“Multiplayer for Ethereum”,支持免多簽錢包執行以太坊鏈上團體行動:金色財經報道,NFT競標平臺PartyBid運營團隊PartyDAO在官推宣布推出“Multiplayer for Ethereum”,允許任何規模的團體一起使用以太坊平臺,包括DeFi活動、收集NFT、參與游戲等。PartyDAO稱“Multiplayer for Ethereum”提供了更加用戶友好和高效的解決方案,支持創建群組成員可以在區塊鏈上共同決策、共同行動,無需復雜設置和維護統多重簽名錢包或DAO。此前消息,PartyDAO于去年六月完成1640萬美元融資,a16z領投,Dragonfly Capital、Uniswap Ventures等參投。[2023/6/23 21:55:59]

SBF要求法院將保釋條款協商期限延長至3月3日:金色財經報道,SBF的律師周五提交了一封信,要求聯邦法官將協商保釋條款的最后期限延長至3月3日。SBF還要求有更多的時間來尋找一名技術專家來為法院提供建議。檢察官敦促法官Lewis Kaplan收緊SBF的保釋條件,并嚴重限制他的互聯網接入,此前他使用加密應用程序給一名前雇員發消息,并使用VPN觀看超級碗。Kaplan要求SBF聘請一名技術專家討論他使用VPN的情況。SBF已經同意支付聘請專家的費用,他的律師表示,仍在尋找合適人選。法官還要求檢察官和SBF的律師向法院提出新的保釋令。據此前消息,本周SBF又受到四項新的刑事指控,包括銀行欺詐。[2023/2/25 12:28:24]

要說明的是,每個交易執行前的狀態σt和執行后的狀態σt+1都是‘世界狀態’,也就是整個賬本所有賬戶的實時狀態,這種賬戶模型在一定程度上方便了實際應用的開發,但由于每筆交易的執行都需要依賴一個確定的‘世界狀態’,這也給可擴展性帶來諸多限制。正是因為這一點,EVM-based鏈鮮有通過并行執行交易提升TPS的案例。

Matter Labs將在明年Q1推出Layer 3測試網Pathfinder:10月10日消息,zkSync開發公司Matter Labs將在2023年Q1推出以太坊擴展原型Pathfinder的公共測試網。這是第一個基于以太坊的Layer 3網絡,可以顯著提高可擴展性。(The Block)[2022/10/10 10:29:50]

并行執行的挑戰

基于這種賬戶模型,想要通過并行執行重復利用節點的硬件資源提高網絡吞吐量是很困難的。

舉個簡單的例子:A轉賬給B的交易tx1和C轉賬給D的交易tx2在理論上是可以并行執行的,因為兩個交易沒有任何關聯,但如果將tx2調整為B轉賬給C情況會是怎么樣呢?假如最初B的余額是0,tx1中A轉給B5個Token,tx2中B轉給C3個Token,我們會發現,tx1沒有執行前tx2注定會失敗,因為B此時的狀態是余額不足。這種情況在鏈上被稱為’狀態沖突‘(Stateconflicts)。

CoinShares:上上周數字資產投資產品凈流入數據修正為3.43億美元:7月26日消息,據CoinShares報告顯示,上上周數字資產投資產品凈流入經修正后達3.43億美元,創下2021年11月以來單周資金流入量新高,其中比特幣和以太坊投資產品分別凈流入2.06億美元及1.2億美元,并分別創下了2022年5月以及2021年6月以來的單周最高資金流入量。

上周數字資產投資產品凈流入2960萬美元,其中比特幣投資產品凈流入1900萬美元,以太坊投資產品凈流入810萬美元,做空比特幣的投資產品凈流入60萬美元。[2022/7/26 2:38:44]

當然,對于只做轉賬的交易,是可以通過靜態分析來確定交易彼此的依賴關系的,事實上,DApp開發者們經常通過復雜的智能合約邏輯在EVM虛擬機中實現某些特殊的業務需求,在一個智能合約交易中,EVM會根據合約的Code邏輯執行用戶千奇百怪的操作,這就不能通過簡單的對交易內容分析來確定交易間的依賴關系了。

Liquid Vault推出加密資產繼承功能,支持生成和執行自動化的遺囑:6月1日消息,以色列區塊鏈技術開發商 Kirobo 在其加密錢包 Liquid Vault 上推出加密資產繼承功能,允許用戶指定加密錢包來繼承。該功能支持生成和執行自動化的遺囑,而無需律師、政府機構或任何其他中心化實體,用戶只需選擇最多 8 個受益人,并選擇將資產分配到指定錢包的日期。(Cointelegraph)[2022/6/1 3:56:20]

可嘗試的改進

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核心數可以做到高交易處理性能,增加磁盤容量可以存儲更多數據,這將不斷提升節點的運行維護成本,最終導致的結果必然是只有少數人或團體有能力支付這些成本,不利于去中心化。

Tags:以太坊SBFPARPLA以太坊幣怎么挖礦網站下載sbf幣圈TRANSPARENT價格MPLAI

加密貨幣
ERK:針對以太坊實現的一種Sparse Merkle Tree_ETR

MerkleTree是一種二叉樹,其最底層葉子節點存儲數據以及數據的哈希,而每上一層節點則存儲兩個子節點的哈希,最后由根節點的哈希保證這個MerkleTree的任何節點數據的完整性.

1900/1/1 0:00:00
WEB3:為什么高校00后選擇涌入Web3?_區塊鏈通俗易懂的說法

00后正在以驚人的速度在Web3世界中成長。隨著數字經濟的蓬勃興起,千禧一代的00后自出生起就生活在一個數字化的世界,娛樂、學習、社交......他們的生活與數字化世界互嵌為一體.

1900/1/1 0:00:00
ETH:IOSG:智能合約安全分析工具商業化的機會來了么?_togetherbnb完整攻略圖文

在9月底Paradigm官宣完成了區塊鏈安全項目Blowfish的領投又一次引起了大家對智能合約安全分析領域的廣泛關注.

1900/1/1 0:00:00
NAN:鏈上數據分析工具盤點_去中心化金融defi是干什么的

在我們剛剛經歷的FTX暴雷事件中,有很多分析師、研究員們通過分析FTX、alameda的鏈上資產以及他們和其他主體之間的資金往來,試圖對這次事件的全貌獲得更好的理解.

1900/1/1 0:00:00
BTC:回顧比特幣_ETH

這篇文章是回顧和了解比特幣開發的現狀闡述。比特幣,加密貨幣的祖父,今年淹沒在行業的喧囂中。隨著慶祝以太坊合并,被Luna震驚,被3AC清算所羞辱,并且最近,對新的L1Aptos和ElonMusk.

1900/1/1 0:00:00
CUR:開發者如何自我保護:Web 3隱私解決方案綜述_fantom幣轉到BSC幣什么轉教程

沒有開發者愿意因幾行代碼而遭受牢獄之災,但這卻發生在AlexeyPertsev身上。作為TornadoCash的重要貢獻者,AlexeyPertsev被美國政府懷疑通過以太坊DappTornad.

1900/1/1 0:00:00
ads