# Architektura

Architektura OmniYield została zaprojektowana tak, aby była modułowa, niezależna od łańcucha i wysoce skalowalna.

Naszym głównym celem jest stworzenie niezależnej od łańcucha warstwy zysków, która maksymalizuje skorygowane o ryzyko stopy zwrotu dla użytkowników w całym DeFi. Aby to osiągnąć, system wykorzystuje szeroką analizę danych, zaawansowane algorytmy off-chain, ścisłe protokoły bezpieczeństwa, zasady dywersyfikacji oraz architekturę, która abstrahuje złożoność interakcji międzyłańcuchowych.

### Kluczowe komponenty architektury

<details>

<summary><strong>Skarbce</strong></summary>

Brama użytkownika do OmniYield.

Te zgodne ze standardem ERC-4626 inteligentne kontrakty bezpiecznie zarządzają wpłatami, otrzymują raporty ze strategii i przetwarzają wypłaty.

Służą jako główny interfejs koordynujący środki użytkowników z bazowymi Strategiami.

</details>

<details>

<summary><strong>Warstwa wykonawcza (Solver)</strong></summary>

Warstwa inteligencji OmniYield.

Te zautomatyzowane systemy nieustannie analizują protokoły DeFi w różnych łańcuchach, identyfikują optymalne możliwości generowania zysków, oceniają ryzyko i określają alokację aktywów dla Skarbców.

To przetwarzanie jest obliczane off-chain dla zwiększenia wydajności — tylko wyniki są wdrażane onchain, co uniemożliwia kopiowanie strategii OmniYield.

</details>

<details>

<summary><strong>Strategie</strong></summary>

Z każdym Skarbcem powiązany jest co najmniej jeden kontrakt Strategii.

Ten komponent przekłada decyzje solwera na działania. Obsługuje techniczne złożoności przemieszczania aktywów, w tym swapy tokenów, zapewnianie płynności, lending, staking itd.

</details>

<details>

<summary><strong>Miejsca docelowe</strong></summary>

Określone protokoły DeFi, pule płynności lub farmy zysków, do których ostatecznie trafiają aktywa skarbca.

</details>

<details>

<summary><strong>Infrastruktura komunikacji międzyłańcuchowej</strong></summary>

Podstawowa technologia umożliwiająca funkcje międzyłańcuchowe, ułatwiająca komunikację i transfer aktywów między różnymi blockchainami.

</details>

### Cykl życia aktywów

Zrozumienie przepływu aktywów pomaga wyjaśnić działanie systemu:

{% stepper %}
{% step %}
**Wpłata**

Użytkownik wpłaca jeden typ aktywa (np. USDC) do odpowiedniego Skarbca OmniYield na dowolnym obsługiwanym łańcuchu. Wpłacone aktywa są przenoszone do kontraktu Skarbca na hubie Arbitrum i początkowo pozostają tam nieaktywne.
{% endstep %}

{% step %}
**Rebalansowanie międzyłańcuchowe**

* Komponent off-chain (autonomiczny Solver) monitoruje salda skarbców i warunki rynkowe. Gdy zostanie osiągnięty określony próg nieaktywnych aktywów lub podczas okresowych cykli optymalizacji, określa optymalną alokację dla bieżących Strategii w zintegrowanych łańcuchach i proponuje plan rebalansowania. Jeśli propozycja spełnia wymagania bezpieczeństwa i wydajności, inicjuje rebalansowanie (np. przeniesienie X ilości USDC do Strategii A na łańcuchu Y) za pośrednictwem kontraktu Skarbca na hubie Arbitrum.&#x20;
* Korzystając z LayerZero i Axelar, wiadomość zawierająca instrukcje rebalansowania jest wysyłana z huba do odpowiedniego kontraktu Skarbca na docelowych łańcuchach.
* System wykonuje niezbędne kroki (takie jak mostkowanie, swap, wpłata itd.), aby przeprowadzić rebalansowanie.
* Zaktualizowana alokacja jest zapisywana, a potwierdzenia/aktualizacje statusu są odsyłane z powrotem do huba Arbitrum za pośrednictwem warstwy komunikacyjnej. Proces ten może obejmować przenoszenie nieaktywnych środków z huba do Strategii lub przesuwanie środków między różnymi Strategiami w celu uzyskania lepszych zysków.
  {% endstep %}

{% step %}
**Automatyczne kapitalizowanie zysków i skonsolidowane raportowanie**

