比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Ethereum > Info

以太坊2.0新虛擬機Ewasm指南:三大優勢全面吊打EVM_ASM

Author:

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

本文探討的是以太坊虛擬機(EVM)和以太坊WebAssembly(Ewasm),Ewasm將取代EVM成為以太坊2.0網絡的狀態執行引擎,這種轉換將為以太坊帶來一系列令人興奮的新性能升級和其他優勢,這包括速度和效率上的提升、卓越的互操作性以及減少或消除預編譯。

原文作者是Chainsafe項目經理ColinSchwarz。

一、什么是以太坊虛擬機(EVM)?

為了理解Ewasm及其對以太坊網絡的影響,我們必須首先熟悉其將替代的以太坊虛擬機。EVM是一個輕量級的虛擬機,其設計是用于在以太坊網絡上運行智能合約。作為虛擬機,EVM的功能與傳統的操作系統稍有不同。一般來說,虛擬機(VM)是建立在本機操作系統上模擬物理機的高級抽象。它們允許同一平臺,在許多不同的硬件體系結構和操作系統上運行,這使得虛擬機(VM)非常適合像以太坊這樣的分布式網絡。EVM的構建是為了模擬可由物理CPU執行的操作,其還負責以太坊的許多關鍵功能。

而EVM除了作為一個虛擬機,它也是一個“堆棧機”和一個“狀態機”。狀態機只是一臺可以讀取輸入并基于這些輸入轉換為新狀態的機器。而基于堆棧的虛擬機是將內存結構組織為堆棧并作為堆棧訪問的虛擬機。這與基于寄存器的虛擬機相反,其內存結構存儲在CPU的寄存器中。為了在基于堆棧的虛擬機上執行操作,稱為“操作數”的數據從堆棧中“彈出”,通過接受操作進行處理,然后根據后進先出的原則“推送”回堆棧。使用基于堆棧的機器進行添加的工作方式如下:

POP20

POP7

ADD20,7,result

PUSHresult

以太坊網絡當前已銷毀194.4萬枚ETH:金色財經報道,據Ultrasound數據顯示,截止目前,以太坊網絡總共銷毀1944082.67枚ETH。其中,OpenSea銷毀230041.52枚ETH,ETHtransfers銷毀184887.25枚ETH,UniswapV2銷毀125644.41枚。注:自以太坊倫敦升級引入EIP-1559后,以太坊網絡會根據交易需求和區塊大小動態調整每筆交易的BaseFee,而這部分的費用將直接燃燒銷毀。[2022/3/4 13:38:20]

https://markfaction.wordpress.com/2012/07/15/stack-based-vs-register-based-virtual-machine-architecture-and-the-dalvik-vm

使用堆棧系統的一個主要優點是,EVM不需要顯式地知道它正在處理的操作數的地址,因為調用堆棧指針總是會提供下一個操作數,這有助于EVM提高效率并降低存儲需求。

除了堆棧之外,EVM還可以將數據存儲到內存和磁盤存儲。將數據發送到磁盤存儲器需要的gas最多,而發送到堆棧需要的gas最少。EVM根據其預期用途和預期的gas成本決定將某些數據發送到何處。在宏觀層面上,EVM由世界狀態、機器狀態和虛擬ROM組成。世界狀態是網絡上所有帳戶的存儲,而機器狀態包括程序計數器、可用gas、堆棧和內存。虛擬只讀存儲器是不可變的“EVM字節碼”,這是一種只有EVM才能理解的特殊語言。理解字節碼及其與諸如solidity等高級語言的關系是非常重要的,以便充分掌握EVM的功能。從網絡創世開始,以太坊開發者就用Solidity編程語言編寫了代碼,Solidity是一種“高級”編程語言,這意味著盡管開發者可以理解Solidity,但機器卻不能理解。為了讓計算機理解Solidity代碼,它必須使用名為solc的solidity編譯器編譯。編譯器會將solidity轉換為字節碼,字節碼是solidity操作碼的二進制表示形式。EVM將所有值視為二進制,而無法理解其他任何值,因此編譯器的存在是非常重要的,其允許開發人員的表達能夠被EVM理解。

