> For the complete documentation index, see [llms.txt](https://cmdefi.gitbook.io/cmdefi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cmdefi.gitbook.io/cmdefi/home/defi-qu-zhong-xin-hua-jin-rong/euler-v2.md).

# Euler v2

<p align="right">✍️ 正在编辑</p>

Euler v2 是一个模块化的借贷平台，主要由两个部分组成：

1. **Euler Vault Kit (EVK)**：支持开发者在无需许可的情况下创建和连接定制化的借贷库。
2. **Ethereum Vault Connector (EVC)**：是一个强大的、不变的底层原语，使得借贷库可以用作其他库的抵押品。

## Euler Vault Kit (EVK)

EVK 是基于 ERC-4626 标准的借贷库开发工具包，可以创建各种不同类型的借贷市场。主要类型包括：

### **1 托管型抵押库**

用于存放抵押品，允许用户通过这些抵押品从其他库借款。托管型库不会为存款者生成利息收益，因为这些存款不能被借出。

### **2 治理型库**

允许存款既可用作抵押品，也可被借出，从而为存款者带来利息收益，由 DAO 治理。治理者负责管理库的风险和收益参数，例如贷款价值比 (LTV)、利率模型、清算门槛等。

### **3 非治理型库**

没有主动治理者，适合那些希望自己管理风险的用户。它们具有固定的参数，无法在运行过程中进行调整。根据是否暴露于治理的风险，非治理型库可以进一步分为以下两种类型：

* **0x 非治理型库**：不接受带治理属性的抵押品，不受任何治理风险的影响。
* **nzx 非治理型库**：接受带治理属性的抵押品，例如其他协议的治理代币。

### **4 收益聚合库**

一种特殊的治理型库，其作用是将被动存款者的资产聚合起来，并通过治理者管理这些资产流向不同的EVK库，甚至可能是外部库，即其他DeFi协议中（比如sDAI）。

### **5 合成资产库**

合成资产库允许用户通过抵押其他资产来创建（或“铸造”）合成资产。这个过程类似于抵押贷款 — 你抵押一定的资产，然后借出等值的合成资产，它可以是稳定币、黄金、期货等任何类型的资产。

比如抵押 ETH 铸造稳定币，形式上与 DAI 的生成方式类似，先将抵押品 ETH 存入合成资产库，基于抵押品价值铸造出一定量的稳定币，这些稳定币可以在市场上使用，当不再需要稳定币时可偿还债务以赎回抵押品。其优势在于Euler将提供成熟的风险管理框架，且是无需许可的，这些资产的创建过程灵活，并且支持定制化的需求。

### 6 定制库

定制库是通过 EVK 创建的库，允许开发者在库中实现特定的功能、规则和操作流程。

通过定制库，开发者可以控制：

* **利率模型**：自定义利率模型，确保适用于不同的市场条件。
* **价格预言机**：选择/定制合适的预言机，确保价格的准确性。
* **风险管理**：通过自定义参数（如贷款价值比，LTV）和清算规则，调整库的风险管理策略。
* **费用结构**：治理者可以定义如何在库中收取和分配费用。

## 钩子 (Hooks)

钩子功能允许在库的操作中插入自定义逻辑，使得库的行为可以根据特定条件进行动态调整。钩子本质上是某些库操作的附加条件，当某些事件发生时（如存款、借款、清算等），系统可以自动调用已定义的钩子合约来执行额外的任务或进行特定的检查。

### **钩子的工作机制**

钩子是一段与库操作相关联的外部合约，能够影响库的核心操作。每当执行某个操作（如存款或借款）时，库会检查是否有钩子被绑定到该操作，如果有，则在执行库操作的同时调用钩子逻辑。

* **钩子目标（Hook Target）**：这是钩子逻辑所在的智能合约地址，当触发钩子时，会调用这个地址执行自定义逻辑。
* **钩子操作（Hooked Ops）**：这是一组操作标识符，用于指定哪些操作会触发钩子，如存款、借款、赎回、清算等。

### **钩子功能的常见用途**

钩子功能目前可用于定制库，允许开发者或治理者根据特定需求来修改库的运行方式。比如：

**1. 暂停操作**

通过钩子，库的治理者可以在紧急情况下暂停某些操作，如暂停借款或清算。这种功能非常适合在市场出现极端波动或发现安全漏洞时使用，能够保护用户的资产，防止进一步的损失。

**2. 定制的清算流程**

在某些情况下，库的创建者可能希望使用定制化的清算流程，而不仅仅依赖于标准的清算机制。钩子可以在清算操作中插入逻辑，比如基于某些价格波动或市场条件，提前或延迟清算操作。

钩子功能最初在Uniswap V4中出现，Euler将这一概念应用到借贷平台，为模块化的借贷框架提供了极致的灵活性，为多元化创新提供了无限可能。

## **Ethereum Vault Connector (EVC)**

EVC 是一个中介层，用于管理用户的账户和库之间的互动。它主要为各种协议提供统一的基础架构，允许库之间进行无缝的交互，并为用户提供高度定制的借贷和抵押功能。

核心特点

**统一的流动性和互操作性**

EVC 通过其设计，使多个协议之间可以共享统一的流动性。它的主要作用是通过共享基础设施和标准化接口，允许用户和开发者在多个库（vaults）中自由流动资金，并在不需要转移资产的情况下实现跨协议操作。

通过 EVC，用户可以在不同协议的借贷库之间共享和管理相同的抵押品，并完成借贷动作。

EVC 通过提供一个标准化的接口来管理账户与库的交互，使得不同协议和库可以基于相同的框架运行。这种标准化的好处在于，它减少了开发者为每个库或协议编写单独适配代码的需要，同时可以为用户提供无缝的跨协议借贷体验，在多个 DeFi 协议中执行复杂的操作，而无需中断流动性或进行复杂的资金转移。

比如用户在 A 协议中提供了抵押品，并在 A 协议借出稳定币，当用户归还借款后想换到另外一个类型的借贷库去借款，它无需转移它的抵押品；当用户想更换到 B 协议 中去借款，只要 B 协议同样基于 EVC 机制的标准化接口，那么用户无需将抵押品从 A 协议转移至 B 协议即可完成借贷，实现了无缝跨协议的抵押借贷。

在清算方面，EVC 允许借款库（Liability Vault）与多个抵押品库（Collateral Vault）无缝协作。通过统一的流动性管理，当某个用户的抵押品价值不足时，EVC 能够自动在不同的库中进行清算，而不需要手动提取或转移抵押品。

它允许不同协议接受其他库的抵押品，用户可以在不同的协议中使用相同的资产进行借款，而不需要将资金从一个协议移到另一个协议，从而提高了资金的利用率。

**资产属性的灵活性**

EVC 不强制规定资产的类型或特定属性，允许库支持多种资产类型，包括不规则的资产类别，如 NFT、合成资产和现实世界资产（RWA）。这种灵活性使得协议开发者可以构建更多样化的库，并扩展到更多用例。

**状态检查和批量操作**

EVC 实现了账户流动性检查（Account Status Checks）和库状态检查（Vault Status Checks），并且支持批量操作中延迟检查。这使得用户在一个交易内执行多个操作（例如，借款、抵押品调换）变得更加高效，这种批量操作有以下优势：

* **原子性**：所有操作要么全部成功，要么全部失败，确保操作不会在中途卡住。
* **Gas 效率**：批量操作减少了多次调用合约的冷启动成本，提升了 Gas 使用效率。
* **检查延迟**：在批量操作中，账户和库的检查可以推迟到批处理结束时统一进行，从而允许临时违反某些规则。
