Blockchain

EVM - 它是如何連接到區塊鏈的?

  • August 4, 2018

我在理解區塊鏈的軟體架構時遇到了一些問題。對我來說,區塊鍊是儲存所有交易、收據、餘額等的數據庫。但是如何連接到 EVM?EVM 是否負責更改區塊鏈數據庫?當一個全節點收到一筆交易或一個新區塊時。它使用 EVM 處理事務。EVM 的內部儲存是區塊鏈還是 EVM 的內部儲存?當它不是區塊鏈時,EVM 是否只負責處理交易並將收據發送回區塊鏈以便進行更新?是否有兩個實例——區塊鏈(數據庫)和 evm(處理器)——或者一個實例是包含區塊鏈數據庫的 evm?我希望你知道我在這裡想說什麼。

區塊鍊是更一般概念的一個例子,稱為分佈式狀態機。

狀態機是具有一組狀態的系統,以及在這些狀態之間轉換的功能。

在乙太坊中,狀態是賬戶狀態樹,轉換函式以一個塊為輸入,在 EVM 上執行該塊中的所有事務,並轉換到由 EVM 執行產生的新狀態。

因此,您可以將 EVM 視為塊之間轉換功能的一部分。

托馬斯的回答很有幫助。

如果它有幫助,將區塊鏈視為類似於數據庫重播日誌可能會很有用,由於共識,所有節點都同意。EVM 是控制日誌中包含的事務解釋的協議。

該協議的範圍足以將合約嵌入特製交易中。合約是用簡單的機器程式碼(字節碼)編寫的,協議涵蓋瞭如何解釋它們。因此,事務歷史記錄了可執行程式碼的部署。

合約的語言包括內部儲存,因此一些輸入可以觸發改變持久值的函式。

給定一個充分描述性的協議,並給定一組被認為是真實的交易(共識是另一個主題),每個正常執行的節點都可以就必須是這種情況的狀態得出自己的結論。

我認為通過說數據“存在”在輸入中來總結是合理的。區塊鏈本身是一個系統,它可以讓所有節點相信他們擁有有效、真實的輸入歷史,而這就是他們需要知道的全部內容。

希望能幫助到你。

引用自:https://ethereum.stackexchange.com/questions/55792