# Arkitektur

OmniYields arkitektur är utformad för att vara modulär, kedjeagnostisk och mycket skalbar.

Vårt primära mål är att skapa ett kedjeagnostiskt avkastningslager som maximerar riskjusterad avkastning för användare inom DeFi. För att uppnå detta använder systemet omfattande dataanalys, avancerade off-chain-algoritmer, strikta säkerhetsprotokoll, diversifieringsregler och en arkitektur som abstraherar bort komplexiteten i interaktion mellan kedjor.

### Viktiga arkitektoniska komponenter

<details>

<summary><strong>Valv</strong></summary>

Användarens ingång till OmniYield.

Dessa smarta kontrakt som följer ERC-4626-standarden hanterar insättningar säkert, tar emot rapporter från strategier och behandlar uttag.

De fungerar som det primära gränssnittet som samordnar användarnas medel med de underliggande strategierna.

</details>

<details>

<summary><strong>Utförandeskikt (Solver)</strong></summary>

OmniYields intelligenslager.

Dessa automatiserade system analyserar ständigt DeFi-protokoll över kedjor, identifierar optimala avkastningsmöjligheter, bedömer risker och styr tillgångsallokeringen för valven.

Denna bearbetning beräknas off-chain för effektivitet - endast resultaten implementeras onchain, vilket förhindrar att OmniYields strategier imiteras.

</details>

<details>

<summary><strong>Strategier</strong></summary>

Kopplad till varje valv finns minst ett strategikontrakt.

Denna komponent omvandlar solverd beslut till åtgärder. Den hanterar de tekniska komplexiteterna kring förflyttning av tillgångar, inklusive tokenbyten, likviditetsförsörjning, utlåning, staking osv.

</details>

<details>

<summary><strong>Destinationer</strong></summary>

De specifika DeFi-protokollen, likviditetspoolerna eller avkastningsfarmarna där valvets tillgångar slutligen placeras.

</details>

<details>

<summary><strong>Infrastruktur för meddelanden mellan kedjor</strong></summary>

Den grundläggande tekniken som möjliggör funktioner över kedjor, och som underlättar kommunikation och tillgångsöverföringar mellan olika blockkedjor.

</details>

### Tillgångarnas livscykel

Att förstå tillgångarnas flöde hjälper till att klargöra systemets funktion:

{% stepper %}
{% step %}
**Insättning**

En användare sätter in en tillgångstyp (t.ex. USDC) i det motsvarande OmniYield-valvet på valfri stödd kedja. De insatta tillgångarna flyttas till valvkontraktet på Arbitrum-hubben och ligger initialt vilande där.
{% endstep %}

{% step %}
**Omallokering mellan kedjor**

* Den off-chain-komponenten (autonom Solver) övervakar valvsaldon och marknadsförhållanden. När en viss tröskel för vilande tillgångar har nåtts, eller under periodiska optimeringscykler, bestämmer den den optimala allokeringen för de aktuella strategierna över integrerade kedjor och föreslår en omallokeringsplan. Om förslaget uppfyller säkerhets- och prestationskraven initierar det en omallokering (t.ex. flytta X mängd USDC till strategi A på kedja Y) genom valvkontraktet på Arbitrum-hubben.&#x20;
* Med LayerZero och Axelar skickas ett meddelande som innehåller omallokeringsinstruktioner från hubben till det relevanta valvkontraktet på målkedjorna.
* Systemet utför de nödvändiga stegen (såsom bryggning, byte, insättning osv.) för att omallokera.
* Den uppdaterade allokeringen registreras, och bekräftelse-/statusuppdateringar skickas tillbaka till Arbitrum-hubben via meddelandelagret. Denna process kan innebära att vilande medel flyttas från hubben in i en strategi eller att medel flyttas mellan olika strategier för att jaga bättre avkastning.
  {% endstep %}

{% step %}
**Automatisk ränta-på-ränta och konsoliderad rapportering**

* Strategikontrakt kräver periodiskt in intjänade belöningar från destinationsprotokollen, omvandlar dem till valvets bas­tillgång (t.ex. USDC) och återinvesterar dem automatiskt. Denna process samordnas av behöriga Keepers.&#x20;
* Prestandadata, inklusive belöningar som genereras av dessa strategier på alla stödda kedjor, rapporteras kontinuerligt tillbaka till Arbitrum-hubben. Belöningar läggs till valvets totala värde, vilket automatiskt förstärker avkastningen för insättare.
  {% endstep %}

{% step %}
**Uttag**

* Uttag är inte begränsade till insättningskedjan; användare kan initiera en uttagsbegäran när som helst från valfri stödd kedja (**det behöver inte vara samma kedja som användes för insättningen**).
* En prestationsavgift på 9 % beräknas baserat på vinsten som genereras av en användares insättning över alla underliggande strategier och kedjor.
* Begäran dirigeras till Arbitrum-hubben. Om valvet har tillräckligt med vilande medel (tillgångar som inte aktivt är placerade i strategier) behandlas uttaget omedelbart.
* Om valvet har otillräckligt med vilande medel signalerar hubben till strategierna att ta ut det erforderliga beloppet. Den prioriterar uttag från strategier där påverkan på den totala avkastningen (APR) minimeras. Denna process kan ta något längre tid beroende på de underliggande protokollen.
  {% endstep %}

{% step %}
**Hämta ut**

* När tillräcklig likviditet finns tillgänglig i valvet kan användaren hämta ut sitt uttag. Vid hämtning överförs motsvarande tillgångar till användarens plånbok via infrastrukturen mellan kedjor.
  {% endstep %}
  {% endstepper %}

