買比特幣 買比特幣
Ctrl+D 買比特幣
ads

以太坊:解讀以太坊黃皮書(三):Gas與交易手續費背后的經濟機制_sprt幣會漲嗎

Author:

Time:1900/1/1 0:00:00

前文閱讀:

解讀以太坊黃皮書解讀以太坊黃皮書

又是激動人心的一刻,我們再次推出關于以太坊黃皮書的博文了!在這篇文章中,我們會學到更多關于Gas和支付的以太坊相關知識,了解以太坊背后的經濟學理論,以及解釋為什么手續費在以太坊生態系中如此重要。

讀完這篇博文,你就會知道為什么交易成本被稱為Gas,明白gasPrice與gasLimit之間的區別,也能了解礦工節點選擇待打包交易的策略。

本文是以太坊解析系列的第三篇文章。

介紹

我剛開始學習以太坊時,最先碰到的困惑就和交易手續費有關。我的疑惑是,“如果我可以免費獲得與Dapp相同的服務,為什么還要花錢用Dapp?”——很快地,我就意識到自己很傻很天真。

計算是有成本的——我不是指花在購買筆記本和平板電腦上的開銷,而是指運行虛擬機、數據存儲、信息處理等等服務的成本。今時今日,我們都非常習慣免費的服務,卻常常忘了一個關鍵點:有人在為這些服務買單!你正在免費使用的Gmail或Yahoo郵箱,如果要使整個服務保持正常運行,郵件提供商就要為服務器、數據存儲,及基礎設施買單。如果你有Facebook或Instagram賬號,那你肯定知道,在云端處理、安全存儲你所上傳的照片都需要成本。所以現在的免費服務和Dapp的付費服務,唯一的區別只是買單的人的不同。

動態 | BitSG幣星唐伯虎解讀趨勢之王ETF產品:今日(2020年2月17日)晚19:00,BitSG幣星創始人唐伯虎通過社群與用戶深度探討了其最近推出的交易衍生品ETF,并與現貨、杠桿、合約等投資方式進行對比,剖析了在趨勢行情中ETF得天獨厚的優勢:一鍵多空、比現貨賺、比合約穩、永不爆倉,完美平衡了收益與風險,唐伯虎認為ETF產品應用于主流數字貨幣市場擁有巨大優勢,將成為行業的下一個熱點投資渠道,BitSG幣星ETF產品的獨到設計融合了再平衡、復利等先進機制,將幫助投資者在趨勢行情中取得意想不到的超高回報率。

ETF全稱為Exchange Traded Fund,含義是可交易型基金。ETF在傳統金融中主要應用于投資標的指數跟蹤,并將底層資產的價格波動,按約定的杠桿反應在基金凈值上,使投資者更便捷、更有效的獲得價格波動產生的收益,是一種低操作門檻、高應用覆蓋的成熟金融衍生品。[2020/2/17]

現在,我們將以太坊網絡試想成一部巨大的計算機,能夠實現運算及讀寫數據。這與放在你自己家里的計算機不同,這部巨型計算機由所有人所共有,只要有以太坊賬戶,任何人都能與整個平臺進行交互,像是轉移以太幣、部署智能合約等等。但囿于分布式系統的原生限制,“誰來為這些服務買單”的問題就比較難回答了。

動態 | 區塊鏈技術助力共建中國人群基因變異解讀標準數據庫發布:據央廣網消息,5月27日,“區塊鏈技術助力共建中國人群基因變異解讀標準數據庫”在2019數博會“生命大數據高峰論壇”上發布。華大集團大數據中心副主任楊夢表示,數據庫的建立必須滿足可公開、可溯源、不可篡改、迭代更新、臨床信息溯源、符合倫理法規等條件,而利用區塊鏈技術可以實現賬本公開、所有歷史信息留痕、哈希摘要上鏈、分布式共識、私有數據存證、細顆粒度權限控制等。[2019/5/28]

Gas

Gas是以太坊中所有計算量的計價單位,以太坊正是使用Gas來解決“誰為服務買單”的問題。你想要轉賬給另一個以太坊賬戶嗎?你想要部署智能合約來存儲手機通訊錄嗎?沒問題,請先支付Gas。

這很容易讓人聯想到,汽車和燃油的關系:如果你想從A地開車到B地,一定要耗費部分燃油;同理,如果你想要在以太坊EVM上執行某些運算,也要支付Gas。車想要開得越遠,則需要越多燃油;想要在以太坊上進行越多計算,則要支付越多Gas。

我們可以在以太坊黃皮書的附錄G,找到每一種EVM運算對應所需要消耗的Gas數量;這些數值看起來很隨意,但其實背后是有道理的。一般來講,這些數值反映了執行運算的成本,和占用的永久存儲器資源。如果想要了解更詳細的Gas成本計算公式,可以查閱“以太坊1.0Gas成本表”。我不太確定它與最新采用的Gas消耗量是否一致,但至少能讓你對操作碼的Gas耗用量制定原則更有概念。

