近期新的 DeFi协议正通过构思全新的借贷和衍生品架构来制造新的叙事,而这些协议的变化相同点是不再去依赖预言机。本文将深度分析无预言机的优势和其应用模式,由 YBBCapital 的研究员 Ac Core 撰文。
(前情提要:Chainlink CCIP上线主网,「预言机+跨链」能产生化学反应? )
(背景补充:一文读懂区块链、预言机和 DeFi 的权益质押机制 )
本文目录
预言机(Oracle)是 DeFi世界中的一个重要因素,虽然不同协议的安全性通常是由底层智能合约网路来继承,但它的正常执行还是需要依赖预言机,如果一个协议的预言机遭受到攻击或者破坏,那么整个协议就会被操控。近期新的 DeFi 创造者们正通过构思全新的借贷和衍生品架构来制造新的叙事,而这些协议的变化相同点是不再去依赖预言机。
DeFi 的风险与修复
DeFi 的最大魅力来自于:去中心化,它从广义来讲是一种无许可权支付协议的开放式金融系统,与传统金融相比,它的规则、利润甚至风险虽都以较为 「隐晦」 的方式公开,但仍具有非常强的开放度。
但经过几年的发展,DeFi 领域也累计遭到了数十亿美元的盗窃 ,即使最为狂热的信徒也会不断质疑它是否能成为未来金融的主流。其中仅在 2022 年骇客通过 DeFi 协议和跨链桥盗取的资金就超过了 38 亿美元,也是加密史中盗窃金额最多的一年。如果想在未来让更庞大的群体进入加密世界并依赖 DeFi,安全性是首要考虑的因素。
图源:ChainalysisOracle 的风险和 「原始码」
Nascent 认为 「无 Oracle 协议」 的概念将为 DeFi 从根本上提供更加稳健和安全的技术架构。如今 DeFi 更希望将自身定义为 「原始码( Primitives )」,希望有更多的团队在它们的基础之上构建产品或组合协议。一旦该合约掺杂了任何外部依赖,它们就会继承所有的相关风险,与此同时,该合约为了承载更为庞大的系统生态,会去升级,而这种管理式的升级变数就会涉及到可变更环境的当下及未来,带来更多风险因素。
顾名思义 Oracle 的引入产生了外部资料的依赖关系,而这种关系会带来潜在风险。为此 Dan Elitzer提出了一个全新的定义:为符合原始码(Primitives)的条件,除了部署在区块链上的合约之外它不能依赖任何外部因素,比如:没有治理、合约可升级性和预言机。
但现实是如今符合这一基本定义的 DeFi 协议是非常稀有的,其中最有代表性的是 Uniswap V1,但从安全性角度考虑,即使是与上述 DanElitzer 提出的定义保持一致的 Uniswap V2 与 V3 也不符合资格,因为它们允许对某些功能进行治理,例如协议费用的闭合与引入池子的费用层级。
话虽如此,这种狭隘的治理功能并没有因其他协议中存在的大规模升级而引发系统性风险,所以迄今为止所有版本中的 Uniswap 取得巨大成功的原因是没有 Oracle 和全链这两个关键因素。
毋庸置疑 Uniswap 是去中心化交易的主导者,它取得了巨大的成功,并在此基础之上诞生出了很多去中心化交易所的实验。好比 Uniswap V3引入了非同质化流动性部位的概念,让流动性提供者(LPs)可以将他们的流动性集中在某个特定范围内,这使 LPs可以捕获在该范围内交易产生的更大份额交易费,并从中获利,但随着价格波动这里也会产生无偿损失。从而导致了资本更高效的使用和市场中 LP部分的专业化,随即诞生了一系列部位管理工具,例如 Arrakis、 Gamma 和 Sommelier 。虽然这对 DEXs来说非常友好,但借贷协议仍需要预言机。
时间来到今年 3 月, Euler Finance 借贷协议遭受骇客攻击,损失金额高达 2亿美元。它可以让使用者释出抵押品并借款,且有一些独特功能。简而言之它的问题发生在一个特定函式中且没有对它进行安全检查,使使用者能破坏借贷市场的基本不变式。
对于借贷协议来说,合格的抵押品仅限于有可靠预言机价格回馈的资产。贷款引数受其协议管理,因此任何坏帐都由协议而非单个贷款人负责。同样,依赖于预言机进行定价的衍生品协议如缺乏内部价格发现机制,容易受到价格滞后无更新影响,从而严重限制它们的规模和使用者体验。如同前言所述,这也正好解释了为什么交易员 Avraham Eisenberg 能够成功攻击 Mango Markets 并从该加密货币交易平台抽走 1.16 亿美元。
为什么目前 Uniswap 是安全的
AMM 可以具有任何 DeFi 原始码(Primitives)中最简单的基本不变式:tokenBalanceX * tokenBalanceY == k(如常数乘积)。例如 Uniswap V2 中 Pair 介面都是基于以下四个函式不变式实现的:
Uniswap V2的安全之道:一个简单的核心不变式,所有函式都为此服务。唯一值得争议的是它可以切换费用开关的治理模式,但这不会触及核心不变式,只是影响代币余额所有权的分配,也正是由于他们在安全性中的这种简洁性(不可升级的智能合约和基本不变式),Uniswap本身从未遭受过骇客攻击。
重建贷款协议图源:作者 Balakov
近期我们发现对无预言机的借贷协议出现了很多专案,例如 Ajna、Ethereum Credit Guild、MetaStreet的自动化分层协议(Automated Tranche Maker )以及 Blur 和 Paradig 合作推出的混合协议 Blend。
与传统的 DeFi 借贷市场不同,Gauntlet 没有设定抵押,也没有像 Chainlink这样的单通用预言机为所有使用者和协议功能提供「真实」资产价格来源。相反借款人需要评估风险,并决定从借款人那里要求一定的抵押品,且必须在资产价格变动时更新他们的借款标准。
其工作方式一般来讲是借款人选择他们愿意接受的指定抵押品,例如 BAYC Token 以及个别的 Bored Ape NFT等,他们愿意提供给借款人用作抵押品的引用资产(如 USDC),以及他们将要求借款人被清算的引用资产与抵押资产的比例。最后借款人可以释出抵押品,并以当前市场利率借入引用资产。
需要注意的是,由于借贷双方已经同意贷款的清算是根据每种资产的单位数量而不是美元价格的比率来确定,因此并不需要预言机。然而,如果任一资产的相对美元价值发生变化,贷款人将调整当下或未来贷款的条款,以达到他们认为安全的抵押比例。
这些方法的最大优势为:协议在实际上是无法破产的。这是因为每个贷款人最终都要对自己贷款的偿付能力负责,因此不存在「坏帐」的概念,而这种「坏帐」可能要由 DAO金库 / 保险基金来承担,或在贷款人之间进行处理。
Blur 的 Blend 混合协议假定「存在能够参与复杂的链上和链下协议、评估风险并使用自有资金的更复杂的贷款人」。这在 Blur 作为专业 NFT交易者的主要交易场所的背景下是有道理的,但对于普通使用者来说,这似乎比在 Aave 或 Compound 上借贷要复杂得多。
无 Oracle 的新面孔
根据 Messari 研究员 Chase Devens 的定义,无预言机的定义架构可以分为两类,即点对点(Peer-to-Peer)和基于 AMM的混合型别。其中它们两者的主要特点如下:
点对点
支援任何的链上抵押品型别
使用者承担贷款引数并承担坏帐风险(不再是合约承担风险),借款人不再定义利率和 LTV引数,而是自己决定价值比较,并且从协议的机制中移除预言机意味着这些贷款可以由任何链上抵押品建立。
需要对仓位进行积极管理,为确保提供的流动性得到有效利用,使用者必须以类似于 Uniswap V3 的集中流动性位置的方式积极管理他们的仓位。
基于 AMM 的混合型别(借贷 / 衍生品 —LPs 流动性提供者)
支援任何的链上抵押品型别
底层 LP 位置为清算和衍生合约提供定价资料,同时也是清仓主要市场。使协议能够从其底层流动性池中计算清算和衍生合约的结果,从本质上讲,LP位置自身就像一个预言机。此外,这些 LP 位置在清算或合约到期期间提供了一种主要市场,用于解除安装协议库存,而不需要到外部平台清算抵押品。
举例说明:
Ajna.finance
Ajna 是一种专为 EVM 而设计的借贷协议,没有治理、许可权或外部价格供给(预言机)。可以用它来借贷我们的整个投资组合(包括 NFT)。其他贷款类专案已达到规模临界值的两个核心问题:
Ajna 通过一些关键创新解决了这些问题:
那么有什么意义呢? 这些创新使 Ajna 能够为 「整个」 生态系统提供服务。任何人都可以用任何资产(甚至是 NFT)建立借贷市场。不再费力地完成的治理流程且不再担心流动性、二级市场和预言机。
Blend
图源:Achal Srinivasan, Kirby
Blend 是一种点对点的永久借贷协议,支援包括 NFT的任何抵押品。它通过复杂的链下报价协议将有借款意向的使用者与愿意提供有竞争优势利率的贷款人进行匹配。
预设情况下,Blend贷款的利率是固定的,而且永远不会过期。借款人可以随时还款,而贷款人可以通过触发荷兰拍卖,以新的利率寻找新的贷款人,从而退出其部位。如果拍卖失败,借款人将被清算,贷款人将占有抵押品。整体具有不依赖预言机、无期限、可流动、点对点这四大特性:
无预言机
很多 DeFi 协议需要预言机来确定清算部位或确定利率的时机,以 NFT为例它的价格很难被客观衡量,及时的地板价更新在链上也是非常难被观测,这种解决方案通常需涉及到受信任的一方或交易操纵。而混合协议避免了核心协议中的任何预言机依赖,让利率和贷款比由贷款人意愿条件来决定,最后清算由荷兰拍卖的失败而触发;
无期限
一些 DeFi 协议只支援有期限的债务部位。这对借款人来说很不方便,他们需要在到期前记得关闭或调整部位(否则可能面临惩罚,如没收 NFT)。手动调整部位的过程还需要消耗 Gas,这也减少了借贷所产生的收益。只要有贷款人愿意根据抵押品借出这笔金额,Blend便会自动调整借款部位,只有在利率变动或其中一方想要退出部位时才需要进行链上交易;
可流动
有些协议不支援到期前清算,这样对借款人来说较为方便,并且在很多用例下是合理的。但这实际上是给借款人一个看跌期权,对放款人来说需要在较短的到期时间内从较高的利率 / 较低的贷款中做出选择,以避免部位被清算的风险。在 Blend 中,只要贷款人触发再融资拍卖,在没有人愿意以任何利率接手债务的情况下,就可以对 NFT进行清算;
点对点
其中一些协议是将贷款人的资金集中在一起,并试图为他们管理资产。这意味着会严重依赖链上管理或集中式管理来设定引数。Blend采用了点对点的模式,且每笔贷款都是单独匹配,它没有优化贷款方式的简单性而是以假定存在更复杂的借款人能力参与到复杂的链上和链下协议的情况下完成,从而有更大的许可权来掌握自己的资产。
什么是 FREI-PI 模式
根据 Nascent 成员 Brock Elmore 解释的 FREI - PI 模式为:「功能需求 - 影响 - 互动 - 协议不变式(FunctionRequirements-Effects-Interactions + Protocol Invariants pattern)」,这里以 dYdX 的 SoloMargin 合约(原始码)为例,这是一个借贷市场和杠杆交易的合约,即为 FREI-PI模式的绝佳范例。这是早期借贷市场中唯一没有任何市场相关漏洞的借贷市场。
检视下面程式码时注意以下的抽象概念:
图源:Brock Elmore
这里常用的检查 - 效果 - 互动(Checks-Effects-Interactions) 仍在执行。但需要注意的是,带有附加 Checks 的 Checks-Effects-Interactions 并不等同于 FREI-PI ,虽然它们相似但服务的是不同目标。为此开发人员应该理解它们的不同: FREI-PI 是针对协议安全的高阶抽象,而 CEI 则是针对功能安全的高阶抽象。
该合约结构有趣的地方是使用者可按自己的意愿连续执行多项操作,包括:存款、借贷、交易、转帐、清算等。我们假设存入 3 种不同的 Token,且取出第 4 种 Token 并清算帐户,这一系列操作只需一键即可完成。
这就是 FREI-PI 的强大之处:只要核心借贷市场不变式在呼叫结束时成立,使用者就可以在协议内做任何想做的事情。对于本合约,这将在 _verifyFinalState 中执行,检查每个受影响帐户的抵押情况,确保协议比交易开始时更好。
该函式中还包含一些额外的不变式,它们是核心不变式的补充,有助于实现关闭市场等辅助功能,但真正保证协议安全的是核心检查。
其中以实体为中心的概念是 FREI-PI的另一个难题,用借贷市场和假定的核心不变式为例:使用者不能采取任何行动让任一帐户陷入不安全的抵押品状态。从技术角度讲这不是唯一的不变式,但对使用者来说是唯一不变数(可理解为仍是核心协议不变式,因为使用者不变式就是核心协议不变式)。在借贷市场中通常还会有两个额外的不变式:
预言机
一般来说 Chainlink是一个不错的选择,它的主要功能是提供准确和相对准确的即时资讯,这可以满足大多数不变式的要求。在极少数被操纵或意外情况下,为保证准确性而降低即时性的保障措施可能是有益的(如检查最后已知值是否比当前值大数百个百分点)。不过 Cream Finance 还是出现了 1.3 亿美元的攻击。
治理
治理是最棘手的不变式,因为它难以受到条件约束且大部分作用是改变其他的不变式,且某些治理在操作时无法通过 FREI-PI 进行验证。以 Compound 在 2022 年 8 月发生的破坏 cETH 市场的治理操作为例,此次升级违反了预言机的不变式。
在实际中,每个额外的不变式都使得协议变得更加难以保护,所以应当越少越好。因此复杂是危险的,而最重要的不变式就是协议核心的不变式,但如上文所述也会存在一些以实体为中心的不变式,这些不变式必须满足核心不变式的要求,最简单 / 最小的不变式集合可能是安全的。
小结:DeFi 的未来
将 DeFi 建立在不可升级的原始码(Primitives)之上且脱离预言机是最优的解决方案吗?毕竟目前 DeFi协议依靠治理、可升级性和预言机而带来的灵活性和易用性也让整个市场规模达到了数千亿美元。据 Nascent 成员 Dan Elitzer的观点:治理、可升级与预言机它们在本质上也并非是不好的,相反这些元素在更广义的环境下都具有非常大的实际价值,但这也会增加协议的攻击概率。
在根据需求更新功能或改进效率的前提下,原始码(Primitives)本身也是可以被偶尔替换的。在选择如何建立 DeFi协议时将会面临着两个重要的选择:将所有使用者的资料和外部条件的依赖交给较为中心化的单一协议,并委托给一小部分愿意参与治理的 Token持有者?还是重视市场中每个参与者的所有权,让使用者自己决定协议和服务商?
整个行业的参与者和开发者都致力于建设更为去中心化、无许可、高组合性的 DeFi,以此提升整个行业的安全性和弹性。关于 DeFi未来的发展方向,我们希望它能以更为安全和高效的执行方式不断占领传统金融的市场份额。
📍相关报导📍
深度解读 Panoptic Protocol:永久、无预言机的期权协议
V神:别让以太坊共识超载,社群「硬分叉」风险用预言机、L2解决!
Blur推出NFT永续借贷协议「Blend」 :P2P运行,不用预言机、没有结算日
Leave a Reply