观点

关于通胀,交易手续费和加密货币的货币政策

joys   |     |   2715 次阅读

安全性是区块链必须要为之付出的首要开支。区块链必须要在经济上有所付出让矿工和验证者参与到协议共识中来,不管是采用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倍。因为这种超线性增长,商家从每个人身上获得较低利润比采用从少数人身上获取高额利润,对社会整体更好。
img
注意“无谓损失”部分是一个三角形。正如你在数学课里学到的,三角形面积是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/

其他资源:http://ethfans.org/topics/554

翻译:@joys (金山), @rubyu2 (张亚宁)

 
1 人喜欢