去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

货币有时间价值,因为钱会产生利息。区块链产生了很多的数字资产,但现在这些资产大部分只能直接交易,无法交换时间价值,所以,借贷的实现就变得很重要了。

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

货币有时间价值,因为钱会产生利息。

区块链产生了很多的数字资产,但现在这些资产大部分只能直接交易,无法交换时间价值,所以,借贷的实现就变得很重要了。

Compound是一个开放协议,想要实现数字资产的借贷。它想让你在区块链世界里更容易借钱。

借钱是很基础的需求。有的人有额外的资产,放着没用,有的人可能自己没有资产,而这些资产往往具备生产或者投资的价值,如果能让这两部分人互相借贷,那对双方来说都有好处,最终它会创造一个非零和的财富增长。

但在区块链上实现借贷有两个主要的问题:

  1. 现有的借贷机制极其有限,所以很容易导致资产的错误定价。(比如很多的垃圾币有很高的市值,因为没有渠道可以做空它们。)

  2. 区块链资产有可能产生负净值,因为有链上存储的成本,也有交易的风险(不论是场内交易还是场外交易)。我们没有一套很自然的利率机制可以抵消这些成本,这样就会让资产具有挥发性,因为「持有」并不产生「激励」。

中心化的交易所提供一些保证金交易,但需要你信任中心化机构,同时对可借贷的资产类型也有很大的限制,通常只有一些主流的币种。同时,这种中心化的方式无法在链上做借贷,这样对于智能合约来说,就没办法接入这套机制了。

而另外一些点对点协议的做法也存在一些问题,包括 ETHLend, Ripio, Lendroid, dYdX 等等。 这些协议为用户提供抵押或非抵押的借贷,但去中心化导致了用户需要承担很高的成本和很不友好的用户体验——比如,出借人需要自己发布、管理、监督借贷交易,这样借贷的过程往往需要很长的时间异步进行(因为需要花时间筹集借贷资金)。

Compound 想要提供另一种不同的借贷协议,让整个链上的体验和流程变得更简单、更流畅。

以下为Compound运作原理的一个介绍,主要参考来源为白皮书,如果你只想简单的知道Compound是一个借贷协议而不想了解更多,可以直接拉到文章最下面看 #Compound的未来,里面涉及到一些基于Compound协议产生的有趣应用。

Compound的简单介绍

Compound协议让开发者可以基于以太坊建立各种各样的货币市场(money market)。

所谓的“货币市场”,其实就是一个个的币池,每个币池里只有同一种ERC-20的币,协议通过算法来决定这个池子里的币借贷的利率是多少。简单点说,这个算法会基于人们对这个币借贷的供需关系自动计算出利率。例如在Dai这个货币市场里,目前放贷可以收取的年利率是2.29%,贷款需要付出的年利率则是8.69%,这些利率对每个人都一视同仁,而且每时每刻都可能处于浮动状态。

目前在 Compound 上总共有5个开放的货币市场,包含以下币种:

  • Basic Attention Token(BAT)

  • Dai(DAI)

  • Augur(REP)

  • Wrapped Ether(WETH)

  • 0x(ZRX)

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

不管你是来贷款还是放贷,你都是在跟 Compound 协议直接打交道。这一点跟那些点对点的借贷协议不太一样。在点对点的方案里,借贷双方会做匹配,然后你需要跟找你借钱的人(或者借你钱的人)进行沟通,双方自己商定好借款的利率、到期时间和抵押物品等等。

而在 Compound 协议里,每个ERC-20代币都有一个属于自己的借贷市场,里面包含每个用户在这个市场里的余额,以及各笔生效的借贷交易,乃至每段时期的历史利率,等等。

Compound协议包括三个主要的合约:

  • MoneyMarket合约:负责主要的借贷逻辑的实现,包括了一系列的操作函数,比如放贷(SUPPLY)、提现(WITHDRAW)、借贷(BORROW)、偿还贷款( REPAY BORROW )、 清算(LIQUIDATE)等等。

  • InterestRateModel合约:提供借贷利率的计算模型。

  • PriceOracle合约:用来提供各个ERC-20代币的价格信息。比如这个合约可以通过排名前十的交易所得出一个币的当前价格,为其他合约所调用。

