時(shí)間:2023-08-05|瀏覽:229
撰文:ProtocolLabs
翻譯:FileCombo
Gas是我們在Filecoin中經(jīng)常聽到的詞,Gas譯為「汽油費(fèi)」,本篇將講述關(guān)于汽油費(fèi)收費(fèi)的運(yùn)作方式以及為什么它們對Filecoin網(wǎng)絡(luò)很重要。
Filecoin是區(qū)塊鏈經(jīng)濟(jì),參與者在分布式網(wǎng)絡(luò)上進(jìn)行交易。通過礦工在他們挖掘的區(qū)塊中記錄和處理消息來更新網(wǎng)絡(luò)狀態(tài)。有多種消息,包括存儲入庫,存儲交易,正在進(jìn)行的證明,令牌交易等。
但是,由于鏈性能,可伸縮性和驗(yàn)證時(shí)間所施加的約束條件,一個(gè)塊中可以處理的消息數(shù)受到限制。這樣,在任何給定時(shí)間,網(wǎng)絡(luò)上只有消息的子集可以使其成為一個(gè)塊。
此外,執(zhí)行消息會消耗網(wǎng)絡(luò)上的計(jì)算和存儲資源。在這里,Gas開始發(fā)揮作用,以衡量消息消耗的資源。消息消耗的Gas直接影響發(fā)送者將消息提交到區(qū)塊鏈所支付的成本。并且一個(gè)區(qū)塊中所有消息所消耗的Gas總量是有限的。
Gas可以被視為Filecoin區(qū)塊鏈的燃料,就像汽車燃料一樣。在進(jìn)行公路旅行之前,您必須支付在行駛距離和為山上和下坡引擎供電時(shí)消耗的汽油。同樣,F(xiàn)ilecoin上的消息發(fā)送者要為「推動」Filecoin區(qū)塊鏈上的消息執(zhí)行的Gas付費(fèi)。
Gas最初是在以太坊區(qū)塊鏈上實(shí)現(xiàn)的,用于衡量消息消耗的計(jì)算和存儲資源。這是短語「GasUnit」的起源。從歷史上看,在其他區(qū)塊鏈中,礦工以本機(jī)貨幣指定GasFee,然后根據(jù)消息消耗的Gas量向生產(chǎn)礦工的區(qū)塊支付優(yōu)先費(fèi)用。
但是,Gas消耗是整個(gè)網(wǎng)絡(luò)應(yīng)承擔(dān)的成本,因?yàn)榫W(wǎng)絡(luò)上的每個(gè)節(jié)點(diǎn)都必須花費(fèi)存儲和計(jì)算資源來驗(yàn)證每條消息并保持網(wǎng)絡(luò)的一致狀態(tài)。這樣,基于特定消息的Gas使用量,會燃燒一些Gas以補(bǔ)償網(wǎng)絡(luò)。不散布此成本會造成激勵(lì)失調(diào),因?yàn)槌蓧K生產(chǎn)的礦工可能會免費(fèi)包含計(jì)算上昂貴的消息,而其他人則會為此付出代價(jià)。
BaseFee是以太坊的EIP1559引入的概念。一條消息的BaseFee乘以Gas使用量將會被「燃燒」。這意味著將其發(fā)送到無法使用的地址,并從網(wǎng)絡(luò)上的流通中刪除。它會根據(jù)給定時(shí)刻對網(wǎng)絡(luò)帶寬的需求進(jìn)行動態(tài)調(diào)整。當(dāng)網(wǎng)絡(luò)變得擁塞時(shí),它會上升,從而使估值低于網(wǎng)絡(luò)BaseFee的郵件發(fā)件人將保留并等待直到擁塞消除。BaseFee的變化速率旨在快速增加潛在的DOS攻擊,并隨著網(wǎng)絡(luò)變得不那么繁忙而迅速降低。導(dǎo)致網(wǎng)絡(luò)變得更加擁塞的消息發(fā)件人也將通過支付更高的費(fèi)用來內(nèi)部化成本。燃燒還會產(chǎn)生緩慢的通縮壓力,使所有網(wǎng)絡(luò)參與者受益。
回到我們的公路旅行類比中,考慮一下汽車中汽油之類的Gas,以及正常交通中的網(wǎng)絡(luò)。如果道路擁堵(例如在高峰時(shí)段),并且交通停走,您的汽車將消耗更多的汽油。在這種情況下,可能需要稍等片刻然后再開始旅行。相同的理論也適用于Filecoin網(wǎng)絡(luò)-當(dāng)網(wǎng)絡(luò)流量擁塞時(shí),汽油費(fèi)將很高,因此等待稍后再試可能是有意義的。
除了燒掉一些費(fèi)用以補(bǔ)償網(wǎng)絡(luò)之外,消息發(fā)送方還包括針對生產(chǎn)礦工的區(qū)塊的優(yōu)先級費(fèi)用,該費(fèi)用不受消息消耗的Gas量的束縛。這稱為GasPremium,也可以在協(xié)議之外進(jìn)行安排。
為了幫助大家更好地了解加油站收費(fèi)機(jī)制,以下內(nèi)容描述了消息的相關(guān)Gas概念及其相互作用。這些字段可以由消息發(fā)送者設(shè)置,但是目前在Lotus中是自動的,可以開發(fā)更多工具。
GasLimit–消息發(fā)送者可以消耗,估計(jì)和指定的消息執(zhí)行量的限制。塊中包含的所有消息的GasLimit之和不得超過BlockGasLimit。這以GasUnit為單位。
GasUsage–一條消息的執(zhí)行實(shí)際消耗的Gas量。當(dāng)前協(xié)議不知道消息在執(zhí)行之前將確切消耗多少Gas。這以GasUnit為單位。
GasFeeCap–發(fā)件人愿意為每個(gè)GasUnit為在塊中包含消息而支付的最大代幣數(shù)量。發(fā)送消息時(shí),消息發(fā)送者的最低余額必須等于GasFeeCap乘以GasLimit的最低余額,即使并非所有余額都將被消耗掉。以attoFIL/GasUnit為單位。
GasPremium–優(yōu)先權(quán)費(fèi)用,它按每單位GasLimit的價(jià)格支付給塊狀生產(chǎn)礦工。這受GasFeeCap的限制,BaseFee具有更高的優(yōu)先級。這以attoFIL/GasUnit為單位,并且可以低至1attoFIL/GasUnit。
BaseFee–一個(gè)網(wǎng)絡(luò)范圍的變量,可以根據(jù)上一個(gè)技巧集中的所有消息的GasLimit之和動態(tài)調(diào)整。當(dāng)總GasLimit超出某個(gè)塊的GasLimit目標(biāo)(信號網(wǎng)絡(luò)擁塞)時(shí),它將增加,而當(dāng)?shù)陀诖酥禃r(shí),它將減少。以attoFIL/GasUnit為單位。
消息發(fā)送者只需為每個(gè)消息指定一個(gè)GasFeeCap和GasLimit。隨著鏈上資源的消耗,GasUsage乘以BaseFee將被燃燒。從GasFeeCap中減去BaseFee將產(chǎn)生GasPremium。GasPremium乘以GasLimit將默認(rèn)實(shí)