# 架构

OmniYield 的架构设计为模块化、链无关且高度可扩展。

我们的主要目标是打造一个链无关的收益层，为 DeFi 中的用户最大化风险调整后的回报。为实现这一目标，系统采用广泛的数据分析、高级的链下算法、严格的安全协议、分散化规则，以及一种将跨链交互复杂性抽象掉的架构。

### 关键架构组件

<details>

<summary><strong>金库</strong></summary>

用户进入 OmniYield 的入口。

这些符合 ERC-4626 的智能合约安全地管理存款、接收策略报告并处理提款。

它们作为主要接口，负责协调用户资金与底层策略。

</details>

<details>

<summary><strong>执行层（Solver）</strong></summary>

OmniYield 的智能层。

这些自动化系统持续分析跨链 DeFi 协议，识别最佳收益机会，评估风险，并决定金库的资产配置。

为提高效率，这一处理在链下计算——只有结果会在链上执行，从而防止 OmniYield 的策略被仿制。

</details>

<details>

<summary><strong>策略</strong></summary>

每个金库都至少关联一个策略合约。

该组件将 solver 的决策转化为行动。它处理资产流动中的技术复杂性，包括代币交换、流动性提供、借贷、质押等。

</details>

<details>

<summary><strong>目的地</strong></summary>

金库资产最终部署到的具体 DeFi 协议、流动性池或收益农场。

</details>

<details>

<summary><strong>跨链消息基础设施</strong></summary>

支持跨链能力的基础技术，促进不同区块链之间的通信和资产转移。

</details>

### 资产生命周期

理解资产流动有助于阐明系统的运作：

{% stepper %}
{% step %}
**存款**

用户在任一受支持的链上，将单一资产类型（例如 USDC）存入相应的 OmniYield 金库。存入的资产会转移到 Arbitrum 中枢上的金库合约中，并最初闲置在那里。
{% endstep %}

{% step %}
**跨链再平衡**

* 链下组件（自主 Solver）监控金库余额和市场状况。一旦闲置资产达到某个阈值，或在周期性的优化轮次中，它会确定当前策略在集成链上的最佳配置并提出再平衡方案。如果该提案满足安全和性能约束，它会通过 Arbitrum 中枢上的金库合约发起再平衡（例如，将 X 数量的 USDC 转移到链 Y 上的策略 A）。&#x20;
* 借助 LayerZero 和 Axelar，一条包含再平衡指令的消息会从中枢发送到目标链上的相关金库合约。
* 系统执行必要步骤（如跨链桥接、兑换、存入等）以完成再平衡。
* 更新后的配置会被记录，并通过消息层将确认/状态更新发送回 Arbitrum 中枢。此过程可能包括将中枢中的闲置资金转入某个策略，或在不同策略之间转移资金以追求更高收益。
  {% endstep %}

{% step %}
**自动复利与汇总报告**

* 策略合约会定期从目标协议中领取已赚取的奖励，将其转换为金库的基础资产（例如 USDC）并自动再投资。此过程由获授权的 Keeper 协调执行。&#x20;
* 性能数据，包括这些策略在所有受支持链上产生的奖励，会持续回报到 Arbitrum 中枢。奖励会被计入金库总价值，自动为存款人复利增益。
  {% endstep %}

{% step %}
**提款**

* 提款不受存款链限制；用户可以随时从任一受支持的链发起提款请求（**不一定必须是存款时使用的同一条链**).
* 9% 的业绩费是根据用户存款在所有底层策略和链上产生的利润计算的。
* 请求会被路由到 Arbitrum 中枢。如果金库有足够的闲置资金（未在策略中积极部署的资产），提款会立即处理。
* 如果金库闲置资金不足，中枢会通知策略提取所需金额。系统会优先从对整体收益率（APR）影响最小的策略中提取。根据底层协议不同，此过程可能会稍微耗时更长。
  {% endstep %}

{% step %}
**领取**

* 一旦金库中有足够的流动性，用户即可领取其提款。领取后，相应资产会通过跨链基础设施转入用户的钱包。
  {% endstep %}
  {% endstepper %}

### 跨链架构