最主要的合约是MoneyMarket。在最简单的形式下,一个货币市场的MoneyMarket合约,就相当于一个ERC-20合约,这个合约会维护一张表,里面记录每个用户持有币的数量,也就是余额,余额同时也会随着时间计算利息。

Compound引入了一个低gas费的方法来更新合约内的用户余额。每当用户借贷或者放贷的时候,合约会自动更新余额表格里相应资产的条目。此外,Compound还会根据这张记录余额的表格来计算目前借贷和放贷各自的利率应该是多少。

币的放贷(Supplying Tokens)

针对某个token,Compound 会把所有放贷用户提供的同类 token 聚合起来,统一借出给不同的用户。 这样做的好处是能集中提供更好的流动性,同时用户也可以随时提现自己放贷出去的资产,不需要等到借贷合约到期才能收回钱。

在一个货币市场里,用户的余额会基于供应这个token的利率来计算应记利息。用户可以实时查询自己的余额(包括应计利息),当用户发起一笔交易更新余额的时候(比如放贷、转账、提现),应计利息就会转成相应的 token 资产付给用户。

应用场景

以太坊生态内的长期投资者(比如一些机构),可以利用Compound协议来完成投资的额外收入,赚一些利息。这个额外收入不需要你自己管理资金、完成借贷合约或者承担投机风险。

dApp、机器或者是交易所,如果有额外的token余额,那也可以放到 Compound 协议上增加一点收入,更充分的利用资金。这个有可能为以太坊生态解锁另一种完全不同的商业模式。

币的借贷(Borrowing Tokens)

Compound 让用户通过抵押品的信贷额度无缝地从协议上借钱。你只需要看自己要借哪个币,不需要和别人沟通还款日期、利率,就能马上借钱。借款是实时且可预测的。每个货币市场都有一个由市场决定的浮动利率。

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

要把自己手上的币放贷出去或者找Compound借币,直接跟平台交互就可以

Compound协议强制应用了一条规则,即每个账户必须拥有足够的余额能够偿还借款的额度,叫做抵押率(目前平台上这个数值是1.5x)。每个账户无法做出任何会使「余额/借款额度」低于「抵押率」的行为,比如再借更多的钱或者把抵押款的余额提现。要增大或者重置抵押率,用户可以全额或者部分偿还借款。任何被 Compound 持有的余额,包括用户用来做抵押品的余额,同时也会产生正常的应计利息。

风险与清算

如果一个用户提供的抵押资产,除以他们信用额度所借的款项,低于抵押率,那他们的抵押资产就可以(通过借款资产)被购买,出售的价格是当前市场价格减去清算折扣(liquidation discount)。这个机制会激励系统里的套利者,去快速减少借款人还不了的借款资产的短缺,从而降低协议的风险。

任何拥有借款资产的以太坊账户都可能全部或部分地参与到这种清算流程,用他们的资产去交换借款人的抵押资产。因为这两类用户和这两类资产,所有价格信息都可以在 Compound 的协议里面看到,所以清算是无摩擦的,不需要依赖任何外部的系统或者order book。

应用场景

这种不需要买卖或者更改自己的投资组合就能持有新资产的能力,会让dApp的用户、投资者和开发者都能拥有新的“超能力”:

  • 不需要等订单完成、或者执行任何的链下操作,dApp就能从以太坊上借到钱、并且立即在以太坊上使用这些借到的钱。比如在 Golem 网络上购买算力。

  • 投资者可以进行新的ICO交易,通过借入 eth,以原有的投资组合作为抵押资产。

  • 投资者如果想要做空一个币,可以先借入这个币,然后再把币卖给交易所,然后从币价的下跌中套利。

治理

在阅读白皮书的过程中,我发现Compound一个比较有意思的地方是它提出了一些治理方面的构想,虽然这部分篇幅也只占一小段,但是之前看dydx或者一些其他defi项目的白皮书,感觉基本不会涉及治理。

Compound的治理机制是这样的:他们设想这整套协议应该是由中心化的管理模式,慢慢转变成由社区和stakeholder投票的去中心化的管理模式。有一个从中心化到去中心化的过渡。这种方式我认为也是比较合理的,能够在效率和开放性取得一个好的平衡。

