Tveganja
Fixifi je decentraliziran, neskrbniški (non-custodial) protokol. To pomeni, da nihče — niti lastnik protokola — nima dostopa do tvojih sredstev, hkrati pa to pomeni, da spodnja tveganja nosiš ti sam. Preberi, preden uporabiš pravi denar.
Likvidacija ni kazen
Če vrednost tvojega kolaterala (BNB) pade prenizko glede na dolg, se pozicija likvidira — to je edini način, da se izguba ne prevali na posojilodajalce. Kripto posojila so "non-recourse": brez likvidacije bi lahko jemalec pozicijo preprosto opustil.
Zaščite zate: likvidacija naenkrat zapre največ 50% dolga, likvidacijski bonus je tržno primerljiv, po izteku roka je kratko obdobje počakanja, kadarkoli lahko sam dodaš kolateral ali delno poplačaš.
Tveganje slabega dolga (za posojilodajalce)
V posojilnem skladu je slab dolg neizogibno tveganje — nobena zaščita ga popolnoma ne odpravi. Vrstni red absorpcije izgube: najprej likvidacijski buffer, nato rezervni sklad, šele nazadnje bi se izguba delila med posojilodajalci.
Tveganje cenovnega vira (oraklja)
Cena BNB pride izključno iz Chainlink oraklja (ne iz DEX bazena — torej ni ranljiva na manipulacijo z bliskovitim posojilom). Namerno NE uporabljamo trde spodnje/zgornje meje cene — ta vzorec je maja 2022 povzročil dodatno škodo na drugih protokolih med zlomom LUNE.
Pogodba ima tri samodejne varovalke, ki ne potrebujejo nobenega človeka: (1) če se orakelj neha osveževati, vsako branje cene pade z napako in izposoje se ustavijo — pokvarjen orakelj torej ne more vrniti napačne cene; (2) negativna, ničelna ali absurdno velika vrednost pade s čisto napako; (3) volatilnostna varovalka ob strmem padcu cene sama ustavi nove izposoje in se sama sprosti, ko trg miruje (poplačila, dvigi in likvidacije nikoli niso blokirani).
Pri tretji varovalki je pošteno dodati: deluje samodejno, njeni dve številki pa nista vklesani v kodo. Upravljanje lahko spremeni, kolikšen padec cene jo sproži (dovoljeno od 5 % do 100 %, pri čemer 100 % pomeni, da je praktično izklopljena) in kako daleč nazaj gleda pri iskanju najvišje cene (od 1 ure do 7 dni). Česar upravljanje ne more: nastaviti izhodiščne cene, s katero se primerja — ta se premakne le sama — niti seči izven navedenih mej, ker jih pogodba zavrne.
Kaj to pomeni zate: oslabljena varovalka ne odpre poti do sredstev nikomur. Pomeni pa, da bi protokol med zlomom cene lahko še naprej izdajal nova posojila — torej prevzemal prav tisto tveganje, ki naj bi ga varovalka preprečila, in to na račun posojilodajalcev. Vsaka taka sprememba je vidna na verigi.
Kje ostaja tveganje: te varovalke ujamejo očitno pokvarjen orakelj, ne pa cene, ki je verjetna, a napačna (npr. 700 $ namesto 500 $). Taka cena je sveža in ni strm padec, zato gre skozi vse tri. Zoper to je zadnja obramba ročna zaustavitev protokola s strani multisiga, kar pomeni zamik — nekdo mora napako opaziti. Ostane torej predpostavka zaupanja v zanesljivost Chainlinka samega.
V TESTNI FAZI cena ne prihaja iz Chainlinka. Zgornji opis velja za načrtovani zagon z realnim denarjem. Na tem testnem omrežju je cenovni vir testna pogodba s fiksno vrednostjo, ki jo lahko spremeni le lastnik protokola — namerno, ker pravega Chainlink vira ni mogoče premakniti in z njim ne bi bilo mogoče preizkusiti likvidacije, torej najpomembnejše zaščite posojilodajalcev. Prikazana cena BNB zato ne sledi trgu.
Upravljanje (multisig) — kaj SME in česa NE SME
Načrt za zagon z realnim denarjem je, da protokol upravlja 2-od-3 multisig denarnica, ne en sam ključ — a to ni popolnoma "brez zaupanja" in tega ne skrivamo. Spodnji seznam SME/NE MORE opisuje pravice pogodbe same (kar dovoljuje `onlyOwner`) in velja enako, najsi jih izvaja en ključ ali multisig.
V TESTNI FAZI je lastnik en sam ključ, ne multisig. Za hitro testiranje in popravke (glej varnostni pregled) je lastnik trenutno navadna denarnica ekipe. Prenos na 2-od-3 Safe je pogoj pred zagonom z realnim denarjem, ne nekaj, kar je že narejeno — naslov lastnika lahko kadarkoli preveriš neposredno na BscScanu.
SME: spreminjati parametre tveganja in provizije, zaustaviti protokol v izrednih razmerah (poplačilo/dodajanje kolaterala delujeta naprej), blokirati posamezen naslov, prenastaviti volatilnostno varovalko — vključno s tem, da jo praktično izklopi (podrobno v razdelku o cenovnem viru zgoraj) — in zamenjati naslov blagajne, ki prejema provizije.
Kaj od tega učinkuje na TVOJE že sklenjeno posojilo. Obrestna mera je zamrznjena ob najetju in je nihče ne more spremeniti — to je obljuba produkta. Nekateri drugi parametri pa se berejo sproti in torej veljajo tudi za posojila, ki že tečejo: likvidacijski prag, največji delež dolga, ki ga likvidacija zapre naenkrat, likvidacijski bonus in dolžina počakanja po izteku roka. To pomeni, da bi znižanje likvidacijskega praga lahko obstoječe pozicije naredilo likvidabilne, ne da bi se cena BNB sploh premaknila. Pogodba to omejuje le toliko, da mora prag ostati nad LTV in pod 100 %. Če imaš odprto posojilo, je to najbolj neposredna moč upravljanja nad tabo — zato je tu napisana, namesto da bi se skrivala v besedi "parametri".
NE MORE: spremeniti kodo (pogodba ni nadgradljiva), premakniti tvoja sredstva mimo pravil pogodbe, trajno onesposobiti izredno pavzo, ali zamenjati cenovnega vira — naslov oraklja je ob postavitvi trajno zapisan v pogodbo, zato upravljanje ne more preusmeriti cene na vir, ki bi ga nadzorovalo samo. Prav tako se ne more odpovedati lastništvu in pogodbe pustiti brez upravljanja.
Kaj pomeni pavza zate: med zaustavitvijo so nove vloge, nove izposoje in dvigi onemogočeni — dvigi zato, ker pavza ne sme dovoliti bega iz sklada med incidentom (sicer bi izgubo v celoti nosili tisti, ki bi bili počasnejši). Poplačilo posojila, dodajanje kolaterala in prevzem sredstev delujejo naprej, prav tako pa te med pavzo nihče ne more likvidirati.
Pavza je časovno omejena. Sama se izteče po 10 dneh, nato 3 dni ni mogoče začeti nove — tudi če jo upravljanje predčasno odpravi, premor vseeno teče. Obe meji sta trdno zapisani v kodi in ju upravljanje ne more spremeniti. To pomeni, da tudi kompromitiran multisig tvojih sredstev ne more zamrzniti za vedno: v vsakem ciklu dobiš obdobje, v katerem lahko dvigneš.
Cena te zaščite je poštena in jo povemo: če bi resen incident trajal dlje od 10 dni, se protokol odmrzne, čeprav težava še ni odpravljena.
Tveganje spletne strani (phishing)
Ta stran nikoli ne hrani tvojih ključev ali sredstev — vsako transakcijo podpišeš sam v svoji denarnici. Vedno preveri, da naslov pogodbe v denarnici ustreza uradnemu naslovu, prikazanem na domači strani, preden karkoli podpišeš.
Izvor sredstev (AML)
Pogodba sama ne more vedeti, ali je vloženi BNB pridobljen zakonito — to je lastnost vsake neskrbniške DeFi pogodbe, ne posebnost Fixifija. Nekatere denarnice se ob povezavi preverijo prek zunanje varnostne storitve (GoPlus Security); to je informativno opozorilo, ne pravna skladnost.
Podrobnejša tehnična dokumentacija (whitepaper, varnostni pregled) je na voljo na zahtevo.