據了解,
以太坊虛擬機處理交易時,虛擬機會根據交易中確定的一個一個的操作指令進行逐個處理,而每個操作指令都有明文規定的Gas消耗量。
以太坊系統規定了兩個賬戶:一個是正常賬戶,一個是智能賬戶。那么,普通的轉賬交易,也就是調用正常賬戶,所需要的Gas是固定的21000;而調用智能賬戶的的話,因為智能合約的復雜程度不同,使得所需要的Gas也不同,處理交易占用的資源(計算量、內存等)越多,那么所需要的Gas也就越多,比如:執行一次加法運算將消耗 3Gas,如果執行更復雜的運算,那么消耗的Gas就更多。
那么大家可能會問一個問題:當用戶的交易涉及一個惡意的智能合約,這個合約超級復雜,執行這個合約要消耗無限的燃料,怎么辦呢?以太坊系統的方案是:為了避免惡意智能合約引起無限的Gas消耗,用戶需要在發送交易時設定允許消耗的燃料上限,即 GasLimit,這樣一來,就算有惡意智能合約,最壞情況也只是消耗 GasLimit 所規定的燃料范圍之內。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。