作者:@albertocuestacanada,来历:登链翻译计划

假贷是依据以太坊的区块链运用的柱石。现已稀有十亿财物被借出,所以了解假贷的运作办法对于开发者、架构师或研究员来说至关重要。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

就像编程范式的演化一样,这些 DeFi 运用程序具有不同的架构规划,反映了从安全性到功率极用户体会等不断改动的优先级。

本文着眼于剖析假贷运用程序的架构,例如 MakerDAOCompound 、 Aave、Euler 和 Yield 。咱们将要点介绍要害的创新和规划形式,它们是未来假贷运用程序开发的重要经验教训。

假如你是开发者、架构师或安全研究员,那么本文适合你。最后,你将轻松了解以太坊上的新假贷运用程序,快速而全面地掌握其架构。深入了解这些 DeFi 巨头是怎么从头开始构建的。

DeFi 中的假贷

大多数 DeFi 假贷超量典当。假如用户供应的典当品价值高于假贷的价值,则用户能够借入特定财物。与传统假贷不同,许多此类假贷没有定期还款或固定还款日期。从本质上讲,你能够借,永远不还。

但是,有一个问题便是:典当品的价值有必要一直超过假贷价值预定的边界。

假如典当品价值低于此边界,则告贷将会被清算。在清算期间,其他人归还你的部分或悉数告贷,而且他们会收到你的部分或悉数典当品作为报答。

遵循这种金融结构的一切告贷请求都需求相同的构建,然后能够经过多种办法进行组织:

  • 存储用户典当品和借入财物的金库(treasury )

  • 跟踪每个用户的典当品和债款的账单(Accounting)体系

  • 决议告贷人利率的函数

  • 验证假贷是否有足够典当的机制,一般涉及外部价格预言机

  • 典当缺乏时假贷的清算路径

  • 记载假贷总额和其他安全方针的危险办理体系,例如全局和每个用户的假贷限额、最低典当品和特定的超量典当率

  • 供用户增加和删去典当品、假贷和归还标的接口

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

> MakerDAO 中的假贷流程,一切运用财物运用相同的进程和功用

告贷和告贷能够被视为独立的功用。在 DeFi 中,咱们在大多数假贷运用程序中都发现了这两种功用,但它们并不总是能够很好地集成。 在 Compound ,Aave和Euler ,告贷人和告贷人的利率是内部相关的;事实上,这便是使这些运用程序以最少的干预运行的原因。

另一方面,MakerDAO 和 Yield 借给告贷人的财物来自于他们自己(协议本身)。

他们不要求用户供应财物以便其他用户能够借用。

本文将要点讨论链上告贷(borrowing),并在很大程度上疏忽告贷(lending)。由于典当要求,告贷要杂乱得多,而且了解告贷形式一般能够更好地了解整个协议。

MakerDAO 的架构演化

MakerDAO,于 2019 年 11 月推出,它持有$4.95B 典当品。虽然其模块化架构具有针对每个功用的不同合约和共同的术语,但它依然易于了解和验证。

MakerDAO 中的金库(Treasury)功用由Join合约办理。

每个被批准作为典当财物的代币都有一个独自的合约

MakerDAO 不具有任何假贷财物 DAI。它仅仅依据需求铸造和销毁 DAI。

账单(Accounting) 在 vat.sol 合约内处理。当典当品进入或退出体系时,Join 会更新此合约。假如用户告贷,他们会直接与 vat.sol 合约进行交互。

此操作会更新用户的债款余额,并答应他们在 DAI 中铸造 DAI。

为了归还,用户在 DAI Join 合约 中焚烧 DAI。然后,此进程会更新 Vat,运用户能够结算假贷。

此外, vat.sol合约充任危险办理引擎。它坚持悉数假贷限额,设定每个用户的最低阈值,并监督典当比率。当用户的债款或典当品余额发生改动时,vat.sol 合约会评价利率和现货(spot)。

