gas直譯為汽油,是一種可消耗的量。在Ethereum中赡麦,gas可以理解為一種經(jīng)濟措施。
大家都知道中本聰在bitcoin中并沒有寫入一個循環(huán)帕识,因為如果這個程序運行下去泛粹,就是一個無限循環(huán),俗稱"死循環(huán)"肮疗。那礦工如何決定要不要放棄晶姊?因為沒有人能夠證明一個程序能不能終止,停機定理伪货,也許人有證明過们衙。
當(dāng)引入gas機制后,程序的每一步運行都會消耗一定量的gas碱呼,當(dāng)gas消耗完之后蒙挑,程序運行也會停止。而gas是需要法幣進(jìn)行購買的愚臀。你可以寫入一個死循環(huán)忆蚀,但唯一的作用就是把你的錢花光。就會有人有這樣的問題,那么這個錢最終到了誰的口袋蜓谋?沒錯梦皮,是礦工!因為礦工幫你提供了算力服務(wù)桃焕,保證程序的運行剑肯,你付費給礦工,就像Bitcion里的手續(xù)費一樣观堂。
這時就會出現(xiàn)另一個問題:以太坊產(chǎn)生以太幣让网,又引入gas機制,會不會重復(fù)师痕?不會溃睹,兩者各有分工。以太幣作為投資貨幣胰坟,必然受到市場買賣因素影響其價格因篇,有可能今天上漲50%,明天下降50%笔横,但這種價格的波動對于程序的執(zhí)行成本確是無法接受的竞滓,例如,昨天執(zhí)行一個加法用十塊錢吹缔,今天確要花費五十塊商佑。因此引入了gas來解耦,把市場價格和計算成本進(jìn)行解耦,以太幣和gas之間是有匯率的厢塘,以太幣價格漲沒關(guān)系茶没,只要gas價格降就行。保證相同程序的運行所消耗的法幣是一致的晚碾。
gas的運算開銷也是很低的抓半,復(fù)雜一點的也只要幾分錢。
本文大部分觀點來自萬向區(qū)塊鏈實驗室在上海舉行了一個全球性的區(qū)塊鏈Hackathon(黑客馬拉松)上迄薄,Terry和Jan的對話琅关。