寻找一种稳定的加密货币


注:原文 Posted by Vitalik Buterin on November 11, 2014;译文略有删减,仅作为了解。

Special thanks to Robert Sams for the development of Seignorage Shares and insights regarding how to correctly value volatile coins in multi-currency systems

Note: we are not planning on adding price stabilization to ether; our philosophy has always been to keep ether simple to minimize black-swan risks. Results of this research will likely go into either subcurrencies or independent blockchains

能否两全其美?能否拥有加密支付网络所提供的完全去中心化化,面对攻击时的强健,同时拥有更高水平的价格稳定性,而不会有这种极端的上下波动?

要恰当解决这个问题,最好将其分成两个主要独立的子问题:

  • 1.我们如何以去中心化方式衡量一种货币的价格( How do we measure a currency's price in a decentralized way )?
  • 2.给定一个预期供应调整,以确定价格,我们向谁发行,以及我们如何吸收货币单位 ( Given a desired supply adjustment to target the price, to whom do we issue and how do we absorb currency units )?

去中心化测量

对于去中心化测量问题,有两类已知的主要解决方案:

  • ①外生解决方案( exogenous solutions ):这种机制试图根据来自外部的某些精确指标来测量价格( mechanisms which try to measure the price with respect to some precise index from the outside);
  • ②内生解决方案( endogenous solutions ):这种机制试图使用该网络的内部变量来测量价格。

外生解决方案而言,迄今为止,唯一可靠的,(可能)以加密经济方式安全地确定一个外生变量值的已知机制类型,是 SchellingCoin 的不同变体——基本上,让每个人投票决定结果是什么(使用基于挖矿算力或某种货币的 stake 随机选出的一些集合,以防止 sybil 攻击),奖励所提供结果接近多数共识的每个人。如果你假定,每个其他人都将提供准确信息,那么,为了更接近共识,提供准确信息符合你的利益——这是一种非常类似于加密货币共识本身的一个自我增强机制。

Schellingcoin 的主要问题是,不清楚这种共识有多稳定。特别是,如果某个中等规模的参与者预先宣布实情的一些替代值,而对于大多数参与者而言,如果采用这些值,是有益的,并且参与者们设法对切换进行协调,那会如何?如果有很大激励,如果用户池相对中心化,那么,对切换进行协调,可能并不太困难。

可影响这种脆弱性程度的主要因素有三个:

  • (1)一个 schellingcoin 的参与者们,是否真可能有共同动机,将结果偏向某个方向?
  • (2)如果该系统不诚实,参与者们在这个系统中是否有一些共同 stake 会被贬值?
  • (3) 是否对某个特定答案,有可能有“可靠承诺”(即承诺以一种显然无法被改变的方式提供答案)?

对于单一货币系统来说,(1)是一个大问题,如果一组参与者是根据他们在该货币中的 stake 而被选出,那么,他们就有强烈动机假想货币价格较低,这样补偿机制就会将其推高( they have a strong incentive to pretend the currency price is lower so that the compensation mechanism will push it up );如果一组参与者是由挖矿算力选择而出,那么,他们就有很强动机去假想该货币价格过高,从而增加发行量。现在,如果有两种挖矿方式,其中一种用于选择 Schellingcoin 参与者,另一种用于接收一个变量回报,则此异议不再适用,多货币系统也可解决此问题。

如果参与者筛选基于 stake(理想情况下,长期 bonded stake )或 ASIC mining ,(2) 则为真,如果是基于 CPU 挖矿,(2) 则为假。然而,我们不应该简单指望这种激励超过(1)。

(3)可能是最困难的;其取决于该 SchellingCoin 的精确技术实现。简单实现涉及简单地将值提交到区块链上,这个简单实现是有问题的,因为早早地简单提交值,是一个可靠承诺。最初的schellingcoin 使用一种机制,让每个人在第一轮提交该值的一个哈希,第二轮提交实际值,加密相当于要求每个人先将卡面朝下放下,然后同时翻转它;但是,这也允许通过早早披露(即使不提交)一个人的值来进行可靠承诺,因为可以根据哈希检查该值。

第三选择是,要求所有参与者直接提交他们的值,但只在一个特定区块期间提交;如果一个参与者早早发布一个提交,他们总是可以“双重花费”它。12 秒区块时间意味着,几乎没有时间进行协调。该区块的创造者,可被强烈激励 ( 或甚至被要求,如果该 Schellingcoin 是一个独立区块链)将所有参与者包含在内,以阻拦或防止区块制造者 picking 及 choosing 答案。

第 4 类选项,涉及一些 secret sharing or secure multiparty computation 机制,使用一组节点,节点本身由 stake (可能甚至是参与者本身)选出,作为中心化服务器解决方案的一种去中心化替代品,具有这种方法所需的所有隐私。

最后,第五个策略是 schellingcoin “blockchain-style”:每个时期,一些随机 stakeholder 被选出,并被告知以 [ ID,value ] 对的形式提供他们的投票,其中,value 是实际有效的,id 是看起来正确的,上一次投票的一个 identifier 。正确投票,其动机只是一个测试过程——在一些数量的区块之后,仍保留在主链中的,获得奖励,未来投票者将注意到,他们的投票被附加到一个错误投票上,担心如果做他们之后的投票者,未来投票者将拒绝他们的投票( The incentive to vote correctly is that only tests that remain in the main chain after some number of blocks are rewarded, and future voters will note attach their vote to a vote that is incorrect fearing that if they do voters after them will reject their vote )。

SchellingCoin 是一个未经测试的实验,因此有合理理由怀疑它是否可行;但是,如果我们想要接近一个完美的价格测量方案,它是我们目前唯一拥有的机制。如果 schellingcoin 被证明不可行,那么,我们将不得不用其他策略:内生策略。

内生解决方案( Endogenous Solutions )

为了内生地衡量一种货币的价格,本质上,我们所需要的是,找到该网络内部的一些服务,已知这些服务有一个大致稳定的实值价格,以该网络自身的代币来衡量网络中该服务的价格。此类服务的例子包括:

  • 计算(通过挖矿难度测量)(Computation (measured via mining difficulty))
  • 交易费( Transaction fees )
  • 数据存储( Data storage )
  • 带宽供应( Bandwidth provision )

一个稍有不同但相关的策略是,测量一些与价格间接相关的统计数据,通常是使用水平指标;其中一个例子是交易量。

然而,所有这些服务的问题在于,它们都不能很好地应对技术创新带来的快速变化。目前为止, Moore's Law 保证了大多数形式的计算服务以每两年 2x 的速度变得更便宜,而且,它可以很轻松地将速度提高到每 18 个月 2x ,或者每 5 年 2x。因此,试图将一个货币与这些变量中的任何一个挂钩,将可能导致一个超级通货膨胀的系统,因此我们需要一些更先进策略来使用这些变量来确定一个更稳定的价格指标。

首先,让我们设置这个问题。我们将 estimator 定义为一个函数,其接收某个输入变量的一个数据 feed(如,挖矿难度,以该货币单位计的交易成本等)D [1],D [2],D [3] ...... 并且需要输出该货币价格的一个估价流,P [1],P [2],P [3] ......该 estimator 显然无法考察未来; P [i]可依赖于 D [1],D [2] ... D [i],但不依赖于D [i + 1]。现在,首先,让我们绘制关于比特币的最简单可能 estimator,我们称之为 naive estimator:难度等于价格( difficulty equals price )。

不幸的是 ,在此图表中,这种方法的问题显而易见,上述也已提过:难度是价格和 Moore's law 的函数,因此,它给出的结果,与随时间呈指数级变化的任何精确的价格衡量,相分离。解决这一问题的第一个直接策略是,试图弥补 Moore’s law ,利用该难度,但通过一些每天的常量,人为降低价格,来抵消技术进步的预期速度;我们称之为补偿型 compensated naive estimator 。注意,此 estimator 有无限多个版本,每个折旧率对应一个版本,我们在这里展示的所有其他 estimators 也将具有参数。

我们将为我们的版本选择参数的方式是,通过使用 simulated annealing 的变体来找到最优值,使用比特币前 780 天的价格作为 “training data” 。然后,estimators 将在剩余 780 天内执行,以查看,当参数得到最优化时,它们如何对未知条件作出反应(这种技术,被称为 “cross-validation” ,是机器学习和优化理论中的标准)。针对 compensated estimator 的最优值,每天下降 0.48%,导致此图表:

我们将探索的下一个 estimator 是 bounded estimator 。 bounded estimator 的运作方式有点复杂。默认情况下,它假设所有难度增长都由于 Moore’s law 。可是,它假设 Moore’s law 无法倒退(即技术变得更糟),以及 Moore’s law 的速率无法超过某个速率——以我们的版本为例,每两周 5.88%,或大约每年翻四倍。它假设,任何超出这些界限的增长,都来自价格涨跌。因此,比如,如果一个时期,难度增加了 20% ,它假设,其中 5.88% 是由于技术进步,其余 14.12% 是由于价格上涨,因此,基于这个 estimator 的一个稳定币,可能会增加 14.12%的供应,作为补偿。该理论认为,加密货币的价格增长,在很大程度上,发生于快速泡沫中,因此,bounded estimator 应能够捕捉到此类事件期间,价格增长的大部分。

也有更先进的策略;最好的策略,应该考虑这个事实,ASIC 矿场需要时间来建立,并遵循一个滞后效应( hysteresis effect ):如果你已经拥有一个 ASIC 矿场,让一个 ASIC 矿场保持在线,是经常切实可行的,但即使在同样条件下,建立一个新矿场,将不可行。一个简单方法是,观察难度增长率,而不仅是难度本身,甚至使用线性回归分析来预测未来 90 天的难度。这是一张图表,包含了是上述 estimators,以及新的一些其他的,与真实价格进行比较:

请注意,该图表还包括 3 个 estimators,使用比特币挖矿以外的统计数据:一个简单及一个高级 estimator 使用交易量,一个 estimator 使用平均交易费。我们也可将基于挖矿的 estimators 与其他 estimators 相分离:

See https://github.com/ethereum/economic-modeling/tree/master/stability for the source code that produced these results.

当然,这只是内生价格 estimator 理论的开始;涉及数十种加密货币的更彻底的分析,可能会走得更远。最好的 estimators 可能最终使用不同度量的组合;鉴于 2014 年基于难度的 estimators 对价格的估算如何过头(overshot),基于交易的 estimators 对价格的估算如何未及(undershot),这两种结合,可能会大大提高准确性。随着时间推移,这个问题也会变得越来越容易,因为我们看到比特币挖矿经济稳定趋于一种均衡,其中,每两年,技术进步的速度仅是 Moore’s law rule 的 2 倍( technology improves only as fast as the general Moore’s law rule of 2x every 2 years )。

为了解这些 estimators 可以有多好,从图中可知,它们可以抵消至少 50% 的加密货币价格波动,并且一旦挖矿产业稳定,此数字可能会增加到约 67% 。像比特币这样的东西,如果它成为主流,可能会比黄金更不稳定,但不会那么不稳定 - BTC 和黄金之间的唯一区别是,黄金供应,实际上会随价格上涨而增加,因为如果矿商愿意支付更高成本,就可以开采更多黄金,所以,存在一种内在的抑制效应。但黄金的供应弹性却出乎意料地不那么高;在 1970 年到 2000 年期间的价格上涨过程中,产量几乎完全没有增加。过去十年,黄金价格保持在 4.63x 范畴内(412 美元至 1980 美元);以对数( logarithmically )方式将其减少三分之二,其幅度为  1.54x ,比 EUR/USD (1.37x), JPY/USD (1.64x) or CAD/USD (1.41x) 高不了多少;因此,内生稳定很可能被证明非常可行,并且,由于它与任何特定中心化货币或权威机构缺乏联系而可能被优先考虑。

所有这些 estimators 必须面对的另一个问题是可利用性( exploitability ):如果交易量被用来确定货币价格,那么,一个攻击者只需通过发送大量交易就可很容易地操纵价格。以比特币支付的平均交易费用约为每天  $5000 ;以稳定货币支付的价格,攻击者可以将价格减半(at that price in a stabilized currency the attacker would be able to halve the price )。然而,仅仅因为市场如此大,挖矿难度更难利用。如果一个平台不愿意接受 wasteful proof of work 的低效性,一种替代方法将在一个其他资源(如存储)市场中建立;Filecoin 和 Permacoin 是试图使用去中心化文件存储市场作为共识机制的两项努力,同样市场可很容易地双重用作(dual-purposed )一个 estimator 。

发行问题

现在,即使我们有一个相当好的,甚至是完美的货币价格 estimator,但我们仍然有第二个问题:我们如何发行或吸收货币单位(  issue or absorb currency units )?最简单方法是,如日本研究人员所提,简单地将它们作为挖矿奖励发放。但是,此处有两个问题:

  • 当价格过高,这种机制只能发行新的货币单位;在价格过低时,这种机制无法吸收货币单位。
  • 如果我们使用一个内生 estimator 的挖矿难度,那么,该 estimator 需要考虑此事实:挖矿难度的一些增长,将是由于 estimator 本身触发的发行率增加。

如果不小心处理,第二个问题有可能在任一方向,产生一些相当危险的反馈循环;但是,如果我们使用不同市场作为一个 estimator 和一个发行模型,那么,这将不是问题。第一个问题似乎很严重;事实上,我们可以把它解释为,任何使用这种机制的货币,都将总是比比特币差,因为比特币最终的发行率将为零,而使用这种机制的货币,其发行率将总是高于零。因此,该货币将总是更具通胀性,因此,持有其的吸引力也更小。然而,这种论点并不很正确;原因是,当用户购买该稳定货币单位,那么,他们更有信心,在购买时,这些单位还未被高估,因此将不久下降。另一种选择是,人们可以注意到,价格的巨大波动是合理的,因为这个概率估计的改变——该货币价格将上涨数千倍的概率;剪掉( clipping off )这个概率,将降低这种波动的上下幅度。对于关心稳定的用户而言,这种风险的降低,带来的好处,可能大于总体长期供应通胀的上升带来的好处( this risk reduction may well outweigh the increased general long-term supply inflation )。

BitAssets

第二种方法是,Bitshares 所使用的“bitassets”策略(的原始实现)。 这种方法可描述如下:.

  • 存在两种货币,“vol-coins”和“stable-coins”。
  • 已知,Stable-coins ,其值为 $1。
  • Vol-coins 是一种实际货币;用户可拥有其零或正余额。Stable-coins 只以 contracts-for-difference 的形式存在(每一枚负 stable-coin 实际上都是欠别人的债务,由价值至少两倍于债务的 Vol-coins 所抵押;每一枚正 stable-coin ,都是该债务的所有权)。
  • 如果某人的 stable-coin 债务的价值,超过其 vol-coin 抵押品价值的 90% ,该债务被取消,整个 vol-coin 抵押品将被转移给交易对手(“追加保证金”["margin call"])
  • 用户可以自由地在 vol-coins 和 stable-coins 之间进行交换。

就是这样。使这种机制(据说)可行的关键是,“市场挂钩”概念:因为每个人都知道 stable-coins 应值 $1 ,如果一个稳定币的价值降到 $1 以下,那么,每个人都将意识到,它最终将回到 $1 ,所以,人们会买它,所以它将真的回到 $1 - 一个自我实现的预言论证。由于类似原因,如果其价格超过 $1,它将会回落。 因为 stable-coins 是一种零总供应货币(zero-total-supply currency )(即,每个正单位由相应的负单位匹配),所以本质上,该机制不是不可行;$1 的价格,对于 10个 或 100 亿用户而言,都是稳定的(记住,冰箱也是用户!)

然而,这种机制具有一些相当严重的脆弱性。当然,如果一枚 stable-coin 的价格降到 $0.95 ,这是一个小幅度下降,很容易纠正,那么,这个机制将会起作用,价格将很快回到 $1 。然而,如果价格突然下降到 $0.90 或更低,那么,用户可能会将下跌解读为这个信号——挂钩正在破裂,他们将在可以的时候,开始争先恐后地退出——从而使价格进一步下跌。最后,该 stable-coins 很容易就会一文不值。在现实世界中,市场往往显示积极的反馈循环,很可能,系统尚未崩溃的唯一原因是,因为每个人都知道存在一个大型中心化组织( BitShares Inc ),如果必要,它愿意充当最后的买方,以诉诸维持“市场”挂钩。

请注意,BitShares 现在已经转移到一个稍微不同的模型,该模型涉及由系统的 delegates (其共识算法的参与者)提供的价格 feeds ; 因此,现在,其脆弱性风险可能大幅降低。

SchellingDollar

与 BitAssets 略微相似,但可论证地,效果更好的一个方案是 SchellingDollar( 这样叫它,是因为,它原本打算与 SchellingCoin 价格检测机制合作,但它也可以与内生 estimators 一起使用 ),其定义如下:

  • 存在两种货币,“vol-coins”和“stable-coins”。 Vol-coins 最初以某种方式分发(如预售),但最初不存在 stable-coins 。
  • 用户可能只有一个零或正余额 vol-coins 。 用户可能有一个负余额 stable-coins ,但如果他们拥有的 vol-coins 的量,其价值两倍于他们的新的 stable-coin 余额,才能获得或增加其 stable-coin 负余额( 比如,如果一个 stable-coin 是 $1,一个 vol-coin 是 $5,那么,如果一个用户有 10 vol-coins ( $50 ) ,他们最多可将他们的 stable-coin 余额减少到 -25)。
  • 如果一个用户负 stable-coin 的价值超过该用户的 vol-coins 价值的 90% ,那么,该用户的 stable-coin 和 vol-coin 余额都将被降为零 (“追加保证金”)。这就避免了这种情况——存在负价值余额( negative-valued balances )的账户,系统因用户逃离债务而破产。
  • 用户可将他们的 stable-coins 转换成 vol-coins ,或将他们的 vol-coins 转换成 stable-coins,以每 stable-coins 价值 $1 的vol-coin 的汇率,可能需要 0.1% 的交换费。该机制当然遭受(2)中描述的限制。
  • 该系统跟踪了流通中 stable-coins 总量。如果数量超过零,系统就会施加一个负利率,使正 stable-coin 持有变得不那么有吸引力,而负持有变得更具吸引力。如果数量小于零,系统会施加一个正利率。利率可以通过 PID controller ,甚至可以通过一个简单的 “ 基于数量是正或负,每天增加或减少 0.2% ” 规则来调节。

在这里,我们不简单假设市场将价格保持在 $1;相反,我们采用央行式利率目标机制,在供给过高( 即大于零 )时,人为阻止持有 stable-coin 单位,在供给过低(即小于零)时,鼓励持有stable-coin 单位。请注意,这里仍然存在脆弱性风险。首先,如果 vol-coin 价格很快下跌超过 50% ,那么,将触发许多追加保证金条件,大幅度将 stable-coins 供应转向正面,从而迫使 stable-coins 的高负利率。其次,如果 vol-coin 市场太薄弱( thin ),那么,它将很容易被操纵,从而允许攻击者触发追加保证金的连锁反应。

另一个担忧是,为什么 vol-coins 有价值?仅仅稀缺将不会提供许多价值,因为作为交易用途,vol-coins 不如 stable-coins。我们可以通过将系统建模为一种去中心化公司来看到答案,其中,“盈利”相当于吸收(absorbing) vol-coins,“亏损”相当于发行 vol-coins。该系统的盈亏场景如下:

  • 利润(Profit):兑换 stable-coins 成 vol-coins 而得到的交易费
  • 利润:追加保证金情况中的额外 10%(the extra 10% in margin call situations)
  • 损失(Loss):是这样一种情况——其中,当 stable-coin 总供应为正,vol-coin 价格下降,当 stable-coin 总供应量为负,vol-coin 价格上升(由于追加保证金的情况,第一种情况更可能发生)。
  • 利润:是这样一种情况——当 stable-coin 总供应为正,vol-coin 价格上升,或当 stable-coin 总供应量为负,vol-coin 价格下降。

注意,第二个利润,在某些方面,是虚幻利润;当用户持有 vol coins ,他们将需要考虑将成为额外 10% 缴获量的接受方的风险(the risk that they will be on the receiving end of this extra 10% seizure ),这抵消了存在的利润对系统的好处。然而,有人可能会争辩说,由于 Dunning-Kruger 效应,用户可能会低估他们吃亏的可能性,因此,补偿将低于 100%( users might underestimate their susceptibility to eating the loss, and thus the compensation will be less than 100% )。

现在,考虑这样一种策略:用户试图持有一定比例的 vol-coin 。当 x% 的 vol-coins 被吸收(absorbed)时,用户卖出他们的  vol-coins 的 x%,获得利润,当新发行的 vol-coins 等于现有供应量的 x% 时,用户增加的持有量,占比相同,承担损失。因此,用户的净利润与系统的总利润成正比。

铸币税股份( Seignorage Shares )

第四种模式是“铸币税股份”,courtesy of Robert Sams 。铸币税股份是一个相当优雅的方案,以我自己对该方案的简化,其运转如下:

  • 存在两种货币,“vol-coins”和“stable-coins”( Sams 分别使用“shares”和“coins”)
  • 任何人都可从该系统,以每 stable-coin 兑换价值 $1 的 vol-coins 这样的汇率,以 stable-coins 购买 vol-coins ,可能需要 0.1% 的交易费

请注意,在 Sams 的版本中,拍卖用于,在 stable-coins 价格过高时,出售新创建的stable-coins,在其价格过低时购买;这种机制基本上具有相同效果,除了使用始终可用的固定价格代替拍卖。然而,这种简单性,以某种程度的脆弱性为代价。为了找出原因,让我们对 vol-coins 进行类似的估值分析。其盈亏场景很简单:

  • 利润:吸收 vol-coins 发行新的 stable-coins(Profit: absorbing vol-coins to issue new stable-coins )
  • 损失:发行 vol-coins 吸收 stable-coins ( Loss: issuing vol-coins to absorb stable-coins )

同样的估值策略也适用于其他情况,因此,我们可以看到,vol-coins 的价值与 stable-coins 供应的预期总未来增量成正比,通过一些折现因素进行调整。因此,问题就出在这里:如果各方都认为该系统正在“逐步下滑”( “winding down” )(如,用户正在放弃它,转向一个更优的竞争对手)。那么,stable-coins 的总供应量被预计将下降,而且再也不会回升,那么, vol-coins 的价值就会跌到零以下,因此 vol-coins 通胀,然后,stable-coins 通胀。 然而,为了换取这种脆弱性风险,vol-coins 可以获得更高的估值(In exchange for this fragility risk, however, vol-coins can achieve a much higher valuation ),因此,对希望通过代币销售赚取收入的加密平台的开发者而言,该方案更具吸引力。

请注意,如果 SchellingDollar 和铸币税股份在一个独立的网络上,它们也需要考虑交易费和共识成本。幸运的是,有了 proof of stake ,达成共识的成本应该可能低于交易费,在这种情况下,差价可添入利润。这可能为 SchellingDollar’s vol-coin 带来更大市值,并允许 seignorage shares’ vol-coins 的市值保持在零以上,即使是在 stable-coin 的交易量出现大幅(尽管不是全部)永久性下降的情况下。然而,最终,某种程度的脆弱性不可避免:至少,如果对一个系统的兴趣(interest)下降到接近零,那么,这个系统就会被双重花费,estimators 和 Schellingcoins 被利用殆尽(  estimators and Schellingcoins exploited to death. )。即使是侧链( 作为跨多网络保存一种货币的方案),也容易受到这个问题的影响。问题很简单:(1)我们如何最小化该风险(2)考虑到风险存在,我们如何将系统呈现给用户,使他们不会过度依赖于可能崩溃的东西?

结论

稳定价值资产是否必要?鉴于我们在主流世界中看到的,许多人对“区块链技术”的高度兴趣,对 “Bitcoin the currency” 的不关心(disinterest),或许,stable-coins 或多货币系统接管的时机已经成熟。届时,将有多种不同类别的加密资产:用于交易的稳定资产,用于投资的投机资产,而比特币本身可能是一个独特 Schelling 点,作为一个通用的后备资产(universal fallback asset),类似黄金目前和历史的功能。

如果这种情况真的发生,特别如果基于 SchellingCoin 策略的价格稳定性的更强大版本能够起飞,那么,加密货币领域可能最终会出现一个有趣情况:可能有数千种加密货币,其中许多是波动的,但其他许多都是 stable-coins ,所有这些货币几乎都是彼此锁步调整价格;因此,这种情况甚至可能最终以一个单一超级货币的形式出现在界面中( the situation could even end up being expressed in interfaces as a single super-currency ),但其中,不同区块链随机给出正或负利率,就像 Ferdinando Ametrano’s “Hayek Money”。未来真正的加密经济,可能还没有开始成形。

原文:https://blog.ethereum.org/2014/11/11/search-stable-cryptocurrency/
作者:Vitalik Buterin
编译 & 校对:Mitta蓝 & 东林