Filecoin 費用機制是以太坊 EIP1559 的一種實踐。

原文標題:《Filecoin 網絡中爲什麼要收取「汽油費」?》
撰文:Protocol Labs
翻譯:FileCombo

Gas 是我們在 Filecoin 中經常聽到的詞,Gas 譯爲「汽油費」,本篇將講述關於汽油費收費的運作方式以及爲什麼它們對 Filecoin 網絡很重要。

Filecoin 網絡 Gas 費機制與以太坊有何區別?

Filecoin 是區塊鏈經濟,參與者在分佈式網絡上進行交易。通過礦工在他們挖掘的區塊中記錄和處理消息來更新網絡狀態。有多種消息,包括存儲入庫,存儲交易,正在進行的證明,令牌交易等。

但是,由於鏈性能,可伸縮性和驗證時間所施加的約束條件,一個塊中可以處理的消息數受到限制。這樣,在任何給定時間,網絡上只有消息的子集可以使其成爲一個塊。

此外,執行消息會消耗網絡上的計算和存儲資源。在這裏,Gas 開始發揮作用,以衡量消息消耗的資源。消息消耗的 Gas 直接影響發送者將消息提交到區塊鏈所支付的成本。並且一個區塊中所有消息所消耗的 Gas 總量是有限的。

Gas 可以被視爲 Filecoin 區塊鏈的燃料,就像汽車燃料一樣。在進行公路旅行之前,您必須支付在行駛距離和爲山上和下坡引擎供電時消耗的汽油。同樣,Filecoin 上的消息發送者要爲「推動」 Filecoin 區塊鏈上的消息執行的 Gas 付費。

Filecoin 如何使用 Gas

Gas 最初是在以太坊區塊鏈上實現的,用於衡量消息消耗的計算和存儲資源。這是短語「 GasUnit」的起源。從歷史上看,在其他區塊鏈中,礦工以本機貨幣指定 GasFee,然後根據消息消耗的 Gas 量向生產礦工的區塊支付優先費用。

但是,Gas 消耗是整個網絡應承擔的成本,因爲網絡上的每個節點都必須花費存儲和計算資源來驗證每條消息並保持網絡的一致狀態。這樣,基於特定消息的 Gas 使用量,會燃燒一些 Gas 以補償網絡。不散佈此成本會造成激勵失調,因爲成塊生產的礦工可能會免費包含計算上昂貴的消息,而其他人則會爲此付出代價。

BaseFee 是以太坊的 EIP1559 引入的概念。一條消息的 BaseFee 乘以 Gas 使用量將會被「燃燒」。這意味着將其發送到無法使用的地址,並從網絡上的流通中刪除。它會根據給定時刻對網絡帶寬的需求進行動態調整。當網絡變得擁塞時,它會上升,從而使估值低於網絡 BaseFee 的郵件發件人將保留並等待直到擁塞消除。BaseFee 的變化速率旨在快速增加潛在的 DOS 攻擊,並隨着網絡變得不那麼繁忙而迅速降低。導致網絡變得更加擁塞的消息發件人也將通過支付更高的費用來內部化成本。燃燒還會產生緩慢的通縮壓力,使所有網絡參與者受益。

回到我們的公路旅行類比中,考慮一下汽車中汽油之類的 Gas,以及正常交通中的網絡。如果道路擁堵(例如在高峯時段),並且交通停走,您的汽車將消耗更多的汽油。在這種情況下,可能需要稍等片刻然後再開始旅行。相同的理論也適用於 Filecoin 網絡-當網絡流量擁塞時,汽油費將很高,因此等待稍後再試可能是有意義的。

除了燒掉一些費用以補償網絡之外,消息發送方還包括針對生產礦工的區塊的優先級費用,該費用不受消息消耗的 Gas 量的束縛。這稱爲 GasPremium,也可以在協議之外進行安排。

Gas 實用指南

爲了幫助大家更好地瞭解加油站收費機制,以下內容描述了消息的相關 Gas 概念及其相互作用。這些字段可以由消息發送者設置,但是目前在 Lotus 中是自動的,可以開發更多工具。

GasLimit –消息發送者可以消耗,估計和指定的消息執行量的限制。塊中包含的所有消息的 GasLimit 之和不得超過 BlockGasLimit。這以 GasUnit 爲單位。

GasUsage –一條消息的執行實際消耗的 Gas 量。當前協議不知道消息在執行之前將確切消耗多少 Gas。這以 GasUnit 爲單位。

GasFeeCap –發件人願意爲每個 GasUnit 爲在塊中包含消息而支付的最大代幣數量。發送消息時,消息發送者的最低餘額必須等於 GasFeeCap 乘以 GasLimit 的最低餘額,即使並非所有餘額都將被消耗掉。以 attoFIL/GasUnit 爲單位。

GasPremium –優先權費用,它按每單位 GasLimit 的價格支付給塊狀生產礦工。這受 GasFeeCap 的限制,BaseFee 具有更高的優先級。這以 attoFIL/GasUnit 爲單位,並且可以低至 1 attoFIL/GasUnit。

BaseFee –一個網絡範圍的變量,可以根據上一個技巧集中的所有消息的 GasLimit 之和動態調整。當總 GasLimit 超出某個塊的 GasLimit 目標(信號網絡擁塞)時,它將增加,而當低於此值時,它將減少。以 attoFIL/GasUnit 爲單位。

消息發送者只需爲每個消息指定一個 GasFeeCap 和 GasLimit。隨着鏈上資源的消耗,GasUsage 乘以 BaseFee 將被燃燒。從 GasFeeCap 中減去 BaseFee 將產生 GasPremium。GasPremium 乘以 GasLimit 將作爲優先費用進入生產礦工的區塊。GasLimit 和 GasUsage 之間的部分差異將作爲高估損失而被消耗掉。其餘的將返回給消息發送人。

當前,默認實現是礦工基於 GasFeeCap/GasLimit 選擇消息,以在給定 GasLimit 的情況下最大化其預期收益。當網絡擁堵且 BaseFee 很高時,礦工可以選擇對包裝進行裝箱,從而減少 GasLimit 總量,以降低 BaseFee,但可能以犧牲 GasPremium 爲代價。

未來的工作

研究和工程團隊正在努力減少不同鏈上消息的資源消耗,以減少 Gas 使用量並改善網絡性能以增加容量。但是,當前在 Filecoin 上有一些消息(例如 SubmitWindowedPoSt)必須包含在相對較短的窗口內的鏈中,否則會產生罰款。爲了改善經濟結構併爲這些類型的消息提供服務質量保證,正在做更多的工作。Filecoin 網絡由客戶、礦工、開發人員、合作伙伴和代幣持有者組成,將繼續合作並將網絡發展到更好的方向。

來源鏈接:filecoin.io