VanEck向美SEC申請推出以太坊ETF:金色財經報道,公開記錄顯示,美國資產管理公司VanEck已向美國證券交易委員會(SEC)提交了以太坊交易所交易基金(ETF)的初步招股說明書。VanEck打算與Cboe BZX合作提供該產品。此前消息,SEC已將對VanEck比特幣ETF提案做出決定的時間推遲到下個月。[2021/5/8 21:36:07]

二、以太坊虛擬機是做什么的?

EVM負責促進以太坊網絡上的大多數交易和操作,包括執行智能合約。它負責包含指令和操作數的各種數據結構,以及由指令處理的數據。EVM還包括一個指令調度程序或“虛擬GPU”,用于獲取和執行指令并對操作數進行解碼。換個說法,EVM負責跟蹤網絡組件,如世界狀態、存儲狀態和區塊信息。EVM還為以太坊網絡上的智能合約創建Runtime環境。Runtime環境中的信息用于執行特定交易。這些信息包括:

Gas價格:“交易發起人規定的當前Gas價格”;

代碼大小:“交易代碼庫的大小”;

調用方:“正在執行交易的賬戶地址”;

來源方:“交易原始發送者的地址”;

最后,除了以上這些職責外,EVM還處理與區塊編號、Gas價格、地址和余額有關的賬戶信息。因為EVM負責以太坊網絡上的很多重要功能,因此其能夠處理操作及交易的速度,會影響到整個網絡的整體速度和性能。同樣,EVM能夠執行代碼的效率會直接影響網絡的效率。

因此,近年來以太坊網絡負荷的增加,使得EVM本身成為了一個瓶頸,常常會降低網絡吞吐量,增加交易時間。而效率低下問題,正是以太坊從EVM過渡到Ewasm的主要原因之一。

三、什么是Ewasm?

以太坊2.0更新的一個重要核心,就是從EVM過渡到Ewasm。

WASM代表Webassembly,這是一個由W3C社區小組開發的開放標準指令集。WASM是為Web而構建的,包括Mozilla、Google、Microsoft和Apple的工程師都在積極開發它,而Ewasm,是專門為以太坊網絡而修改的“受限WASM子集”,WASM的設計考慮到了一系列特定的目標。基本上,WASM的設計目的是快速、高效和便攜。這意味著它可以利用常見的硬件功能以“接近本機速度”執行。該軟件還設計為易于閱讀和調試,這是通過一種可以被人閱讀的文本格式來實現的,允許開發者手工查看、編寫和調試代碼。最后,通過強制主機瀏覽器的權限策略,通過保持向后兼容性,WASM被設計為安全,且是高度兼容的。而創建Ewasm的團隊,還制定了幾個更具體的項目目標,其中一個主要目標是提供一個EVM轉譯器和一個計量注入器,最好是作為一個Ewasm合約。另一個目標是以太坊接口和Ewasm合約語義的明確規范。最后,該團隊的目標是為solidity編譯器實現一個Ewasm后端,并提供用C和Rust語言編寫合約的指令和庫。而Ewasm和wasm之間的區別,可通過以下方式來考慮:

OEX社區yy:以太坊上很多DeFi項目已經觸及其公鏈性能的天花板:2月5日,OEX社區開發者yy做客深鏈學堂線上沙龍,在主題分享的過程中,yy表示:以太坊很多DeFi項目已經達到天花板,也就是以太坊的天花版。因此將部分內容放在Layer 2,不占用主網網絡,避免主網瓶頸的這種方法就被人們需要。2021年大概率很多Layer 2會逐漸成熟,很多DeFi必然會遷移至Layer 2。同時,有了Layer 2以后,DeFi和NFT在技術上將會進一步降維,更有利于普及傳播。因此這個賽道值得關注。[2021/2/7 19:06:55]

