【转】区块链上的稳定币:理论支持和技术实现

区块链上的稳定币:理论支持和技术实现

大家好,很高兴今天受到 EthFans 邀请参加第一期的“洞见”活动。我将给大家分享一下区块链的稳定币理论以及不同模式的实现方式。

之前我大多数是做关于 MakerDAO 和 Dai 的专题,今天我会比较少谈 MakerDAO 和 Dai,主要从货币理论的角度去谈:在区块链上实现稳定币。

我在标题“稳定币理论”前面给“区块链上的”打了一个括号,因为我觉得货币理论始终是货币理论,它并没有因为区块链而出现一些根本上的变化,很多传统货币和金融理论在区块链上还是同样可以应用的,当然在一些具体的技术实现上可能会有些改变。

那么我们先聊一聊稳定币(货币)的一些前提条件。

为什么需要稳定币?

第一个问题:为什么需要稳定币。我们一般会给出一些明显的答案,但实际上并没有解释背后的原因。

为什么需要稳定币?可能有的人说因为已有的加密货币它并不稳定。这其实不是一个答案,仅仅是一个陈述,我们需要进一步问的是为什么这些加密货币,比如比特币,并不稳定。那么也许得出的一个答案是 - 因为投机使它价格波动。但其实这也不是一个好的回答,因为需要研究是什么特征导致的投机。一个较好的回答是 - 以比特币为例,其总量是恒定的,2100万。比特币模仿了黄金的特性;由于其总量恒定的特征,带来通缩的特性,导致大家会对其进行一个投机。投机之后会产生通缩的螺旋式上升:因为大家对它有增值的预期,于是会用来贮藏,流动性紧缺后就有进一步的投机,价格会越来越高,通缩会越来越严重。这样就从一部分角度解释了比特币价格的大幅波动,因为它通缩的特性、模仿了黄金这样一个从历史来看并不是很成功的货币体系,造成的问题。但是我觉得这种解释也并不是根本上全部适用的,因为还存在一些总量不恒定的加密货币,但其价格波动也很大。我认为可以从货币的职能入手:加密货币目前只实现了货币的最基础或者说最原始的一个功能,就是交易媒介职能。可能我们之前都学过:货币有几大职能,比如交易媒介、价值储存还有记账单位。但是加密货币目前只实现了交易媒介的职能。

交易媒介还是记账单位:Metallists vs. Chartalists

当然这种视角也有很多争论,其实经济学界从很久以前,大家就开始在讨论货币最重要的职能是什么:它到底是用于交易媒介呢,还是记账单位?

如果你沿着这条线往回看的话,其实这个争论很早以前就有的:从 17 世纪开始就有 Metallist 和 Chartalist 的分歧。Metallist 就认为,交易媒介是最重要的功能;这些人里面就包含了很多奥地利学派经济学家,比如门格尔,米塞斯;他们都认为交易媒介是货币的最主要的一个功能,货币必须由商品进行背书,比如贵金属等等。尤其米塞斯还专门写过,在他的《货币与信用论》一书中当中,他提出交易媒介是货币最重要的职能,其它的职能只是交易媒介的附属职能。

但其实有另一个学派与之相对应,它的起源是来自于 Chartalist,他们认为货币之所以有价格,因为*给他盖了一个章,给了许可。*会用这种货币来收税。*说它是货币,它就是货币。 其中的代表也很多,比如说凯恩斯,以及后来的明斯基。其实大卫·格雷伯,他的那本很出名的书《债》(Debt:The First 5000 Years),在里面就提到了,物物交换其实在历史上并没有被广泛使用,货币主要的功能就是记账,记录人与人之间的债务。从这条线来看,他们认为货币的记账功能其实是更为重要的一个职能。

我们看现在的加密货币,比如说比特币也好,莱特币也好,他们想实现的实际上是类似于贵金属的功能。但是目前能实现的功能仅仅是交易媒介,谁会用比特币去做财务记账呢,又有哪家公司记账用莱特币呢?

