來源:老雅痞
本文旨在通過Aptos、Sui、Linera和Fuel來闡明并行執行技術的原理,以及這些項目之間的異同和面臨的挑戰。
當觀察區塊鏈技術的發展時,我們可以看到一個強大的趨勢,即新的L1側重于并行執行。這一想法并不新鮮,比如目前在Solana的Sealevel執行環境中就使用了并行執行。然而,上一輪牛市中,DeFi和NFT令人印象深刻的表現表明了對改進的迫切需求。目前采用并行執行理念的一些知名項目有Aptos、Sui、Linera和Fuel。
本文討論了這些項目之間的異同,以及它們面臨的挑戰。
問題所在
智能合約平臺能夠創建廣泛的去中心化應用。為了執行這些應用,需要一個共享的計算引擎。網絡中的每個節點都會運行這個計算引擎,并執行應用程序以及用戶與應用程序的交互。當節點從執行中得到相同的結果時,他們就會達成共識,并推動鏈的發展。
以太坊虛擬機是最主要的智能合約(SC)執行引擎,有大約20種不同的實現方式。自從EVM發明以來,它已經被開發人員廣泛采用。除了以太坊和以太坊的L2外,Polygon、BNBSmartChain和AvalanchecChain等其他幾個鏈都采用了EVM作為執行引擎,并致力于改變共識機制以提高網絡吞吐量。
EVM的一個主要限制特性是順序的順序執行。EVM本質上每次執行一個交易都會將所有其他交易置于暫停狀態,直到交易執行完成,區塊鏈狀態被更新。即使兩個交易是獨立的,例如,從Alice到Bob的付款和從Carol到Dave的另一個付款,EVM也不能并行執行這些交易。雖然該執行模式允許使用閃電貸等有趣的用例,但它既不高效,也不可擴展。
聲音 | Nigel Green:加密貨幣市場的波動與其他金融市場沒什么不同:deVere Group首席執行官兼創始人Nigel Green表示:“所有金融市場都有高峰和低谷,加密貨幣市場沒有、也不應該有任何不同,每當市場下跌或加密貨幣出現一輪波動時,那些討厭加密貨幣的人就會宣稱數字貨幣完蛋了——結果它們又經歷了一輪上漲。在大多數其他金融市場,這些人不會做出如此極端和毫無根據的聲明。”(彭博社)[2019/11/28]
交易的這種順序執行是網絡吞吐量的主要瓶頸之一。首先,它導致區塊中的交易執行時間變長,從而限制了區塊時間。此外,它還限制了可以添加到區塊中的交易數量。以太坊的平均吞吐量約為17tx/秒。這種低吞吐量意味著在高活動時期,網絡礦工/驗證者不能處理所有的交易,并會引發確保交易優先執行而推高交易費用的費用競標戰。以太坊的平均費用在某些點超過0.2ETH(約800美元),讓許多用戶望而卻步。順序執行的第二個問題是網絡節點的低效。順序指令的執行不能從多核處理器中受益,這會導致硬件利用率低,效率低下。這阻礙了可擴展性,并導致了不必要的能源消耗。
并行執行可以解決這個問題?
EVM結構的基本限制為專注于并行執行(PE)的L1新領域奠定了基礎。并行允許在多個處理器核心之間劃分交易處理,提高了硬件利用率,從而實現了更好的可擴展性。在高吞吐量鏈中,硬件資源的增加與可執行的交易數量直接相關。在高頻活動期間,驗證者節點可以委托更多的核心來處理額外的交易負載。計算資源的動態擴展允許網絡在高需求時期實現更高的吞吐量,從而顯著改善用戶體驗。
這種方法的另一個優點是改善了交易確認延遲。節點資源的動態擴展使低延遲確認交易成為可能。交易不需要等待數十或數百個區塊,也不需要支付過多的費用來確定優先級。確認時間的改進提高了交易的最終確定性,為低延遲區塊鏈打開了大門。保證執行交易的低延遲可以實現以前不可能實現的幾個用例。
聲音 | 紐約聯儲Antonie Martin:不清楚Libra項目想要做什么:據金十消息,紐約聯儲Antonie Martin就Facebook的Libra發表評論稱:不清楚Libra項目想要做什么。[2019/6/25]
改變鏈的執行模式,以允許PE并不是一個新想法,已經有一些項目已經對此進行了探索。一種方法是將EVM使用的會計模型從帳戶模型替換為未支出交易輸出(UTXO)模型。比特幣就使用了UTXO執行模型,它允許并行處理交易,這使其成為了支付的理想選擇。由于UXTOs的功能有限,因此需要擴展來實現智能合約所需的復雜交互。作為示例,Cardano為此使用了一個擴展的UTXO模型,Findora使用了一個實現了兩種會計模型,并允許用戶在其間進行更改資產類型的混合UTXO模型。
PE的另一種方法并不改變賬戶模型,而是專注于改進鏈狀態的架構。這種方法的一個例子是Solana的Sealevel?框架,本文主要討論后一種方法。
并行執行是如何運作的
并行執行的工作原理是識別獨立的交易并同時執行它們。如果一個交易的執行會影響另一個交易的執行,那么兩個交易是相互依賴的。例如,同一個池中的AMM交易是相互依賴的,必須按順序執行。
雖然并行處理的概念很簡單,但問題在于細節。其主要的挑戰是有效地識別“獨立”的交易。分類獨立交易需要理解每個交易如何更改區塊鏈內存或鏈狀態。與同一個智能合約交互的交易可以同時改變合約狀態,因此不能同時執行。在目前應用程序之間的可組合程度下,識別依賴關系是一項具有挑戰性的任務。
識別獨立交易
本節中將比較不同的并行執行引擎所使用的方法。討論的重點是控制狀態(內存)訪問的方法。區塊鏈狀態可以被看作是RAM存儲器。每個鏈上賬戶或智能合約都擁有一系列可修改的存儲位置。相互依賴的交易是那些試圖改變同一區塊中相同內存位置的交易。不同的鏈使用不同的內存架構和不同的機制來識別依賴交易。
美國央銀行內容策略師解釋了為什么領先的數字貨幣與普通貨幣沒有什么不同:圣路易斯聯邦儲備銀行的內容策略師克里斯汀史密斯認為,比特幣跨國用途并沒有人們想象中那么大。比特幣的主要的兩個用途在于,價值儲存和作為貨幣,而史密斯則用理由來說明為什么領先的數字貨幣與普通貨幣沒有什么不同。他表示,與美元一樣,比特幣也不基于黃金等實物資產。它的價值是人們對它的需求的結果。[2018/5/1]
這個類別中的幾條鏈都建立在Facebook已經砍掉的區塊鏈項目Diem所開發的技術之上。Diem團隊創建了智能合約語言Move,以專門改善SC的執行。Aptos、Sui和Linera是屬于這一類別的三個備受矚目的項目。除了它們之外,Fuel是另一個專注于PE的知名項目,它使用自己的SC語言。
Aptos
Aptos構建在Diem的Move語言和MoveVM之上,創建了實現并行執行的高吞吐量鏈。Aptos的方法是檢測依賴關系,同時對用戶/開發者透明,也就是說不要求交易明確聲明它們使用的是哪一部分狀態(內存位置)。Aptos使用了軟件交易內存(STM)的一種稱為Block-STM的修改。在Block-STM中,交易在區塊中被預先排序,并在執行期間在處理器線程之間進行劃分,以便optimisticexecution。在執行中,交易的執行被假定沒有依賴關系。被交易修改的內存位置會被記錄下來。執行之后將驗證所有交易結果。在驗證期間,如果發現一個交易訪問了被前一個交易修改過的內存位置,該交易就會被宣布無效。交易結果將被刷新,然后重新執行交易。這個過程重復進行,直到區塊中的所有交易都被執行。當使用多個處理器核心時,Block-STM可以提高執行速度。該速度取決于交易之間的相互依賴程度。Aptos團隊的結果顯示,使用32個核心可以將速度在高度相互依賴的情況下提高8倍,在低相互依賴的情況下提高16倍。如果一個區塊中的所有交易都是相互依賴的,那么與順序執行相比,Block-STM的性能損失會更小。Aptos公司聲稱,這種方法可以實現160,000TPS的吞吐量。
和菜頭:在一個新場子什么韭菜都沒有,那你就是那根韭菜:昨晚和菜頭公眾號發文稱,春節前后,朋友圈平均每天都能看到2~3條關于比特幣或者區塊鏈的內容。現在,這個數量還在持續增長,而且開始向群里蔓延。關于“韭菜”和菜頭文中提及:我去買了本阿爾文德的《區塊鏈:技術驅動金融》來自學。看了三分之一之后,我非常確定一件事情:在這一輪由比特幣而起的區塊鏈熱潮里,我就是根“韭菜”。在一個新興的場子里,如何確定自己的地位?去找周圍有什么韭菜沒有。如果一根韭菜都找不到,那么,你自己就是那根韭菜。[2018/3/1]
Sui
另一種PE方法是要求交易明確聲明他們修改了鏈狀態的哪些部分。目前Solana和Sui使用了這種方法。Solana將內存單元稱為賬戶,而交易必須說明它修改了哪些賬戶。Sui也使用了類似的方法。
Sui還利用MoveVM構建在了Diem的技術之上。然而,Sui使用了不同版本的Move語言。SuiMove的實現改變了Diem的核心存儲模型和資產權限。這代表了它與使用核心DiemMove的Aptos的主要區別。SuiMove定義了一個狀態存儲模型,使識別獨立交易更加容易。在Sui中,狀態存儲被定義為對象。對象通常代表資產,并且可以被共享,這意味著多個用戶都可以修改一個對象。每個對象在Sui執行環境中都有一個惟一的ID,并具有指向所有者地址的內部指針。通過使用這些概念,很容易通過檢查交易是否使用相同的對象來識別依賴關系。
通過將聲明依賴關系的工作轉移給開發者,執行引擎的實施變得更加容易,這意味著理論上它可以擁有更好的性能和可擴展性。然而,這樣做的代價是開發人員體驗不夠理想。
Sui還沒有上線,該項目最近剛剛上線了他們的測試網。Sui的創始人聲稱,并行執行的實現以及Narwhal&Tusk共識機制的使用可以讓吞吐量超過10萬tx/秒。如果這是真的,比起Solana目前約2400tx/秒的吞吐量,Sui將有一個巨大的提升,并將超過Visa和萬事達的吞吐量。
中國國際期貨公司總裁王永利:為什么虛擬貨幣會引發危機:中國國際期貨公司總裁王永利在其發表的文章'為什么虛擬貨幣會引發危機'中表示:“重視金融而忽略貨幣,注重貨幣金融的應用和熱點問題的解析與應對,而忽略貨幣演變的真相、貨幣金融的邏輯,盲目追求金融發展和獲利而過度脫離甚至損害實體經濟,在推動金融加快發展的同時也在積累越來越嚴重的危機隱患,直至引發全球性金融大危機和經濟大衰退。因此,重新探索貨幣的奧秘,有效掌控金融的魔力,準確把握貨幣金融的邏輯與規律,嚴控金融風險底線,發揮好貨幣金融的積極作用,控制其可能產生的負面作用,對全人類的和諧與發展都是非常必要的。這其中非常重要的一個切入口,就是準確把握記賬清算及其對貨幣金融的深刻影響。”[2018/2/27]
Linera
Linera是并行處理領域的最新成員,他們最近宣布了由a16z領投的第一輪融資。關于項目實施的細節并不多。然而,根據他們的融資公告,我們知道它基于同樣在Facebook開發的FastPay協議。Fastpay基于一種叫做ByzantineConsistentBroadcast的技術。這項技術專注于加速獨立支付,比如發生在銷售點網絡中的支付。它允許一組驗證者確保支付的完整性,只要其中三分之二以上是誠實的。Fastpay是銀行和金融機構網絡中使用的實時總結算(RTGS)系統的變體。
Linera計劃在FastPay的基礎上建立一個區塊鏈,通過并行執行支付交易,專注于快速結算和低延遲。值得注意的是,Sui也使用了ByzantineConsistentBroadcast方式進行簡單支付。對于其他交易,Sui使用自己的共識機制Narwhal和Tusk來高效地處理DeFi交易等更復雜和具依賴性的交易。
Fuel
Fuel致力于成為模塊化區塊鏈堆棧中的執行層。這意味著Fuel不實施共識,也不將區塊鏈的數據存儲在Fuel鏈上。對于一個功能性的區塊鏈,Fuel與其他鏈(如以太坊或Celestia)進行交互,以獲得共識和數據可用性。
Fuel使用UTXO創建嚴格的訪問列表,用一個列表來控制對同一片狀態的訪問。該模型建立在經典交易排序的概念之上。在這個方案中,區塊中的交易排序大大簡化了交易之間依賴關系的檢測。為了實現這個架構,Fuel構建了一個名為FuelVM的新虛擬機和一種名為Sway的新語言。FuelVM是EVM的兼容和簡化的實現方式,它可以有效地引導開發人員進入Fuel生態系統。此外,由于Fuel專注于模塊化區塊鏈堆棧,FuelSC的執行可以在以太坊主網上進行。這種方法與以太坊在合并后作為一個以rollup為中心的結算和數據可用層的愿景一致。
作為一種概念驗證,Fuel團隊創建了一個名為SwaySwap的Uniswap風格的AMM,目前它正在測試網上運行,以證明與EVM相比,FuelVM的性能有所提高。
并行執行方法的挑戰
并行執行方法看起來合乎邏輯且簡單明了。然而,還有一些挑戰需要討論。首先是要估計可以使用這種并行執行加速的交易的實際比例。第二個挑戰是網絡的去中心化,也就是說,如果驗證者可以輕易擴展計算能力以提高吞吐量,那么經常使用商品硬件的完整節點如何跟上以確保鏈的正確性?
可并行交易的百分比
準確估計可并行執行的鏈上交易的百分比是一個挑戰。此外,根據網絡活動的類型,這個百分比在不同區塊之間可能會有很大的變化。例如,一個NFT鑄幣活動可能會導致依賴交易劇增。也就是說,我們可以使用一些假設來獲得可并行交易平均百分比的粗略估計。例如,我們可以假設大多數ETH和ERC20傳輸是獨立的。因此,我們可以假設約25%的簡單ETH和ERC20轉賬是相互依賴的。另一方面,同一個池中的所有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的一些實驗也顯示了類似的估計。在實踐中,高吞吐量鏈將通過使用更高的每區塊gas限制和更短的區塊時間來以實現至少比以太坊提高100倍的吞吐量。增加的吞吐量需要強大的驗證者節點來處理這些區塊。這一需求導致了網絡集中化的問題。
網絡集中化
對并行處理的另一個常見批評是,它極大地推動了網絡的集中化。在高吞吐量網絡中,網絡每秒可以處理數以萬計的交易。驗證者節點受到費用和網絡獎勵的激勵來處理這些交易,并投資于專用服務器或可擴展的云架構來處理這些交易。而對于使用該鏈并需要運行完整節點與鏈交互的公司或個人來說,情況就不一樣了。這些實體無法負擔復雜的服務器來處理如此龐大的交易負載。這將推動鏈上用戶依賴于Infura等專門的RPC節點供應商,從而導致更多的集中化。
如果不選擇使用消費級硬件來運行整個節點,高吞吐量鏈可能會變成一個封閉的系統,其中一小群實體對網絡擁有絕對的權力。在這種情況下,這些實體可以協調審查交易、實體甚至應用程序,從而將這些鏈轉變為與Web2沒有區別的許可系統。
目前,在Sui測試網上運行全節點的要求低于Aptos測試網節點。然而,我們預計當主網啟動、應用程序開始出現在鏈上時,這些需求將發生重大變化。去中心化的倡導者一直在提出解決這些預期問題的方案。其中解決方案包括使用輕型節點,通過zk有效性證明或欺詐證明來驗證區塊的正確性。Fuel團隊在這方面非常積極,并在去中心化的重要性上與以太坊社區的理念達成了一致。Aptos和Sui團隊還未清晰表明執行這些方法的優先次序或其他促進去中心化的方法。Linera團隊在他們的介紹文章中簡要地討論了這些問題,但協議的實施尚未證實這一承諾。
結論
并行執行引擎有望改善智能合約平臺的吞吐量。通過結合共識機制的創新,交易的并行執行可以使鏈的吞吐量接近或超過100kTPS。這樣的性能可以與Visa和Mastercard相媲美,從而可以實現完全的鏈上游戲和去中心化小額支付等目前具有挑戰性的幾個用例。這些令人印象深刻的改進面臨著如何確保去中心化的挑戰。我們期待著致力于解決這些問題的創始人。
信息來源自AllianceDAO,略有修改
作者:MohamedFouda
編譯:RR
21:00-7:00關鍵詞:美SEC、GameStop、Coinbase、Omni1.美SEC主席仍將多數加密資產視為證券.
1900/1/1 0:00:00作者|許納 你或許已經煩透了“元宇宙”這個詞,但是你一定不愿意錯過這個人的有關元宇宙的見解,他就是被譽為元宇宙先行者和元宇宙商業之父的馬修·鮑爾——《時代》雜志8月封面故事作者和《彭博商業周刊》.
1900/1/1 0:00:00可驗證的隨機數可以用來打造刺激的游戲體驗,鑄造罕見的NFT,并保障公平的結果。原文標題:《VerifiableRandomFunction(VRF)》撰文:Chainlink在密碼學中,可驗證隨.
1900/1/1 0:00:00初探行業投資模式和框架,梳理投資收益分析工具。撰文:FrankFan,Arcane基金合伙人、ArcaneLabs創始人 數字資產行業經歷十多年的發展,從一個少部分極客和理想主義人群的社會實踐,
1900/1/1 0:00:00今天,我們很高興地推出Collectives,這是我們為web3設計的第一個社交網絡和社區建設的基本要素.
1900/1/1 0:00:00以太坊即將“合并”對NFT意味不了什么。以太坊“合并”事件終于引來終局,此前以太坊聯合創始人VitalikButerin發布推文稱,此次在加密領域被稱為“合并”的區塊鏈軟件升級,預計發生于9月1.
1900/1/1 0:00:00