这些是指依据所运用的典当品和现行 DAI 与典当品价格比率的利率。风趣的是,这些值由其他 MakerDAO 合约输入到 vat.sol 合约中,这种办法与大多数其他运用程序不同。

MakerDAO 在规划阶段就将安全放在首位——当时 gas本钱等要素是非有必要的,用户体会是非有必要问题,竞争也能够疏忽不计。

因此,它或许会显得古怪、运用本钱高昂且难以驾御。

但是,其办理的庞大财物和没有严重违规行为的运营记载凸显了其稳健的规划和履行。

MakerDAO 亮点:

  • 每个财物都有自己合约。

  • 账单功用会集在单个合约中,该合约还记载和履行危险参数,包括典当查看

  • 与其他运用程序不同,预言机来更新合约,监督典当

  • 价格和利率预言机运用不同的接口

  • 利率源自外部

  • 要告贷,用户有必要与多个合约交互

Yield 协议的架构演化

Yield v1 作为运用 YieldSpace 的固定利率的概念证明。该版别在 MakerDAO 之上构建了其典当债款引擎。但是,Yield v1 运用起来既昂贵又难以经过新功用进行增强。

认识到 YieldSpace 的潜力后,咱们迅速转向开发 Yield v2。Yield v2 仍从 MakerDAO 中汲取创意,但现已完全独立,于 2021 年 10 月推出; Yield v2 优先考虑降低 Gas 本钱和增强用户体会。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

Yield v2 中的假贷流程深受 MakerDAO 影响

一切账单、危险办理和典当查看都合并到一个合约中:Cauldron。效仿 MakerDAO 的办法,将金库功用分布在 Join 合约中,每个合约专用于一项特定财物。

改善了预言机集成,将价格和利率预言机合并为一个通用接口。咱们反转了 MakerDAO 的预言机流程,以便Cauldron 依据典当查看的需求查阅预言机。据我所知,这是除 MakerDAO 之外的一切其他运用的首选流程。

与 MakerDAO 办法的另一个严重差异是引进了Ladle。该合约充任用户和 Yield 之间的唯一中介。它对金库和账单具有广泛的控制权,以之相应的,它为功用开发供应了巨大的灵活性。

总而言之,Yield v2 中的假贷作业原理如下:

  • 每项财物都有自己专用的金库合约。

  • 单一合约会集了账单职能。该合约还监督危险办理措施并履行典当查看。

  • 典当功用查阅预言机来确定价格和利率。

  • 价格和利率预言机同享一致的接口。

  • 利率是外部发生的。

  • 用户能够经过向一个合约发出单个交易来告贷。

Compound 的架构演化

Compound 的第一个版别概念验证,标明能够在以太坊上树立货币市场。因此,其规划优先考虑简略性。 MoneyMarket.sol合约封装了一切功用,包括假贷。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

Compound v1 中的告贷进程,简略有效

  • 金库、账单和危险办理任务(例如典当查看)被合并到一份合约中。

  • 该合约从预言机检索价格,但依据财物利用率确定利率。

  • 用户仅与该合约交互,虽然它有必要独自调用来供应典当品和借入财物。

Compound v2

Compound v2 于 2019 年 5 月推出,点着了流动性挖矿年代,激起了无数分叉。它也起到货币市场的作用,答使用户存款和借入财物。

依据其白皮书和结构,很明显,Compound v2 的首要方针是运用 ERC20 规范来标明假贷头寸。这保证了可组合性,答使用户借给Compound,然后在其他区块链运用程序中运用这些计息头寸。

风趣的是,白皮书并没有强调Compound v2 将奖赏纳入其智能合约中。由于这一遗漏,该功用的巨大影响或许无法预见。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

Compound v2 中的告贷进程,初次将假贷头寸代币化

  • 每项财物都有自己的资金合约。

  • 账单功用也是分隔的,每个 cToken 都会记载用户的典当品和债款。

  • 单一合约(Comptroller)记载并履行危险办理参数,包括典当查看。

  • Comptroller 负责典当查看的合约参考价格的预言机和 cToken 的利率。

  • 价格和利率预言机经过不同的接口运行。

  • 利率源自财物内部利用率。

  • 用户有必要与多个合约交互才能告贷。

