Filecoin GAS FREE

簡介

與許多區(qū)塊鏈的傳統(tǒng)情況一樣亡脸,Gas是一個度量單位,用來衡量為了執(zhí)行上鏈消息操作消耗了多少存儲和/或計算資源,它的工作原理如下:為了消息被執(zhí)行并包含在一個塊中(即為了消息能成功上鏈),消息發(fā)送方會指定他們愿意支付的最大金額浅碾,這是根據(jù)所有的GAS單位數(shù)(GasLimit)(它通常預(yù)期高于實際的使用GAS的單位(GasUsed))和每單位GAS的費用(GasFeeCap)規(guī)定的大州。
傳統(tǒng)上,GasUsed * GasFeeCap作為獎勵給區(qū)塊生產(chǎn)礦工,該計算公式的結(jié)果被視為消息包含的優(yōu)先費垂谢,也就是說厦画,消息按遞減順序排序,且GasUsed * GasFeeCap最高的消息優(yōu)先滥朱,因為它們給礦工帶來了更多的利潤根暑。
然而,由于一些原因徙邻,這種支付GAS的策略(GasUsed * GasFeeCap)對區(qū)塊開采礦工來說是有問題的排嫌。首先,一個區(qū)塊生成礦機(jī)可能免費上鏈一條高成本的消息(就所需的鏈資源而言)鹃栽,在這種情況下躏率,鏈本身需要承擔(dān)成本。其次民鼓,消息發(fā)送方可以為低成本的消息設(shè)置任意高的價格(同樣,就鏈資源而言)蓬抄,從而導(dǎo)致DoS漏洞丰嘉。
為了應(yīng)對這種情況,F(xiàn)ilecoin區(qū)塊鏈定義了一個每條消息都需要燃燒的基準(zhǔn)費用(BaseFee)嚷缭。他們給出的理由是:GAS是鏈上資源消耗的一種衡量標(biāo)準(zhǔn)饮亏,燃燒掉比獎勵給礦工更有意義。這樣就避免了礦商的收費操縱阅爽。BaseFee是動態(tài)的路幸,根據(jù)網(wǎng)絡(luò)擁塞情況自動調(diào)整。這使網(wǎng)絡(luò)應(yīng)對spam攻擊時更具有彈性付翁。在SPAM攻擊期間简肴,網(wǎng)絡(luò)負(fù)載會增加,由于基準(zhǔn)費用的增加百侧,攻擊者不可能長期保持整個塊都是SPAM信息砰识。
最后,GasPremium是發(fā)送方支付的優(yōu)先費用佣渴,以激勵礦工挑選最有利可圖的信息辫狼。換句話說,如果消息發(fā)送者希望更快的上鏈其消息辛润,他們可以設(shè)置更高的GasPremium膨处。

參數(shù)

  • GasUsed是為了執(zhí)行消息而消耗的資源數(shù)量(或GAS單位)的度量。每個單位的GAS是用attoFIL來測量的,因此真椿,GasUsed是一個代表能量消耗單位的數(shù)字鹃答。GasUsed與消息是否正確執(zhí)行或失敗無關(guān)。
  • BaseFee是每條消息執(zhí)行時燃燒的每單位GAS的設(shè)定價格(以attoFIL/gas單位衡量)(發(fā)送到一個不可恢復(fù)的地址)瀑粥。BaseFee的值是動態(tài)的挣跋,根據(jù)當(dāng)前的網(wǎng)絡(luò)擁塞參數(shù)進(jìn)行調(diào)整。例如狞换,當(dāng)網(wǎng)絡(luò)中 GAS 限用量超過5B時避咆,BaseFee增加,當(dāng)GAS限用量低于5B時修噪,BaseFee會減少查库。
    應(yīng)用于每個塊的BaseFee都應(yīng)該包含在塊本身中。鏈的頭部必須要包含當(dāng)前BaseFee的值黄琼。BaseFee適用于每個GasUsed的單位樊销,因此,一條消息燃燒的GAS總量為 BaseFee * GasUsed脏款。注意围苫,每個消息都會觸發(fā)BaseFee,但是它的值對于同一塊中的所有消息都是相同的撤师。
  • GasLimit以GAS為單位的度量剂府,并由消息發(fā)送方設(shè)置。它對一條消息在執(zhí)行上鏈操作時應(yīng)該被允許消耗的gas的數(shù)量(即gas的單位數(shù))施加了嚴(yán)格的限制剃盾。消息對于它所觸發(fā)的每個基本操作都會消耗gas腺占,而耗盡gas的消息將失敗。當(dāng)一條消息失敗時痒谴,由于該消息的執(zhí)行而發(fā)生的對狀態(tài)的每一次修改都將恢復(fù)到它之前的狀態(tài)衰伯。不管消息執(zhí)行是否成功,礦機(jī)都將獲得執(zhí)行消息所消耗資源的獎勵(參見下面的GasPremium)积蔚。
  • GasFeeCap是信息發(fā)送方愿意支付的每單位GAS的最高價格(以attoFIL/gas單位衡量)意鲸。與GasLimit一起,GasFeeCap設(shè)置了發(fā)送方為消息支付的FIL的最大金額:發(fā)送方保證消息的成本不會超過GasLimit * GasFeeCap attoFIL(不包括消息為接收方支付的任何費用)库倘。
  • GasPremium是消息發(fā)送方為了消息上鏈愿意支付的“小費”(在基準(zhǔn)費之上)的每單位GAS的價格(以attoFIL/gas衡量)临扮。一條消息通常可以被賺取的利潤是GasLimit * GasPremium attoFIL教翩,通常GasPremium = GasFeeCap - BaseFee杆勇。請注意,GasPremium應(yīng)用于GasLimit饱亿,而不是GasUsed蚜退,以便讓礦工的消息選擇更簡單闰靴。