这样的角度可以给你一个理解稳定币的由来以及需要实现的职能。但是我觉得这两者都不重要,讨论货币的交易媒介功能和记账单位职能也好,都不是最重要的事情

It Doesn't Matter

无论是谈记账单位(即衡量价值的尺度),还是说作为一种交易媒介,都是货币在整个支付体系中的一些表征。 就是说,货币已经成为了一种记录交易和实现多边清算的一个工具

清算是,某个人或者是某企业,对于一些交易对象的债权可以抵消他对其他对手方的债务。结合到区块链方面来看,或者结合到分布式账本来看,这些清算可以通过一些中心机构去进行,比如清算中心,美国的 ACH,他们有一个总的账本处理清算;当然清算也可以通过去中心化的方式实现,比如说在*银行出现之前就有代理银行(Correspondent Banks),以及现在区块链上点对点的实现。所以说,两种方式都可以实现清算,但是在实现的过程当中会有效率以及管理方面的各种问题。

那么,我们在研究稳定币的时候,研究的重点究竟应该在哪?

What Matters?

稳定币要构建的是一套支付体系,支付体系的关键是什么?关键在于信用,就是 credit。在于你如何创建信用,以及如何管理信用

其实“信用”是一个非常有意思的词。它一方面是银行体系里的货币,但是 Credit 同时也代表着一个银行或者企业自身的信用。

【转】区块链上的稳定币:理论支持和技术实现

在这里我采用了“货币的阶层性”分析视角,因为货币天生是有阶层的,最上面是 Money,最下面是 Credit,而且 Credit 处在不断扩张和收缩的过程中。很多人在讨论比特币是不是货币,其实比特币想尝试的是没有任何的 Credit,所有的货币都是 Money,我给你发送比特币就是最终的清算。其实这类似于有些人批评部分储备银行,他们认为经济体系中不应该有任何的 Credit,有 Money 作为“真正的货币”就好。但从历史上来看,百分之百储备储备金,或者是非常紧缩的货币政策,并没有对经济产生很好的结果,而 Credit 是不得已出现的。

最初,我们是用黄金作为最终的清算工具。现代货币体系中处在最上面的是央行的准备金 Reserves,其次是 Currency,即纸币和硬币。再下一个阶层才是我们平时会广泛接触的,银行存款 Deposits,以及我们在非银行金融公司的存款(NBFI Deposits),比如说余额宝。再往下一点的话,我们还可以延伸到更广义的货币,比如说连锁店里使用的优惠券,你可以用这个优惠券去换一些礼品等等;还有航空公司的积分卡,你也可以把他们看做是广义的货币。再往下延伸还有个人之间的欠条(Personal IOUs)。有学者认为货币就是人与人之间的欠条,关键在于发行这个欠条的背后人是谁。最上面发行欠条的是*,最下面发行者是个人。欠条的价值跟发行主体的信用是挂钩的,比如说我现在写一张纸注明我在一年后还给你一栋房子,这就是我个人的信用,当然个人信用一般无法与机构信用相比,欠条到期的时候,往往会出现折现与展期。

以上就是一个比较宏观的 Picture,可以帮助你理解,我们在谈稳定币在谈货币的时候,究竟在谈什么。

那么我们将区块链上的货币映射到上面,你可以发现,在里面找不到比特币的位置。为什么?因为现代货币基本上已经全是信用货币,即债务。但比特币不属于任何人的债务,这就是比特币相对特殊的一点,它有点像黄金,是在这个表外部的(Outside Money)。但是我们可以把其他的数字货币对应进去,比如说 USDT,它其实可以当作是银行存款的凭证,Tether 我们可以放在银行存款的下面。我们平时说的 Token,90% 甚至更高比例,从传统视角来看不过就是一个优惠券和积分,只不过它是通过区块链来实现的,但它并没有真正脱离于(货币层级)这样的分析标准。

OK,这样我们就可以从一个货币视角,来看稳定币的模式。

从货币视角看稳定币的模式

目前的共识主要将稳定币区分为三种。第一种,法币托管模式,包括 USDT、 GUSD、Paxos 等等;第二种是算法央行模式,比如 Basis;第三种就是资产抵押模式,代表就是我所在的项目 MakerDAO。

