# Arkitektur

OmniYields arkitektur er designet til at være modulær, kæde-agnostisk og yderst skalerbar.

Vores primære mål er at skabe et kæde-agnostisk yield-lag, der maksimerer risikojusteret afkast for brugere på tværs af DeFi. For at opnå dette anvender systemet omfattende dataanalyse, avancerede off-chain-algoritmer, strenge sikkerhedsprotokoller, diversificeringsregler og en arkitektur, der abstraherer kompleksiteten ved interaktion på tværs af kæder væk.

### Nøglekomponenter i arkitekturen

<details>

<summary><strong>Vaults</strong></summary>

Brugerens indgang til OmniYield.

Disse ERC-4626-kompatible smart contracts administrerer indskud sikkert, modtager rapporter fra strategier og behandler udbetalinger.

De fungerer som den primære grænseflade, der koordinerer brugerfonde med de underliggende strategier.

</details>

<details>

<summary><strong>Eksekveringslag (Solver)</strong></summary>

OmniYields intelligenslag.

Disse automatiserede systemer analyserer løbende DeFi-protokoller på tværs af kæder, identificerer optimale yield-muligheder, vurderer risici og fastlægger aktivallokeringen for Vaults.

Denne behandling beregnes off-chain for effektivitetens skyld - kun resultaterne implementeres onchain, hvilket forhindrer, at OmniYields strategier kan imiteres.

</details>

<details>

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

Knyttet til hver Vault er mindst én Strategi-kontrakt.

Denne komponent omsætter solver-beslutninger til handling. Den håndterer de tekniske kompleksiteter ved flytning af aktiver, herunder token-swaps, likviditetsforsyning, udlån, staking osv.

</details>

<details>

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

De specifikke DeFi-protokoller, likviditetspuljer eller yield farms, hvor vault-aktiverne til sidst allokeres.

</details>

<details>

<summary><strong>Infrastruktur til beskedudveksling på tværs af kæder</strong></summary>

Den grundlæggende teknologi, der muliggør funktionalitet på tværs af kæder og faciliterer kommunikation og overførsel af aktiver mellem forskellige blockchains.

</details>

### Aktivernes livscyklus

At forstå aktivernes flow hjælper med at tydeliggøre systemets funktion:

{% stepper %}
{% step %}
**Indskud**

En bruger indskyder en enkelt aktivtype (f.eks. USDC) i den tilsvarende OmniYield Vault på enhver understøttet kæde. De indskudte aktiver flyttes til Vault-kontrakten på Arbitrum-hubben og ligger i første omgang ubrugt dér.
{% endstep %}

{% step %}
**Rebalancering på tværs af kæder**

* Den off-chain-komponent (autonom Solver) overvåger vault-saldi og markedsforhold. Når en bestemt tærskel for inaktive aktiver er nået, eller under periodiske optimeringscyklusser, bestemmer den den optimale allokering for de aktuelle strategier på tværs af integrerede kæder og foreslår en rebalanceringsplan. Hvis forslaget opfylder sikkerheds- og performancekravene, igangsætter det en rebalancering (f.eks. at flytte X mængde USDC til Strategi A på Kæde Y) via Vault-kontrakten på Arbitrum-hubben.&#x20;
* Ved hjælp af LayerZero og Axelar sendes en besked med rebalanceringsinstruktioner fra hubben til den relevante Vault-kontrakt på målkæderne.
* Systemet udfører de nødvendige trin (såsom bridging, swap, indbetaling osv.) for at rebalancere.
* Den opdaterede allokering registreres, og bekræftelses-/statusopdateringer sendes tilbage til Arbitrum-hubben via beskedlaget. Denne proces kan indebære at flytte inaktive midler fra hubben ind i en Strategi eller at flytte midler mellem forskellige Strategier for at jagte bedre afkast.
  {% endstep %}

{% step %}
**Automatisk compounding og konsolideret rapportering**

* Strategi-kontrakter kræver periodisk optjente belønninger fra destinationsprotokollerne, som konverteres til vaultens basisaktiv (f.eks. USDC) og geninvesteres automatisk. Denne proces orkestreres af godkendte Keepers.&#x20;
* Performance-data, herunder belønninger genereret af disse strategier på alle understøttede kæder, rapporteres løbende tilbage til Arbitrum-hubben. Belønninger tilføjes vaultens samlede værdi og compunder automatisk afkastet for indskyderne.
  {% endstep %}

{% step %}
**Udbetaling**

* Udbetalinger er ikke begrænset til indbetalingskæden; brugere kan til enhver tid initiere en udbetalingsanmodning fra enhver understøttet kæde (**det behøver ikke at være den samme kæde, som blev brugt til indskuddet**).
* Et performance fee på 9 % beregnes ud fra den profit, der genereres af en brugers indskud på tværs af alle underliggende strategier og kæder.
* Anmodningen sendes til Arbitrum-hubben. Hvis Vaulten har tilstrækkelige inaktive midler (aktiver, der ikke er aktivt allokeret i Strategier), behandles udbetalingen med det samme.
* Hvis Vaulten har utilstrækkelige inaktive midler, signalerer hubben til Strategierne, at de skal trække det nødvendige beløb ud. Den prioriterer at trække ud fra Strategier, hvor indvirkningen på det samlede afkast (APR) er minimal. Denne proces kan tage lidt længere tid afhængigt af de underliggende protokoller.
  {% endstep %}

{% step %}
**Hæv**

* Når der er tilstrækkelig likviditet tilgængelig i Vaulten, kan brugeren hæve sin udbetaling. Ved hævning overføres de tilsvarende aktiver til brugerens wallet via infrastrukturen på tværs af kæder.
  {% endstep %}
  {% endstepper %}