Ewasm=Wasm—不確定性+計量+EEI方法。

以太坊將加入諸如波卡、Cardano、EOS、Tron、Spacemesh和NEAR協議等項目的隊列,而這些項目已經或正在采用Wasm。

四、EwasmvsEVM

從一開始,EVM就是為了強調正確性而非效率而設計的。這反映在網絡上的所有節點必須完全準確地運行EVM這一事實上。Wasm雖然與EVM相似,但它是為web而發明的。與正確性不同的是,Wasm強調的是效率和快速加載。以太坊開發者LaneRettig表示,EVM的創建不具備“大量的設計思想”,他認為EVM是從理論角度上而非實際角度設計的,因此,雖然它內部健全,但在現實世界中無法發揮最佳的作用。NickJohnson同意這種看法,相比之下,Wasm的編寫更接近于實際的硬件指令,這使得它在翻譯實際的編碼邏輯時更加有效。事實上,Wasm指令可直接將一對一映射到機器使用的指令,這將使性能大大提高。

4、1速度和效率上的大幅提升

從EVM到Ewasm的過渡,最為重要的結果之一就是速度和效率上的大幅提高。Ewasm將通過顯著增加每秒可處理和添加到每個區塊的交易數來增加交易吞吐量。目前尚不清楚Ewasm將為以太坊帶來多大速度提升,但執行與交易吞吐量之間將存在直接的相關性:如果Ewasm的執行速度是EVM的兩倍,那么它將允許向每個區塊添加兩倍多的交易。這并不意味著實際的區塊大小將增加,而是指向每個區塊添加數據的過程將變得更為有效。隨著分片和第二層解決方案的推出,Ewasm將有助于提高以太坊網絡的可擴展性。

以太坊未確認交易9235筆:金色財經報道,據Etherscan.io數據顯示,以太坊未確認交易9235筆。當前挖礦難度2207.48TH,交易處理能力7.57TPS。截至目前以太坊全球均價為143.60美元,最近24小時漲幅為0.89%。[2020/4/6]

LaneRettig將EVM比作一把瑞士軍刀:“…它做了很多事情,但效果并不好。”相比之下,Wasm的設計是將實用化作為首要任務,并且專門針對像以太坊這樣的Web應用程序。EVM不能總是有效地編譯大量代碼,瀏覽器的javascript引擎通常需要做大量的猜測來為某些操作找出優化的“熱路徑”,這些操作可降低EVM的速度并降低吞吐量。相比之下,Wasm可直接從其公共表示轉換為編譯代碼,而無需做任何猜測工作。這是允許Ewasm加載和運行速度超過EVM的許多特征之一。另一個例子與EVM使用的字節碼類型有關,因為EVM使用256位字節碼,所以小于256位的計算必須轉換為256位格式,然后EVM才能處理它們。許多開發人員認為,這個功能現在是多余的,這將是另一個使Ewasm比EVM更快的特性。Rettig在接受Coinwire采訪時,其隱喻性地總結道:

“以太坊正從我們在農場周圍騎行的笨重自制工具,過渡到一輛真正的賽車,我們將可以在公路上行駛…”

而Mozilla發表的一篇文章,也認同了這種看法,即以太坊這樣的框架將能使用Wasm來提供巨大的性能優勢和新功能,同時仍然使Web開發人員能夠輕松地使用功能。

4、2預編譯