其实这些模式都可以在传统货币市场中找到类似的实践,比如 USDT,它就是一个离岸美元市场。算法央行问题很多,但我将分析其参照的 MV = PY 模型。这个模型很有意思但其实适用性有限。稳定币 Dai 和 Repo(回购市场)很类似,虽然有些区别。我们先看单一法币托管模式。

单一法币托管模式

比如 USDT,它出现的原因跟离岸美元出现的原因是一致的,因为资本管制和规避监管的需求:很多交易所没有办法获得美元账户以及牌照的,但是它需要通过美元进行计价和结算。(我最近的一个观点是,也许比特币只是承载美元结算的一个信封而已,因为我们还是围绕美元上计价,并不能说比特币现在有独立的购买力,当然这个还需要进一步的讨论。)

【转】区块链上的稳定币:理论支持和技术实现

这里有一张简图,帮助大家理解 USDT 的产生过程。Tether 没有办法和美国银行合作,它把存款放在*和欧洲的银行;这些银行没有美联储的账户,所以它没办法有美元准备金,但他们可以在美国的银行开个账户,因此就可以将用户的美元存到其在美国银行的账户里。有了这样的美元账户之后,Tether 就可以发行 USDT。我们先不讨论它发行了多少 USDT 这样的问题,首先看下发行机制。这里是比较意思的,Tether 用这个美元账户作为储备金,因为他没有在美联储账户下的储备金,那么它在美国银行的存款就成了它的储备金,然后发行 USDT。而国内外很多交易所使用 USDT 作为基础交易对,是因为这些交易所连美元账户都没有,而是直接将 USDT 作为他们的储备金。USDT 对于很多交易所来说就是他们的准备金,然后在自身交易所的账本上给了用户一个余额。这意味着什么呢?在下一张图中我会分享一下关于为什么最近很多交易所都在发稳定币的看法。

大家认为 USDT 核心的问题在于超发,我觉得超发并不是一个非常准确的表述,问题在于它创造和管理自身信用的能力。 为什么这么说?大家往往认为部分储备金就是超发,但这要看如何定义“超发”。举个例子,你去找 Tether 要一百万美元的 USDT,但是你的资金还没有到位。Tether 说因为我经常跟你做交易(我信任你),我可以先给你发一百万的 USDT,明天你再把资金打过来,或者说我们约定一个打款的期限。那么这到底是超发还是 Tether 给了你一笔贷款?其实很难区分。而 USDT 本身就是通过这样的方式去创造信用。

【转】区块链上的稳定币:理论支持和技术实现

回到上面说过的货币的阶层性, Tether 是处在离岸美元的位置,而他背后的 Bitfinex,实际上是一个离岸美元的做市商,也就是说,Bitfinex 拥有离岸美元的账户,离岸美元是 Bitfinex 的资产,发行了 USDT 负债,并且通过管理资产负债可以获利。而大多数使用 USDT 的交易所其实不过是 USDT 的 Broker,只是做了撮合商的角色,比如说“规规矩矩”的交易所,他们不超发,用户发送过来一个 USDT 就在其账上记一个 USDT。 而且几乎所有链上的去中心化交易所,都是这样的链上撮合商角色。 但是还有一部分交易所,他们比较有意思,本质上是 USDT 的做市商,他们可以超发 - USDT 本身不一定超发,但是使用 USDT 的交易所可能超发。交易所本身在某个时间并没有足额的 USDT,但可能在账户上给用户更多的 USDT。他们是 USDT 的做市商。

那么最近发生了什么呢?很多交易所想自己发行稳定币,之前有人问我为什么交易所要发稳定币,说是否因为可以赚手续费,或者割韭菜等等。但是如果你仔细想想,其实这些交易所是想成为美元的做市商。这样他们就可以高于离岸美元市场,直接做美元资产。他们可以在本质上成为加密货币市场的“央行”。这就是为什么我认为现在很多交易所会去做稳定币的原因;当然也不排除他们没想明白这一点,只是因为稳定币是一个热点所以去追。当然能不能做成其实更多是监管层面问题。

