作者 | Haseeb Qureshi
編譯 | Jhonny
當中本聰設計比特幣協議時,他非常有遠見地引入了交易費用 (transaction fees) 的概念。這些費用激勵礦工將交易確認打包進入區塊中。
但從任何意義上說,最初的比特幣並不存在費用市場 (fee market)。
早期在 2013 年之前,很大一部分比特幣交易都是完全免費的 (上圖中的藍色部分表示免費的比特幣交易佔據所有交易的百分比變化趨勢)。
錢包開發商最終將小額的固定交易費用硬編碼到他們的客戶端中,作為對礦工的補償。起初,這些費用的預設金額為 0.1 BTC,但隨著比特幣價格的上漲,這一預設值也相應地降低了。
直到 2014 年底,第一批比特幣區塊才實現真正的滿塊 (full blocks)。2015年見證了很長一段時間的比特幣滿塊,到2016年比特幣區塊鏈繼續維持著接近全負荷狀態執行。
比特幣平均區塊大小變化趨勢圖
當比特幣區塊達到滿塊之後,比特幣區塊才真正開始發揮費用市場的作用。程式設計師開發了動態費用預估工具 (estimator,比如線上的費用預估工具和錢包內建的費用預估工具),它能夠檢查記憶體池併為交易者預測在任何特定時間的最佳交易費用。由於區塊空間有限,交易費用有時會飆升。
(備註:記憶體池 (mempool) 也稱交易池,當交易被廣播並且被礦工接收到時,礦工就會把交易加入到本地的交易池當中,每個礦工又會對自己的交易池設定相應的限制,來保證交易數量不會過多。礦工在打包交易到區塊中時,也會根據一定的優先順序來選擇交易,從而讓自己能獲得儘量多的交易費。)
這就帶領我們迎來了當前的情況:當前比特幣的費用再次攀升,接近每筆3美元;隨著 gas 使用率接近歷史最高水平,以太坊的交易費用也在上漲。
中本聰很有先見之明,意識到了交易費用的重要性。但現在我們對費用市場在競爭中的表現有了更多的瞭解。中本聰實現的費用市場已經從根本上崩潰了,是時候探索其他市場設計了。
在本文中,作者將解釋為什麼幾乎在所有加密貨幣中使用的區塊空間最高價拍賣模式 (first-price auction) 最終對使用者不利,繼而概述三種最為傑出的費用模式替代提案。
第一種是 EOS 和 Tron 使用的“免交易費”模式,作者認為這種模式並不像看上去那麼有效。
第二種模式由以太坊創始人 Vitalik Buterin 提議,這種模式可能將透過以太坊硬分叉得以採用。這是一種在每個區塊中固定一筆基本交易費 (BASEFEE) 的全新模式,這筆費用會根據前一個區塊的空間使用率而上下浮動,且這筆費用會被銷燬,而不是支付給礦工。
第三種模式是康奈爾大學 (Cornell university) 研究人員提出的一項更為激進的建議,他們在區塊鏈設定中採用了一種多單元次價拍賣 (multi-unit second-price auction) 的費用模式。
本文將使用最簡單的語言解釋所有這些設計。需要涉及的內容很多,但在解釋這些設計之前,我們有必要了解一下它們為何會被提出來。
01
為什麼需要費用市場?
交易費用讓人不悅且昂貴,並會導致複雜的使用者體驗。為什麼我們不能讓礦工免費地確認打包交易呢?畢竟網際網路就是免費的,路由器對路由資料包就不收取費用。為什麼區塊鏈不能像那樣?
但網際網路本身並不是免費的,實際上你需要為你傳送的任何資料包支付費用。
就網際網路而言,你可以透過 ISP (網際網路服務提供商) 或運營商每月的頻寬計劃提前批次購買這些資料包。目前還沒有針對區塊鏈的此類計劃,這在很大程度上是因為需求波動太大,不可能為此類計劃提供經濟擔保。也許有一天我們會看到類似的區塊鏈使用計劃。
但是區塊鏈的設定還存在更多的限制:機會成本 (opportunity costs)。如果你不給予礦工一些經濟激勵,讓他們把你的交易打包進入他們的區塊中,那他們就不會這麼做。這是因為處理交易需要時間和計算,這需要礦工一定的成本支出;同時傳輸一個更大的區塊也需要更長的時間,這就增加了該區塊變成孤塊的可能性,而孤塊意味著礦工將得不到任何獎勵。
我們知道,當前比特幣挖礦獎勵是 12.5 BTC,按照當前 BTC 價格計算 (約 8,000 美元),這就意味著對於礦工來說,每個比特幣空塊 (empty block) 的價值約為100,000美元;同樣地,當前以太坊的挖礦獎勵為 2 ETH,按照當前 ETH 價格計算 (約 250 美元),這意味著每個以太坊空塊的價值約為 500 美元。對於礦工來說,這是一筆很可觀的收入,並且這還沒有將交易者支付給礦工的交易費計算在內呢。但只要交易費用相對可以忽略不計,礦工就非常樂意開採一個不包含任何交易的空塊。
此外,由交易建立的任何新狀態都必須永遠儲存在區塊鏈中,這是使用者強加給區塊鏈系統中每個節點的永久性成本 (permanent cost)。
從這些角度來說,難道交易者不應該支付一筆交易費用給礦工嗎?
你可能會反駁道:難道礦工不應該將保護加密貨幣的完整性作為一種公共事業嗎?難道礦工不去遵循中本聰的下方指令?
“他 (礦工) 應該發現遵守規則會比破壞系統和自己財富的有效性更有利可圖。”
——中本聰
不,不完全是這樣。進行自私挖礦並忽略那些包含低費用的交易,這完全是礦工個人的意願。這就是為什麼到目前為止,每6個比特幣區塊中就有1個是空塊。
因此,我們需要補償礦工,從而讓他們覺得值得去確認打包交易。
那為什麼不在每筆交易中附帶一筆固定的交易費呢?這似乎會使事情變得更簡單,我們也可以避免交易費上漲。
但問題是:礦工如何在潛在的候選交易中優先將哪些交易打包進入區塊中?如果候選交易的數量要比某個區塊能夠容納的數量更多,那如何決定哪些交易先被打包進入這個區塊中?
你可能會覺得應該採取一種平等的方式:每個人 (每筆交易) 都應該受到平等的對等,礦工應該按照先來後到的方式來處理交易。
然而,採取這種“先來後到”方式的設計會存在一些問題,其中最主要的問題是:如何破例優先處理那些真正具有更高優先順序的事務?
比如,Alice 可能正懶洋洋地將我的多個錢包中的資產整合到一起,而 Bob 正迫不及待地想要往你的 Maker CDP 中追加資產,因為你的 Maker CDP 馬上就要被清算了。Alice 並不特別在乎我的交易何時將被處理,但 Bob 卻迫切地想要自己的交易儘快被處理打包進入區塊中。
因此,固定交易費的機制意味著無法破例處理這些具有更高優先順序的事務 (交易)。
在理想的設定中,我們希望實際找出哪些事務 (交易) 最需要優先被打包進入區塊中,從而優先地處理這些事務。
事實證明,市場能為這個問題提供解決方案。市場非常善於將稀缺資源配置到使其最富有成效/最有利可圖的用途上。
決定誰最有成效地利用區塊空間的最佳訊號就是誰願意為之支付更多的費用 (因為他們希望獲得更多的價值,足以抵消這些成本費用)。在經濟學中,這就是所謂的配置效率 (Allocative efficiency) -- 本質來說就是把資源分配給那些能充分利用資源的人。
但市場只是一個起點。我們想要什麼樣的市場?為此,我們有必要將目光投向豐富百態的拍賣設計領域。
02
拍賣設計
當前幾乎所有區塊鏈費用市場都是使用最高價拍賣模式 (first-price auction)。
在最高價拍賣模式中,所有競標者都提交密封的投標價格,由出價最高的競標者中標並支付他們的出價。這基本上是就是密封投標拍賣模式的最典型方式。(當然,從技術角度來說,區塊鏈上的交易費用並不是密封的,並且往往可以透過 RBF 或是 CPFP 對交易費用進行更新,但這種拍賣模式是最接近當前的區塊鏈交易費用市場所使用的模式)。
由於被拍賣的區塊在它的區塊空間中包含多個“槽位 (slots)”,因此這種模式被稱為多單元拍賣(multi-unit auction)。區塊中的第一個槽位 (slot) 會分配給交易費用最高的交易,第二個槽會給費用排第二的交易,以此類推 (換句話說,礦工會根據交易者附帶在交易中的交易費用高低來決定確認交易的時間順序)。以太坊的情況要更復雜一些,因為這些槽位會相互影響,更多資訊參見:
https://arxiv.org/abs/1904.05234
儘管最高價拍賣模式很常見,但人們普遍認為這種模式是最糟糕的拍賣模式之一,原因很容易理解:
首先,最高價拍賣模式迫使競標者必須具備戰略性。換句話說,在出價之前,你必須考慮其他的競標者會出什麼價。萬一其他競標者的出價都非常低呢?你肯定是不想出價過高的,即便競標的商品對你來說很有價值。但如果你的出價過低,那可能你就會落空而歸。每個人都試圖鑽空子,這意味著某時候對該資產使用效率最高的競標者將不小心出價過低,而其他人則贏得了此次拍賣。這損壞了上文提及的配置效率。
其次,由於競標者採用複雜的策略 (通常體現在區塊鏈交易費用預估工具 (estimator) 中),他們往往無法準確地估計市場情況,這通常會導致總體支付費用過高 (由拍賣商 (礦工) 獲得)。這種情況在2017年末就發生了,當時設計不良的費用預估工具推動比特幣平均交易費用上升至每筆20美元以上。
最後,最高價格拍賣機制導致了長期的網路擁擠 (congestion),即使在最初的競標者蜂擁而過之後也是如此。畢竟,如果其他所有交易者的費用預估工具處於混亂狀態,並且繼續支付過高的交易費,即便你知道它們在支付過高的費用,但如果你想要讓自己的交易被確認打包進入區塊,那你別無選擇,只能支付過高的交易費。
通常來說,交易費用預估工具都是吹毛求疵的。大多數的費用預估工具都是基於某種指數移動平均值 (exponetial moving average, EMA),比如 Bitcoin Core:
https://bitcointechtalk.com/an-introduction-to-bitcoin-core-fee-estimation-27920880ad0
但這種費用預估容易受到礦工的操縱--礦工可以單獨地將那些包含低交易費的交易排除出去,並將那些虛假的高費用交易打包進入他們自己的區塊,以此來提高 EMA 值。此外,不同的費用預估演算法往往會以一種不可預測的方式相互作用,這可能導致費用估值的波動。
同時,還存在支付交易費用的使用者體驗問題。在比特幣網路,使用者體驗沒有特別糟糕,使用者傳送 BTC 的同時支付一定的 BTC 手續費即可;而在像以太坊這樣的智慧合約平臺,如果某個使用者獲得了一個 NFT 或者一些 Dai,那該使用者需要獲得一些 ETH 作為手續費才能進行交易:此時你的 MetaMask 錢包就指引你前往 Coinbase 購買一些 ETH。
每個人看到的問題都是一樣的。能否將區塊鏈交易費用固定下來?這一問題上並沒有多少共識。但當前確實存在三種試圖重新設計區塊鏈費用的重要提議。
03
提議#1:EOS 的“免費用”模式
Dan Larimer (BM) 發明了一種創新的區塊鏈費用模式,這種模式首先在 Steem 中實現,之後在 EOS 中得以實現,繼而由 Tron 借用。
Dan Larimer 知曉處理波動的交易費用是一件非常令人沮喪的事情。他設想了這樣一個系統:在這個系統中,使用者無需為區塊空間進行投標 (出價),而是有權獲得系統吞吐量的一部分。畢竟,區塊鏈應該是一種公共事業,應該為使用者基數服務。
由於 EOS 是一個 DPOS 系統,這意味著 EOS 無需許可的方式與 PoW 鏈不同。在 EOS 系統中,使用者如果想要成為一名區塊生產者 (block producer),則需要需要由足夠多的 EOS 代幣持有者投票選出。
因此,EOS 並不需要擔心其區塊生產者會不去確認打包交易:如果某個區塊生產者建立了空塊,那他將可能將被 EOS 代幣持有者投否決票而被踢出局。
同時,孤塊的風險也很低。EOS 的 DPOS 共識機制會以迴圈的方式作用於每個區塊生產者,各區塊生產者將獲得足夠長的時間來進行相關工作。這使得 EOS 可以對區塊生產者的行為進行一致的檢查。
但即便如此,基本問題仍然存在:給定有限的區塊空間,我們應該如何在相互競爭的事務 (交易) 之間來分配這些空間呢?
在這方面,EOS 採取了大膽的立場,即完全取消交易費用。
但如果該區塊鏈系統處於擁擠狀態,我們依舊需要透過某種方式來決定將哪些交易進行確認打包。
針對這個問題,EOS 採用了一種看似簡單的啟發式方法:使用者鎖定他們的 EOS 代幣,鎖定的 EOS 代幣的數量決定了使用者有權擁有一定比例的區塊空間。鎖定了代幣的使用者 (也稱為質押者,stakers) 也可以自由地將他們多餘的資源委託給其他人 (也即將投票權重委託給其他人),這就允許在 EOS 系統中搭建 dApp 的開發者購買大量的 EOS 代幣並將其鎖定 (質押),繼而將這些鎖定的代幣委託給 dApp 的使用者,使這些使用者能夠免費地與 dApp 進行互動。
那我們應該如何看待 EOS 的這種免交易費模式?
首先,這種模式有很多優點。當系統待處理的交易量沒有達到最大容量時,交易確實是免費的,我們不必擔心區塊生產者會拒絕打包這些交易。也就是說,當系統以低於其最大容量執行時 (EOS 和 Tron 自創立以來一直都處於這種狀態),那系統就會執行地很好。這是非常簡單明瞭的。
但這種模式也有很多讓人不快的地方。
上文提到,傳統的最高價拍賣機制透過這種方式來試圖達到資源的最佳配置:誰願意出最高價來購買區塊空間。而 EOS 的方式則是:當前誰質押的 EOS 代幣最多,誰就能獲得該區塊空間。這是很奇怪的。
首先,EOS 代幣的最大持有者很有可能就是 Block.one 團隊自己、大型區塊生產者、託管人、交易所和大鯨魚們,但這些人不太可能會進行大量交易。當然,普通使用者也許可以透過與這樣一個持有大量 EOS 代幣的持有者互動並獲得代理權,從而獲得免費的區塊空間。但我們希望這種附帶的資源配置 (由富裕的 dApp 開發者贊助的免費交易) 能夠以某種方式接近於達到配置效率。
那如果你不想使用某個由持有大量 EOS 代幣的持有者贊助的 dApp 呢?
在以太坊網路中,你將需要花費一小筆資金來支付交易費用;而在 EOS 系統中,你將需要購買並鎖定 (質押) 一些 EOS 代幣--本質上來說,這就強制你必須做多這一原生代幣才能擁有交易權。這真的是一個非常奇怪的限制。當然,如果你不想長期持有 EOS 代幣,你也可以對 EOS 代幣價格進行對沖。但這意味著你依舊將需要支付一筆“交易費用”,但現在這筆費用是付給向你提供對沖的人了。
EOS 支援這種模式,因為它聲稱這種方式有效地消除了費用市場。但作者並不認為這種設計能夠讓費用市場消失。
一旦區塊達到滿負荷狀態,且區塊空間變得稀缺時,持有大量 EOS 代幣的質押者將佔據著未使用的區塊空間權重。這種情況下,與其讓他們佔有的寶貴資源的權利白白浪費,他們為什麼不將其拍賣給出價最高的人呢?
這讓我們回到了起點。只要對稀缺資源有需求,市場就會出現。這是經濟的複雜性的一個不可避免的特徵。因此,只要區塊空間的權利分配與對區塊空間的需求不一致,最終就會出現一個市場來糾正這種差異。
因此,儘管 EOS 這種型別的設計一開始聽起來不錯,但如果從博弈論的角度來看,這似乎是一個很糟糕的解決方案。當供應 (區塊空間) 持續超過需求時,所有區塊鏈上的事務 (交易) 幾乎都是免費的;但試圖強制交易免費將不可避免地使此前被壓制的費用市場重新崛起。
04
提議#2:以太坊的全新費用市場,EIP-1559
接下來我們要論述的第二個提議是由 Vitalik Buterin 的,Vitalik 於2018年8月在 ethresearch.ch 網站上發表的一份建議書中首次闡述了這一提議:
https://ethresear.ch/t/draft-position-paper-on-resource-pricing/2838
這一提議將考慮在接下來的以太坊伊斯坦布林硬分叉升級中實現,因此這可能成為未來以太坊的交易費用執行模式。 (截至目前,以太坊的費用市場與比特幣的是一樣的)
Vitalik 透過不同的設計理念來解決交易費用的問題。他並不是從頭開始試圖找到理論上最佳的設計,而是最佳化向後相容性最好、破壞性最小的協議更改,進而推出了 EIP-1559 提案:
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md
你可以將 EIP-1559 背後的主要理念看作是將交易費用的預估 (fee estimation) 直接轉移至協議中,而不是將其置於費用預估工具 (estimator) 中。既然所有關於交易、區塊和費用的資訊都完全是在協議內部,那為什麼不能在區塊鏈自身內部來進行費用預估呢?
EIP-1559 就是這麼提議的。該提案在每個區塊中引入了任何交易都必須支付的一筆基本費用 (BASEFEE),這筆費用會根據前一個區塊的空間使用率而上下浮動,目的是使區塊空間的平均使用率達到50%。
當前一個區塊的空間使用率高於50%時,當前區塊的基本費就會按比例上升 (上限為每個區塊上升12.5%),而當前一個區塊的使用率抵禦50%時,基本費就會下降。從某種意義上說,這使得所有人都同步在同一個協議內部費用預估工具中。
當前區塊的基本費 (curBlockFee) 計算方法
EIP-1559 提案的另一個特點是,實際上這筆基本費用並沒有支付給礦工,而是被銷燬。這將帶來兩個很大的影響:其一,這使得礦工更難以操縱這一機制,因為礦工們不能在將自己的交易打包進某個區塊中的同時不銷燬這筆基本費;其二,由於這筆費用的銷燬必須以 ETH 的方式執行,這就鞏固了 ETH 作為以太坊網路中唯一可用於支付交易費的方式,從而阻止了經濟抽象化問題 (economic abstraction)。
(備註:有人認為,以太坊智慧合約的建立者可以在合約中設定,執行合約的使用者可以將自己擁有的ERC20 代幣直接存入區塊礦工的賬戶地址,同時將Gas價格設為0來避免使用ETH支付手續費。礦工在處理這樣的交易時,可以預先檢查所收到的ERC20代幣的價值,如果高於正常的Gas手續費則進行打包。這種使用非ETH資產支付手續費的情況便是以太坊社羣的經濟抽象化 (Economic Abstraction)。而經濟抽象化將導致ETH的市場需求不斷降低,其市場價值也就會相應的降低。當所有的交易都採用這種手段而不支付ETH Gas費用時,ETH價格將會歸零。)
目前為止,一切很好。除了一個問題:如果這筆基本費用將被銷燬,那礦工們實際上就沒有動力去確認打包交易了!
鑑於此,EIP-1559 設計的最後一個部分便是使用者必須在每筆交易中增加一筆小額的“tip (小費)”支付給礦工,用以激勵礦工確認交易。儘管這依舊會存在少量的“tip”費用最高價競拍,但如果這種費用調整機制執行正常,那涉及這種最高價拍賣的範圍將很小。
EIP-1559 提案能夠使費用預估變得相當簡單明確:你只需要支付一筆當前區塊的基本費 (將被協議銷燬) 和一小筆“tip”費用 (用於補償礦工的計算成本和孤塊風險),就可以確保你的交易被礦工確認打包進入該區塊。
當然,如果突然出現網路擁堵 (比如 ICO 期間),費用調整演算法可能將無法及時對基本費用進行調整。在這種情況下,費用市場將回歸到最高價拍賣模式,所有競標者將在 “tip” 費用上一較高下。但這將不會比我們當前的現狀更糟。Vitalik 也表示,由於實際上交易需求和 ETH 的價格緊密相關,因此這些以 ETH 計價的基本費不太可能會存在高波動性。
這一變化還將伴隨著區塊 gas 上限的加倍 (從當前的 8,000,000 增加至 16,000,000),如此一來,根據當前的區塊大小,系統就可以有效地將50%的區塊使用率作為目標了。
EIP-1559 提案的一個影響就是更為簡單的交易費用預估。除非網路中突然出現擁擠,否則交易者使用的費用預估工具只需要出價“當前區塊的基本費+tip費”。
這就將最高價拍賣機制從區塊鏈費用中移除出去了,同時避免了策略性競標的必要。競標者只需問自己:當前區塊的基本費值得我去進行交易嗎?如果不值得,那我就不競標了。
總而言之,EIP-1559 描述了一種將區塊鏈有史以來一直使用的最高價競拍模式轉變為一種非常實用的模式。這不是一場雄心勃勃的體制變革,而是一個簡單的、破壞性最小的改進,有望今年在以太坊紅得以實現。
05
提議#3:多單元次價拍賣模式
讀到此處,你可能會想:肯定存在某個不知名的學術部門正在研究拍賣機制,他們有一個聰明的機制可以解決所有這些問題。你這種想法差不多是對的。拍賣理論 (auction theory) 是應用經濟學和博弈論的一個分支,至少從上世紀60年代就開始研究拍賣設計。
不幸的是,該理論並沒有很明確地轉化到加密貨幣領域。這將我們引向了一篇由 Soumya Basu、David Easley、Maureen O’Hara 和 Emin Gün Sirer 等知名學者撰寫的優秀文章:Toward a Functional Fee Market for Cryptocurrencies (《通往實用的加密貨幣費用市場》):
http://hackingdistributed.com/2019/01/22/doing-fees-right/
讓我們從一些背景知識開始。
也許拍賣理論的皇冠上的寶石是 Vickrey 拍賣 (次價密封投標拍賣),William Vickrey 在1996年贏得了諾貝爾獎。這種型別的拍賣通常被稱為次價拍賣。
次價拍賣是一個簡單的想法。就像在最高價拍賣中,所有的出價都是秘密的,出價最高者獲勝。但贏家不支付他們出價,而是支付第二高的出價 (有時會在次價的基礎上加1美分)。
這種設計上的細微變化最終改變了一切。
次價拍賣是激勵相容的。這意味著,與最高價拍賣不同,次價拍賣不需要投標者保持戰略性。相反,你應該“誠實”並給出任何你覺得值得的價位。畢竟,如果你的出價被證明太高,你沒有任何成本--如果你贏了,無論你出價多高,你都會以次價獲得拍賣品。因此,你不需要猜測其他人會出價多少,或者試圖比他們更聰明。
因此,我們應該期望各方都能給出他們認為值得的價位。用博弈論的話說,在次價拍賣中,“誠實地”出價是一種佔優勢的策略。
由於次價拍賣不鼓勵戰略性投標,這也意味著這種拍賣方式產生了配置效率:由於每個人都只出價自己認為值得的價值,平均而言,出價最高者將是最為看重該拍賣資產的人。投標者沒有了認知負擔,也不存在奇怪的費用預估把戲,也就不存在系統性的支付過高問題了。
這個拍賣設計簡單、巧妙、強大。這就是為什麼次價拍賣方式在很多情況下都被用於作為拍賣設計的黃金標準,從 eBay 到 Google,再到 Facebook 的廣告市場,皆是如此。
然而,次價拍賣方式對區塊鏈並不十分奏效。
首先,區塊鏈並不是拍賣單個商品:它們實際上是一個多單元拍賣。為此,你需要使用多單元次價拍賣 (multi-unit second-price auction)。在這種變體拍賣方式中,所有區塊空間的投標人都提交自己願意支付的價格 (出價),並且每個人都只需支付被該區塊接受的最低出價。
比如,假設某個區塊中有三個槽位 (slots),但收到了5個出價:<$10, $8, $6, $5, $3>。這種情況下,只有那些出價<$10, $8, $6>的交易會被確認打包進入該區塊,而這三筆交易只需各支付 $6 的交易費即可 (因為 $6 是這三筆交易中出價最低的交易費)。
在這個例子中,出價10美元的競標者 (交易者) 不需要猜測網路擁堵情況。他只需要決定“我願意為這筆交易支付的最高價格是10美元”,而如果他的交易被確認打包進入了該區塊中,則往往他實際支付的交易費會低於10美元。
現在,如果你像一個優秀的密碼經濟學家一樣思考,你可能已經想到到有一些針對這種方式的攻擊。
假設某個礦工的交易池中包含的尚未確認的交易所給出的交易費分別是<$100、$20、$10>。那麼如果這個礦工很貪婪,那他就不會將這三筆交易都確認打包並只獲得30美元的交易費 (按最低費計算,每筆交易將只需支付10美元費用),他會選擇忽視那兩筆交易費用更低的交易,而僅僅將那筆交易費是<$100> 的交易確認打包進入區塊中。請記住,在 PoW 系統中,我們不應該相信礦工 (拍賣商) 會保持誠實。如果礦工不誠實,那這種次價拍賣方式背後的保障就會瓦解。
一個貪婪的礦業公司可以忽略其他較小的交易,只讓它們的區塊變成[100美元],而不是把區塊裡的所有交易都當作[10美元,10美元,10美元],以獲得30美元的收入。記住,在PoW系統中,我們不應該相信拍賣商是誠實的。如果沒有誠實的假設,二價拍賣背後的保障就會失效。
這就將我們引向了Toward a Functional Fee Market for Cryptocurrencies (《通往實用的加密貨幣費用市場》)這篇文章。文中作者試圖在無需許可的區塊鏈中採用多單元次價拍賣機制 (multi-unit second-price auction)。
他們透過幾個步驟來增強該此價拍賣機制。首先,他們引入了所有區塊必須完全被交易填滿的要求。這阻止了礦工只將交易費最高 (¥100美元) 的那筆交易打包進區塊。
但由於礦工是自己給自己發工資,因此他們往往可以透過建立多筆虛假的高費用交易來作弊,於是他們就可以將本該包含<$100, $20, $10>這三筆交易的區塊變成包含了<$100, *$99, *$99>的區塊 (其中帶*號的交易為虛假交易)
為了防止這些滑稽的行為,作者增加了第二個附加要求:礦工獲得的獎勵將不會來源於它們自己的區塊中的交易費,而是來自於前 X 個區塊 (比如前10個區塊) 的平均交易費用。
如此一來,礦工將只會獲得自己區塊中的 1/10 (十分之一) 的交易費,如果他們建立了虛假的高費用交易,那他們實際上是將這些虛假交易費的90%都支付給了接下來的10名礦工。當區塊以滿負荷執行且系統中有很多使用者時,這種方式能夠激勵礦工避免這種惡意行為。
除了降低費用外,多單元次價拍賣方案還具有緩和交易費用波動的作用。隨著比特幣挖礦獎勵的減少,這種方式能夠提高比特幣的穩定性。在該文章中,作者估計,在2017年比特幣費用上漲期間,他們的設計將節省約2.7億美元的交易費用。
雖然他們的設計在理論上是很吸引人的,但這與目前區塊鏈費用市場的設計方式有很大不同。需要透過硬分叉的方式才能在現有的區塊鏈系統中採用這種方式,而這將破壞幾乎所有的錢包和交易所。這也是一種需要使用者思考如何支付費用的全新模式,因此毫無疑問在實踐中會出現一些不可預見的問題。
儘管如此,從長遠來看,多單位次價拍賣可能會簡化交易費用方式,降低礦工獲得的交易費的波動性,並增加整體社會盈餘。
06
結語
在費用市場中還有許多其他重要的概念,包括replace-by-fee, child pays for parent, frontrunning battles 等機制。
最後,作者想坦誠的是,在上文中作者做了一個很大的假設:並不是每個人都想降低交易費用。
在比特幣社羣,最大限度地提高支付給礦工的交易費用,能夠使比特幣安全過渡到零通脹 (即所有的 BTC 都將慢慢被全部挖出),這是很多人感興趣的事情。畢竟,礦工獲得的利潤越多,網路就越安全。
另一方面,在諸如以太坊等智慧合同平臺中,將交易費用最小化對於大規模採用來說是至關重要的。
這兩個目標是直接矛盾的,並可能導致不同的做法。
當前的支付區塊鏈費用的使用者體驗非常糟糕。但是,只有透過市場設計、更多的第2層原語以及透過元交易和中繼者的費用委託,使用者體驗才能變得更好 (Dapper Labs 是為數不多真正在推動這一領域前沿的公司之一)。
隨著 DFINITY、Spacemesh 和 AVA 等較新的平臺進入市場,作者預計我們將看到支付區塊鏈費用的體驗進一步迭代發展。目前,當涉及到交易費用市場設計時,區塊鏈還處於起步階段。
感謝 Tarun Chitra、Ivan Bogatyy 和 Rachel Diane Basse 對本文的校對。
原文連結:
https://hackernoon.com/blockchain-fees-are-broken-here-are-3-proposals-to-fix-them-1f772e1530dd