Compound v3

Compound v3 于 2022 年发布,采用了更为保守的危险办理策略,将流动性阻隔到每个可借财物的中。该规划也外表其对用户友好性和Gas本钱的重视。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

Compound v3 (Comet) 中的告贷进程。回归基础,回归安全。不过,有了更好的用户体会。

由于所需调用次数的削减,该体系对于开发人员和用户来说都愈加直观。此外,单一合约规划经过最大限度地削减合约之间的调用来降低Gas本钱。阻隔的货币市场是对依据预言机的进犯的防御,而这是当前一个首要的安全问题。

文中说到的其他相关功用包括(在发行阐明中说到的):

  • 完全改造的危险办理和清算引擎。这种规划增强了资金安全性,同时对告贷人愈加友好。

  • 在整个市场上对个人典当财物设置约束以降低危险。

  • 收入和告贷的利率模型现在是分隔的,办理对经济政策具有完全控制权。

风趣的是,Compound v3 镜像了Compound v1 的架构,让单个合约处理每个可借财物的一切功用。其他值得注意的功用包括:

  • 只要假贷财物才能告贷,典当财物不能告贷。

  • 在Compound v3 中,典当品不会发生报答。

制止借用典当品提高了典当品存入者的安全性。这降低了办理过错或成心进犯危及典当品的或许性。

移除典当品供应报答或许是由于Compound 设法在 v2 中积累了大量流动性的结果。我的直觉是,在Compound v2 中,假贷限额要么低于或不高于用户贷给运用程序的财物。

假设他们将为 v3 办理相似水平的流动性,制止借出典当品能够使运用程序安全,这是 v3 的核心方针之一。

从架构的角度来看:

  • 每个货币市场都是一个独立合约包含金库、账单和危险办理

  • 每个货币市场都保留可借财物及其一切批准的典当财物代币,然后让财物分布在整个运用中

  • 喂价是唯一的外部输入;假贷利率由内部发生

  • 供应(supply)/提取(withdraw)/借(borrow)/还(repay)等传统功用得到巧妙整合。现在,从货币市场提取(withdraw)可借财物意味着告贷,而供应(supply)可借财物则意味着依据用户的归还债款或告贷

  • 集成了路由合约,答应在一次调用中履行多个操作

Aave 的架构演化

Aave v1 于 2019 年 10 月推出,顶替 ETHLend。 Aave v1 引进了同享流动性池,而不是 ETHLend 的点对点办法。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

Aave v1 中的告贷进程,汇集流动性提交核算功率

正如在 Yield v2 中一样, 路由合约控制了事务逻辑。LendingPoolCore 完成了账单、危险办理和金库功用。将金库会集在一个合约中是与Compound v2 的一个差异点。

将典当查看留在自己的合约中,从路由器而不是会计合约中调用,这一决议看似单薄,但由于 Aave v2 版别在 v1 版别发布两年后才发布,因此很或许契合意图。

  • LendingPoolCore 合约处理金库和账单

  • LendingPoolDataProvider 办理典当查看并与预言机交互

  • LendingPool作为用户入口并完成事务逻辑

  • 假贷利率由内部决议,仅依赖于价格反馈

Aave v2

Aave v2 于 2021 年 12 月发布。虽然它保留了与 Aave v1 相似的功用,但与 Aave v1 和 Compound v2 比较,它引进了改善且更简略的架构。在此版别中,Aave 还引进了 aToken(相似于Compound 的 cToken)和 vToken,它们代表代币化债款。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

 Aave v2 具有非常洁净的架构,完全代币化

为了简略起见,省掉了 Aave v1 中有限运用的某些功用。 Aave v1 中的问题(例如应计利息的杂乱标明)已在 Aave v2 中得到解决。

  • LendingPool 合约整合了全局账单和危险办理功用,例如典当查看。它作为用户的首要访问点

  • aToken 标明典当品,相似于假贷头寸。用户的典当品经过其持有的 aToken 表现,金库功用分布在一切 aToken 上

  • vToken 用于标明债款头寸。用户的债款由他们持有的 vToken 标明

