知名项目清单
Compound:用去中心化智能合约协议完成“银行”的金融功能
去中心化金融,正如其名,是试图以区块链的去中心化方式提供传统金融的各项功能。传统金融的一项基本功能是“当你需要钱的时候,借钱给你”。在传统金融中,有一种典型的机构就是为此目的而生的,那就是银行。它作为存款人和贷款人之间的中介,负责借与贷的核心任务: ·接受存款,贷出贷款,并为存款人提供利息作为回报,向贷款人收取利息作为收益。 ·以抵押借贷、信用借贷这两种主要方式进行风险管理,确保资金安全。 ·其还有一个职责是管理好资金池或资产池。 在比特币与区块链发展到一定阶段后,随着一部分人积累了通证形式的数字资产,借贷的需求自然就出现了,而满足这种需求的借贷平台也就应运而生了: 假设,在ETH价值500美元时,你拥有100枚ETH,你看好它的长期发展,不愿抛售。你可以用它抵押去借贷另一种数字资产,这可在Compound借贷平台的两个借贷市场中分两步实现。 第一步,在Compound借贷平台的ETH借贷市场中,你存入ETH以获得利息。同时,你将它设置为抵押物,这将让你在整个平台中获得借贷额度。 第二步,在Compound借贷平台的DAI借贷市场中,你以自己在整个平台中的抵押物为抵押,借出一定数量的DAI(1单位稳定币DAI约等于1美元),你需要相应地支付利息。 我们再来详细对比一下传统的银行和Compound借贷平台,看看这种区块链上的新尝试有何重大变化?区块链金融被称为“去中心化金融”是有原因的,它与传统银行的主要差异正是去中心化。 在传统银行生意中,银行是借贷业务运转的中心,它接受存款、借出贷款、处理抵押与利息。任何一家银行都有总部大楼、金库、柜台以及庞大的金融IT系统,而威严的银行总部大楼象征着银行的信誉。 在区块链上的借贷平台中,大楼、金库、柜台、IT系统都不再需要,它们化身为区块链如以太坊之上的数个智能合约程序。当这些智能合约被部署到区块链之后,就不能再修改,部署它的人也没有任何特权。 特别地,借贷协议聚合起来的数字资产是由智能合约按规则保管的,无人可以干预、动用。如果一条区块链是安全的,且智能合约的代码是没有漏洞或后门的,智能合约可以可信地承担资金管理的功能。借贷协议是建立在智能合约可以安全地、可信地做数字资产保管的前提假设之上的。 存款的人、贷款的人跟这些智能合约进行交互——存钱、取钱、贷款、还款。在借贷这个银行的经典生意中,区块链金融重新做它的方式是,不再需要中心,一切都交给区块链上的智能合约程序。当然,并不是所有人都会与智能合约直接交互,多数人还是要通过可视化的网页界面来与智能合约交互,但网页只是在智能合约之上增加一层更人性化的界面而已。 具体到Compound借贷平台,你可以把Compound看成一台“无人自动存取款机”。它不属于任何人,甚至连最早安装这台无人自动存取款机的人也无法控制它,尤其无法取走属于存款人的数字资产。Compound由持有COMP治理代币的社区共同治理,这是一个运行于区块链上的、基于通证的、按预设规则运行的、全自动的互助银行,任何人都可以使用,COMP持有者有治理权。我们梳理Compound借贷平台的七个特点如下: (1)全自动/全自治:它支持多种数字资产的存款与贷款,用以太坊的账户(地址与私钥)与之交互。我们往它里面存款、从中取款、获取利息,我们向它贷款、归还贷款、支付利息。 (2)资产池:存款人的数字资产放入其中,按资产形成不同资产的资金池,每个资产对应一个资产池,供存款人存款、供贷款人借贷。 (3)超额抵押:贷款人借贷一种数字资产,他必须在这台存取款机中有其他类型的数字资产进行超额抵押。如果你的抵押资产贬值或所借贷资产升值,则会被要求增加抵押,否则会被平仓。 (4)利差(spread):贷款人与存款人的利差会作为抵御风险的储备及作为治理代币COMP持有者的权益。目前所有的利息差都仍保存在这个存取款机中。 (5)cToken机制:存款人存入某种资金,会得到对应的cToken作为存款凭证,比如你存入WBTC,得到cWBTC形式的存款凭证。你也可以将它转让给他人,就像在某些线下场景中有人将银行存单作为钱付给别人一样。 (6)燃料费:它运行于以太坊区块链上,每次存取款即进行一次交易时,用户要自己支付相应的燃料费。 (7)COMP治理代币:整个Compound借贷平台由整个社区通过COMP治理代币的投票与授权来进行治理。 在Compound借贷平台上有三种用户角色,除了存款人、贷款人之外还有清算人(liquidator)这一角色。当一笔贷款出现抵押不足、需要被清算时,清算人可以替贷款人还贷款,他们将获得抵押物。如果抵押物在未来几天发生价格上涨,他们将因此获利。有了这样一个机制,存款人的资产安全和整个系统的资产安全就得到了保证——贷款永远有超额抵押。 在传统的银行中,通常并不需要这样的“清算人”的角色,因为通常银行自己承担了这个角色。但是,当一家银行的存款坏账过多时,清算人角色也是有的,它就是资产管理公司,它接受银行的坏账,进行处置。通过引入清算人角色,Compound将借贷业务中的所有角色都移到了链上。 Compound中的智能合约与通证 接下来,我们再来看看Compound中智能合约和通证在技术上的使用情况。在Compound中,银行的角色被拆分了:资金管理被智能合约取代,存与贷被智能合约取代,坏账处理被清算人取代。Compound这个借贷协议实现像银行一样的存款、贷款功能,但它并不需要完成建立一家银行那些复杂的任务,它做的是,编程实现如下两种智能合约: 第一类智能合约是主控程序,其中主要的是所谓的“审计官合约”(Comptroller)。它是这家银行的风险管理部,根据用户在Compound的存款决定他有多少贷款额度。它记录评估一个用户需要多少抵押物,决定一个用户是否要被清算。每当用户与一个借贷市场交互时,审计官合约就会被询问是否同意这一交易。 第二类智能合约是针对每一类资产的借贷市场,比如“WBTC借贷合约”“DAI借贷合约”“USDT借贷合约”“ETH借贷合约”等。当一个用户要存入某种资产、借贷某种资产时,他要做的就是去和相应的智能合约(也就是借贷市场)交互。WBTC即所谓的Wrappered BTC,是将比特币进行包装之后映射到以太坊的数字资产,是一种基于ERC20标准的通证。 现在,Compound有9个借贷市场,用一家传统的跨国银行做类比,Compound这家银行像分别为美元、日元、港币、黄金等不同资金或资产各提供了一个借贷市场。不同的是,对每种借贷市场,Compound仅仅靠一个智能合约就能实现。一个特定的借贷市场智能合约实现了资金池保管、存款业务/贷款业务等功能。审计官合约通过每个用户在系统中的用作抵押的资产余额决定他在相应借贷市场中可用的借贷额度。 借助以太坊这条区块链的安全性、借助它的价值计算机制和编程语言,Compound用几个数百行的智能合约就实现了传统银行花费大量财力、物力、人力才能实现的功能。 这种分布式金融科技版的“银行”有三个传统银行不具有的重要特点。 第一个特点是去中心化。 由于存款与贷款功能是完全由程序实现的,在链上自动运行,无须人的干预(也无人能干预),它带来的效果就是所谓的去中心化。在区块链金融的世界中,类似传统银行的这个中心角色不再需要了。我们对银行这样的中心化机构的信任被对一系列智能合约组成的所谓中心化借贷协议的信任所取代。 智能合约可以在无人干预的情况下实现可信的资金保管,这也是去中心化的体现。 第二个特点是重构时间粒度。 金融是时间的机器,对时间粒度的改变至关重要。在区块链上,你可以借一笔款项,然后在几分钟或几十分钟后就归还。这是Compound等借贷平台与传统银行的重大不同。 在传统金融中,我们普通人很难跟银行申请一笔只用一天的贷款,因为审批流程可能比一天都长。在银行间市场,由于有相应的机制,银行或金融机构可以实现隔夜借贷,以紧急补充资金不足的情况。但是,时间粒度很难再进一步减小。 在区块链上,在极端设计中,你甚至可以在一个区块时间内完成贷款与还款,以太坊的一个区块间隔时间是约15秒。区块链中有一种特殊的贷款叫“闪电贷”(Flash Loan),其功能是,如果你在一个区块的开始借入资产,在这个区块打包前归还资产,你可以在无须抵押的情况下借出几乎无限的资金。其原理是,在一个区块里完成借与还实际上并未变更区块链账本中的所有权状态,因此你可以在极短时间借出无穷多的资金。 第三个特点是可编程性与可组合性。 这些借贷协议是运行在区块链上的代码,我们可以用网页界面与它们交互,就像用户使用传统银行的网络银行一样。不过,如果你会编写代码,你可以自己编写代码与接口直接交互。 更重要的是,这些区块链上的各种智能合约还可以用代码连起来,形成复杂的金融产品。比如,你可以把WBTC存入Compound,得到名为cWBTC的存单。然后,你把这些存单投入到区块链上其他的去中心化金融协议,比如类似于共同基金的所谓收益聚合器,从而获得更多的投资回报。这就是去中心化金融的可编程性与可组合性。 接下来,我们以Compound借贷平台为例来介绍所谓治理代币。 我们仍以一家传统银行做类比:银行会发行股票给股东,股票的价值对应的是银行作为一家商业公司的股东价值。持有股票的股东每年可以获得分红。通过股东大会投票,股东能对银行的重大事项进行决策。股东也可以把自己的股票转卖给其他人。 在区块链金融的世界中,我们可以成为一家借贷平台的股东吗?Compound用治理代币COMP让存款人、贷款人这些用户也在某种程度上成为它的股东。当然,这种所谓的股东和传统银行股东的内涵是非常不同的。 这个变化主要发生在2020年,Compound向存款人、贷款人分发治理代币COMP。当你在它的一个借贷市场存款时,你实际上是在为它提供流动性,当你从中借款时,你也为这个借贷市场的发展做出了贡献。Compound按照贡献分配治理代币给用户,也邀请他们参与关于Compound发展方向的决策,这在区块链中通常称为“治理”(governance),这就是为什么COMP被称为治理通证。 2020年年初,Compound开始用社区治理取代原来的团队管理。2020年2月27日,它发布了《Compound治理》公告。4月16日,新的治理方式上线,它的治理是通过COMP治理代币来实现的。2020年6月16日,Compound的全新治理方式完成最后一步,也就是向用户分发COMP治理通证,分配是通过其第6版的审计官合约实施的。 ·4 229 949个COMP治理通证被放入蓄水池合约,每个区块会转出0.5个COMP到Compound协议,以分配给用户。 ·这些通证会按照各个借贷市场累积的利率来分配。当借贷市场的情况发生变化时,分配比例也会相应地发生变化。 ·在每个借贷市场中,50%的COMP分配给存款人,50%的COMP分配给贷款人,这些分配会实时进行,按照每个人在市场中的存款、贷款余额分配,与市场中的利率不相关。 总结如上讨论,Compound由三个部分组成(见图2-22): ·Comptroller审计官合约,它是借贷平台的总控角色。 ·一系列cToken合约,它们运转着一个个借贷市场。 ·COMP治理通证合约,掌控整个项目的治理权。COMP向用户的分配由审计官合约完成。
Uniswap:用智能合约完成通证兑换
闪兑平台Uniswap实现的功能是,用户可以借助它完成两种通证的市价兑换。这种兑换是去中心化的,其实现机制也被称为自动做市商机制,这是从交易如何达成的角度对其所做的阐述。我更愿意用“流动性兑换池(Liquditiy Pool)+兑换(swap)”来描述Uniswap等一系列产品的组成结构。 对于普通用户来说,Uniswap的兑换功能和界面相当简单直观:按市场价格将一种通证(A)兑换为另一种通证(B)。背后的实现原理却与我们过去所知的如股票交易所等类似系统大为不同。它不是一个撮合平台,让用户在其上与另外的用户进行兑换,即采用所谓的Peer-to-Peer模型,它是用户与兑换池(也就是流动性兑换池)中的通证A、通证B完成兑换,即采用所谓的Peer-to-Pool模型。使用它的方式是,当用户要用通证A兑换通证B时,他将通证A放入兑换池,然后按照某种价格取走相应的通证B。 Uniswap的独特创新是确定价格的机制,这也被称为“恒定乘积自动做市商算法”。假设兑换池中通证A的数量 为x,通证B的数量为y。用户兑换后,通证A的数量变为x’,通证B的数量变为y’。所谓恒定乘积自动做市商算法是,用户兑换前与兑换后x与y的乘积保持不变。 用户兑换前:xy=k 用户兑换后:x’y’=k 我们假设有一个通证名为CLS。在CLS/ETH的兑换池中,兑换前的x、y、k分别为:1000、0.1、100。 xy=k 1000×0.1=100 兑换前价格:1ETH=10 000 CLS 如果用户输入0.01ETH,试图兑换CLS。兑换后,y’将变成0.11,则x’变成909.09,这样就可以保持乘积不变。因此,在不考虑燃料费、兑换平台收取的交易费的情况下,输入0.01 ETH,将获得90.909 CLS。 x’y’=k 909.09×0.11=100 实际兑换价格:1ETH=9091 CLS 在Uniswap中有两类用户: ·第一类是普通的兑换交易用户,用一种通证兑换另外一种通证。 ·第二类是所谓的流动性提供者(liqudity provider),他们向交易对的兑换池按规则注入一对资产,让第一类用户的兑换能够完成。 流动性提供者向兑换池注入资产时遵循的要求是:两种资产的价值相等,两种资产的汇率是当前市场价格。每次有人向兑换池新注入资产后,恒定乘积自动做市商算法会重新计算,得到一个新的恒定乘积K值。当普通用户用Uniswap进行兑换时,他们需要支付一定的费用作为交易费,当前的交易费率为0.3%,这些交易费现在全部分配给了流动性提供者作为报酬。流动性提供者将资产存入流动性池的理由是获得交易费奖励作为回报。另外,在Uniswap发行了治理通证UNI之后,它向其中一些交易对的流动性提供者发放UNI形式的奖励。 Uniswap实现了以太坊创始人维塔利克·布特林的一个设想:“自动化在中心,人类在边缘。”这个兑换平台的自动化运行是由四个要素支撑起来的: ·流动性兑换池:其为每组兑换创建一个流动性兑换池,由两种通证组成,其数量分别是x、y,两者的总价值(数量×价格)相等。任何人都可以为流动性兑换池提供流动性:也就是向相应智能合约转入价值相等的一对通证。 ·xy=k:当有人要由一种通证兑换另一种通证时,它实际上是从流动性兑换池中购买,购买的价格由公式xy=k确定。在每次兑换前后,k保持不变。 ·费用及奖励:兑换者需要支付0.3%的交易费,现在全部由流动性提供者获得。在未来,可能变成:0.05%由Uniswap协议获得,0.25%由流动性提供者获得。 ·治理通证UNI:它发行治理通证UNI,用其奖励一些交易对的流动性提供者。协议的重大事项由治理通证的持有者提出提案、投票决策。 Uniswap的智能合约实现同样非常简洁(见图2-23),它主要由四个智能合约组成:工厂合约(Factory合约)、交易对合约(Pair合约)、路由合约(Router合约),以及2020年新增的UNI治理通证合约。它仅靠前三个合约就完成了现在支持数千种通证兑换的功能,其中,工厂合约与交易对合约是核心,路由合约的存在只是让对它们二者的调用更为便捷。交易对合约相当于一个模板,任何人都可以直接调用工厂合约,然后根据交易对合约模板建立起一个实际使用的交易对合约,用以进行比如通证A与通证B的兑换。图为Uniswap V2的智能合约,2021年5月上线Uniswap V3的智能合约结构大体相似。 Uniswap闪兑平台运转的最小单元就是各个交易对的智能合约: ·每一个交易对,都有一个交易对合约实例。 ·每一个交易对合约,都管理着这个交易对的流动性提供者的资金。 ·每一个交易对合约都有一个自己的LP Token(Uniswap V2是ERC20标准,Uniswap V3是ERC721标准)。 比如对于ABC/ETH交易对,流动性提供者获得ABC/ETH LP Token作为凭证。当我作为流动性提供者提供由一对通证组成的流动性资金时,智能合约会生成一些ABC/ETH LP Token给我;当我赎回流动性时,对应数量的ABC/ETH LP Token会被销毁。
Augur(www.augur.net),一个去中心化预测系统。
Augur在英文中的意思是“预言家”,用户可以在这个应用上对各种事件打赌并下注,例如希拉里会不会赢得2016年美国的大选;2016年中国的GDP增长会不会超过7%;上证指数2020年之前会不会超10000点,等等。对于参与者而言,如果预测正确,则将获得经济上的回报;而对于社会整体而言,Augur便成了一个群体智慧的收集器,在它上面的下注信息反映了人们对于未来某事件发生可能性的最佳评估。当你打开搜索引擎,输入“×××会不会赢得2020年美国的大选”的时候,可能搜到这样的结果:“Augur:该事件发生的可能性为46.6%”。 Maker(www.makerdao.com),一个金融类去中心化自治组织。
Maker是一个去中心化自治组织(Decentralized Autonomous Organization,DAO),它维护一系列用于金融服务的合约软件(即智能合约),其中的一个软件是贷券信贷系统(The Dai Credit System)。贷券信贷系统是一个通过抵押进行借贷的应用,当用户在区块链上拥有众多资产时,一个必然的需求就是,在不出售资产的情况下通过抵押借款获得资金,类似于房屋抵押贷款。 WeiFund,一个正在开发中的去中心化众筹平台。这个众筹平台的好处是资金不需要第三方托管,而是由程序托管,因此能够确保资金100%安全。如果在限定时间内众筹项目的资助超过预定目标,则程序将资金发送给创业者;如果目标未达到,则将资金退回给众筹参与者。
Boardroom,一个DAO管理平台。
去中心化自治组织与传统公司一样,也可以有股份的概念,通常就是DAO的代币,这些代币又可以有投票权。与上一个例子中的WeiFund结合,可以发生有趣的事:如果众筹募资的目标达到,则WeiFund可以将资金发送给Boardroom,并将该众筹项目的参与者组成DAO。如此一来,这些参与者便可以通过投票来控制资金的具体使用,而不是简单地将资金一次性发放给创业者,这样便大大避免了来自创业者的道德风险。
Ujo Music,一个音乐版权管理平台
Ujo Music作为音乐版权管理平台,可以直接在歌曲的创作者与消费者之间建立直接的联系,从而省去了中间商的费用提成。更进一步,歌手甚至可以将自己的作品在WeiFund上进行IPO上市,如此一来,持有歌手代币的投资者就会分得歌手今后歌曲的销售收入,他们是歌手天然的铁杆粉丝团。帮助歌手推广音乐也不仅仅出于经济动机,同时也是出于情感上的支持,试想在周杰伦默默无闻的时候就持有他的代币,该是一件多么令粉丝感到骄傲的事。同时代币也是歌手与粉丝团之间互动的媒介,例如歌手可以让持有代币的粉丝优先购买演唱会的门票,如此,粉丝经济会更加红火。
贷券(Decentralized Autonomous Insured Bond)简称Dai或者Dai Bond,
是一种可转让的、彼此等价可互换的“加密债券”,它流通于信贷系统中,使用者无需事先认证,同时又是低风险的。贷券的发行人(借款方)将在以太坊区块链上的以太等数字加密资产作为抵押品来发行贷券,再将这些贷券在市场上卖给贷券持有人以换回流动性好的资产。贷券的持有人之所以买入贷券是为了赚取收益,或者是为了将贷券当作价值稳定的加密货币来流通使用。