下面这些权利一开始都由协议的管理员或者管理委员会来掌控:

  • 选择一个新的管理员或者管理委员会(比如DAO)的权利

  • 为每个货币市场设定借贷利率模型的权利

  • 开放、关闭、解禁一个货币市场的权利

  • 决定应该委托哪个实体提供关于货币价格的权利

  • 把协议里的资产(赚取的收入)提现的能力

随着时间的进展,Compound希望把这些权利逐步交付给由社区控制的DAO组织。这个DAO的形式可能是以太坊上的一个智能合约,社区成员可以提议或者投票,触发智能合约的特定函数来行使上面提到的那些权利。因为这个DAO其中具备的一项权利是选举新的DAO,所以总的来说,这个DAO会拥有根据stakeholder投票而不断实现自我进化的能力。

不管Compound的这套治理机制的构想究竟有没有落地的可能性,它是否足够成熟,我觉得都是一个有趣的尝试。

Compound的未来

在dydx那篇文章里,我们提到任何人都可以在dydx上构建并发布一个新的期货产品,为加密货币金融市场增加活力。Compound的协议比dydx更简单一些,因为借贷是金融更基础也更普遍的组成部分。

我觉得Compound的未来还是要取决于是否有开发者在它上面搭建新的服务,特别是跟dApp这块结合起来的话,可能会有不一样的想象空间。就像白皮书里提到的那样:任何dApp、机器或者交易所,如果有额外的token余额,都可以放到 Compound 协议上更充分的利用资金。这有可能为以太坊生态解锁另一种完全不同的商业模式。

如果有一个dApp运转得很好但是找不到商业模式,而且它合约里沉淀了大量的ERC-20 token,那它就能借助Compound的货币市场做借贷赚一些钱。有点像很多互联网公司利用自己的业务回收现金流,然后把钱拿出去做金融化的运作来挣钱,比如我们一次性交会员费的健身房、购买消费卡的电商、要用车先给押金的租车公司、支付宝等等。

我在Compound的discord频道里看到了他们在聊的几个有趣案例,可以分享一下。比如有人在Compound的协议上搭建了一个很有趣的小应用叫poolTogether,被称为一款“不会亏钱的彩票应用”。这个应用是这样运作的:你找poolTogether买一张彩票,你付的钱就会被锁进一个智能合约里,poolTogether把所有人买彩票的钱都聚合起来,再放到Compound上面去做借贷,等到彩票开奖结束后,所有借贷产生的利息都归中奖的那个人拥有,同时每个人都能拿回自己买票的本金。

这是个非常有趣的应用,因为只要越多的人买彩票,把自己的钱存在一起,那么中奖的利息奖金就会越大,越有吸引力,产生一个正循环。有人还根据这个应用开了另一个脑洞:同样的模式能不能拿来作为支持自己喜欢的up主/歌手/偶像的方式?粉丝们把钱存在一起生利息,利息最后分给自己想要支持的up主。

anyway,类似这样的应用,可能看着特别小,但我认为会是非常有趣的尝试。在discord频道里,有人问Compound,别人都有5倍10倍的保证金交易玩法,Compound的借贷利率相比显得很微不足道,难道你们就没想过增加一些加杠杠的衍生品吗?Compound的创始人回答说,市面上有非常多做金融衍生品的平台,很多都有加杠杠的保证金交易,但是在这些模式里,他看到的是最基础的借贷反而都存在一些不必要的摩擦。因此,Compound还是想把借贷这件最基础的事情做好。我觉得这个判断是正确的,也许有了更牢固的借贷基础,我们才能看到更丰富的应用和新玩法。

(完)

扩展阅读:

  • compound白皮书:https://compound.finance/documents/Compound.Whitepaper.v04-83de48b6622ddd665234b41076d04c8b.pdf?vsn=d

  • compound协议的spec:https://github.com/compound-finance/compound-money-market/tree/master/docs/CompoundProtocol.pdf

  • compound协议API文档:https://compound.finance/developers

  • github代码:https://github.com/compound-finance/compound-money-market

