原文標題:《TheCaseforParallelProcessingChains》
原文作者:MohamedFouda
原文編譯:深潮TechFlow
當我們重新審視區塊鏈技術的演變時,可以看到一個強勁的趨勢正在顯現,即新的L1注重并行執行。
這并不是什么新鮮技術,目前Solana就在Sealevel的執行環境中使用。
然而,在過去的牛市中,DeFi和NFT令人印象深刻的表現也讓人們意識到,技術迫切需要改進。
在下輪市場中,一些采用并行執行理念的著名項目即將出現,這些項目的名單是Aptos、Sui、Linera和Fuel。
本文將會討論這些項目的異同,以及它們所面臨的挑戰。
問題
智能合約平臺可以創建廣泛的去中心化應用程序。為了執行這些應用,需要一個共享的計算引擎。網絡中的每個節點都運行這個計算引擎,以及執行應用程序和用戶與應用程序的互動。當節點從執行中得到相同的結果時,他們就會達成共識,并推動鏈的運轉。
以太坊虛擬機是最主要的智能合約執行引擎,有大約20種不同的實現方式。
自EVM發明以來,它已經建立了開發人員采用的臨界質量。
除了以太坊和以太坊的L2,其他幾個鏈包括Polygon、BNB智能鏈和AvalancheC鏈都采用EVM作為執行引擎,并專注于改變共識機制以提高網絡吞吐量。
EVM的一個主要限制性特征是交易的順序執行。EVM基本上是一次執行一個交易,將所有其他交易擱置,直到交易執行完畢,區塊鏈狀態被更新。即使兩個交易是獨立的,例如,從Alice到Bob的付款和從Carol到Dave的另一個付款,EVM不能并行執行這些交易。雖然這種執行模式允許有趣的用例,如閃電借貸,但它既沒有效率,也沒有可擴展性。
這種順序執行交易是網絡吞吐量的主要瓶頸之一:
一休眠13年的比特幣地址昨日晚間轉移50枚BTC:6月16日消息,鏈上數據顯示,一休眠13年的比特幣地址(13CFnF開頭)于北京時間6月15日19:37將50枚BTC(約合127萬美元)轉移至另一個地址。該地址曾于2010年收到這50枚BTC,目前該地址的比特幣余額已清零。[2023/6/16 21:41:22]
首先,它導致區塊中的交易執行時間更長,限制了區塊時間;
此外,它限制了可以添加到區塊中的交易數量,以使節點能夠執行交易并確認區塊。
以太坊的平均吞吐量約為17tx/秒。這種低吞吐量意味著在高活動期間,例如NFTMint,網絡礦工/驗證者不能處理所有的交易,隨之而來的是費用競標戰,以確保優先執行,推動交易費用上升。以太坊的平均費用在某些時候超過了0.2個ETH,許多用戶都因此不敢使用以太坊。
順序執行的第二個問題是網絡節點的低效率。順序指令執行不能從多個處理器核心中獲益,這導致硬件利用率低,效率低下。這阻礙了可擴展性,并導致不必要的能源消耗。
并行執行能解決這個問題嗎?
EVM結構的限制為并行執行的L1新領域創造了條件。并行允許在多個處理器內核之間劃分交易處理,提高硬件利用率,從而實現更好的可擴展性。在高吞吐量鏈中,增加硬件資源與可執行的交易數量直接相關。
在高頻活動期間,驗證者節點可以委托更多的核心來處理額外的交易負載。計算資源的動態擴展允許網絡在高需求時期實現更高的吞吐量,從而顯著改善用戶體驗。
這種方法的另一個優點是改善了交易確認的延遲,節點資源的動態擴展使得確認所有可能的網絡負載的低延遲交易成為可能。
交易不需要等待幾十或幾百個區塊,也不需要為優先確認而產生過多的費用。改進后的確認時間提高了交易的終結性,為低延遲區塊鏈打開了大門。保證執行交易的低延遲使幾個以前不可能實現的用例成為可能。
Euler Finance被盜資金已全部歸還:金色財經報道,DeFi借貸協議Euler Finance發推特,已經協商談判成功,3月13日從協議中盜取的所有可收回資金現已被攻擊者成功歸還,因為攻擊者做了正確的事情并歸還了資金,基金會發起的100萬美元懸賞活動將不再接受新信息,詳細信息將于明天發布。[2023/4/4 13:43:27]
改變鏈式執行模式以允許PE并不是一個新的想法,一些項目已經對此進行了探索。一種方法是將EVM使用的會計模型從Accounts模型替換為UnspentTransactionOutput(UTXO)模型。UTXO執行模型在比特幣中使用,它允許并行處理交易,這使得它成為支付的理想選擇。
但由于UXTO的功能有限,需要進行擴展以實現智能合約所需的復雜互動。例如,Cardano為此目的使用了擴展的UTXO模型,而Findora使用了混合UTXO模型,它實現了兩種會計模型并允許用戶在兩種模型之間更改資產類型。
PE的另一種方法并不改變賬戶模型,而是專注于改善鏈狀態的架構和修改。例如Solana的Sealevel框架。
并行執行是如何工作的?
并行執行的工作方式是確定獨立的交易并同時執行它們。如果一個交易的執行會影響到另一個交易的執行,那么兩個交易就是相關聯的。例如,同一池中的AMM交易是相關聯的,必須按順序執行。
雖然并行處理的概念聽起來很簡單,但困難就在細節中,主要的挑戰是如何有效地識別"獨立"交易。獨立交易的分類需要了解每筆交易如何改變區塊鏈內存或鏈狀態,與同一智能合約互動的交易可以同時改變合約狀態,因此,不能同時執行。
以目前應用程序之間的可組合程度,識別是否相互關聯是一項具有挑戰性的任務。想象一下,一個將UNI換成USDC的AMM交易,AMM發現執行它的最有效路線是UNI->ETH->DAI->AAVE->USDC。所有參與該交易的池子不能處理任何其他交易,直到該交易完全執行,然后所有參與的池子的狀態才能被更新。
ConsenSys受委托在UniSwap部署至BSC的提案中投出700萬票贊同:2月8日消息,ConsenSys在UniSwap部署至BSC的提案中投出了700萬票贊同。ConsenSys全球業務開發負責人對此回應稱是被委托的,并表示希望可以積極參與DAO治理。[2023/2/8 11:55:10]
識別獨立交易
在本節中,對不同的并行執行引擎所使用的方法進行了比較。重點討論的是控制狀態訪問的方法。區塊鏈狀態可以被認為是一個RAM存儲器,每個鏈上的賬戶,或智能合約,都擁有一系列可以修改的內存位置。關聯交易是那些試圖改變同一區塊中相同內存位置的交易,不同的鏈利用不同的內存架構和不同的機制來識別這些交易。
這一類的幾條鏈都是建立在Facebook已消亡的區塊鏈項目Diem所開發的技術之上。Diem團隊創建了智能合約語言Move,專門改善SC的執行。Aptos、Sui和Linera是屬于這一組的三個高知名度的項目。除了這個小組,Fuel是另一個專注于PE的知名項目,使用自己的SC語言。
Aptos
Aptos建立在Diem的Move語言和MoveVM的基礎上,創建了一個高吞吐量的鏈,實現了并行執行。
Aptos的方法是檢測關聯關系,同時對用戶/開發者透明,也就是說,不要求交易明確聲明它們使用哪一部分狀態。
Aptos使用的是?SoftwareTransactionalMemory?的修改版,稱為Block-STM。
在Block-STM中,交易在塊內被預先排序,并在處理器線程之間進行劃分,以便被執行。
在過程中,交易的執行都是假定沒有關聯關系。被交易修改的內存位置被記錄下來,執行后,所有交易的結果都被驗證。在驗證過程中,如果一個交易被發現訪問了被前面的交易修改過的內存位置,這個交易就會被廢止。該交易的結果被刷新,然后重新執行。
數據:1462枚BTC從Gemini轉移到未知錢包:金色財經消息,據WhaleAlert數據顯示,1462枚BTC從Gemini轉移到未知錢包。[2022/8/25 12:47:04]
這個過程不斷重復,直到塊中的所有交易都被執行。
當使用多個處理器核心時,Block-STM會加快執行速度,加速的多少來自于交易的相互關聯程度。
Aptos團隊的結果表明,使用32個內核可以將高相互關聯性能提高8倍,將低相互關聯性能提高16倍。如果一個區塊中的所有交易都是相互依賴的,那么與順序執行相比,Block-STM會導致性能上的輕微損失。Aptos聲稱,這種方法可以實現160,000TPS的吞吐量。
Sui
另一種PE方法是要求交易明確聲明他們所修改的鏈狀態部分,這種方法目前被Solana和Sui使用。
Solana將內存單元稱為賬戶,而交易必須說明它修改了哪些賬戶。Sui也使用了類似的方法。
Sui也通過使用MoveVM建立在Diem的技術之上。然而,Sui使用不同版本的Move語言。
SuiMove的實現改變了Diem的核心存儲模型和資產權限,這代表了與使用核心DiemMove的Aptos的重大區別。
SuiMove定義了一個狀態存儲模型,允許更容易識別獨立交易。
在Sui中,狀態存儲被定義為Objects。Objects通常代表資產,并且可以共享,這意味著多個用戶可以修改該對象。每個Objects在Sui執行環境中都有一個唯一的ID,并有指向所有者地址的內部指針。通過使用這些概念,很容易通過檢查交易是否使用相同的Objects來識別關聯。
通過將聲明關聯關系的工作轉移給開發者,使執行引擎的實施變得更容易,這意味著理論上它可以有更好的性能和可擴展性。然而,這是以不太理想的開發者體驗為代價的。
Coinbase將上線XCN、METIS、MONA和AST:6月28日消息,據官方推特,Coinbase將上線Chain (XCN)、MetisDAO (METIS)、Monavale (MONA) 和AirSwap (AST) 。如果滿足流動性條件,交易將于太平洋時間6月28日9:00(北京時間6月29日0:00)或之后開始。
如果建立了足夠的該資產供應,XCN-USD、XCN-USDT、METIS-USD、METIS-USDT、MONA-USD、MONA-USDT、MEDIA-USD、MEDIA-USDT、AST-USD和AST-USDT交易對的交易將分階段開放。
注意:Coinbase僅在以太坊網絡(ERC-20代幣)和Solana網絡(SPL代幣)上支持以上資產,不要通過其他網絡發送此資產,否則資金可能會丟失。[2022/6/28 1:35:35]
Sui還沒有啟動,最近剛剛推出了測試網。
Sui的創始人聲稱,并行執行的實施以及使用Narwhal和Tusk共識機制導致吞吐量超過100,000tx/秒。這個吞吐量,如果是真的,那么它可能比Solana當前的約2400tx/秒的吞吐量有很大的提升,并且將超過Visa和Mastercard的吞吐量。
Linera
Linera是并行處理領域的最新成員,最近宣布了他們的第一輪融資,由a16z領投。關于項目實施的細節不多。然而,根據他們的融資公告帖子,我們知道它是基于同樣在Facebook開發的FastPay協議。
Fastpay是基于一種叫做ByzantineConsistentBroadcast的技術,這項技術專注于加速獨立的支付,例如發生在銷售點網絡中的支付。它允許一組驗證者確保付款的完整性,只要超過三分之二的驗證者是誠實的。快速支付是實時毛額結算系統的一個變種,用于銀行和金融機構之間的網絡。
在FastPay的基礎上,Linera正計劃建立一個區塊鏈,通過并行執行支付交易,專注于快速結算和低延遲。值得注意的是,Sui也使用ByzantineConsistentBroadcast的方式進行簡單的支付。對于其他交易,Sui自己的共識機制Narwhal和Tusk被用于高效處理DeFi交易等更復雜的和有關系性的交易。
Fuel
Fuel專注于成為模塊化區塊鏈中的執行層,這意味著Fuel不實施共識或將區塊鏈的數據存儲在Fuel鏈上。對于功能性區塊鏈,Fuel與其他鏈交互以達成共識和數據可用性,例如Ethereum或Celestia。
Fuel使用UTXO來創建嚴格的訪問列表,即用一個列表來控制對同一片狀態的訪問。這個模型建立在規范交易排序的概念之上。在這個方案中,區塊中的交易排序導致了檢測交易之間的關聯關系的顯著簡化。為了實現這個架構,Fuel公司建立了一個新的虛擬機,稱為FuelVM和一種新的語言,稱為Sway。
FuelVM是對EVM的一種兼容和簡化的表現,可以有效地讓開發者加入到Fuel的生態系統中。
此外,由于Fuel專注于模塊化區塊鏈,FuelSC的執行可以在以太坊主網上解決。這種方法與合并后以太坊的愿景一致,即作為以Rollup為中心的結算和數據可用性層。在這種架構中,Fuel可以實現在以太坊上批量和結算的高吞吐量執行。
為了驗證該概念,Fuel團隊已經創建了一個名為SwaySwap的AMM,類似于Uniswap,并在測試網上運行。目的是證明FuelVM與EVM相比性能更高。
并行執行方法的挑戰
并行執行的方法似乎是合乎邏輯和直接的,然而,目前我們仍然面臨著幾個挑戰。首先是估計使用這種并行執行方式可以加速的交易的實際比例。第二個挑戰是網絡的去中心化,也就是說,如果驗證者可以很容易地擴展計算能力以提高吞吐量,那么完整節點如何跟上以確保鏈的正確性?
可并行交易的百分比
準確估計在任何鏈上可并行執行的鏈上交易的百分比是具有挑戰性的。此外,根據網絡活動的類型,這個百分比在區塊之間會有很大的變化。
例如,一個NFTMint可能會導致一個具有高百分比的關聯性交易的爆發。也就是說,我們可以使用一些假設來獲得可并行交易的平均百分比的粗略估計。
例如,我們可以假設大多數ETH和ERC20的轉移是獨立的,即從不同的地址發起并接收到不同的地址。所以我們可以假設約25%的ETH和ERC20轉賬是相互關聯的,即向SC存款以及將交易所熱錢包的資產聚合到冷錢包。
另一方面,同一池中的所有AMM交易都是有關聯性的。鑒于大多數AMM通常由少數池子主導,而且AMM交易具有高度的可組合性,并與多個池子互動,我們可以安全地假設至少50%的AMM交易都是相互關聯的。
通過對以太坊的交易類別進行分析,我們可以發現,在以太坊每天約120萬的交易中,20-30%是ETH轉賬,10-20%是穩定幣轉賬,10-15%是DEX轉賬,4-6%是NFT交易,8-10%是ERC20批準,12-15%是其他ERC20轉賬。
使用這些數字和假設,我們可以估計,PE可以加速SC平臺中大約70-80%的交易。
這意味著關聯交易的順序執行占所有交易的20-30%。換句話說,如果使用相同的Gas限制,就有可能通過PE實現3倍-5倍的吞吐量增長。
一些關于構建并行執行EVM的實驗顯示了類似的估計,其中可以持續實現3-5倍的吞吐量提高。
在實踐中,高吞吐量鏈使用更高的Gas限制和更短的塊時間來實現比至少100倍以太坊的吞吐量提高。增加的吞吐量需要強大的驗證節點來處理這些區塊,這一要求導致了第二個挑戰,即網絡的中心化。
網絡的中心化
在高吞吐量的網絡中,網絡每秒可以處理數以萬計的交易。
驗證節點受到費用和網絡獎勵的激勵來處理這些交易,并投資于專用服務器或可擴展的云架構來處理這些交易。而對于使用鏈并需要運行完整節點與鏈交互的公司或個人,情況并非如此。這些實體無法負擔復雜的服務器來處理這種大規模的交易負載。這將推動鏈上用戶依賴專門的RPC節點供應商,例如Infura,從而導致更多的中心化。
如果不選擇使用消費級硬件來運行完整節點,高吞吐量的鏈可能會變成一個封閉的系統,一小部分實體擁有對網絡的絕對權力。在這種情況下,這些實體可以協調審查交易、實體甚至應用程序,例如TornadoCash,它們可以將這些鏈轉變為與Web2沒有什么不同的許可系統。
目前,在Sui測試網上運營一個完整節點的要求低于Aptos測試網節點的要求。然而,我們預計當主網啟動和應用程序開始在鏈上出現時,這些需求將發生重大變化。
去中心化的倡導者們一直在提出解決方案來解決這些預期的問題。這些解決方案包括使用輕型節點,通過使用ZK有效性證明或欺詐證明來驗證區塊的正確性。
Fuel團隊在這方面很積極,與以太坊社區關于去中心化重要性的精神相一致。并不清楚Aptos和Sui團隊是否優先實施這些方法或其他促進去中心化。Linera團隊在他們的介紹帖子中簡要地討論了這些問題,但協議實施尚未確認這一承諾。
總結
并行執行引擎是提高智能合約平臺吞吐量的有前途的解決方案。
結合共識機制的創新,交易的并行執行可以使鏈的吞吐量接近或超過10萬TPS,這樣的性能可以與Visa和Mastercard相媲美,可以實現當今最具挑戰性的幾個用例,例如完全的鏈上游戲和去中心化小額支付。
這些令人印象深刻的吞吐量改進并不是沒有挑戰,即關于如何確保去中心化,我們期待致力于解決這些問題的創始人。
鏈捕手消息,BlockworksResearch在社交媒體上分析了BendDAO影響BAYC地板價下跌的原因,其中指出BendDAO設計的聯級清算機制可能存在問題,極易產生多米諾骨牌效應.
1900/1/1 0:00:00鏈捕手消息,浙江省臺州市三門縣破獲一起案值超百萬元的虛擬貨幣「挖礦」案件,這也是全市破獲的首起「挖礦」案.
1900/1/1 0:00:00作者:VitalikButerin原標題:《NotesonBlockchainGovernance》發表時間:2017年12月17日在區塊鏈治理方面.
1900/1/1 0:00:00鏈捕手消息,據makerburn數據顯示,當前Maker抵押品中包含約34.4億枚USDC。此前,MakerDAO聯合創始人RuneChristensen表示,最近美國財政部對TornadoCa.
1900/1/1 0:00:00原文標題:《ethereumfoundationblog:MainnetMergeAnnouncement》原文作者:ProtocolSupportTeam原文編譯:Unitimes.
1900/1/1 0:00:00作者:?IOBCCapital?以太坊的定位是世界計算機,為了實現這個目標,開發者在誕生之初就為它規劃了一條升級路徑.
1900/1/1 0:00:00