[Coin] EVM到底是怎麼運作的?
各位前輩 韭菜 大家好
小弟我又來發問了
在研究過比特幣一陣子後
現在想把重心轉移到乙太坊上
乙太坊最吸引人的點 就是可以跑智慧合約
而智慧合約是靠EVM(乙太坊虛擬機)所執行
我感到不解的是
這個乙太坊虛擬機 到底是怎麼運作的?
按照去中心化的思想 這個虛擬機絕對不可能是只跑在某幾台特定機器上
而是整個ETH網路的每一台礦機都是這個虛擬機的一部分 對吧?
那麼智慧合約的程式碼是在所有機器上都跑完一遍
然後把輸出的結果互相比較 以多數的為準 這樣嗎?
因為以前在學校學到的分散式運算
都是把一個很大的工作拆分成好幾個子任務 在不同cpu或thread上執行 最後合併
但區塊鏈的智能合約 完全不是這樣 所以實在難以理解
懇請前輩給予指點
--
簡單講:一台算,其他台驗算。
你是算的還是驗算的,看你有沒有挖到礦決定。
喔喔 好像有點懂了 感謝ayu大
你連的RPC主機負責算,打包節點負責驗算。
後面的問題怎麼感覺跟是不是EVM沒什麼關係,EVM不就是
跟docker類似的東西嗎
所有機器看到的合約程式碼以及交易順序都是一致的(都來自
鏈上)
所以所有機器的計算結果會完全一樣
算不一樣的就是亂搞的 就會被排擠
簡單說 合約程式碼和交易序列就決定了運算結果 算出不是這
種結果的就是有問題
為了在去中心的前提下形成共識 這種執行結果的確定性是必要
的
反過來說 這也是為什麼EVM沒辦法支援那種每個機器會算出不
同結果的operation
例如「獲取機器本地時間」
EVM裡面要抓時間只能抓區塊的timestamp才能大家看到一樣
VM這個字其實有點泛用 做系統的人會覺得VM裡面跑的程式碼
原本是直接跑在真實機器上 只是現在被放進隔離的環境
但其實EVM的VM跟JVM的VM含意比較像 就是一套自定義的程式語
言 & bytecode & run-time執行環境
感謝苦瓜大詳解 Orz
感謝推文講解
爆
[問卦] 批踢踢變了 詐騙非洲學生的新聞居然燒不想問批踢踢為什麼淪落至此? 以往有什麼特別不公不義的事情都會有討論度 結果這兩天除了一篇發錢文有爆之外 幾乎沒有其他的討論熱度 明明報導者很用心爆
[問卦] 浪費了幾十億 那高端的合約可以公佈了嗎浪費了幾十億 那高端的合約可以公佈了嗎? CDC都說了 三百萬針如果沒人打 就是拿去丟 然後之前打的兩百萬 自己承認都是白打 要再重打別的牌子 所以其實也等於都是浪費 還白白浪費醫護的時間薪水還白死了幾個高端仔 所以高端的合約可以公佈了嗎?爆
Re: [問卦] 整天說白色蟑螂,結果到最後都綠的?當做閒聊 我也是自己在亂猜的 卡神原謝系 後來謝系被英派收編 卡神2019明顯在幫英派和暖男在PTT發文 製造大量蔡英文FB爆文爆
[問卦] 以前沒智慧手機的時候大家上課都在幹嘛現在小朋友過很爽 上課都直接在抽屜裡偷玩手遊 不像小弟我當年讀書 只能看著老師假裝聽課 實際上是在發呆 而當年的同學們有些是在偷看漫畫爆
[問卦] 欸不是,所以高端到底是拿來幹嘛的?當初高端颯爽登場 政府信心滿滿的喊 打完高端以後 大家依然可以出國 然後真的有人打了 但政府卻說認證還在申請中 大家再等一下 沒想到現在直接開放混打爆
[問卦] 覺得麥當勞點餐機好用的都是什麼人?麥當勞點餐機 史上最垃圾改版 反應不靈敏,要按一大堆 用點餐機的時間,都可以櫃台點三次 到底是在速食個懶趴83
[問卦] omicron病毒到底是怎麼跑到高雄的?==如題 omicron一開始都在桃園 偶爾跑幾個到雙北 結果今天一覺起來 竟然就有高雄一家三口確診==49
[問卦] 兔子是怎麼跑到十二生肖第四名的?兔子在十二生肖賽跑排名第四,算是很快的 大家都知道,老鼠是出奧步巴在牛身上 才贏得第一名 可是以我們對兔子的理解 兔子雖然跑很快,可是體力又不好30
[問卦] EXCEL最難的函數是哪個如題,相信很多人在工作上多少都接觸過excel 幾乎已經是蠻多辛苦上班族不可或缺的一部分 整天與表格數字報表大眼瞪小眼 那究竟,一大堆函數功能跟運算 大家覺得最麻煩跟最困難崩潰的函數又是哪個呢11
[問卦] ikea的冰淇淋機是怎麼運作的是這樣的 小弟今天跑去台中文心路的ikea 發現冰淇淋機好神奇 只要丟10塊就會掉出甜筒 再把甜筒放到機器上