生成图片
5

发表评论

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

星期三 2019-02-27 10:10:23

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

货币有时间价值,因为钱会产生利息。

区块链产生了很多的数字资产,但现在这些资产大部分只能直接交易,无法交换时间价值,所以,借贷的实现就变得很重要了。

Compound是一个开放协议,想要实现数字资产的借贷。它想让你在区块链世界里更容易借钱。

借钱是很基础的需求。有的人有额外的资产,放着没用,有的人可能自己没有资产,而这些资产往往具备生产或者投资的价值,如果能让这两部分人互相借贷,那对双方来说都有好处,最终它会创造一个非零和的财富增长。

但在区块链上实现借贷有两个主要的问题:

  1. 现有的借贷机制极其有限,所以很容易导致资产的错误定价。(比如很多的垃圾币有很高的市值,因为没有渠道可以做空它们。)

  2. 区块链资产有可能产生负净值,因为有链上存储的成本,也有交易的风险(不论是场内交易还是场外交易)。我们没有一套很自然的利率机制可以抵消这些成本,这样就会让资产具有挥发性,因为「持有」并不产生「激励」。

中心化的交易所提供一些保证金交易,但需要你信任中心化机构,同时对可借贷的资产类型也有很大的限制,通常只有一些主流的币种。同时,这种中心化的方式无法在链上做借贷,这样对于智能合约来说,就没办法接入这套机制了。

而另外一些点对点协议的做法也存在一些问题,包括 ETHLend, Ripio, Lendroid, dYdX 等等。 这些协议为用户提供抵押或非抵押的借贷,但去中心化导致了用户需要承担很高的成本和很不友好的用户体验——比如,出借人需要自己发布、管理、监督借贷交易,这样借贷的过程往往需要很长的时间异步进行(因为需要花时间筹集借贷资金)。

Compound 想要提供另一种不同的借贷协议,让整个链上的体验和流程变得更简单、更流畅。

以下为Compound运作原理的一个介绍,主要参考来源为白皮书,如果你只想简单的知道Compound是一个借贷协议而不想了解更多,可以直接拉到文章最下面看 #Compound的未来,里面涉及到一些基于Compound协议产生的有趣应用。

Compound的简单介绍

Compound协议让开发者可以基于以太坊建立各种各样的货币市场(money market)。

所谓的“货币市场”,其实就是一个个的币池,每个币池里只有同一种ERC-20的币,协议通过算法来决定这个池子里的币借贷的利率是多少。简单点说,这个算法会基于人们对这个币借贷的供需关系自动计算出利率。例如在Dai这个货币市场里,目前放贷可以收取的年利率是2.29%,贷款需要付出的年利率则是8.69%,这些利率对每个人都一视同仁,而且每时每刻都可能处于浮动状态。

目前在 Compound 上总共有5个开放的货币市场,包含以下币种:

  • Basic Attention Token(BAT)

  • Dai(DAI)

  • Augur(REP)

  • Wrapped Ether(WETH)

  • 0x(ZRX)

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

不管你是来贷款还是放贷,你都是在跟 Compound 协议直接打交道。这一点跟那些点对点的借贷协议不太一样。在点对点的方案里,借贷双方会做匹配,然后你需要跟找你借钱的人(或者借你钱的人)进行沟通,双方自己商定好借款的利率、到期时间和抵押物品等等。

而在 Compound 协议里,每个ERC-20代币都有一个属于自己的借贷市场,里面包含每个用户在这个市场里的余额,以及各笔生效的借贷交易,乃至每段时期的历史利率,等等。

Compound协议包括三个主要的合约:

  • MoneyMarket合约:负责主要的借贷逻辑的实现,包括了一系列的操作函数,比如放贷(SUPPLY)、提现(WITHDRAW)、借贷(BORROW)、偿还贷款( REPAY BORROW )、 清算(LIQUIDATE)等等。

  • InterestRateModel合约:提供借贷利率的计算模型。

  • PriceOracle合约:用来提供各个ERC-20代币的价格信息。比如这个合约可以通过排名前十的交易所得出一个币的当前价格,为其他合约所调用。

