安全性是區塊鏈必須要為之付出的首要開支。區塊鏈必須要在經濟上有所付出讓礦工和驗證者參與到協議共識中來,不管是采用PoW還是PoS, 都必然會產生費用。 有2種方式去支付這個費用:通貨膨脹(指給礦工的挖礦獎勵)和交易手續費。現在,比特幣和以太坊這2個主要的PoW區塊鏈,都用很高標準的獎勵去保證安全;比特幣社區目前打算隨著時間推移逐漸降低獎勵并最終轉換成只有交易手續費的模式。一個比較大的PoS區塊鏈,完全通過交易手續費來支付安全成本,并且實際上是負的凈獎勵因為有些鏈上的特性要求銷毀NXT;現在的供應是0.1%低于最初的10億。問題是區塊鏈需要多少的“防衛開支”以確保安全,并且通過什么方式去獲得最好?
充足的PoW/PoS獎勵
為了給下一部份內容提供一些真實的數據,我們以比特幣為例子。在過去的幾年間,比特幣交易收入在15-75BTC每天的范圍,或者說0.35BTC每區塊(或者1.4%的現在挖礦獎勵),并且這數據的正確性貫穿了整個發展歷程。
這不難理解為什么會這樣:BTC采購率增加會增加以美元為單位的手續費總額(不管是因為交易總量上升或平均交易費用上升或2者結合)但同時會降低在一定量美金里的BTC數量,所以倘若沒有外在的區塊數量危機,采購率變動沒能改變市場底層架構,那么以BTC為單位的總交易手續費將基本保持不變。
在25年內,比特幣挖礦獎勵將會消失;所以,0.35BTC每區塊將會是唯一的收入來源。按照今天的價格來算,這等于大約35000美金每天或者1000萬美金每年。我們可以預估在不同條件下購買足夠挖礦力接管網絡的情況。
首先,我們看網絡的算力和用戶礦工的開支。網絡現在有1471723 TH/s的算力,最好的礦工消耗100美金每1TH/s,所以購買足夠的礦工去覆蓋現有網絡將花費大約1億4千7百萬美金。如果我們取消挖礦獎勵,收入將減少36倍,所以長遠來看,挖礦生態系統將會減少36倍,所以開支將變成4.08百萬美金。注意這情況是如果你買新的礦工;如果你愿意買現有的礦工,那你只需要買一半的網絡,那么開支就像Tim Swanson說的的“Maginot line”攻擊一樣,直降至2.04百萬美金。
但是,專業礦廠的成本可能遠遠低于普通礦工。我們可以看看在Bitfury’s $100 million data center的可用信息,預計消耗100MW的電力。這礦廠將包含28nm和16nm的芯片組合,16nm芯片可“實現能量消耗在0.06焦耳每GH”。由于我們關心確定一個新的攻擊者的成本,我們假設一個攻擊者復制Bitfury的技術將只用16nm芯片。100MW的0.06焦耳每GH是10億6700百萬GH/s,或者1.67百萬TH/s。(物理提示:1焦耳每GH = 1 瓦特每GH/秒)所以Bitfury可以做到60美金每TH/s,這個暑假說明外部攻擊需要245萬美金的成本并且需要122萬美金購買現有礦工。
因此,我們可以大致估計光手續費的網絡將需要1.2-4百萬的成本進行“馬其諾防線”攻擊。成本更低的攻擊(比如:“租用”硬件)可能減去10-100倍。如果比特幣生態系統變大,那么攻擊成本也必然增加,但交易量同樣會增加,所以攻擊動機也就增加了。這個安全標準足夠確保區塊鏈不被攻擊嗎?這很難說;我個人的觀點是這個風險很高,因為還很不足以保證網絡的安全,所以將區塊鏈協議托付給這個沒有增長可能的安全標準是很危險的。(注意在這方面對比比特幣,以太坊現在的PoW在本質上沒有任何改進;這也是為什么我個人不愿意設置以太的供應上限)
在PoS環境中,安全性很可能要高很多。原因在于,注意計算出來的掌控比特幣網絡的成本和每年挖礦收入的比例是非常低的(932百萬美金根據現在BTC的價位):資本成本只值2個月的收入。在PoS環境中,押金成本應該等于未來貼現后回報總額;就是說,假設風險調整折現率是5%,那么資本成本將是20年的收入。注意如果ASIC礦工沒有消耗電力并且永遠持續下去,與PoW的平衡點將一樣;(除了在經濟意義上PoW比PoS更浪費并且攻擊后恢復更困難的情況)但是,因為電力和硬件貶值實質上構成了很大一部分的ASIC挖礦成本,巨大的差異確實存在。因此,基于PoS,我們可能會看到一個價值20-100百萬美金的攻擊針對比特幣網絡的大小;所以這等級的安全性很可能足夠,但還是不完全有把握。
Ramsey問題
讓我們假設一下純粹依賴現在的交易手續費是不足以保證網絡安全性。這里有2種方式可以提高挖礦收入。一個是提高交易手續費,限制交易量到一個可用的范圍,另一個是增加通貨膨脹(挖礦獎勵)。我們該怎么去選擇,是其中一個,還是用兩者一定比例的結合?
幸運的是,有一個已經建立的經濟法則可以解決這個問題去最小化經濟無謂損失,被稱為Ramsey定價。Ramsey的最初設想如下:假設有一個規范化的壟斷者需要達到一個利潤目標(大概支付固定成本后達到收支平衡),然后現在具競爭性的定價不足以達到這個目標(例如:產品定價等于生產一個產品的邊際成本)。Ramsey法則表明漲價比例應該與需求彈性相反,即,如果產品A價格增長1%引起需求減少2%,產品B價格增長1%引起需求減少4%,那么社會上最理想的事情就是將產品A的價格比產品B提高2倍。(你可能注意到這將需求一致減少了)
采取這樣的均衡方案,而不是針對最沒有彈性需求的商品采取全部的剩余價格的策略。原因是銷售價的增長,導致在邊際成本之上的定價增長是平方級的,帶來的危害。
假設,某一商品需要$20去生產,你收費$21。很有可能一部分人覺得這個商品價值在$20和$21之間(我們假定平均值為$20.5),那么人們無法購買這個商品將對社會來說是一大損失,因為比起商家要放棄的利潤,人們得到這個商品的益處更大。
不過,這類人占少數,所以凈損失也少(平均值在$0.5)。現在,假設你定價$30。那么很可能有比原來多了10倍的人想要價格在$20到$30之間,他們的平均估價可能在$25左右;那么也就有10倍多的人遇到無法買到產品的情況,每個人的平均社會損失是$5而不是$0.5,所以社會的凈損失是原來的100倍。因為這種超線性增長,商家從每個人身上獲得較低利潤比采用從少數人身上獲取高額利潤,對社會整體更好。

