本文翻譯自:https://news.bitcoin.com/report-censorship-prone-eos-needs-to-re-architect-its-infrastructure/
譯者:區塊鏈中文字幕組林煒鑫
翻譯時間:2018年12月03日
區塊鏈是所有加密貨幣的基礎,並且它也是一種快速發展的技術,有許多應用程式或專案可以用來解決問題。作為加密貨幣愛好者,也許你聽過類似智慧合約和以太坊虛擬機器(EVM)這些概念。那麼你知道它們是什麼,以及它們是如何運作的嗎?
不幸的是,很多人傾向於忽視或者不關心關於區塊鏈底層技術的資訊。對於我們來說,瞭解這些應用到底是什麼,以及它們在加密貨幣發展歷程起到的作用,這是非常重要的。由於加密貨幣是一個廣闊的世界,我們將一步一個腳印。
讓我們從以太坊區塊鏈開始,首先我們來看看以太坊虛擬機器。眾所周知,以太坊是首個有專門團隊來維護和發展的專案。
那麼,什麼是以太坊虛擬機器EVM?
就像所有區塊鏈一樣,以太坊會使用在自己計算機上執行的節點,來保證安全性同時也保持信任。每個參與到以太坊協議中的節點都會在各自電腦上執行軟體,這就被稱為以太坊虛擬機器(EVM)。
首先,以太坊虛擬機器會透過防止DOS(拒絕服務攻擊)攻擊來保證安全性,這個攻擊是加密貨幣領域的挑戰。其次,EVM會解釋並執行以太坊程式語言,並確保可以在沒有任何干擾的情況下實現通訊。
更詳細地來看,EVM可以簡單地理解為一個系統,旨在作為基於以太坊的智慧合約的執行時環境。眾所周知,智慧合約可以讓世界各地的人們在無需中心化機構的情況下,進行互動和交換價值。毫無疑問,這個技術會在不遠的未來,顛覆很多產業。
同時,我們需要注意到,以太坊虛擬機器是在沙盒中執行,這是和區塊鏈主鏈完全隔離的,並且完美地作為測試環境執行。因此,任何想要使用EVM建立智慧合約的人,都可以在不受到其他區塊鏈操作的影響下完成。
也許你會問:為什麼要在沙盒環境中執行測試?在沙盒環境下執行測試是非常必要的,因為如果有錯誤的程式碼會讓任何智慧合約毀滅。此外,沙盒環境提供了無限的機會來學習,迭代,改進並最終構建強大的智慧合約。
現在讓我們深入瞭解EVM與智慧合約之間的關係。
以太坊區塊鏈 vs EVM vs 智慧合約
以太坊區塊鏈可以託管三種型別的交易:
首先,你可以將以太坊從一個賬戶轉移到另一個賬戶。這些轉賬和比特幣轉賬差不多。例如,你可以轉3ETH到房東的賬戶,作為房租。這些轉賬記錄會包含以下內容:轉賬生效時的時間戳,轉出資金者的地址作為資金的來源,接受者的地址,當然還有資金的數額。
其次,使用者還可以不給特定物件轉賬。這類轉賬就是建立智慧合約。例如,假如Jackson和James很聰明,他們打算為特定賭注的條件建立智慧合約。這種轉賬就會包含轉出者的賬戶地址以及時間戳。
第三,從外部賬戶轉賬到智慧合約。每次賬戶想要執行智慧合約,轉賬就會根據智慧合約完成,而且相關的執行規則會記錄在資料中,來指導這個合約如何執行。
每次上述的轉賬發生,網路中的節點就會透過EVM來執行特定的程式碼。
智慧合約的費用
每次執行智慧合約,都需要支付給EVM一定金額來執行。這個費用是支付給特定的節點,它們是用來儲存,計算,執行和驗證智慧合約。
每個智慧合約的費用是基於每個狀態的成本來計算的。費用是透過燃料費用(Gas)來支付的,然後會轉換成以太坊。因此,為了執行智慧合約,你需要確定你想要花費的燃料費用(Gas)。這個執行過程會在完成轉賬或者當燃料極限達到的時候終止。這會防止智慧合約永遠無止境地執行下去。
那麼,到底以太坊虛擬機器是做什麼的?
當以太坊區塊鏈上有轉賬的時候,EVM會按照下面的步驟來執行:
1.確認轉賬是否有正確的數值,確認簽名的有效性以及是否轉賬nonce符合特定轉賬數量的nonce。如果有誤差,轉賬會被作為錯誤返回。
2 計算轉賬需要的費用,並且收取燃料費用。
3 執行數字資產轉賬到特定地址。
如果EVM會檢測轉出者沒有足夠的手續費用,那麼轉賬將被回滾。而且轉賬費用不會退回,這會支付給礦工。
但是,如果轉賬失敗是因為接受者地址有問題,EVM會把發出的資金數量以及相關的手續費,退還給發出者(沒有礦工收到費用)。
總結
以太坊虛擬機器是以太坊區塊鏈中,非常重要的部分。從本文可以看出,它在智慧合約儲存,執行和驗證過程中,都有非常重要的作用。
有了以太坊虛擬機器和智慧合約,你可以透過簡單地點選按鍵,就可以在全球進行交易,而且還無需任何中介,因此也避免了多餘的費用。
總地來說,以太坊虛擬機器會是以太坊區塊鏈中最重要的作用,同時會在2018年以及以後,有著顛覆性的影響。