動態 | 比特幣COT持倉周報解讀:Asset Manager賬戶空頭持倉為0 短期維持看多判斷:美國商品期貨委員(CFTC)今日發布了截止5月7日的交易員持倉報告(COT),報告顯示,芝加哥期貨交易所(Cboe)比特幣期貨持倉量共2607手,環比減少103手。杠桿基金多單226手,空單887手,凈空頭數量為661手。芝加哥商品交易所(CME)比特幣期貨持倉量為4388手,環比增加75手,杠桿基金多頭合約為1941手,空頭合約為2692手,凈空頭合約為751手。上周Ass..[2019/5/11]

從另一個角度來說,以太坊采取使用者付費的模式,能夠避免資源的濫用。一旦你必須為每種運算支付費用,你就會盡可能的將代碼寫得簡潔高效;Gas的存在還能阻止攻擊者通過無效運算,對以太坊網路進行泛洪攻擊。

gasPrice和gasLimit

現在我們明白了Gas,是時候談談Gas究竟要如何定價;先讓我們回到汽車和燃油的例子。

如果你的車子油箱容量為50升,裝滿這個油箱你要支付多少錢?這取決于加油站每升的油價對吧?以太坊中Gas的定價也是一樣的!如果你要執行的交易需要耗費10Gas,則你要支付的費用取決于每單位Gas的價格。

以太坊安全主管解讀硬分叉Constantinople:重建區塊哈希值:據Ethnews的報道,今日,以太坊安全主管Martin Swende發布了一系列文章,介紹即將到來的以太坊硬分叉Constantinople正在討論中的一些特點。文章討論了V神提出的EIP210提案,Swende解釋道,提案將分成三個階段重建區塊哈希值,允許新的區塊直接與舊區塊不按順序地連接,增加區塊間的連接性。EIP210將按照EDCC或智能合約的方式算入哈希值,“將會強化輕客戶端要求”,這個區塊哈希值升級將使以太坊用戶免于查看歷史區塊哈希值。[2018/5/1]

那我們怎么知道每單位Gas的價格是多少呢?有種誤導性的說法是:自己愛定多少就定多少。雖然從技術角度來講沒有錯,但要具體知道Gas的定價,我們需要更多知識作為鋪墊。

如果你讀過以太坊解析系列的上一篇文章,應該記得以太坊交易結構中,除了其他部分,還包含了?gasPrice?和?gasLimit。

gasPrice?表示交易發送方對每單位?Gas?愿意支付的價格,這意味著交易發送方可以自定義愿意支付的每單位Gas價格。假設一筆交易需要耗費10Gas,而我們愿意支付3Wei/Gas,則發送這筆交易的成本總價就是30Wei。

證券時報發文解讀比特幣價格暴力拉升的背后原因: 證券時報發文稱,這次拉升從各交易所分鐘級時間差來看,是從Bitfinex開始拉,然后被套利交易者迅速擴散到了其他平臺上。據幣圈一位專業投資者介紹,由于Bitfinex自己發行了USDT,然后用自己發行的USDT買入BTC,短時間內拉升比特幣價格,同時平臺上的空倉悉數爆倉,從而獲得大量BTC,接著再以BTC交換海量增發出去的USDT進而回收大部分的增發,并盈余大量BTC。[2018/4/15]

gasLimit表示交易發送方最多能接受多少Gas被用于執行此交易。因為有時候,你無法確切知道執行一筆交易要耗費多少Gas;又或是你的智能合約中,有永遠跳不出的死循環bug,假如沒有gasLimit,這會導致發送方的賬戶余額被誤消耗殆盡。gasLimit就是一種安全機制,防止有人因為錯誤估算或bug而把賬戶中所有以太幣消耗掉。

另一個有趣的點是,gasLimit可以被視為預付的Gas。當節點在驗證交易時,先將gasPrice乘gasLimit算出交易的固定成本。如果交易發送方的賬戶余額小于交易固定成本,則該交易視為無效。交易執行完之后,剩余的Gas會退回至發送方賬戶;當然,如果交易執行中Gas耗盡,則不會退回任何東西。這也能解釋為什么交易發送方總是將gasLimit設得高于預估的Gas量。

搞清楚這兩個參數的意思之后,你可能會想問:“為什么是交易發送方自行決定每單位Gas的價格”。如果你跑去最近的加油站告訴收銀員,“每升油我就愿意支付5分錢”;好一點的收銀員可能就一笑而過,而理智的收銀員可能會報警。所以想要了解設計機制,你需要知道礦工節點的工作以及手續費是什么。

礦工

區塊是包含一組交易集合的數據結構,而以太坊中的礦工節點負責創建鏈上的區塊。創建區塊的時候,礦工會從交易緩存池中選擇交易并開始出塊。

我現在不展開以太坊挖礦算法的細節,大家只需要記住挖礦是個昂貴的過程,所以如果挖礦沒有回報,那肯定沒有礦工愿意干!

在以太坊中,每當礦工成功創建一個區塊,就能獲得定額的出塊獎勵及引用叔塊的獎勵,同時還能獲得包含在這個區塊中的所有交易的手續費;所以交易中的gasPrice設置得越高,礦工就能得到越多交易手續費。如果你想要知道關于礦工獎勵的更多信息,請參考此處。