* Kontrakty Strategii okresowo pobierają wypracowane nagrody z protokołów docelowych, zamieniają je na bazowe aktywo skarbca (np. USDC) i automatycznie reinwestują. Proces ten jest koordynowany przez uprawnionych Keeperów.&#x20;
* Dane o wynikach, w tym nagrody generowane przez te Strategie na wszystkich obsługiwanych łańcuchach, są stale raportowane z powrotem do huba Arbitrum. Nagrody są dodawane do całkowitej wartości skarbca, automatycznie kapitalizując zwroty dla deponentów.
  {% endstep %}

{% step %}
**Wypłata**

* Wypłaty nie są ograniczone do łańcucha wpłaty; użytkownicy mogą zainicjować żądanie wypłaty w dowolnym momencie z dowolnego obsługiwanego łańcucha (**nie musi to być ten sam łańcuch, który został użyty do wpłaty**).
* Opłata za wyniki w wysokości 9% jest obliczana na podstawie zysku wygenerowanego przez wpłatę użytkownika we wszystkich bazowych Strategiach i łańcuchach.
* Żądanie jest kierowane do huba Arbitrum. Jeśli Skarbiec ma wystarczającą ilość nieaktywnych środków (aktywów niezaangażowanych aktywnie w Strategie), wypłata jest przetwarzana natychmiast.
* Jeśli Skarbiec ma niewystarczającą ilość nieaktywnych środków, hub sygnalizuje Strategiom, aby wypłaciły wymaganą kwotę. Priorytetowo traktuje wypłaty ze Strategii, w których wpływ na ogólny zysk (APR) jest najmniejszy. Proces ten może potrwać nieco dłużej w zależności od bazowych protokołów.
  {% endstep %}

{% step %}
**Odbiór**

* Gdy w Skarbcu dostępna jest wystarczająca płynność, użytkownik może odebrać swoją wypłatę. Po odebraniu odpowiednie aktywa są transferowane do portfela użytkownika za pośrednictwem infrastruktury międzyłańcuchowej.
  {% endstep %}
  {% endstepper %}

### Architektura międzyłańcuchowa

Infrastruktura OmniYield opiera się na solidnej architekturze hub-and-spoke:&#x20;

* **Hub:** Wykorzystujemy Arbitrum jako nasz centralny hub operacyjny ("główny łańcuch"). To tutaj przede wszystkim znajdują się logika rdzeniowa, złożone obliczenia oraz ogólne zarządzanie stanem protokołu OmniYield.
* **Szprychy:** Wszystkie inne obsługiwane blockchainy działają jako „łańcuchy szprychowe” lub „łańcuchy boczne”. To sieci, z których mogą pochodzić wpłaty użytkowników i na których wdrażanych jest wiele bazowych Strategii zysków. Pełnią one głównie rolę punktów wykonawczych, odbierając instrukcje z Huba.

<figure><img src="https://3400194782-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcMcq7CdPxVFPVJMUzlcn%2Fuploads%2FBtawLgOlAjrD8wyj0BEj%2Fimage.avif?alt=media&#x26;token=d98a07d3-6b84-4c1b-bab0-3e2c1ed7870d" alt=""><figcaption></figcaption></figure>

#### **Przepływ komunikacji:**

{% stepper %}
{% step %}
**Agregacja**

Gdy zostanie podjęta decyzja o rebalansowaniu lub wystąpią działania użytkownika (takie jak wpłaty/wypłaty wymagające ruchu międzyłańcuchowego), generowane są wiadomości międzyłańcuchowe i bezpiecznie przesyłane z łańcuchów szprychowych do huba Arbitrum.
{% endstep %}

{% step %}
**Obliczenia**

Hub przetwarza te przychodzące wiadomości, wykonuje niezbędne obliczenia (takie jak optymalizacja alokacji aktywów we wszystkich szprychach, obliczanie ogólnych wyników skarbca, konsolidacja opłat) i podejmuje strategiczne decyzje na podstawie globalnego obrazu systemu.
{% endstep %}

{% step %}
**Dystrybucja**

Po podjęciu decyzji niezbędne instrukcje i dane transakcyjne są rozsyłane z powrotem z Arbitrum do odpowiednich inteligentnych kontraktów na łańcuchach szprychowych w celu wykonania (np. zdeponowania środków w konkretnej Strategii w innej sieci).
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Taka modułowa konstrukcja umożliwia:

