Orakulai: kaina, kuria remiasi išmanioji sutartis
Atskirkite rinkos kainas nuo sutarties įvesties duomenų ir išanalizuokite pasenusius, menko likvidumo ar netinkamai parinktus atskaitos duomenis.

Riba tarp kodo ir stebėjimo
Išmanioji sutartis gali nuosekliai atlikti aritmetinius veiksmus naudodama prastus įvesties duomenis. Orakulas teikia informaciją, kurios sutartis negali savarankiškai nustatyti iš savo vykdymo būsenos, pavyzdžiui, išorinę rinkos kainą. „Ethereum“ orakulų dokumentacijoje paaiškinta ši riba tarp vykdymo blokų grandinėje ir išorinių duomenų. Svarbu ne tik tai, ar duomenų srautas atnaujinamas, bet ir ką reiškia atnaujintas skaičius.
Kaina gali reikšti vienos prekybos vietos kainą, agreguotą kainą, pagal laiką svertinį stebėjimą arba išpirkimo vertę. Šie apibrėžimai atsako į skirtingus klausimus. Biržos įvykdymo kaina apibūdina sandorį, atskaitos kaina pagrindžia taisyklę, o išpirkimo vertė apibūdina reikalavimą nustatytomis sąlygomis. Jų negalima sukeisti be paaiškinimo.
Išnagrinėkite duomenų srauto specifikaciją
Išgalvotai skolinimo rinkai užrašykite turto porą, vienetus, dešimtainį tikslumą, atnaujinimo sąlygas ir atsarginį veikimą. Nustatykite, ar vertė kotiruojama doleriais, kitu žetonu ar baziniu turtu. Tinkamai atrodantis skaičius, perskaičiuotas netinkamu dešimtainiu daugikliu, kitam komponentui jį interpretuojant gali būti katastrofiškai klaidingas.
Taip pat įvertinkite duomenų naujumą. Srautas, atnaujinamas tik po tam tikro nuokrypio ar praėjus intervalui, gali pagrįstai skirtis nuo sparčiai kintančios pavedimų knygos. Programa turi nuspręsti, kada duomenys per seni ir ką tada daryti. Naujo skolinimosi sustabdymas gali apsaugoti nuo pasenusių duomenų, bet esamos pozicijos vis tiek lieka veikiamos vėlesnių kainų atnaujinimų. Visuotinai nekenksmingo atsarginio sprendimo nėra.
Likvidumas yra įvesties kokybės dalis
Menko likvidumo rinkoje paskutinio sandorio kaina gali neatspindėti didelio įvykdomo sandorio kainos. Kelių prekybos vietų duomenų agregavimas gali sumažinti priklausomybę nuo vienos, tačiau bendra nuosavybė, bendras likvidumas ar vienalaikiai sutrikimai gali apriboti įgytą nepriklausomumą. Laiko vidurkis išlygina trumpalaikius pokyčius, bet įveda delsą. Kiekvienas sprendimas vieną silpnybių rinkinį keičia kitu.
Tarkime, žetono kotiruojama kaina yra $10, tačiau netoliese esančių pirkimo pavedimų gylis tesiekia $5,000. $1 milijono užstato vertinimas ta ribine kaina neįrodo, kad likviduotojai gali gauti $1 milijoną. Orakulas gali teisingai pateikti savo apibrėžtą atskaitos vertę, nors rizikos modelis pervertina atgaunamas pajamas. Duomenų kokybė ir likvidavimo pajėgumas yra susijusios, bet skirtingos problemos.
Patikrinkite abi užstato santykio puses nepalankiomis sąlygomis
Užstatu užtikrinta paskola priklauso nuo užstato ir skolos kainų. Pasiskolinus žetoną, vadinamą stabiliu, jo vertė doleriais netampa matematiškai fiksuota. Jei skolą atpirkti brangsta, o užstato vertė mažėja, pozicija blogėja iš abiejų pusių. Modeliuokite šiuos pokyčius atskirai, užuot iš įpročio vieną pusę laikę nekintančia.
Tarkime, užstato vertė yra $12,000, skola – 6,000 vienetų, iš pradžių vertų po $1, o hipotetinė likvidavimo riba – 75%. Pradinis patikimumo santykis yra 1.50. Jei užstatas atpinga 25% iki $9,000, o skolos vienetai pabrangsta iki $1.10, santykis tampa $9,000 × 0.75 ÷ $6,600, maždaug 1.023. Iš pažiūros patogi atsarga beveik išsenka.
Tirkite integraciją, ne vien tiekėją
Geros reputacijos duomenų teikėjas negarantuoja, kad programa pasirenka tinkamą srautą, tinkamai apdoroja neprieinamas vertes ar tikrina laiko žymas. Peržiūrėkite programos dokumentaciją, susijusius auditus ir parametrų sprendimus. Teoriniame pratime per skaičiavimą atsekite įprastą kainos atnaujinimą, o tada – trūkstamą atnaujinimą. Nurodykite, kur trūksta įrodymų, užuot spragas užpildę pasitikėjimu.
Naudingas stebėsenos planas atskiria rinkos pokytį nuo duomenų srauto anomalijos. Palyginkite nurodytą atskaitos vertę su nepriklausomais stebėjimais ir numatyta srauto atnaujinimo politika. Skirtumus reikia tirti, o ne automatiškai prekiauti. Ši pamoka skirta suprasti sutarties elgesį ir veiklos riziką, o ne išnaudoti įvesties silpnybę ar manyti, kad tariamu neteisingu įkainojimu galima saugiai pasinaudoti.
Papildomai praktikai apskaičiuokite tą pačią užstato poziciją pagal tris atskaitos prielaidas: paskutinę pateiktą srauto vertę, dabartinį įvykdomą pirkimo pasiūlymą ir pardavimo kainą nepalankiomis sąlygomis. Aiškiai pažymėkite kiekvieną. Gautas diapazonas nėra pasikliautinasis intervalas; tai jautrumas vertinimo pasirinkimams. Jo tikslas – atskleisti, kuris kainos apibrėžimas lemia išvadą ir kur reikia papildomų likvidumo įrodymų.
Vienetų tikslumas toks pat svarbus kaip duomenų naujumas
Tarkime, užstato žetonas kainuoja 0,02 atskaitos turto vieneto, o šis vertas 2 000 dolerių. Išvestinė žetono kaina yra 40 dolerių. Perskaičius 0,02 kaip dolerių kainą gaunamas ne nedidelis rinkos skirtumas, o neteisinga formulė. Vienetai priklauso specifikacijai.
Prie kiekvieno tarpinio skaičiaus nurodykite matavimo vienetą ir patikrinkite jų panaikinimą dauginant. Užrašykite dešimtainių ženklų skaičių, kotiravimo valiutą ir tikslų turtą. Tada atnaujinkite tik vieną įvestį: bendras rezultatas gali jungti skirtingo laiko stebėjimus, nors atrodo įtikinamas.
Atskirkite rinkos kainą nuo apskaitinio ar išpirkimo santykio. Kvitas gali reikšti 1,04 pagrindinio turto vieneto, tačiau rinkoje kainuoti mažiau. Tokio santykio negalima automatiškai laikyti greito pardavimo kaina. Tinkama vertinimo taisyklė priklauso nuo konkretaus protokolo paskirties ir konstrukcijos.
Sustabdymas vieną riziką pakeičia kita
Išgalvota skolinimo sistema gali uždrausti naujas paskolas, kai kainos duomenys per seni. Taip sumažinama galimybė skolinti pagal nepatikimą vertę. Tačiau būtina tiksliai žinoti, kurie veiksmai sustabdomi, kurie tęsiami ir kokiomis sąlygomis sistema grįžta prie įprasto veikimo.
Jei krintant užstato kainai kartu sustabdomas likvidavimas, vėliau gali sumažėti atgaunama suma. Jei likvidavimas tęsiamas pagal seną kainą, paskyros gali būti vertinamos netiksliai. Nė vienas bendras šūkis „stabdyti kilus klaidai“ nepanaikina šio pasirinkimo ir jo ekonominių pasekmių.
Laiko juostoje pažymėkite paskutinį priimtą stebėjimą, rinkos pokytį, senumo ribą ir pirmą tinkamą atnaujinimą. Kiekviename tarpsnyje nurodykite galimus veiksmus ir taisyklių keitėją. Toks pratimas parodo, kodėl įprastą dieną rodoma būklė nėra garantija sutrikus duomenims ar infrastruktūrai.