Solana 費用 — 第 1 部分

原文: https://www.jito.network/blog/jto-airdrop-eligibility-and-allocation-specifications/ by defi guy

翻譯: 拷貝貓 ฅ^•ﻌ•^ฅ (Twitter) | TG頻道 | copycat.sol

介紹

費用機制是區塊鏈的重要特性。 像驗證者這樣的網路維護者擁有有限的資源,因此對稀缺資源進行收費是很重要的,而且要以反映網路成本的方式收費。 費用也為網路的參與者(如使用者、應用程式開發人員和驗證器)創建獎勵機制。

在這個系列中,我們將探討Solana目前的費用機制,形式化費用機制的設計空間,並分析Solana費用機制的一些變更提議。

本文是系列中的第一篇。 我們將解釋Solana目前的費用如何運作,重點是基於交易的費用。

定義

這些是理解費用機制所需的Solana特定定義。

Signature(簽名):通常至少會有一個簽名包含在每個交易中。

Lamport(蘭波特):SOL的最小原子單位。 1 SOL等於十億(10⁹)蘭波特。

Compute unit (CU,計算單元):每個Solana-BPF指令的計算單元,目的近似執行指令的成本。 類似以太坊上的gas units。

CU used(已使用的CU):用於執行交易的計算單元的數量。 僅在執行後才知道。

CU requested(請求的CU):由交易指定;如果交易在執行過程中超出此計算預算,則執行停止,交易失敗。 每個交易請求的最大CU(已使用的CU)為1,400,000 CU。

Account(帳戶):Solana區塊鏈上的單一狀態。

Scheduler(調度器):連續的區塊建立機制,預設包含在 Solana Labs 建構的 Solana 用戶端中。

Solana的費用

交易費用

目前,Solana交易包括兩個費用:基礎費用優先費用

基本費用是每個簽名都是固定的,為 5000 蘭波特(0.000005 SOL,在60美元/SOL時為0.0003美元)每個簽名;絕大多數Solana交易只有一個簽名。

可選的優先費用而是在交易中指定,以每個請求的CU的微觀波特為單位。 請注意,這不是每個已使用的CU,因為在執行交易之前無法知道已使用的CU。 具有更高優先費用的交易由調度器以非確定性方式優先處理。 具體機制在Solana交易的生命週期中描述。

費用在交易執行開始時從支付費用的一方扣除。 如果支付方無法支付所需費用,執行將被跳過,交易被視為無效,不被包含。

對於基礎費用和優先費用,領導者保留50%作為獎勵以將交易包含在區塊中,另外50%被銷毀。

在這個範例交易中,交易請求600,000 CU(計算單元),並設定每個請求的CU的優先費用為2500微波特。 由於交易只有一個簽名,因此交易的總費用為5000蘭波特 + 600,000請求的CU * 2500微蘭波特/請求的CU = 6500蘭波特,或0.0000065 SOL。

範例交易

狀態費用

Solana還額外收取一筆用於創建新狀態的費用,稱為租金費用(rent exemption)。 租金費用的當前費用是每MB固定的6.96 SOL。 當建立新帳戶時,費用被分配給帳戶;當帳戶被刪除時,其租金費用可以被收回。

評論

效率獎勵

由於基礎費用不受CU的使用或CU請求的影響,因此在基礎費用上沒有獎勵來優化計算使用,也沒有獎勵要求接近實際使用的CU。 實際上,Solana的許多交易請求的CU要遠遠超過實際使用的CU。 這在調度器中造成了效率低下。

在上述範例交易中,交易請求600,000 CU,但實際使用不到250,000。

雖然優先費用確實包括減少請求的CU和因此使用的CU的獎勵,但在大多數情況下,這種獎勵是很薄弱的,並且只有在擁塞時生效。 一個簡單的修改將是擴展基礎費用,以要求每個請求的CU也需要一筆費用。 這將獎勵開發人員和交易發起者減少運算使用,並僅要求所需的資源。

獎勵相容性(Incentive Compatibility)

