1. 程式人生 > 實用技巧 >Filecoin網路Gas費機制(汽油費)與以太坊有何區別?

Filecoin網路Gas費機制(汽油費)與以太坊有何區別?

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

在這裡插入圖片描述

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 網路由客戶、礦工、開發人員、合作伙伴和代幣持有者組成,將繼續合作並將網路發展到更好的方向。