而Ewasm的另一個主要好處是,它可以減少甚至消除對預編譯的需求。所謂預編譯是EVM字節碼的特殊位。如果對預編譯合約發出調用,EVM將執行預先定義的本機代碼并返回結果。預編譯是特定于某些協議的通用操作,并幫助用戶節省gas成本,如果沒有這些協議,成本會更高。與常規code不同,EVM只需評估預編譯,而不是合約地址處的整個代碼。由于以太坊網絡上的各種復雜密碼學計算在沒有它們的情況下會導致無償的高gas成本,因此需要預編譯。在某些情況下,這種gas成本甚至可能超過區塊限制,這意味著在不使用預編譯的情況下,某些操作無法通過EVM進行處理。預編譯的一個嚴重缺點是,在網絡中引入新的預編譯,通常需要一個協商一致的硬分叉,而硬分叉通常是有爭議的,因此較難實現。NickJohnson認為,Ewasm在計算方面的效率足夠高,可以消除大多數當前的預編譯,并用Ewasm合約替換。這些智能合約可簡單地重寫和重新部署,而無需使用硬分叉,這使Ewasm比EVM更具優勢。這意味著開發人員可以利用Ewasm提高的效率來簡化網絡、簡化開發過程,并在新的合作模式下避免硬分叉。

動態 | 以太坊未驗證源碼合約流入近20000 ETH ?:據第三方大數據評級機構RatingToken監測數據顯示,最近7天,以太坊智能合約流入ETH排名前三的分別是:0xe96256(19088 ETH),BestMultiplier(1033 ETH)和0x859a46(755 ETH)。其中流入排名第一的合約并未在etherscan驗證源碼,根據對源碼的反編譯發現,該合約是一個游戲合約,游戲分為多輪進行,管理員可以啟動、激活和結束游戲,游戲玩家可以向合約存入ETH和取出ETH。如需要查看詳情,請點擊原文鏈接。[2018/11/27]

但和任何新的系統一樣,Ewasm并非沒有批評者,以太坊開發者GregColvin就對Ewasm智能合約消除預編譯的能力持懷疑態度。他還警告說,Ewasm依賴編譯器來支持多種語言可能會成為單一失敗點。然而,我所接觸過的絕大多數專家和開發人員并不認為這些是主要關注點,他們對Ewasm將為以太坊網絡帶來的顯著性能改進感到興奮。

4、3互操作性

Ewasm在性能上超過EVM的第三個領域是互操作性,Ewasm將支持更多的語言,并將受益于比EVM更廣泛的工具集。一些Ewasm支持的附加語言的突出例子包括C、C++和Rust。Ewasm還將獲得許多著名的JavaScript引擎的本地支持,包括但不限于:微軟的Chakra引擎、谷歌的V8引擎以及Mozilla的Spidermonkey引擎。Ewasm還將得到多個非瀏覽器實現的支持,如ml-proto、wasm-jit-prototype或wabt。盡管Wasm有自己的獨立于JavaScript的本地語言,但它并不是用于替代目的。相反,它的目的是與JavaScript一起工作,允許開發人員利用兩種語言的優勢,并避免它們的弱點。除了兼容更多的語言和引擎外,Ewasm是根據萬維網標準構建的,這意味著它很容易在瀏覽器中支持以太坊輕客戶端。與EVM相比,Ewasm還將受益于更廣泛的工具和編譯器。由于Wasm已經被以太坊以外的大量項目使用,因此它擁有比EVM更大、更活躍的開發者社區,這就會帶來更好的工具選擇。因此,Wasm包含各種工具鏈,可以從幾個不同的編譯器發出操作碼。他們可以編譯C代碼和Rust代碼等。來自ethdev紅迪子板論壇的貢獻者認為,轉換為Ewasm的主要目標之一是“利用現有的工具,而不是試圖說服人們建立針對EVM的工具。”因此,工具是以太坊向更成熟和廣泛使用的Wasm的過渡中獲益的另一種方式。

總的來說,以太坊從EVM到Ewasm的預期轉換,將帶來一系列令人興奮的新性能升級和其他優勢。這包括速度和效率上的提升、卓越的互操作性以及減少或消除預編譯。

特別感謝LaneRettig對本文進行了事實檢查,并提出了一些很好的建議!

相關文章:

1、“SolidityBytecodeandOpcodeBasics.”https://medium.com/@blockchain101/solidity-bytecode-and-opcode-basics-672e9b1a88c2