OK,我们来看一下算法央行模式,以 Basis 为例。

算法央行模式

Basis 通过算法央行来调节稳定币供给,以此稳定货币的价格。我其实一直没想明白,为什么那么多人会青睐 Basis。如果你真的看它的白皮书的话,你会发现他只是把各种理论给堆砌拼接到一起。那么它的模型和主要理论是什么呢?

用最简单的方式去解释,我有两个货币,一种是稳定币,它与美元 1:1 锚定。另外一个概念是债券。如果稳定币的价格高于 1 美元,此时系统会给那些拥有债券的用户增发更多的稳定币。因为此时稳定币处于高价,用户有激励把稳定币卖掉赚取溢价。把价格压下去很简单,但如果稳定币的价格低于 1 美元呢?系统的做法是发行更多的债券,在市场中回购稳定币,把这个流动性收回来,试图通过减少稳定币供给的方式把价格推上去。

但这里有几个问题,而且都是围绕其 Basis 主体的信用。如果说稳定币的价格高于市场价,说明大家对它是非常信任的,但一旦脱锚低于市场价,那这本身就意味着大家已经对这个稳定币失去了信任。在失去信用和背书的情况下,债券它并不是债券,只是一个看涨期权。市场参与者买这个期权是希望在未来可以获得更多的稳定币,即未来是升值的。如果市场悲观,是没有人会有激励购买看涨期权的,如果大家都这么认为,它会很快陷入死亡螺旋。Basis 将自己当成了*和央行的高度去设计,但忽视了其跟*有着本质的不同。因为 Basis 没法收税,它所发行的债券背后只不过是一个基于加密货币市场情绪的期权。

第二点我想谈的是 Basis 白皮书中谈到的主要公式,即 MV = PY。这个公式在加密货币市场也是出奇地受欢迎,很多人都直接拿来用。这个公式最早是来自于费雪(Irving Fisher)方程(MV=PT),后来弗里德曼(Milton Friedman)等货币主义,将其改造成了 MV = PY。有个趣闻,弗里德曼把他车子后面的车牌号都改成 MV = PY,可见他对这个公式的执着。

【转】区块链上的稳定币:理论支持和技术实现

我先解释一下这个公式的意义。 M 是货币供给量、 P 是价格水平、V 就是货币的流转速度、 Y 就是整个经济体的产出量。理论上而言,整个经济体的产值乘以其物价水平 = 经济体中流通的所有货币的数量乘以货币的流转速度,听起来是很有道理的。大家看任何模型的时候,首先要考虑到其历史背景。这个公式的出现是在四十年前,而当时的货币体系和现代货币是很不一样的。 很多人说这个公式是一个套套逻辑(tautology),但我觉得它并不仅仅是个套套逻辑。我们需要注意,这个公式的前提假设:其假设货币的流转速度是相对恒定的,总产值也是相对恒定的,在这种前提下,推导出货币供给量会对价格造成直接的影响。衍生来说,如果*超发了货币,整个物价会上涨,会造成通货膨胀。

但这里是存在几个问题的。第一个问题是这个公式只考虑了高能货币,即央行的货币,并没有考虑商业银行发行的货币。第二个问题是货币流转速度 V 并不是一个常量,现代货币的流转速度是不断变化的。 Basis 想用这个公式去作为管理其稳定货币的模型,问题在哪呢?Basis 一旦上线交易所,他就一定无法控制货币的流转速度,这个速度是可以由该交易所去控制的, 同时, 货币总供给量 M 也不是 Basis 本身能控制的,就像我刚刚提到的 USDT 的例子,交易所相对来说变成了商业银行,自身发行基于 Basis 的影子货币。

因此,很多区块链项目在使用这个 MV= PY 进行通证设计的时候都需要三思。从适用性上来说,它并不是一个很好的模型。它只不过给人们一个视角去理解货币跟物价的关系

最后来聊聊数字资产抵押模式,也就是 Dai 的模式。