最主要的合约是MoneyMarket。在最简单的形式下,一个货币市场的MoneyMarket合约,就相当于一个ERC-20合约,这个合约会维护一张表,里面记录每个用户持有币的数量,也就是余额,余额同时也会随着时间计算利息。

Compound引入了一个低gas费的方法来更新合约内的用户余额。每当用户借贷或者放贷的时候,合约会自动更新余额表格里相应资产的条目。此外,Compound还会根据这张记录余额的表格来计算目前借贷和放贷各自的利率应该是多少。

币的放贷(Supplying Tokens)

针对某个token,Compound 会把所有放贷用户提供的同类 token 聚合起来,统一借出给不同的用户。 这样做的好处是能集中提供更好的流动性,同时用户也可以随时提现自己放贷出去的资产,不需要等到借贷合约到期才能收回钱。

在一个货币市场里,用户的余额会基于供应这个token的利率来计算应记利息。用户可以实时查询自己的余额(包括应计利息),当用户发起一笔交易更新余额的时候(比如放贷、转账、提现),应计利息就会转成相应的 token 资产付给用户。

应用场景

以太坊生态内的长期投资者(比如一些机构),可以利用Compound协议来完成投资的额外收入,赚一些利息。这个额外收入不需要你自己管理资金、完成借贷合约或者承担投机风险。

dApp、机器或者是交易所,如果有额外的token余额,那也可以放到 Compound 协议上增加一点收入,更充分的利用资金。这个有可能为以太坊生态解锁另一种完全不同的商业模式。

币的借贷(Borrowing Tokens)

Compound 让用户通过抵押品的信贷额度无缝地从协议上借钱。你只需要看自己要借哪个币,不需要和别人沟通还款日期、利率,就能马上借钱。借款是实时且可预测的。每个货币市场都有一个由市场决定的浮动利率。

去中心化的货币市场:Compound是怎样用区块链重构「借钱」这件小事的?

要把自己手上的币放贷出去或者找Compound借币,直接跟平台交互就可以

Compound协议强制应用了一条规则,即每个账户必须拥有足够的余额能够偿还借款的额度,叫做抵押率(目前平台上这个数值是1.5x)。每个账户无法做出任何会使「余额/借款额度」低于「抵押率」的行为,比如再借更多的钱或者把抵押款的余额提现。要增大或者重置抵押率,用户可以全额或者部分偿还借款。任何被 Compound 持有的余额,包括用户用来做抵押品的余额,同时也会产生正常的应计利息。

风险与清算

如果一个用户提供的抵押资产,除以他们信用额度所借的款项,低于抵押率,那他们的抵押资产就可以(通过借款资产)被购买,出售的价格是当前市场价格减去清算折扣(liquidation discount)。这个机制会激励系统里的套利者,去快速减少借款人还不了的借款资产的短缺,从而降低协议的风险。

任何拥有借款资产的以太坊账户都可能全部或部分地参与到这种清算流程,用他们的资产去交换借款人的抵押资产。因为这两类用户和这两类资产,所有价格信息都可以在 Compound 的协议里面看到,所以清算是无摩擦的,不需要依赖任何外部的系统或者order book。

应用场景

这种不需要买卖或者更改自己的投资组合就能持有新资产的能力,会让dApp的用户、投资者和开发者都能拥有新的“超能力”:

  • 不需要等订单完成、或者执行任何的链下操作,dApp就能从以太坊上借到钱、并且立即在以太坊上使用这些借到的钱。比如在 Golem 网络上购买算力。

  • 投资者可以进行新的ICO交易,通过借入 eth,以原有的投资组合作为抵押资产。

  • 投资者如果想要做空一个币,可以先借入这个币,然后再把币卖给交易所,然后从币价的下跌中套利。

治理

在阅读白皮书的过程中,我发现Compound一个比较有意思的地方是它提出了一些治理方面的构想,虽然这部分篇幅也只占一小段,但是之前看dydx或者一些其他defi项目的白皮书,感觉基本不会涉及治理。

Compound的治理机制是这样的:他们设想这整套协议应该是由中心化的管理模式,慢慢转变成由社区和stakeholder投票的去中心化的管理模式。有一个从中心化到去中心化的过渡。这种方式我认为也是比较合理的,能够在效率和开放性取得一个好的平衡。