OmniYield 的基础设施建立在稳健的 hub-and-spoke 架构之上：&#x20;

* **中枢：** 我们采用 Arbitrum 作为中心运营中枢（“主链”）。OmniYield 协议的核心逻辑、复杂计算以及整体状态管理主要都驻留在这里。
* **辐射链：** 所有其他受支持的区块链都作为“辐射链”或“侧链”运行。这些网络是用户存款可能产生的来源，也是许多底层收益策略部署的地方。它们主要充当执行终端，接收来自中枢的指令。

<figure><img src="/files/da91482a2830245716ae36ad50a705b3471eb392" alt=""><figcaption></figcaption></figure>

#### **通信流程：**

{% stepper %}
{% step %}
**汇聚**

当做出再平衡决策或发生用户操作（如需要跨链转移的存款/提款）时，会生成跨链消息，并安全地从辐射链传送到 Arbitrum 中枢。
{% endstep %}

{% step %}
**计算**

中枢处理这些传入消息，执行必要的计算（如优化所有辐射链上的资产配置、计算整体金库表现、汇总费用），并根据系统的全局视图做出战略决策。
{% endstep %}

{% step %}
**分发**

一旦决策作出，所需的指令和交易数据会从 Arbitrum 分发回辐射链上的相关智能合约以供执行（例如，将资金存入不同网络上的某个特定策略）。
{% endstep %}
{% endstepper %}

{% hint style="success" %}
这种模块化设计实现了：

* **集中式逻辑，去中心化执行**\
  该模型确保数据一致性，因为 Arbitrum 中枢充当唯一可信来源。实际的资本部署发生在各个辐射链上，充分利用每条链所提供的独特机会。
* **模块化与可扩展性**\
  新的链、资产、策略和目的地可以以即插即用的方式集成，对现有代码库只需最小改动。\
  这确保了较小的攻击面，同时促进更多产品的开发。为进一步增强其稳健性和功能性，OmniYield 协议与各种 DeFi 原语和基础设施集成，提供最佳用户体验，并实现与其他金融工具的无缝交互。
  {% endhint %}

### 跨链通信

我们在众多区块链上运行 hub-and-spoke 模型，得益于领先的跨链消息提供方：LayerZero 和 Axelar（未来也可能包括针对特定代币/链/功能定制的其他方案）。&#x20;

LayerZero 提供轻量且高效的消息传递，确保在受支持网络间实现极低延迟和无信任互操作性。Axelar 则通过高级路由和安全传递通用跨链消息进行补充。

* **通信骨干：** 这些协议作为安全可靠的通信基础设施，连接我们的中枢（Arbitrum）与所有辐射链。它们提供在区块链边界之间传输数据和指令的关键路径。所有消息转发、验证和结算都通过这些提供方的安全消息通道完成。
* **促进关键操作：** LayerZero 和 Axelar 传递核心功能所需的关键消息，包括：
  * 通知中枢在辐射链上发生的新存款。
  * 将辐射链上用户的提款请求转发至中枢进行处理。
  * 从中枢向辐射链上的策略合约发送指令，以执行存款、提款或再平衡。
  * 将辐射链上的策略所产生的收益、绩效指标和费用数据回传至中枢。

### 汇总费用报告

在典型的多链架构中，每条链往往作为一个孤岛，逻辑和绩效报告彼此隔离。OmniYield 采取了截然不同的方式。我们认为，我们的生态系统应作为一个统一的协议运行，而不是一组碎片化的、按链部署的集合。

尽管 OmniYield 会从分布在多条链上的收益策略中产生费用。该协议采用汇总费用报告，即将所有受支持链的费用生成数据在 Arbitrum（中枢）上进行聚合、标准化和计算。&#x20;

{% hint style="success" %}
这使得：

* **灵活的用户体验：** 用户无需担心激励不一致。他们可以从自己偏好的任一链进行存款，并且知道在整个 OmniYield 生态系统中，费用、收益机会和奖励始终保持一致。
* **共享代币经济学：** 所有协议费用，无论来自哪条链，都会计入同一个全局收入模型。
* **透明指标：** 统一报告消除了差异，并提高了可审计性。
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.omniyield.finance/zh/omniyield/jia-gou.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