数字资产抵押模式

Dai 的模式是通过超额抵押资产(将来还会引入链上证券),发行跟美元锚定的稳定币

所有的 Dai 都是通过链上抵押数字资产创建的。

假设你有一些加密数字资产,比如以太坊。你不希望卖掉以太,但是需要一笔流动性现金,用来消费或者投资更多的数字资产。

  1. 你将 1500 美元的以太锁入智能合约(Collateralized Debt Position,抵押债仓)之中,作为担保物。
  2. 根据该担保物的风险参数(2/3 的折扣),可生成 1000 个 Dai,即 1000 美元 。
  3. 用 Dai 换成美元或投资其他的资产。
  4. 当需要取回担保物(以太)时,偿还 1000 个Dai 和极低的利息(以 MKR 支付, 目前年化 0.5%),拿回以太并保留获取的收益(来自以太的上涨或用 Dai 投资的收益)。

Dai 的生成成本是 1 美元 (来自于抵押物的喂价),且始终是超额抵押的,也就是说 Dai 的背后始终有足额的资产。

Dai 这种超额抵押模式的好处在哪里呢?在于其背后的抵押品的价值始终高于系统发行的债务,即 Dai,这也省去了 Dai 的价格发现过程,同时由于基于区块链完全透明的特性,人们始终知道 Dai 背后有足额的资产保证。如果资产价格上升,那么 Dai 的担保将更充足。如果资产下跌到一定值(原CDP开启者没有追加保证金或偿还 Dai),合约会自动启动清算。由于以太坊无需准入的特点,任何用户都可以清算抵押不足的资产,并且获得3%的无风险收益。这也激励了很多市场参与者扮演 Maker 中的 Keeper 角色,他们不仅可以从系统中获益,同时也保护了 Dai 的偿付性。我认为数字资产抵押模式是可以同时解决流动性和偿付性问题的。

接下来我们聊一聊区块链上实现稳定币的一些局限,以及我认为未来可行的方向。

区块链上实现稳定币的局限与方向

第一点,我认为链上速度慢其实并不是一个问题。很多人批评现有的稳定币在链上交易速度太慢了。但是我们知道,并不是所有的交易跟清算都需要即时完成。我们有 T1、T2、T3 是有其原因和道理的。速度慢并不是系统的问题,而是这个系统本身的特征,比如为了保障退款等。我个人是比较倾向和看好分片和 State Channel 的方式解决速度和扩展性问题,这也是类似传统银行解决的方式。

第二点,跨链交易对丰富稳定币的资产端组成很重要,而且是急需实现的一步。以 Dai 为例,丰富链上抵押品的种类是很关键的。通过跨链,可以将除了以太坊之外的资产作为 Dai 的抵押品,而且同时减少中心化托管风险。

第三个点是智能合约当中的时间要素。Dai 跟 Repo Market(回购市场)的不同点在于,Repo Market 通常是隔夜,但 Dai 是没有期限的。当抵押品丰富起来之后,是需要对不同债务有时间期限,因为只有把时间考虑进来,很多衍生工具(比如远期利率协议)才能够使用

第四点,我认为一定要将信用体系在区块链上建立起来。为什么 Dai 是区块链上最成熟的稳定币模式呢?因为目前所有的公链,其账户只不过是一个地址,并没有实体。而 Dai 本身是一个 Secured Credit (有担保的信用),是通过抵押品产生的信用,但是传统银行中还有大量的 Unsecured Credit(无担保信用)。怎样在区块链上把信用系统建立起来,对创造 Unsecured Credit 来说非常重要。

最后一点是财政体系。这是一个治理问题, USDT 对标的是 Eurodollars(离岸美元)市场,Dai 对标的是回购市场,但是我们并没有 Federal Fund Market (联邦基金市场)。为什么?因为区块链上没有由财政部支撑的央行,很难在区块链上创建一个类似“税收”的收入。如何去创造一个财政体系是一个终极问题

最后我还有一些想法。

一些想法

我认为对加密货币的信任其实是对传统机构包括*和私人机构不信任的反映