下面这些权利一开始都由协议的管理员或者管理委员会来掌控:

  • 选择一个新的管理员或者管理委员会(比如DAO)的权利

  • 为每个货币市场设定借贷利率模型的权利

  • 开放、关闭、解禁一个货币市场的权利

  • 决定应该委托哪个实体提供关于货币价格的权利

  • 把协议里的资产(赚取的收入)提现的能力

随着时间的进展,Compound希望把这些权利逐步交付给由社区控制的DAO组织。这个DAO的形式可能是以太坊上的一个智能合约,社区成员可以提议或者投票,触发智能合约的特定函数来行使上面提到的那些权利。因为这个DAO其中具备的一项权利是选举新的DAO,所以总的来说,这个DAO会拥有根据stakeholder投票而不断实现自我进化的能力。

不管Compound的这套治理机制的构想究竟有没有落地的可能性,它是否足够成熟,我觉得都是一个有趣的尝试。

Compound的未来

在dydx那篇文章里,我们提到任何人都可以在dydx上构建并发布一个新的期货产品,为加密货币金融市场增加活力。Compound的协议比dydx更简单一些,因为借贷是金融更基础也更普遍的组成部分。

我觉得Compound的未来还是要取决于是否有开发者在它上面搭建新的服务,特别是跟dApp这块结合起来的话,可能会有不一样的想象空间。就像白皮书里提到的那样:任何dApp、机器或者交易所,如果有额外的token余额,都可以放到 Compound 协议上更充分的利用资金。这有可能为以太坊生态解锁另一种完全不同的商业模式。

如果有一个dApp运转得很好但是找不到商业模式,而且它合约里沉淀了大量的ERC-20 token,那它就能借助Compound的货币市场做借贷赚一些钱。有点像很多互联网公司利用自己的业务回收现金流,然后把钱拿出去做金融化的运作来挣钱,比如我们一次性交会员费的健身房、购买消费卡的电商、要用车先给押金的租车公司、支付宝等等。

我在Compound的discord频道里看到了他们在聊的几个有趣案例,可以分享一下。比如有人在Compound的协议上搭建了一个很有趣的小应用叫poolTogether,被称为一款“不会亏钱的彩票应用”。这个应用是这样运作的:你找poolTogether买一张彩票,你付的钱就会被锁进一个智能合约里,poolTogether把所有人买彩票的钱都聚合起来,再放到Compound上面去做借贷,等到彩票开奖结束后,所有借贷产生的利息都归中奖的那个人拥有,同时每个人都能拿回自己买票的本金。

这是个非常有趣的应用,因为只要越多的人买彩票,把自己的钱存在一起,那么中奖的利息奖金就会越大,越有吸引力,产生一个正循环。有人还根据这个应用开了另一个脑洞:同样的模式能不能拿来作为支持自己喜欢的up主/歌手/偶像的方式?粉丝们把钱存在一起生利息,利息最后分给自己想要支持的up主。

anyway,类似这样的应用,可能看着特别小,但我认为会是非常有趣的尝试。在discord频道里,有人问Compound,别人都有5倍10倍的保证金交易玩法,Compound的借贷利率相比显得很微不足道,难道你们就没想过增加一些加杠杠的衍生品吗?Compound的创始人回答说,市面上有非常多做金融衍生品的平台,很多都有加杠杠的保证金交易,但是在这些模式里,他看到的是最基础的借贷反而都存在一些不必要的摩擦。因此,Compound还是想把借贷这件最基础的事情做好。我觉得这个判断是正确的,也许有了更牢固的借贷基础,我们才能看到更丰富的应用和新玩法。

(完)

扩展阅读:

  • compound白皮书:https://compound.finance/documents/Compound.Whitepaper.v04-83de48b6622ddd665234b41076d04c8b.pdf?vsn=d

  • compound协议的spec:https://github.com/compound-finance/compound-money-market/tree/master/docs/CompoundProtocol.pdf

  • compound协议API文档:https://compound.finance/developers

  • github代码:https://github.com/compound-finance/compound-money-market