作者:Dan Elitzer. 编译:Cointime.com QDD
我热爱DeFi。无需许可的支付协议和开放的金融体系的承诺是我最初被比特币吸引的原因,后来又引入了更广阔的加密货币世界。
2018年我阅读了有关Uniswap的介绍,这让我对加密货币世界中即将发生的事情有了新的认识,后来这部分加密货币世界被称为DeFi(尽管我更喜欢称之为开放金融)。
但是经过多年的重复黑客攻击和数十亿美元的失窃,即使是最坚定的信仰者也有理由质疑DeFi是否适合被广泛使用,更别说成为全球金融体系的核心组成部分了。
答案是:它不会……至少不会以目前的构建方式。
我们在Nascent公司大量投资于安全性。在2020年,我们成为首批委托一家一流审计公司(Open Zeppelin)代表我们的投资组合公司进行审计的投资者,以在发布前获得严格的安全审查的优先访问权限。我们是Spearbit、Code4rena、Macro和Skylock的早期支持者。
我们还投入了时间来为这个行业创建工具。Simple Security Toolkit已经被复制了近100次,我们最近宣布了Pyrometer的测试版发布,这是一个供审计师和开发人员使用的开源工具,结合了符号执行、抽象解释和静态分析。
通过这些努力,我们开始相信,安全性不仅仅是“更加努力”的问题。这是必要的,但还不够——就整个行业而言,攻击的频率和严重程度至少比被视为可接受的主流采用水平高出两个数量级。
2022年,超过38亿美元的加密货币被盗,其中很大一部分是通过攻击DeFi协议和桥接实现的。虽然有些攻击是由于安全性非常差的姿态,但即使是由知名团队开发的协议,这些团队遵循当前最佳实践流程,也不免疫。
如果我们希望数十亿人依赖DeFi,我们需要从根本上重新思考协议的设计和安全性。
我们在Nascent公司认为有一系列与安全性相关的概念是有希望的,值得进一步讨论和探索。
今天,我们将从解释“无需预言机的协议”这个概念开始,以及为什么我们认为它们指向了一种基本更健壮和安全的DeFi架构。
模块化协议和基本组件
许多DeFi协议喜欢将自己标榜为“基本组件”,希望其他团队在其基础上构建产品或可组合的协议。
我想提出一个新的定义:为了被视为基本组件,一个合约除了所部署的区块链之外,不得有任何外部依赖。
这意味着没有治理机制,没有可升级性,没有预言机。
一旦引入了任何外部依赖,合约就会继承与该依赖关联的任何风险。对合约功能的治理意味着一种可升级性形式,需要威胁模型考虑可能的变化范围以及可能进行这些变化的当前和未来条件。预言机根据定义引入了外部数据,以及提供该数据所涉及的所有依赖关系和准确性及时性的潜在变化。
基本组件应该只做它所说的事情——不多也不少,没有依赖关系。
令人震惊的是,今天很少有DeFi协议符合这个基本组件的定义。Uniswap v1可能是最为人熟知的,但即使是Uniswap v2和v3,虽然从安全性角度上看符合这个定义的精神,但也不能符合要求,因为它们允许对某些功能进行治理,例如协议费用开关和引入新的资金池费率层级。
尽管如此,这种有限的治理功能不会以巨大的可升级代理的形式带来风险,因此让我们聚焦于到目前为止Uniswap各个版本中的重大突破:
- 没有预言机
- 完全在链上
总体而言,Uniswap取得了巨大的成功,我们都应该对它成为主要的去中心化交易所以及它所激发的进一步去中心化交易所实验感到感激。人们普遍认为,它的崛起归功于以所有价格提供流动性的简单性,而不是学习如何成为做市商,最终取代了那些更加集中化或依赖可疑代币计划的早期努力。
随着行业的发展,Uniswap推出了新的协议版本,将设计空间更多地转向类似于订单簿的方式。Uniswap v3引入了非同质化流动性头寸的概念,流动性提供者(LP)可以将他们的流动性集中在特定的范围内。这使得LP能够在该范围内为交易捕获更大比例的交易费,但随着价格的变动,他们也会遭受差异损失的增加。这导致资本的更高效利用和市场中LP部分的专业化发展,同时出现了一系列头寸管理工具的生态系统,包括Arrakis、Gamma和Sommelier。
我预计,此时许多读者可能会想:“好吧,对于去中心化交易所来说,这都很好,但借贷协议怎么办?借贷需要预言机!”
我同意:借贷确实需要预言机……但是,与去中心化交易所一样,它们可以移出协议之外。
重构借贷市场
最近,我们看到了对新型无预言机借贷协议的兴趣迅猛增长,例如Ajna、Ethereum Credit Guild、Metastreet的Automated Tranche Maker以及Blur/Paradigm的Blend。
与传统的DeFi借贷市场不同,Gauntlet治理没有设定任何抵押因子,也没有像Chainlink这样的单一通用预言机为所有用户和协议功能提供“真实”的资产价格来源。相反,放贷人负责评估风险,并决定他们希望要求借款人提供多少抵押品,并且必须根据资产价格的变动更新其借贷标准。
这通常的工作方式是,放贷人选择他们将接受的特定资产作为抵押品(例如BAYC代币、单个Bored Ape NFT等),选择他们将提供给抵押品的报价资产(例如USDC),以及他们将要求借款人被清算的报价资产与抵押资产的比率。借款人随后可以以市场上的利率抵押资产并借入报价资产。
请注意,由于借款人和放贷人达成了一项贷款协议,其中清算是根据每种资产的单位数量比率而不是依赖于美元价格,因此不需要预言机。然而,如果任何一种资产的相对美元价值发生变化,放贷人将希望调整当前或未来贷款的条款,以反映他们认为安全的抵押品比率。
这种方法的一个重要优势是:这些协议实际上无法破产。因为每个放贷人最终对他们自己贷款的偿付能力负责,所以不存在可能需要DAO财务/保险基金吸收的“坏账”概念,也不会在放贷人之间进行社会化。
对于某人以95%的贷款价值比率让他们用ETH抵押USDC感到安全吗?请随意。
只在10%的贷款价值比率下接受MKR抵押品?没问题。
Blur的Blend假设“存在更复杂的放贷人能够参与复杂的链上和链下协议,评估风险,并使用自己的资本。” 这在Blur作为专业NFT交易者主要场所的背景下是有道理的,但对于普通用户来说,与在Aave或Compound上借贷相比,似乎需要付出更多的努力。
好消息是:它不必如此。
其他协议或服务可以使维持一致的抵押品比率要求变得简单,即使抵押品的价格波动。在Ajna的情况下,可以使用Oasis和DeFi Saver(或其他协议/服务)来自动调整您供应的标的物。您甚至可以拥有一个保险库,允许用户提供DAI或USDC,并使其可供相同资产以及与Aave相同的抵押因子借入,自动在不同资金池之间平衡以最大化借贷利率。这样的保险库甚至可以使用Chainlink作为其预言机,为放贷人提供与今天使用Aave几乎相同的用户体验和风险配置。
但是,如果您只是在协议或服务上叠加重新创建Aave现有用户体验和风险的层面,那么为什么要构建一个无预言机的协议或类似Ajna的基本组件呢?
通过多样性实现安全的统一市场
我要明确地说:真正的金融机构永远不会(也不应该)将数十亿美元投入到完全依赖Chainlink的协议中,以确保安全性。
将离链数据可靠地引入链上涉及到很多复杂性,尤其是要求以去中心化、抗审查的方式运作。虽然Chainlink在这些限制下做得非常出色,但它也成为整个DeFi领域潜在的单点故障。
无预言机协议,实际上就是专门设计允许用户自行选择预言机(BYOO)的协议,为那些拥有自己高质量数据源且不需要去中心化或抗审查的复杂机构用户提供了另一种选择。
很可能,像Ajna这样的无预言机协议的大多数用户仍然会依赖公共预言机协议(如Chainlink)通过Oasis等工具来安全管理他们的借贷头寸。但他们也可以与选择依赖Pyth、各种基于零知识证明的预言机、Bloomberg API甚至自己内部价格计算的复杂用户无缝操作在同一个市场中。
我们最近在以太坊本身上看到,依赖大量客户端多样性的能力使得避免了停机时间。通过采用分层的协议开发方法,使用多样化的安全关键服务提供商,DeFi领域有可能出现类似的强韧性,其中问题可以被隔离,仅影响子集用户。
就Ajna而言,请记住它不仅仅是一个无预言机协议,它是一个基本组件:它没有任何治理、可升级性、预言机或任何外部依赖。这意味着借款人和放贷人可以分别制定自己的要求,选择自己的管理协议和服务提供商,每个人都有自己的相关依赖关系。一些用户可能选择使用依赖Chainlink并镜像Aave的抵押品资产和比率的服务,而其他人可能选择使用Bloomberg API,并且仅对以保守抵押品比率抵押ETH。
如果发生影响预言机或迅速导致单个抵押品资产价值下跌的事件,使用不同预言机或没有对该资产进行借贷的用户将完全不受影响。
而且,无论做出了哪种选择,用户仍将通过Ajna在一个统一的市场中汇集流动性并与交易对手进行交互。这是真正的DeFi基本组件的任务:提供一个高效、安全的市场,使交易对手能够找到彼此并完成交易,并能够永久运行。
如果你想知道在类似基本组件的协议上构建可以有多复杂:Infinity Pools是正在开发的建立在Uniswap V3之上的去中心化交易所,可以为任何资产提供几乎无限杠杆,没有清算、没有交易对手风险,也没有预言机。
DeFi的未来是分层的
将DeFi主要构建在不可变的基本组件之上是一个好主意吗?毕竟,基于治理、可升级性和预言机的灵活性和易用性,我们已经在交换和借贷上从零发展到数千亿美元。
我认为是的。
治理、可升级性和预言机并不是本质上不好的东西。相反,它们在广泛的场景中非常有用。然而,它们会增加协议的攻击面,并在攻击向量通过这些功能导致漏洞时导致大多数或全部协议用户遭受损失。
尽可能将逻辑和依赖关系从最低级别的基本组件中移出,可以创建一个更为强大的高级服务市场,同时通过合约实现流动性的最少攻击面。
基本组件本身可能偶尔需要被替换,这要么是由于未来设计带来的重大功能或效率改进,要么是由于潜在的漏洞被发现。好消息是,如果有人开发出更好的基本组件,大多数位于上层的协议和服务提供商将能够将他们的用户迁移到一个新的、改进的基本组件上,因为高级服务已被明确设计为模块化的。
再次问一下,这样做值得吗?
是的。
与各种形式的集中式数据库和服务相比,区块链本身非常低效。我们使用它们,是因为我们相信无需许可的访问和可组合性的力量——以及选择是自己托管财富还是选择值得信任的服务提供商——远远超过我们作为用户所面临的成本和麻烦。
在构建我们的DeFi协议时,我们面临着类似的选择:我们想要拥有决定参数和外部依赖的单体协议,将所有用户的决策委托给只有少数愿意参与治理的代币持有人吗?
还是我们更看重个体市场参与者的赋权?他们可以自行决策,或选择其他协议和服务提供商代表自己进行决策,而不会强制将这些决策强加给他们希望进行交易的所有人?
我们可以倾向于集中化的故障点。或者,我们可以选择通过多样性和模块化在整个协议栈的所有层面增加强大性。
我们在这个行业工作的人选择致力于推动去中心化、无需许可、可组合的协议的发展,相信它们与传统集中式、需许可系统相比的优势将变得不可否认。同样,我相信人们将欣赏基于模块化、分层的DeFi协议设计方法,因为它们提供了安全性和弹性方面的改进。
记住:我们的目标不是构建比之前更好50%的东西;我们的目标是构建比之前更好50倍的东西。
无论你是否相信无预言机或分层协议设计是未来,希望我们能够达成共识:DeFi的安全性不是一个无法解决的问题。如果我们在安全性方面不断进步,加密货币将永远无法超越利基地位。
除了上述协议设计的变化外,我们还可以采取一系列其他具体步骤来提升安全性。本系列的未来文章将探讨一些潜在的挑战和可能性,如断路器以最小化原子数据泄露的损害、广义多方哨兵合同以及与风险价值成比例的赏金。
此外,我们还将有一些关于Nascent将如何加强对投资组合公司和整个生态系统的安全支持的令人兴奋的公告。
所有评论