Credit 不是一个缺陷,而是系统的特征,货币系统不可避免会有 Credit,无法消除。(Credit is a feature, not a bug.)

区块链界有一句话叫“ Don't Trust, Verify!”,很多人认为这个是区块链的特征。可是这句话真的没有问题吗?为什么不是 Trust and Verify 呢?如果说前提假设就是不信任任何人, Verify 每笔交易的话,如何在体系中创造信用呢?

另一方面,信用是一个管理问题,分布式账本和智能合约或许可以提供一定的帮助。与其将现有的系统完全推倒,重建一个没有信用的体系,何不尝试在已有的系统中进行更好的管理,而管理问题始终会存在。

最后一点,回到我一开始谈到的 - 稳定币的重点在于构建一套清算体系,可以通过中心化的方式实现,也可以通过去中心化的方式实现。但是目前来看,中心化的方式效率高了太多太多。我认为如果在区块链上做稳定币的话,最终目标是要将这样一个去中心化的支付体系,运行得就像一个中心化的央行那样高效,才有它的意义(The goal is making a decentralized payments system operate as close as possible to the ideal one-big-bank system)。

以上是我分享,谢谢大家!

问答环节

Q:(在抵押品模式中)如何把控抵押品,如何评估抵押品?

A:其实这是一个治理问题,而治理一个非常复杂的问题,Maker 现在也在探索,我们可以使用传统资管的一些工具。Maker 有运行在链上、通过投票实现去中心化治理的机制。目前 Maker 的开发团队里有风险小组,我们会对抵押品风险管理提案,之后大家进行投票。 但是我必须说,治理问题是一个非常非常早期的一个问题。目前阶段,原则上是让专业的人做专业的事情。至于评估标准,包括不同资产间的相关性,尽可能多元化的基础上保证回报,还有资产的流动性,这在清算时是个关键因素。多重资产抵押上线之后,我们会有拍卖机制解决流动性并不是很充足的资产问题。Maker DAO 微信公众号里有一篇《风险治理框架》,大家可以去读一下。

Q:抵押数字资产获得 Dai 的利率是如何确定的?

A:跟我刚刚说的确定抵押品的过程是一样的。

Q:区块链行业成熟以后,有没有可能*会直接把法币通证化,美联储变成了现实和区块链世界里的央行?

A:我觉得法币通证化和目前的稳定币不是同一个阶层的问题。如果法币通证化是指现金电子化,那么这是比较高的阶层和货币在央行和商行之间的投放问题,而现在谈到的稳定币,大多是在存款后面的阶层,可以把它想成余额宝。

Q:目前限制 Dai 大规模应用的主要障碍在哪里?

A:现在抵押品还不够多样化,只有以太。这个季度会上线多种基于以太坊的抵押品。还有通过跨链技术(Maker 和 Wanchain 达成合作),可以用比特币作为抵押品,这样抵押品的选择也会比较成熟。这就是为什么我说跨链技术是很重要的:它可以让资产端有更多的选择。同时对于推广 Dai 的大规模应用,我们会在多抵押 Dai 中引入存款利息。如果你把 Dai 锁在存款合约里,就会获得利息,可以激励交易所和用户持有 Dai。你可以想象 Dai 变成了一个可以生息的余额宝,这也是其他稳定币无法竞争的优势,而整个 Maker 体系会成为一个跨境的货币市场。

Q:怎么解决稳定币交易深度不足的问题?

A:对于受监管的单一法币托管稳定币来说,交易深度不足在于其背后需要复杂的 KYC 过程,这也是其很难解决的偿付性和流动性之间两难问题。而对于 Dai 来说,这跟它目前背后抵押品的规模不够大有关。当然,Dai 的市值其实已经很大并且在不断增长,Dai 现在的规模是 6000 多万美金,而且还在不断增长。值得一提的是,以太坊总量的 1% 都在 Dai 背后的 CDP 债仓里面。

上一篇:ASoC框架


下一篇:[Alsa]4, wm8524 Kernel音频子系统入口