我們假設一個簡單的場景。Bob的賬戶里有200wei,John的賬戶里有100wei,他倆都想要發送一筆需要耗用90Gas的交易。

Bob設置gasLimit=100,gasPrice=2;John想將gasLimit設為200,但不幸的是他只有100wei,這樣設置會使得交易固定成本高于賬戶余額;所以John最終設gasLimit=100,gasPrice=1。

當進入選擇交易打包進塊的環節時,礦工傾向選擇手續費更高的交易。在我們的例子中,Bob的gasPrice比John的高兩倍;因為兩筆交易都需要90Gas,所以礦工選擇Bob的交易能獲得兩倍的手續費獎勵。

-礦工會選擇gasPrice最高的交易-

由交易發送方付費來獎勵礦工的機制,在以太坊中形成一種能自我調節的經濟體系。交易發送方千方百計想要降低交易成本,而礦工總是希望收益最大化,兩者形成一種平衡。作為交易發送方,如果你把gasPrice設得越高,意味著礦工越有動力打包你的交易,則你的交易能越早被裝進區塊。

有的礦工甚至會設置自己的gasPrice下限,直接忽略那些gasPrice小于下限的交易。

當發送交易時,我們很難知道當前有效的最小gasPrice是多少。這些工具能夠掃描整個以太坊網絡,算出當前其他交易的gasPrice均值,幫助發送方選擇能被礦工接受的合理gasPrice。

結論

從本文中,我們學到了就像汽車消耗燃油一樣,執行以太坊交易需要消耗Gas。希望本文能讓大家了解計算需要成本,以及為什么我們需要付費才能獲得以太坊的服務。

我們還探討了gasPrice和gasLimit的重要性;如果智能合約出現bug或估算錯誤,gasPrice能保護使用者避免平白損失以太幣。

再者,我們還研究了交易手續費背后的經濟機制,以及礦工如何選擇交易以達到收益最大化。現在我們知道如何調整gasPrice,讓自己發出的交易更吸引礦工,從而使得交易被更早打包。

下一篇博文我們會討論交易執行模型,這也是以太坊黃皮書中最復雜的部分所以我可能會將這部分內容拆分成數篇文章。請持續關注!

目前的系列文章大家還喜歡嗎?我很期待聽到你們的想法。如果你發現文中任何錯誤或是值得改進的地方,請如往常在評論中告訴我,我總是喜歡收到反饋:)

下期見!

原文鏈接:?https://www.lucassaldanha.com/ethereum-yellow-paper-walkthrough-3-7-gas-and-payment/作者:?LucasSaldanha翻譯&校對:?IANLIU&阿劍

Tags:GAS以太坊SPRICEgas幣騙局比特幣以太坊sprt幣會漲嗎alice幣還有長期價值嗎

火幣APP下載
TOKE:搜索指數分析:比特幣可能是一種“相對的避險資產”_比特幣害死多少人規模

比特幣搜索指數分析揭示,比特幣可能是一種“相對的避險資產”。比特幣從近20,000美元跌至目前的8,000多美元,谷歌上對“Bitcoin”的搜索熱度也在不斷降低.

1900/1/1 0:00:00
區塊鏈:解析 | 區塊鏈四大融資模式的差異性_區塊鏈dapp開發一個多少錢

區塊鏈技術的出現不僅為一種新的金融資產注入了活力,而且也為初創企業提供了一種新的商業模式,越來越多的新項目正在嘗試使用加密貨幣來融資.

1900/1/1 0:00:00
以太坊:Vitalik Buterin:以太坊低估了社區的重要性,我們在溝通方面做得很不夠_RIN

據Trustnodes10月15日報道,以太坊的聯合創始人VitalikButerin在最近的一次會議上表示,以前他認為只要做好技術,社區自然會建好,但他現在認為,如果不對社區進行投資.

1900/1/1 0:00:00
XOR:計算機時代的對稱密碼學:從100美元富蘭克林到二進制XOR到AES_XOR價格

計算機沒有出現的時代是古典密碼學,計算機出現后是現代密碼學。有什么區別呢?大家回憶下之前所講的隱藏法、移位替換、維吉尼亞加密、包括二戰時期的恩尼格碼機,都是英文字母,比如恩尼格碼機的26個齒輪槽.

1900/1/1 0:00:00
NBA:觀點 | 從智能合約到永不停歇的代碼,以太坊該如何走向合規之路?_區塊鏈專業怎么樣

日本大阪,以太坊基金會研究員VladZamfir在此前的Devcon5大會上給出了一個明確警示:開發者需要開始考慮以太坊的合規性問題了,而不是寄希望于等以太坊壯大之后政府不得不接受它.

1900/1/1 0:00:00
區塊鏈:螞蟻區塊鏈云棲大會:2020年用區塊鏈服務1億中國人_NFC

“我預測,到明年這個時候,區塊鏈在中國能夠服務的人群會超過一個億”,螞蟻金服資深總監李杰力說。這一幕發生在9月26日的云棲大會·螞蟻區塊鏈生態峰會上,在這場峰會的圓桌論壇環節,李杰力與金融機構的.

1900/1/1 0:00:00
ads