注意

  • GasFeeCap 應(yīng)該始終高于網(wǎng)絡(luò)的BaseFee,如果消息的GasFeeCap低于BaseFee,則其余部分將來自礦工作為懲罰钻注。這個懲罰適用于礦工蚂且,因為他們選擇了一條支付低于網(wǎng)絡(luò)BaseFee(即不能支付網(wǎng)絡(luò)成本)的消息。然而幅恋,如果同一個發(fā)送方在消息池中有另一條消息杏死,其GasFeeCap遠(yuǎn)大于BaseFee,則礦工可能會選擇其GasFeeCap小于BaseFee的消息(同時也會選擇另一條GasFeeCap遠(yuǎn)大于BaseFee的消息)捆交。因為如果存在多個消息淑翼,則礦機(jī)應(yīng)該從消息池中挑選發(fā)送方的所有消息。原因是品追,第二條消息增加的費用將彌補(bǔ)第一條消息損失玄括。
  • 如果BaseFee + GasPremium > GasFeeCap,那么礦工可能不會獲得整個GasLimit * GasPremium作為他們的獎勵肉瓦。
  • 一條消息的花費被嚴(yán)格限制在GasFeeCap * GasLimit之內(nèi)遭京。從這筆金額中,首先支付(燒掉)BaseFee泞莉。之后哪雕,最高GasLimit * GasPremium將給予礦工作為獎勵。
  • 一條消息會在GAS耗盡時失敗鲫趁,退出代碼為“out of gas”热监。GasUsed * BaseFee將仍然燃燒(在這種情況下GasUsed = GasLimit),礦工將仍然獎勵GasLimit * GasPremium饮寞,前提是GasFeeCap > BaseFee + GasPremium
  • GasFeeCap的值太低列吼,很可能會導(dǎo)致消息被困在消息池中幽崩,因為從利潤的角度來說它不太有吸引力,任何礦工都不愿意打包上鏈這條消息寞钥。當(dāng)這種情況發(fā)生時慌申,需要更新GasFeeCap,從而使消息對礦工更具吸引力理郑。消息的發(fā)送方可以推送一個新的消息到消息池(默認(rèn)情況下,將傳播到其他礦工的消息池)蹄溉,這條新消息與舊信息的標(biāo)識符必須是相同的(例如,相同的Nonce),然后更新這條新消息的GasPremium,至少增加至少25%您炉。

翻譯自https://spec.filecoin.io/#section-systems.filecoin_vm.gas_fee

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柒爵,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子赚爵,更是在濱河造成了極大的恐慌棉胀,老刑警劉巖法瑟,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異唁奢,居然都是意外死亡霎挟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門麻掸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來酥夭,“玉大人,你說我怎么就攤上這事脊奋“颈保” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵狂魔,是天一觀的道長蒜埋。 經(jīng)常有香客問我,道長最楷,這世上最難降的妖魔是什么整份? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮籽孙,結(jié)果婚禮上烈评,老公的妹妹穿的比我還像新娘。我一直安慰自己犯建,他們只是感情好讲冠,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著适瓦,像睡著了一般竿开。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上玻熙,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天否彩,我揣著相機(jī)與錄音,去河邊找鬼嗦随。 笑死列荔,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的枚尼。 我是一名探鬼主播贴浙,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼署恍!你這毒婦竟也來了崎溃?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤锭汛,失蹤者是張志新(化名)和其女友劉穎笨奠,沒想到半個月后袭蝗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡般婆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年到腥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蔚袍。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡乡范,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出啤咽,到底是詐尸還是另有隱情晋辆,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布宇整,位于F島的核電站瓶佳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鳞青。R本人自食惡果不足惜霸饲,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望臂拓。 院中可真熱鬧厚脉,春花似錦、人聲如沸胶惰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孵滞。三九已至中捆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坊饶,已是汗流浹背轨香。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留幼东,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓科雳,卻偏偏與公主長得像根蟹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子糟秘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容