### Arkitektur på tværs af kæder

OmniYields infrastruktur er bygget op omkring en robust hub-and-spoke-arkitektur:&#x20;

* **Hub:** Vi bruger Arbitrum som vores centrale operationelle hub ("main chain"). Det er her, kerne-logikken, de komplekse beregninger og den overordnede tilstandsstyring af OmniYield-protokollen primært er placeret.
* **Spokes:** Alle andre understøttede blockchains fungerer som 'spoke chains' eller 'side chains'. Det er de netværk, hvorfra brugerindskud kan stamme, og hvor mange af de underliggende yield-strategier er implementeret. De fungerer primært som eksekveringsendepunkter, der modtager instruktioner fra Hubben.

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

#### **Kommunikationsflow:**

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

Når der træffes en rebalanceringsbeslutning, eller når brugerhandlinger (som indskud/udbetalinger, der kræver bevægelse på tværs af kæder) finder sted, genereres beskeder på tværs af kæder og sendes sikkert fra spoke-kæderne til Arbitrum-hubben.
{% endstep %}

{% step %}
**Beregning**

Hubben behandler disse indkommende beskeder, udfører nødvendige beregninger (som at optimere aktivallokeringen på tværs af alle spokes, beregne den samlede vault-performance, konsolidere gebyrer) og træffer strategiske beslutninger baseret på sit globale overblik over systemet.
{% endstep %}

{% step %}
**Distribution**

Når beslutningerne er truffet, distribueres de nødvendige instruktioner og transaktionsdata tilbage fra Arbitrum til de relevante smart contracts på spoke-kæderne til eksekvering (f.eks. at indsætte midler i en specifik Strategi på et andet netværk).
{% endstep %}
{% endstepper %}

{% hint style="success" %}
Dette modulære design muliggør:

* **Centraliseret logik, decentraliseret eksekvering**\
  Denne model sikrer datakonsistens, da Arbitrum-hubben fungerer som den eneste sandhedskilde. Den faktiske kapitalallokering sker på tværs af spoke-kæderne og udnytter de unikke muligheder, som hver kæde tilbyder.
* **Modularitet og udvidelsesmuligheder**\
  Nye kæder, aktiver, strategier og destinationer kan integreres plug-and-play med minimale ændringer i den eksisterende kodebase.\
  Dette sikrer en lille angrebsflade og understøtter samtidig udviklingen af yderligere produkter. For yderligere at styrke robustheden og funktionaliteten integrerer OmniYield-protokollen med forskellige DeFi-primitiver og infrastrukturer, hvilket giver den bedste brugeroplevelse og muliggør problemfri interaktion med andre finansielle værktøjer.
  {% endhint %}

### Kommunikation på tværs af kæder

Driften af vores hub-and-spoke-model på tværs af adskillige blockchains muliggøres ved at udnytte førende udbydere af beskeder på tværs af kæder: LayerZero og Axelar (og potentielt andre, der i fremtiden er tilpasset specifikke tokens/kæder/funktioner).&#x20;

LayerZero muliggør let og effektiv beskedudveksling og sikrer minimal latenstid og trustless interoperabilitet på tværs af understøttede netværk. Axelar supplerer dette med avanceret routing og sikker levering af generaliserede beskeder på tværs af kæder.

* **Kommunikationsrygraden:** Disse protokoller fungerer som den sikre og pålidelige kommunikationsinfrastruktur, der forbinder vores Hub (Arbitrum) med alle Spoke-kæderne. De leverer de nødvendige forbindelser til at transmittere data og instruktioner på tværs af blockchain-grænser. Al videresendelse, validering og afvikling af beskeder udføres gennem disse udbyderes sikre messaging-rails.
* **Facilitering af nøgleoperationer:** LayerZero og Axelar videresender kritiske beskeder, der er nødvendige for kernefunktioner. Dette inkluderer:
  * At underrette Hubben om nye indskud foretaget på spoke-kæder.
  * At videresende udbetalingsanmodninger fra brugere på spoke-kæder til Hubben for behandling.
  * At sende kommandoer fra Hubben til strategi-kontrakter på spoke-kæder for at udføre indskud, udbetalinger eller rebalanceringer.
  * At rapportere genereret yield, performance-metrics og gebyrdata fra strategier på spoke-kæder tilbage til Hubben.

### Konsolideret gebyrrapportering

I typiske multi-chain-opsætninger fungerer hver kæde ofte som en silo med isoleret logik og performance-rapportering. OmniYield tager en radikalt anderledes tilgang. Vi mener, at vores økosystem bør fungere som én samlet protokol, ikke som en fragmenteret samling af kædespecifikke implementeringer.

Mens OmniYield genererer gebyrer fra yield-strategier, der opererer på tværs af adskillige kæder, implementerer protokollen konsolideret gebyrrapportering, en proces hvor data om gebyrgenerering fra alle understøttede kæder aggregeres, normaliseres og beregnes på Arbitrum (hubben).&#x20;

{% hint style="success" %}
Dette muliggør:

* **Fleksibel brugeroplevelse:** Brugere behøver ikke bekymre sig om inkonsistente incitamenter. De kan indskyde fra enhver kæde, de foretrækker, vel vidende at gebyrer, yield-muligheder og belønninger forbliver konsistente på tværs af hele OmniYield-økosystemet.
* **Fælles tokenomics:** Alle protokolgebyrer, uanset oprindelseskæde, bidrager til den samme globale indtægtsmodel.
* **Gennemsigtige metrics:** Samlet rapportering eliminerer uoverensstemmelser og forbedrer revisionsmulighederne.
  {% endhint %}