注意“無謂損失”部分是一個三角形。正如你在數學課里學到的,三角形面積是width * length / 2,所以邊長加倍,面積會是四倍。*
在比特幣的現狀中,我們看到交易費用持續在一天~50BTC附近,差不多一年18000BTC,是總幣供應量的0.1%左右。我們可以估算出,將近2倍的交易費用增長會減少20%的交易量。實際上,在過去的一年比特幣的交易費用漲了2倍,而且看起來交易量也被阻礙了20%,相對交易費用沒有增長得情況(參考這個粗糙的項目)。這些估計是很不科學,但他們是合理的近似值。
現在,假定每年0.5%的通脹率可能會使持有BTC的利率降低10%,但我們保守說25%。如果在某些情況下,比特幣社區決定增加安全方面開支每年~200,000BTC,基于前面的估算,假定在考慮增加安全開支之前當前的交易費是最優的,此時最優的策略可能是提高2.96倍的交易費和引入0.784%的年通脹率。其他的估算標準會得出不同的結果,但是不管哪種情況,最理想的是手續費和通脹率的增長都不會是0。我使用比特幣來做例子,是因為我們可以觀察到它的使用情況被一些固定的限制制約的,但是同樣的理由適用于以太坊。
博弈學攻擊
另外還有一個論點來加強通脹的例子。如果過多地依靠交易手續費,會為博弈性攻擊提供空間,而且攻擊手段廣且較難分析。基本的原因很簡單:如果你阻止其他塊加入到鏈中,你就可以竊取那個塊的交易。那樣,有一種動機是,驗證者不僅是幫助他們,而且還可以傷害其他人。這比自私挖礦的攻擊更直接,因為在自私挖礦的情況下,你傷害了特定的驗證者,但是使其他的驗證者獲益,對比之下這種情況下攻擊者經常有機會去獨自獲益。
在POW中,一個簡單的攻擊是如果你發現一個塊有很高的手續費,你打算挖它的兄妹塊來包含同樣的交易,然后提供1BTC的獎勵給下一個礦工來挖你上面的塊,這樣后續的驗證者有動機去包含你的塊而不是原來的。當然,原來的礦工也可以提供更高的獎勵,展開競價戰爭,當然礦工也可以預防這樣的攻擊,通過主動放棄大部分的交易費而去挖下一個塊;最終的結果非常難預測,而至于是哪里導致網絡不夠高效也不是非常清晰。在POS中,同樣的攻擊也是有可能的。
如何分配交易費?
即使指定了從通脹和交易手續費中分配收益,關于如何收取交易手續費的具體方式仍然需要的選擇。盡管多數的協議到目前為止都采取了單一的方式,但是仍然有不同的維度去選擇。主要有三個選擇:
- 由創造塊的驗證者/礦工來獲取手續費
- 驗證者平均分配手續費
- 銷毀手續費
可以說,最大的不同在于第一和第二種選擇;第二和第三種選擇的不同可以被描述為目標政策選擇,我們會在后續的部分單獨討論。前兩個選擇的區別在于:如果驗證者創造一個塊來獲取手續費,驗證者有動機去包含盡可能多的交易在等同手續費的情況下。如果驗證者平分的話,每一個人的激勵都非常小。
注意字面上的分配100%的手續費(或者說,任何固定比例的手續費),通過旁路支付的方式來進行“逃稅”攻擊可以使之不可行:交易發起者,不通過標準的機制來提交交易的手續費,而是發送0或者接近0的“官方手續費”,然后通過其他加密貨幣(或者甚至是paypay)來直接支付給驗證者,允許驗證者來收集100%的收益。盡管如此,我們可以通過其他技巧來實現目標:確定協議允許的最低支付手續費,讓協議來罰沒這部分,然后讓礦工來保留多余的手續費(或者說,礦工可以保留所有的交易手續費,但是反過來礦工必須為每字節或者gas向協議交納費用;這在數學上是對等的)。這減少了偷稅的動機,因為將很大一部分交易費用的收益控制在協議里,允許我們維持交易費的基本發行,避免了傳統單純手續費模型的引入的博弈論攻擊。
協議不能收取所有的交易交易手續費,因為手續費是不同的,而且沒有價格確定性,但是它可以收取足夠多的手續費使它足以能抵消傳統單純交易費的博弈論安全問題
一個可能的確定這個最小手續費的算法是,類似于難度值調整過程,確定一個中期gas消耗平均值等于協議gas限制的1/3,如果平均使用值低于這個值就減少最小交易手續費,如果高于這個值就提高最小交易手續費。
我們可以進一步擴展這個模型,來提供更多有趣的特性。一個可能性是動態的gas limit:不采用不變的gas limit(塊不能超量),我們有一個動態的G1
,和一個硬性限制G2
(假定G2=2*G1
)。假定協議費用是20 shannon 每gas(在非以太坊環境下,用其他加密貨幣單位和“bytes”或者根據不同情況的其他塊信息限制)。所有到達G1
的交易需要支付20 shannon 每gas。在這個值之上,交易費用增加如下:在(G2+G1)/2
,邊際的單位gas支付40 shannon,在(3*G2+G1)/4
,增加至80 shannon,G2
之上到無窮大都支付4倍價格。這讓區塊鏈擁有一定能力去擴展容量來滿足突然增大的需求,減少價格沖擊(這樣的特性,被一些人批評的“手續費市場”概念,可能更有吸引力)。
采用哪種目標策略
假設我們同意上面的觀點。然后,另一個問題是:我們如何確定我們政策變量,尤其是通脹率?我們是否需要參與者提供固定比例的賭注(例如:全部ether的30%),然后來調整利率來補償修正?是否需要固定水平的總通脹率?或者我們是否需要設定固定的利率,然后允許參與者和通脹去調整?或者是否需要一種中間方案,參與者的利率增長將導致通貨的增長,參與者的增長和低利率組合的出現。
總的來講,目標規則的取舍是建立在我們對于不確定性的取舍,以及我們想減少哪些不確定性變量。以固定參與者為目標的主要原因是,我們對于系統的安全性有一定的確定性。以固定通脹率為目標的主要原因是,可以滿足持幣者對供應預期的需求,同時會有一個稍弱但是仍然足夠保證的安全性(這在理論上是可能的,在均衡中只有5%的ether需要參與,但是同時它會獲得較高的利率,來產生一種局部的反壓力)。以固定的利率為目標的主要原因是最小化自私驗證的風險,因為驗證者沒有辦法通過傷害其他驗證的利益來使自己獲利。一個混合的POS方案可能是結合這些保證,比如如果可能的話提供自私挖礦保護,但是卻依賴于最小5%的賭注參與。
現在我們可以討論重新分配和燒毀交易費用的差別了。很明顯,在預期情況下,兩個是等同的:重新分配50ETH每天來通脹50以太每天,和燒毀50ETH,然后通脹100個以太每天。兩者的取舍是不同的。如果手續費是重新分配,我們有更多的供給確定性,而相對較少的安全確定性,因為我們有一定大小的驗證確定性。如果交易費銷毀,我們會失去供給確定性,但是獲取了一定驗證激勵性和系統安全性。銷毀交易費同時也降低了cartel風險,因為驗證者不能夠認為地抬高交易手續費用(例如,通過審查,或者通過容量限制的軟分叉)。所以,一種混合的方案是可行的,并且或許是最優的,盡管當前采取的方式類似于以銷毀交易費用的方式,因此就要接受不確定的加密貨幣供給。我們可以得到,在高使用情況下減少手續費,在低使用情況下少量增加手續費,是最佳的。如果使用量是足夠的,這或許會導致平均上的低通貨緊縮。
原文:https://blog.ethereum.org/2016/07/27/inflation-transaction-fees-cryptocurrency-monetary-policy/
翻譯:@joys (金山), @rubyu2 (張亞寧)