Aave v3

Aave v3 于 2023 年 1 月发布,具有多链支撑和其他功用。增加这些不会改动核心架构。此次更新还改善了危险办理和Gas功率。

虽然有许多进步,但就本研究而言,Aave v3 与 Aave v2 并没有本质上的不同。事实上,这或许标明 Aave v2 的架构在 2023 年依然坚持稳健。

Euler 的架构演化

Euler 于 2022 年 12 月推出,旨在为货币市场供应无需许可的功用和最少的办理。

其规划的一个标志是钻石般的形式。单个合约具有运用程序的一切存储空间。该存储能够经过不同的代理进行访问,每个代理办理体系的不同概念元素。

以太坊上的借贷应用架构演变: 比较 MakerDAO、Yield、Aave、Compound 和 Euler

虽然一份合约存储了一切财物、账单和危险办理数据,但依然有用于典当品和假贷的 eToken,以及用于债款的 dToken,相似于 Aave v2。但是,这些代币合约仅仅是中心存储合约的视图。

  • Storage合约办理账单变量。

  • BaseLogic 合约充任金库。

  • RiskManager 合约监督危险办理变量和功用,包括典当查看。

对代码的剖析标明,最小的Gas本钱是首要任务,然后导致全体规划消除了合约间调用的需求。经过严格的测验和审核保证了安全性。只要逻辑分布在各个模块中,作为存储合约的完成,存储合约首要充任代理合约。

这种一致的规划还支撑轻松晋级。假如不需求更改存储,则能够快速更换模块以修改或引进功用。

Euler 在发布 15 个月后被黑客进犯,在晋级引进被利用的漏洞 6 个月后被黑客进犯。

我不认为是由于其全体架构导致财物流失;相反,是对代码更新的监督不够。

结论

MakerDAO、Compound 和 Aave 等早期以太坊运用程序展现了以太坊超量典当假贷的潜力。一旦这些概念验证被证明是成功的,要点就转移到引进一系列新功用以占据市场份额。 Compound 和 Aave 的后续版别引进了流动性挖矿、可组合性和调集流动性,这些技术在牛市条件下尤其蓬勃发展。

一个严重发展是 Compound v2引进了代币化假贷头寸,这使得这些头寸能够被其他运用程序识别为规范财物。 Aave v2 和 Euler 经过实施代币化债款头寸更进一步,其更广泛的效用依然是一个争辩的话题。

高 Gas 本钱成为牛市期间的首要问题,促运用户体会发生改动,如 Yield v2、Aave v2 和 Euler 所追求的。路由器合约和作为全体完成有助于降低用户的交易本钱。但是,这是以更杂乱、因此危险更大的代码为代价的。

Compound v3 似乎开创了先例,将安全性置于金融功率之上。它背离了传统的流动性池模型,以更好地防备潜在的黑客进犯。 L2 网络的鼓起(其间 Gas 本钱变得越来越能够疏忽不计)或许会影响未来典当告贷运用的规划。

在本文中,我全面概述了以太坊上的要害典当告贷运用程序。我用来剖析每个运用的办法也能够用于快速掌握其他典当告贷运用的杂乱性。

在开发区块链假贷运用时,请一直考虑财物的存储、账单记载的放置以及危险和典当品评价办法。当你考虑这些注意事项时,请利用之前运用的历史改变及本概述中的见地来为你的决议计划供应信息。

此时快讯

【Metamask过去一个月手续费收入达123万美元,其中约60%由Symbolic Capital贡献】金色财经报道,据Scopescan数据监测,过去2小时内,Symbolic Capital在MetaMask进行了2笔掉期交易,总计415万美元,为Metamask贡献了3.4万美元(手续费率为0.875%)的手续费收入。过去一个月,Metamask赚取了123万美元手续费收入,其中约74万美元(约60%)来自Symbolic Capital。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注