### Arkitektur över kedjor

OmniYields infrastruktur är byggd på en robust hubb-och-spoke-arkitektur:&#x20;

* **Hubb:** Vi använder Arbitrum som vår centrala operativa hubb ("huvudkedjan"). Det är här kärnlogiken, de komplexa beräkningarna och den övergripande tillståndshanteringen för OmniYield-protokollet huvudsakligen finns.
* **Spokes:** Alla andra stödda blockkedjor fungerar som "spoke-kedjor" eller "sidokedjor". Det är dessa nätverk där användarnas insättningar kan komma ifrån och där många av de underliggande avkastningsstrategierna är implementerade. De fungerar främst som exekveringsändpunkter och tar emot instruktioner från hubben.

<figure><img src="https://4153223490-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>

#### **Kommunikationsflöde:**

{% stepper %}
{% step %}
**Aggregering**

När ett beslut om omallokering fattas eller användaråtgärder (som insättningar/uttag som kräver överföring mellan kedjor) sker, genereras meddelanden mellan kedjor och skickas säkert från spoke-kedjorna till Arbitrum-hubben.
{% endstep %}

{% step %}
**Beräkning**

Hubben bearbetar dessa inkommande meddelanden, utför nödvändiga beräkningar (som att optimera tillgångsallokeringen över alla spokes, beräkna den övergripande valvprestandan, konsolidera avgifter) och fattar strategiska beslut baserat på sin globala överblick av systemet.
{% endstep %}

{% step %}
**Distribution**

När besluten har fattats distribueras de nödvändiga instruktionerna och transaktionsdata tillbaka från Arbitrum till de relevanta smarta kontrakten på spoke-kedjorna för exekvering (t.ex. att sätta in medel i en specifik strategi på ett annat nätverk).
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Denna modulära design möjliggör:

* **Centraliserad logik, decentraliserad exekvering**\
  Denna modell säkerställer datakonsistens eftersom Arbitrum-hubben fungerar som den enda sanningskällan. Den faktiska kapitalplaceringen sker över spoke-kedjorna och utnyttjar de unika möjligheter som varje kedja erbjuder.
* **Modularitet och utbyggbarhet**\
  Nya kedjor, tillgångar, strategier och destinationer kan integreras på ett plug-and-play-sätt med minimala ändringar i den befintliga kodbasen.\
  Detta säkerställer en liten attackyta samtidigt som utvecklingen av ytterligare produkter underlättas. För att ytterligare stärka dess robusthet och funktionalitet integrerar OmniYield Protocol med olika DeFi-primitiver och infrastrukturer, vilket ger den bästa användarupplevelsen och möjliggör sömlös interaktion med andra finansiella verktyg.
  {% endhint %}

### Kommunikation mellan kedjor

Driften av vår hubb-och-spoke-modell över många blockkedjor möjliggörs genom att utnyttja ledande leverantörer av meddelanden mellan kedjor: LayerZero och Axelar (och potentiellt andra som anpassas för specifika token/ kedjor/ funktioner i framtiden).&#x20;

LayerZero möjliggör lättviktig och effektiv meddelandehantering, vilket säkerställer minimal latens och förtroendelös interoperabilitet över stödda nätverk. Axelar kompletterar detta med routning på hög nivå och säker leverans av generaliserade meddelanden mellan kedjor.

* **Kommunikationsryggraden:** Dessa protokoll fungerar som den säkra och tillförlitliga kommunikationsinfrastrukturen som kopplar samman vår hubb (Arbitrum) med alla spoke-kedjor. De tillhandahåller de nödvändiga vägarna för att överföra data och instruktioner över blockkedjegränser. All vidarebefordran av meddelanden, validering och avveckling sker genom dessa leverantörers säkra meddelandekanaler.
* **Underlättar viktiga operationer:** LayerZero och Axelar vidarebefordrar kritiska meddelanden som krävs för kärnfunktioner. Detta inkluderar:
  * Meddela hubben om nya insättningar som görs på spoke-kedjor.
  * Vidarebefordra uttagsbegäranden från användare på spoke-kedjor till hubben för behandling.
  * Skicka kommandon från hubben till strategikontrakt på spoke-kedjor för att utföra insättningar, uttag eller omallokeringar.
  * Rapportera genererad avkastning, prestandamått och avgiftsdata från strategier på spoke-kedjor tillbaka till hubben.

### Konsoliderad avgiftsrapportering

I typiska multi-chain-upplägg fungerar varje kedja ofta som en silo med isolerad logik och isolerad prestandarapportering. OmniYield tar ett radikalt annorlunda angreppssätt. Vi anser att vårt ekosystem ska fungera som ett enda enhetligt protokoll, inte en fragmenterad samling kedjespecifika implementationer.

Även om OmniYield genererar avgifter från avkastningsstrategier som verkar över många kedjor. Protokollet implementerar konsoliderad avgiftsrapportering, en process där data om avgiftsgenerering från alla stödda kedjor aggregeras, normaliseras och beräknas på Arbitrum (hubben).&#x20;

{% hint style="success" %}
Detta möjliggör:

* **Flexibel användarupplevelse:** Användare behöver inte oroa sig för inkonsekventa incitament. De kan sätta in från valfri kedja de föredrar med vetskapen om att avgifter, avkastningsmöjligheter och belöningar förblir konsekventa över hela OmniYield-ekosystemet.
* **Delad tokenomics:** Alla protokollavgifter, oavsett ursprungskedja, bidrar till samma globala intäktsmodell.
* **Transparanta mätvärden:** Enhetlig rapportering eliminerar avvikelser och förbättrar spårbarheten.
  {% endhint %}
