關於以太坊虛擬機器(EVM)的相關知識
By ·
以太坊是僅次於比特幣的第二重要、最受歡迎的加密貨幣。通常被認為是比特幣在加密貨幣領域的競爭對手。和比特幣一樣,以太坊也是分散式的,執行在區塊鏈技術上,是一個開源專案。然而,以太坊比比特幣更具靈活性和適應性。任何有知識的人都可以在該平臺上建立新的應用程式。隨著第二版本Ethereum Homestead的釋出,這些應用程式已經可以安全使用。Homestead為使用者提供了建立任何他們想要的應用程式的自由,不管這些應用程式有多複雜。它還成為了一個平臺,用於啟動除加密貨幣之外的新的分散的區塊鏈應用程式。所有這些過程的核心是以太坊虛擬機器(EVM),這是一種準圖靈機,可以編寫任意複雜的隨機演算法程式碼。什麼是虛擬機器及其工作原理為了更好地理解EVM是什麼以及它是如何工作的,我們需要理解術語“準圖靈”的含義。“準”是“部分”的意思,“圖靈”是指“現代電腦科學之父”、因為圖靈機器的創造者是艾倫·圖靈。在計算機世界中,有許多訪問和修改資料的系統。這些系統包括中央處理單元和程式語言。一個系統或機器,可以在數學上執行任何計算或問題,被認為是圖靈完備。以太坊虛擬機器被標記為準圖靈機,因為它可以解決的計算是由gas約束的,這意味著它可以執行的計算數量是有限的。在以太坊網路上,天然氣相當於一筆費用。你在以太坊網路上進行的每筆交易都有一個價格,而gas就是支付方式。以太坊網路上的gas概念有兩個方面——gas和gas價格。gas是測量工具:它標識執行特定計算所需的費用。天然氣價格是使用者願意為每單位天然氣支付的以太幣。Wei是汽油價格的計量單位。Wei以太幣的最小單位,一個以太幣=10¹⁸Wei。在任何交易發生之前,必須設定燃氣限額和燃氣價格。如果你作為試圖完成交易的人,沒有足夠的燃氣,交易就會無效。由於計算依賴於gas,因此EVM無法執行某些計算。這些問題包括採空區瓦斯限值太低,計算非常複雜,在經濟上被認為是不切實際的。EVM程式語言稱為EVM位元組碼。如果使用更高階的程式語言,比如以太坊的 Solidity,來編寫特定的程式碼,那麼這些程式碼將被新增到EVM位元組碼中,以便EVM能夠理解它。EVM , 一個基於事務的狀態機EVM有很多用途;其中兩個主要是處理網路上的計算和內部狀態,以及處理與使用者姓名和地址、當前油價、餘額和塊資訊相關的帳戶資訊。EVM是基於事務的狀態機,這意味著它管理網路上的內部狀態。沒有EVM,就無法跟蹤完成事務所需每個元件的狀態。這些成分共同作用來調節複雜以太坊區塊鏈的變化水平。作為基於事務的狀態機,EVM需要監視帳戶狀態、世界狀態、儲存狀態、執行時環境資訊和塊資訊。帳戶狀態以太坊網路由許多相互作用的小賬戶組成——合約賬戶或外部擁有的賬戶。在兩個外部擁有的帳戶之間發生的通訊稱為價值轉移。這兩個帳戶都可以使用私鑰透過數字簽名的事務相互傳送訊息。外部擁有的帳戶與合約帳戶之間的通訊使後者能夠使用其程式碼執行不同的操作,例如建立和傳輸代幣。外部擁有的帳戶可以促使合約帳戶採取行動;合約帳戶是反應性的。這意味著它們不能發起事務,只能響應它們接收到的其他事務。合約帳戶具有與之關聯的程式碼或程式語言,並且此合約程式碼可以控制帳戶。外部擁有的帳戶沒有程式碼,但可以使用私鑰進行控制。任何外部擁有的帳戶都可以向其他外部擁有的帳戶傳送訊息,也可以向合約帳戶傳送訊息。這種型別的帳戶有一個用於簽署帳戶事務的私鑰。帳戶狀態有四個主要元件:nonce、balance、storageRoot和codeHash- Nonce -在外部擁有的帳戶中,Nonce表示從帳戶地址傳送的事務數量。在合約帳戶中,它是由該帳戶建立的合約數量。- balance -賬戶地址所擁有的餘額- storageRoot - Merkle Patricia樹根節點的256位雜湊值。預設情況下,樹是空的,它對帳戶的儲存內容進行編碼。- codeHash -這段程式碼是不可變的:沒有人可以在它建立之後改變它。這個帳戶的EVM的codeHash也是在這個地址接收到訊息呼叫時執行的程式碼。World StateWorld State由帳戶狀態和160位地址識別符號之間的對映組成。該資訊儲存在Merkle Patricia樹中。儲存狀態儲存狀態是EVM上執行時管理的特定於帳戶的資訊。這是執行事務所需的資訊。它包括:-來源-交易的原始發件人的地址-呼叫方-執行事務的帳戶的地址-燃氣價格-交易發起者指定的燃氣的當前價格-程式碼大小-事務程式碼庫有多大塊的資訊這些是支援事務所必需的狀態值。資訊包括:- Blockhash -最近完成的塊的雜湊- Coinbase -收件人地址-當前塊的時間戳-當前塊的編號-當前塊的難度級別-電流塊的氣體極限更多區塊鏈資訊:www.qukuaiwang.com.cn/news#以太坊虛擬機器#以太坊EVM#ST
免責聲明:
- 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
- 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
- 鏈報僅提供相關項目信息,不構成任何投資建議。
推荐阅读
;