2、“StackbasedvsRegisterbasedVirtualMachineArchitecture,andtheDalvikVM.”https://markfaction.wordpress.com/2012/07/15/stack-based-vs-register-based-virtual-machine-architecture-and-the-dalvik-vm

3、“EthereumVirtualMachineExplained.”https://www.mycryptopedia.com/ethereum-virtual-machine-explained/

4、“EthereumEVMIllustrated:exploringsomementalmodelsandimplementations.”https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf

5、“Ethereum2.0.”https://medium.com/rocket-pool/ethereum-2-0-76d0c8a76605

6、“ewasmDesignOverviewandSpecification.”https://github.com/ewasm/design.

7、“WebAssemblyConcepts.”https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts

8、LaneRettig,corecontributortoEth2.0.

9、“eWASMReplacestheHeartofEthereum.”https://www.coinwire.com/ewasm-replaces-the-heart-of-ethereum

10、“TryingtounderstandtheEVMandeWASM.”https://www.reddit.com/r/ethdev/comments/87rrt6/trying_to_understand_the_evm_and_ewasm/

11、“EthereumVirtualMachine(EVM)ToBeReplacedByEWASMMakingTheEthereumNetworkSmarterAndStronger.”https://xbt.net/blog/ethereum-blog/ethereum-virtual-machine-evm-to-be-replaced-by-ewasm-making-the-ethereum-network-smarter-and-stronger/

12、“OnAddingPrecompiledContractswithoutHardForks.”https://that.world/~classic/2017/09/14/nonfork-precompiled/

13、“APrehistoryoftheEthereumProtocol.”https://vitalik.ca/general/2017/09/14/prehistory.html

Tags:WASASM以太坊ETHSWASH價格prasm以太坊最新價格人民幣togetherbnb手游下載女鬼

Ethereum
以太坊、BCH的開發資金又快花光了,項目開發會停擺嗎?_萊特幣

8月末,以太坊基金會宣布將撥款超過246萬美元用于資助以太坊2.0的開發。7月上旬,加密貨幣衍生品交易平臺BitMEX的母公司HDRGlobalTrading,不帶任何附加條件地向比特幣核心開發.

1900/1/1 0:00:00
80%的ETH地址處于虧損,但BTC地址竟有70%盈利_比特幣

自從今年6月26日以來,大部分山寨幣的價格都不斷在下跌。作為市場上第三大加密貨幣,XRP目前的價格甚至比今年1月份熊市期間還要低.

1900/1/1 0:00:00
研究 | 比特幣挖礦難度變化與其價格有什么關系?_WOO

大多數量化分析師會通過回顧過去的比特幣泡沫,預測最近一次泡沫破裂的大致時間以及后果。Twitter名為PlanB的量化分析師有點兒另類,比起去研究MACD、RSI或其他與價格相關的統計數據,他對.

1900/1/1 0:00:00
經濟日報:區塊鏈拓展實體經濟應用場景_COI

在電子數據存證、供應鏈金融等領域做深做透——區塊鏈拓展實體經濟應用場景自去年8月在深圳首度開出區塊鏈電子發票,至今已累計開出超600萬張,金額達40億元,接入企業超5300家.

1900/1/1 0:00:00
巴比特專欄 | 一個自由市場發現定期存款年化利息的幣鎖倉機制_VES

鎖倉是幣圈項目幣值管理的基本工具,幾乎所有的項目都附帶特定的鎖倉規則,少有例外。項目方設定鎖倉機制,主要目標是管理流動盤.

1900/1/1 0:00:00
供應鏈金融風險防控新武器:區塊鏈嵌入交易環節_元宇宙

文章來源:中國經營報原文標題:《供應鏈金融風險防控新武器:區塊鏈嵌入交易環節》作者:蔣牧云、張榮旺近期,幾次接連的供應鏈金融風險暴露.

1900/1/1 0:00:00
ads