前言:Filecoin主網上線前,作者曾寫文章分析過Filecoin手續費模型,討論過關于Filecoin改用EIP-1559設計后的手續費計算模型和優缺點。在討論計算模型時,默認為理性的交易發送者不會設置超過Gas燃燒闕值,但在現實情況中,官方給定的設置卻出現了Gas超額燃燒的不理性的結果。
本文作為《Filecoin手續費模型-EIP1559》(https://zhuanlan.zhihu.com/p/234700165)的姊妹篇,進一步分析了Filecoin的手續費模型中的超額燃燒,并介紹一種降低超額燃燒費的方法。
作者|?litianc
來源|??Blockcasting&BitTribeLab?
SEC在Coinbase案中將SOL、FIL等代幣定義為證券:6月6日消息,SEC在Coinbase案中將SOL、ADA、MATIC、FIL、SAND、AXS、CHZ、FLOW、ICP、NEAR、VGX、DASH和NEXO定義為證券。[2023/6/6 21:19:19]
Filecoin的手續費回顧
在之前的文章中,我們介紹了Filecoin采用EIP-1559的方案,用于解決惡意設置GasLimit的問題。我們從宏觀層面分析了交易手續費的計算模型和主要影響因素。?
當時,由于理解有限,文中將GasLimit直接套用在Gas實際燃燒的概念上,但是這樣的描述是不準確的。理論上,這樣計算出的結果已接近實際FIL消耗,但在特定情況下會有最多10%的偏差,這一偏差就是我們中所說的超額燃燒費。?
那么,為什么會有超額燃燒,在何種情況下會產生超額燃燒呢?
Filecoin網絡目前FIL流通量約為1.43億枚:據IPFS100報道,Filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為905554,全網有效算力為7.050EiB,總質押量約為8794萬枚FIL,活躍礦工數為2560個,每區塊獎勵為24.9837FIL,近24小時產出量為349914FIL,24小時平均挖礦收益為0.0478FIL/TiB,目前FIL流通量為143375422FIL。
目前有效算力排名前三的分別為:f0127595(FILPool.me)以118.07PiB暫居第一,f0123261(LDPool)以108.47PiB位居第二,f0135467(RRM-雅典娜)以106.34PiB位居第三。[2021/7/5 0:28:19]
超額燃燒的由來
我們知道,Gas是由交易發送者支付的Filecoin鏈上資源消耗對應的燃料數量,類比汽車行駛一段距離需要消耗相應的汽油xx升。
Filecoin網絡目前總質押量約為6292萬枚FIL:據IPFS100.com報道,Filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為683598,全網有效算力為4.382EiB,總質押量約為6292萬枚FIL,活躍礦工數為1967個,每區塊獎勵為26.2195FIL,近24小時產出量為361832FIL,24小時平均挖礦收益為0.0798FIL/TiB,目前FIL流通量為116621746FIL。目前有效算力排名前三的分別為:f0127595(時空云)以118.04PiB暫居第一,f0135467(RRM-雅典娜)以103.01PiB位居第二,f01248(智合云(ZH))以75.77PiB位居第三。[2021/4/19 20:35:52]
與以太坊相似的,Filecoin的Gas也有GasLimit和GasUsed的概念。
GasLimit:表示該筆交易最多消耗燃料數量,由交易發送方設置。GasUsed:表示交易上鏈所消耗的燃料數量,在交易上鏈之后計算出來。與以太坊不同的是,Filecoin區塊中包含的所有消息的GasLimit之和不得超過BlockGasLimit;而以太坊是統計所有消息的GasUsed之和。
Filecoin當前全網有效算力為596.95PiB:據IPFS100.com報道,filfox瀏覽器數據顯示,Filecoin網絡當前區塊高度為159465,全網有效算力為596.95PiB,總質押量約為1258.19萬枚FIL,活躍礦工數為554個,每區塊獎勵為11.0028FIL,近24小時產出量為152857FIL,24小時平均挖礦收益為0.2524FIL/TiB;
目前有效算力排名前三的分別為:t02770(時空云&靈動)以41.35PiB暫居第一,t01248(智合云zh)以37.71PiB位居第二,t01782(hellofil.com)以26.09PiB位居第三。[2020/10/19]
一個有趣的知識點:由于Filecoin的區塊鏈采用DAG結構,一個Tipset中可以有多個區塊,同一高度下的區塊順序由下一個Tipset的區塊統計。因此,交易產生的GasUsed只有在下一個Tipset的區塊上鏈后才能被準確計算出來。
Filecoin開發人員:大礦工測試競賽獎勵的礦工數量沒有“硬”限制:7月22日,在北京時間9:00開始的Filecoin礦工社區電話會議上,Filecoin開發人員表示,大礦工測試競賽獎勵的礦工數量沒有“硬”限制,只要排名在全球前100名以內或者在各自地區排名前50的礦工,只要符合其他標準,都有資格贏得獎勵。[2020/7/22]
正是由于設計的差異,決定了Filecoin需要對Gas進行更復雜的設計,于是就有了Gas超額燃燒的概念。Gas超額燃燒的設計出現在EIP-1559上線之前,它與EIP-1559并不沖突,可以把它看作是比EIP-1559更基礎的Gas模型規則。
超額燃燒的計算
Gas超額燃燒:當GasLimit和GasUsed之間的差異較大時,需要燃燒的額外Gas量。
根據GasLimit與GasUsed的數值,我們將Gas分為三種情況:
GasLimit較接近GasUsed時,認為GasLimit設置合理:GasOverestimationBurn=0GasLimit明顯大于GasUsed時,認為GasLimit設置不合理:GasOverestimationBurn=GasLimit-GasUsed當GasLimit處于上述兩者之間時,認為這是一個過渡范圍,采用拋物線進行擬合:GasOverestimationBurn=(GasLimit-1.1*GasUsed)*(GasLimit-GasUsed)/GasUsed?
GasOverestimationBurn=(k-1.1)*(k-1)*GasUsed
接下來,采用控制變量法,假設GasUsed=30000,橫軸為k,縱軸為GasOverestimationBurn,得出Gas超額燃燒曲線,如下圖:
從Gas超額燃燒曲線,我們能夠看出當GasLimit設置越高,超額燃燒也就越高;GasLimit越接近GasUsed,超額燃燒也就越少,在合理的GasLimit條件下,超額燃燒為0。?
正常情況下,Filecoin客戶端只需要在設置GasLimit時,比預估的Gas設置稍高一點,就能實現“零”超額燃燒。但是現實卻是,官方代碼中給定的默認系數k=1.25,因此現階段鏈上的大多數的交易都產生了超額燃燒費用。這究竟是一個Feature,還是一個Bug呢?讓我們繼續往下分析。
Feature還是Bug
通過官方社群交流平臺的記錄和github上的問題追蹤,我們最終確定這是由一個Bug引發的官方修改。在主網上線3個月后,社區成員提交的一個(https://github.com/filecoin-project/lotus/issues/5066)。
報告內容是ProveCommitSector交易類型的Gas評估在特定條件下會有40%左右的評估偏差,從而導致Gas溢出、交易出錯。為了避免Prove交易的Gas溢出問題,官方經過反復調整,最終還是把默認系數設置為1.25。
在v1.4.2的版本中,經過我們對自建節點三種交易類型的數據分析,得出以下結論:
?Prove交易的評估偏差波動較大,最低與最高相差40%;PreCommitSector交易的有一定偏差,但偏差波動較小;SubmitWindowedPoSt交易能準確評估。超額燃燒優化
上述三種交易是當前Filecoin網絡礦工消耗手續費最多的交易類型。如果能夠減少這三類交易的超額燃燒,甚至做到“零”超額燃燒,對礦工來說可以節省不小的開銷。?
我們對超額燃燒進行優化的基本思路是根據不同的交易類型分別實現。目前能夠直接實現“零”超額燃燒的交易有PreCommit交易和WindowedPoSt交易;對于Prove交易,需等到共識部分的代碼完善后才能實現最理想的優化。?
因此,對于不同階段的礦工,可操作的優化方法和優化空間也有所不同。?
對于算力已經穩定,只需要發送WindowedPoSt交易的礦工,優化的操作比較簡單:可以直接調整mpool中的評估系數GasLimitOverestimation,直至“零”超額燃燒。
對于正在增加算力的礦工,則需要權衡Gas超額燃燒的收益與Gas溢出的風險,結合節點新增算力的速度和交易的歷史數據,計算出最適合自身節點的評估系數。?
如果有代碼修改能力的礦工,可以嘗試在mpool的源代碼中修改不同的交易類型的評估系數,從而實現當前手續費的最優化。
總結
超額燃燒費是Filecoin區塊鏈搭建之初的基礎設計,它的實現不受后來的EIP-1559的影響。這部分費用本身是帶有一定懲罰屬性的,法不責眾,理論上Filecoin的所有的交易都應當很容易避免超額燃燒。目前官方正在通過底層數據結構修改來進行完善,以減少Prove交易的Gas評估偏差。
我們相信普遍的超額燃燒情況只是一個短期的狀態,通過技術升級最終將解決這一問題。那時,生態應用開發者和用戶不必知曉底層復雜的概念邏輯,可以把注意力更多地投入到業務設計和產品體驗中。
據以太坊GitHub顯示,以太坊2.0客戶端Teku的MikhailKalinin提議,在倫敦硬分叉升級后,優先考慮ETH2.0合并.
1900/1/1 0:00:00PAData?4月13日消息,近期,以太坊平均Gas價格持續走低。根據Etherescan的統計,4月11日,以太坊Gas均價約為85.2Gwei,創下近兩個月的低點.
1900/1/1 0:00:00原標題:《7個NFT平臺的對比》前言:隨著NFT的爆發,NFT平臺也開始崛起,交易量一直在上漲.
1900/1/1 0:00:00動輒上千萬美元的售價,這段時間還有誰能比NFT火熱。從谷歌搜索來看,NFT一詞的搜索指數在過去一個月直線上漲.
1900/1/1 0:00:00本文來自?Decrypt,原文作者:MathewDiSalvo 譯者?|念銀思唐 摘要:-索羅斯基金管理公司首席投資官?DawnFitzpatrick?認為.
1900/1/1 0:00:00據TheBlock4月8日報道,總部位于紐約的加密投資公司NYDIG宣布,在籌集2億美元資金后僅一個月就又獲得了1億美元資金.
1900/1/1 0:00:00