區(qū)塊鏈是所有數(shù)字貨幣的基礎(chǔ),并且它也是個快速發(fā)展的技術(shù),其中會有很多應(yīng)用或者項目來解決很多問題。作為數(shù)字貨幣愛好者,也許你聽過類似智能合約和以太坊虛擬機(EVM)這些概念。但是你知道它們到底是什么,而且是怎么運作的嗎?
很不幸,很多人只是知道很少的區(qū)塊鏈底層技術(shù)。對于我們來說,了解這些應(yīng)用到底是什么,它們在數(shù)字貨幣的發(fā)展中,起到什么作用,這是非常重要的。由于數(shù)字貨幣世界是非常復雜的,我們每次都了解一樣東西。
讓我們從以太坊區(qū)塊鏈開始,特別是來看看以太坊虛擬機。我們都知道,以太坊是首個有專門團隊來維護和發(fā)展的項目。
那么,什么是以太坊虛擬機EVM?就好像所有區(qū)塊鏈技術(shù)那樣,以太坊會使用在自己計算機上運行的節(jié)點,來保證安全性同時也維持信任。每個參與到以太坊協(xié)議中的節(jié)點都會在各自電腦上運行軟件,這就被稱為以太坊虛擬機(EVM)。
首先,以太坊虛擬機會通過防止DOS攻擊,來確保安全性,這個攻擊是數(shù)字貨幣領(lǐng)域的挑戰(zhàn)。其次,以太坊虛擬機會編譯以太坊程序語言,并且保證這之間的通信不會有任何的干擾。
更詳細地來看,以太坊虛擬機可以很容易就被理解,我們可以當作一個系統(tǒng)用來為以太坊智能合約創(chuàng)建運行環(huán)境。我們都知道,智能合約可以讓世界各地的人們進行交互和交換價值,并且無需中心化的機構(gòu)。并且毫無疑問,這個技術(shù)會在不遠的未來,顛覆很多產(chǎn)業(yè)。
同時,我們需要注意到,以太坊虛擬機是在沙盒中運行,這是和區(qū)塊鏈主鏈完全分開的,并且非常適合作為測試環(huán)境。因此,任何想要使用以太坊虛擬機創(chuàng)建智能合約的人,都可以在不受到其他區(qū)塊鏈操作的影響下完成。
也許你會問:為什么這些測試會在沙盒環(huán)境下運行?在沙盒環(huán)境下運行測試是非常必要的,因為如果有錯誤的代碼會讓任何智能合約毀滅。而且,沙盒環(huán)境會提供無數(shù)的機會來學習,提高,然后最終打造穩(wěn)定的智能合約。
現(xiàn)在我們來深入了解下,以太坊虛擬機和智能合約之間的關(guān)系。
以太坊區(qū)塊鏈 vs 以太坊虛擬機 vs 智能合約以太坊區(qū)塊鏈有三種轉(zhuǎn)賬:
首先,你可以將以太坊從一個轉(zhuǎn)賬轉(zhuǎn)移到另一個。這些轉(zhuǎn)賬和比特幣轉(zhuǎn)賬差不多。例如,你可以轉(zhuǎn)賬3ETH到房東的賬戶,作為房租。這些轉(zhuǎn)賬記錄會包含以下信息:轉(zhuǎn)賬發(fā)生的時候,會產(chǎn)生時間戳,發(fā)出資金者的以太坊地址會作為資金的來源,接受者的地址,當然還有資金的數(shù)額。
其次,用戶還可以不給特定對象轉(zhuǎn)賬。這類轉(zhuǎn)賬就是創(chuàng)建智能合約。例如,Jackson和James,他們決定在某種特定情況下,去創(chuàng)建智能合約。這種轉(zhuǎn)賬就會包含轉(zhuǎn)出數(shù)量以及時間戳。
第三,從外部賬戶轉(zhuǎn)賬到智能合約。每次賬戶想要執(zhí)行智能合約,轉(zhuǎn)賬就會根據(jù)智能合約完成,而且相關(guān)的執(zhí)行規(guī)則會記錄在數(shù)據(jù)中,來指導這個合約如何運行。
每次上面的轉(zhuǎn)賬發(fā)生,網(wǎng)絡(luò)中的節(jié)點就會通過以太坊虛擬機來運行特定的代碼。
智能合約的費用每次運行智能合約,都需要支付給以太坊虛擬機進行執(zhí)行。這個費用是支付給特定的節(jié)點,它們是用來存儲,計算,執(zhí)行和驗證智能合約。
每個智能合約的費用是基于每個狀態(tài)成本來計算的。費用是通過燃料費用來支付的,然后會轉(zhuǎn)換成以太坊。因此,為了執(zhí)行智能合約,你需要確定需要花費的燃料費用。這個執(zhí)行過程會在完成轉(zhuǎn)賬或者當燃料極限達到的時候終止。這會防止智能合約永遠無止境地運行下去。
那么,到底以太坊虛擬機是做什么的?當以太坊區(qū)塊鏈上有轉(zhuǎn)賬的時候,以太坊虛擬機會按照下面的步驟來執(zhí)行:
1.確認轉(zhuǎn)賬是否有正確的數(shù)值,確認簽名的有效性以及是否轉(zhuǎn)賬nonce符合特定轉(zhuǎn)賬數(shù)量的nonce。如果有誤差,轉(zhuǎn)賬會被作為錯誤返回。
2 計算轉(zhuǎn)賬需要的費用,并且收取燃料費用。
3 執(zhí)行數(shù)字資產(chǎn)轉(zhuǎn)賬到特定地址。
以太坊虛擬機會檢測,發(fā)出者有足夠的手續(xù)費用,不然轉(zhuǎn)賬就會退回。而且轉(zhuǎn)賬費用不會退回,這會支付給礦工。
但是,如果轉(zhuǎn)賬失敗是因為接受者地址有問題,以太坊虛擬機會把發(fā)出的資金數(shù)量以及相關(guān)的手續(xù)費,退還給發(fā)出者(沒有礦工收到費用)。
總結(jié)以太坊虛擬機是以太坊區(qū)塊鏈中,非常重要的部分。從本文可以看出,它在智能合約存儲,執(zhí)行和驗證過程中,都有非常重要的作用。
有了以太坊虛擬機和智能合約,你可以通過簡單地點擊按鍵,就可以在全球進行交易,而且還無需任何中介,因此也避免了多余的費用。
總地來說,以太坊虛擬機會是以太坊區(qū)塊鏈中最重要的作用,同時會在2018年以及以后,有著顛覆性的影響。