作者:
kugwa (kugwa)
2022-02-25 18:17:00所有機器看到的合約程式碼以及交易順序都是一致的(都來自鏈上)所以所有機器的計算結果會完全一樣算不一樣的就是亂搞的 就會被排擠簡單說 合約程式碼和交易序列就決定了運算結果 算出不是這種結果的就是有問題為了在去中心的前提下形成共識 這種執行結果的確定性是必要的反過來說 這也是為什麼EVM沒辦法支援那種每個機器會算出不同結果的operation例如「獲取機器本地時間」EVM裡面要抓時間只能抓區塊的timestamp才能大家看到一樣VM這個字其實有點泛用 做系統的人會覺得VM裡面跑的程式碼原本是直接跑在真實機器上 只是現在被放進隔離的環境但其實EVM的VM跟JVM的VM含意比較像 就是一套自定義的程式語言 & bytecode & run-time執行環境