如果機制中的所有參與者都透過按照其真實偏好行動而實現最佳結果,那麼機制就是獎勵相容的。 在費用機制的背景下,這意味著驗證者透過運行預設的區塊建立演算法最大化費用,而交易發起者透過根據其真實支付意願提交具有優先費用的交易來最大化福利。

Solana的費用機制現在對驗證者和交易發起者都不是獎勵相容的。 如上所述,交易費用的50%由領導者保留,50%被銷毀。 由於並非所有費用都歸領導者所有,因此這會鼓勵交易發送者與領導者勾結:交易發起者可以與領導者達成協議,透過網路外支付優先費用,繞過銷毀而仍然獲得優先順序。

理論上,運行這種機制的驗證者可以獲得更多的費用,因此可以向其委託的權益持有人提供更高的獎勵,從而產生一種中心化的力量。

除了直接的垂直整合,我們在市場上現在能看到的交易的主要方式是透過Jito拍賣。 運行Jito-Solana(Solana Labs客戶端的修改版本)的驗證器在其插槽的前半段運行一個區塊空間拍賣。

我們現在在市場上沒有觀察到其他類似的交易。 這是因為:

  • 驗證器客戶端及其調度器很難修改,因此創建這樣的安排的成本很高。 在協議外的軟體,如Jito-Solana和以太坊上的PBS等,將固定成本分攤到所有參與的驗證器。
  • 絕大多數驗證器的收入來自通貨膨脹性獎勵,而不是交易費用,因此收益相對較低。

在地費用市場 (Local Fee Market)

與大多數其他區塊鏈不同,Solana要求交易發起者指定執行交易所需的狀態片段。 這解鎖了並行交易執行和在地化的費用市場,其中不同的狀態片段基於特定狀態片段的內容程度具有不同的費用。 在地狀態熱點無需增加整個區塊鏈的內容或費用。

關於Solana的一個常見誤解是,它現在已經具有在地費用市場。 雖然確實存在一個支付較高優先級費用的交易更有可能被包含在更高區塊的情況,而且內容的狀態可能需要更高的優先級別,但這種行為是非確定性的,並且是Solana默認調度演算法的結果。 我們在Solana交易的生命週期中對此進行了更詳細的探討

特別是,這種行為不是由共識強制執行的,並且透過優先費用的確定性排序不受共識或調度器的保證。 Solana的連續區塊建構和區塊傳播阻止了確定性排序,除非實施巨大的變化(例如確定性排序和非同步執行)。

透過基於歷史內容的狀態存取強制執行、可預測的基礎費用,可能會提高存取高度內容狀態的效率和使用者體驗。 這將增加垃圾/詐騙的成本,同時也獎勵交易發起者鎖定實際需要的最小狀態量。 這不會解決垃圾/詐騙的根本問題,因為這是來自連續區塊構建(因此延遲很重要)和jitter的問題。 我們將在這個系列的後面探討這個設計。

外部性

由於交易主要是按照它們達到領導者(調度器)的時間順序排序的,而這個順序受到網絡jitter和由於並行化調度器實現而導致的jitter的影響,因此當發送方希望自己的交易盡快被處理時,會發送大量交易來達到目的。 這種交易對網路產生負的外部性,讓大量垃圾交易跑到鏈上(截至2023年1月,Solana的鏈上計算中有58%用於回溯交易)和達到領導者。

來源: Jito Labs的區塊空間浪費

結論

在本文中,我們描述了Solana目前的費用機制及其對網路的影響。 我們已經暗示了理想費用機制應該滿足的一些元素,例如: 對調度器的準確提示(CU請求)、獎勵相容性和真正的在地化費用市場。 在下一篇文章中,我們將為費用機制應該優化的目標定義一個形式。 這將更加嚴格地用於分析當前的費用機制,以及對該機制的建議修改。

如果覺得文章翻譯得不錯的話請別吝嗇幫我拍個手吧 (最多可以拍50下)

^ↀᴥↀ^如果願意請我喝杯咖啡☕也可以發到 copycat.sol

--

--

拷貝貓翻譯

ฅ^•ﻌ•^ฅ Copycat in the web3 space. CM/Mod at @Solana_zh and @cega_fi | Discord Janitor at @marinadefinance