* **Scentralizowaną logikę, zdecentralizowane wykonanie**\
  Model ten zapewnia spójność danych, ponieważ hub Arbitrum działa jako pojedyncze źródło prawdy. Faktyczne rozmieszczenie kapitału odbywa się w łańcuchach szprychowych, wykorzystując unikalne możliwości, jakie zapewnia każdy łańcuch.
* **Modułowość i rozszerzalność**\
  Nowe łańcuchy, aktywa, strategie i miejsca docelowe można integrować w modelu plug-and-play przy minimalnych zmianach w istniejącej bazie kodu.\
  Zapewnia to niską powierzchnię ataku, jednocześnie ułatwiając rozwój dodatkowych produktów. Aby jeszcze bardziej zwiększyć odporność i funkcjonalność, protokół OmniYield integruje się z różnymi prymitywami i infrastrukturami DeFi, zapewniając najlepsze doświadczenie użytkownika i umożliwiając płynną interakcję z innymi narzędziami finansowymi.
  {% endhint %}

### Komunikacja międzyłańcuchowa

Działanie naszego modelu hub-and-spoke w licznych blockchainach jest możliwe dzięki wykorzystaniu wiodących dostawców komunikacji międzyłańcuchowej: LayerZero i Axelar (a w przyszłości potencjalnie także innych, dopasowanych do konkretnych tokenów/łańcuchów/funkcji).&#x20;

LayerZero umożliwia lekką i wydajną komunikację, zapewniając minimalne opóźnienia i bezzaufową interoperacyjność w obsługiwanych sieciach. Axelar uzupełnia to wysokopoziomowym routowaniem i bezpiecznym dostarczaniem uogólnionych wiadomości międzyłańcuchowych.

* **Szkielet komunikacyjny:** Protokoły te działają jako bezpieczna i niezawodna infrastruktura komunikacyjna łącząca nasz Hub (Arbitrum) ze wszystkimi łańcuchami szprychowymi. Zapewniają niezbędne ścieżki do przesyłania danych i instrukcji pomiędzy granicami blockchainów. Całe przekazywanie, walidacja i rozliczanie wiadomości odbywa się za pośrednictwem bezpiecznych kanałów komunikacyjnych tych dostawców.
* **Ułatwianie kluczowych operacji:** LayerZero i Axelar przekazują kluczowe wiadomości wymagane do podstawowych funkcji. Obejmuje to:
  * Powiadamianie Huba o nowych wpłatach dokonanych na łańcuchach szprychowych.
  * Przekazywanie żądań wypłaty od użytkowników na łańcuchach szprychowych do Huba w celu przetworzenia.
  * Wysyłanie poleceń z Huba do kontraktów strategii na łańcuchach szprychowych w celu wykonania wpłat, wypłat lub rebalansowania.
  * Raportowanie zysków, metryk wydajności i danych o opłatach ze strategii na łańcuchach szprychowych z powrotem do Huba.

### Skonsolidowane raportowanie opłat

W typowych konfiguracjach wielołańcuchowych każdy łańcuch często działa jak silos z odizolowaną logiką i raportowaniem wyników. OmniYield przyjmuje zupełnie inne podejście. Wierzymy, że nasz ekosystem powinien działać jako jeden ujednolicony protokół, a nie rozdrobniony zbiór wdrożeń specyficznych dla poszczególnych łańcuchów.

Chociaż OmniYield generuje opłaty ze strategii zysków działających w wielu łańcuchach. Protokół wdraża skonsolidowane raportowanie opłat, czyli proces, w którym dane o generowaniu opłat ze wszystkich obsługiwanych łańcuchów są agregowane, normalizowane i obliczane na Arbitrum (hubie).&#x20;

{% hint style="success" %}
Umożliwia to:

* **Elastyczne doświadczenie użytkownika:** Użytkownicy nie muszą martwić się o niespójne zachęty. Mogą wpłacać z dowolnego łańcucha, który preferują, wiedząc, że opłaty, możliwości zysków i nagrody pozostają spójne w całym ekosystemie OmniYield.
* **Wspólna tokenomika:** Wszystkie opłaty protokołu, niezależnie od łańcucha źródłowego, zasilają ten sam globalny model przychodów.
* **Przejrzyste metryki:** Ujednolicone raportowanie eliminuje rozbieżności i poprawia możliwość audytu.
  {% endhint %}
