Orákula: cena, které kontrakt věří
Rozlišujte tržní ceny od vstupů chytrých kontraktů a analyzujte zastaralé, málo likvidní či nesourodé referenční údaje.

Hranice mezi kódem a pozorováním
Chytrý kontrakt může důsledně provádět aritmetiku a přitom používat špatný vstup. Oracle dodává informace, které kontrakt nedokáže samostatně odvodit z vlastního stavu provádění, například externí tržní cenu. Dokumentace oracle na Ethereu vysvětluje tuto hranici mezi prováděním na blockchainu a vnějšími daty. Důležitá otázka není jen to, zda se zdroj aktualizuje, ale co aktualizované číslo znamená.
Cena může představovat jedno obchodní místo, agregát, časově vážené pozorování nebo hodnotu odkupu. Tyto definice odpovídají na různé otázky. Burzovní realizační cena popisuje transakci; referenční cena slouží pravidlu; hodnota odkupu popisuje nárok za stanovených podmínek. Neměly by se zaměňovat bez vysvětlení.
Prověřte specifikaci datového zdroje
Pro fiktivní úvěrový trh zapište pár aktiv, jednotky, desetinná místa, podmínky aktualizace a chování náhradního mechanismu. Určete, zda je hodnota kotována v dolarech, jiném tokenu nebo základním aktivu. Číslo, které vypadá správně, ale je škálováno nesprávným desetinným faktorem, může být při interpretaci jinou komponentou katastrofálně chybné.
Zkoumejte také aktuálnost. Datový zdroj aktualizovaný pouze po určité odchylce nebo uplynutí intervalu se může oprávněně lišit od rychle se měnící knihy objednávek. Aplikace musí rozhodnout, jak stará data už jsou příliš stará a co pak udělat. Pozastavení nových půjček může chránit před zastaralými daty, ale stávající pozice zůstávají vystaveny následným aktualizacím cen. Neexistuje univerzálně neškodné náhradní řešení.
Likvidita je součástí kvality vstupů
Málo likvidní trh může vytvořit cenu posledního obchodu, která není reprezentativní pro velkou realizovatelnou transakci. Agregace obchodních míst může snížit závislost na jednom místě, ale společné vlastnictví, sdílená likvidita nebo synchronizované výpadky mohou získanou nezávislost omezit. Časový průměr vyhlazuje krátkodobé pohyby, ale zavádí zpoždění. Každý návrh vyměňuje jednu sadu slabin za jinou.
Uvažujte token s kotovanou cenou 10 $, ale nákupní hloubkou poblíž ceny jen 5 000 $. Ocenění kolaterálu v hodnotě 1 milionu $ touto mezní cenou neprokazuje, že likvidátoři mohou získat 1 milion $. Orákulum může správně vykazovat svou definovanou referenci, zatímco rizikový model nadhodnocuje získatelný výtěžek. Kvalita dat a kapacita likvidace jsou související, ale odlišné problémy.
Zátěžově testujte obě strany poměru zajištění
Zajištěná půjčka závisí na ceně zajištění i ceně dluhu. Vypůjčení tokenu označovaného jako stabilní nečiní jeho dolarovou hodnotu matematicky pevnou. Pokud dluh zdraží při zpětném nákupu a zároveň klesá hodnota zajištění, pozice se zhoršuje z obou stran. Modelujte tyto změny odděleně, místo abyste ze zvyku drželi jednu stranu konstantní.
Předpokládejte zajištění v hodnotě 12 000 $, dluh 6 000 jednotek s počáteční hodnotou 1 $ za jednotku a hypotetický likvidační práh 75 %. Počáteční ukazatel zdraví je 1,50. Pokud zajištění klesne o 25 % na 9 000 $ a dluhové jednotky vzrostou na 1,10 $, ukazatel bude 9 000 $ × 0,75 ÷ 6 600 $, přibližně 1,023. Zdánlivě pohodlná rezerva je téměř vyčerpána.
Zkoumejte integraci, ne jen poskytovatele
Renomovaný poskytovatel dat nezaručuje, že aplikace vybere správný zdroj, zpracuje nedostupné hodnoty nebo správně zkontroluje časové značky. Projděte dokumentaci aplikace, relevantní audity a rozhodnutí o parametrech. Ve cvičení nanečisto sledujte výpočtem běžnou aktualizaci ceny a poté chybějící aktualizaci. Uveďte, kde vám chybějí důkazy, místo vyplňování mezer sebedůvěrou.
Užitečný plán sledování odlišuje tržní pohyb od anomálie datového zdroje. Porovnávejte uvedenou referenci s nezávislými pozorováními a očekávanými pravidly aktualizace zdroje. Rozdíly si zaslouží prozkoumání, nikoli automatické obchodování. Tato lekce se týká pochopení chování kontraktů a provozního rizika, nikoli zneužívání slabiny vstupu nebo předpokladu, že lze zdánlivě nesprávné ocenění bezpečně využít.
Pro další procvičení vypočítejte stejnou zajištěnou pozici podle tří referenčních předpokladů: poslední nahlášené ceny z kanálu, aktuální realizovatelné nákupní ceny a zátěžové prodejní ceny. Každou jasně označte. Výsledné rozpětí není intervalem spolehlivosti; ukazuje citlivost na volbu ocenění. Jeho účelem je odhalit, která definice ceny určuje závěr a kde jsou potřeba další důkazy o likviditě.
Správný průměr nemusí být správnou cenou pro okamžitý prodej
Hypotetická cena je sedm minut 100 Kč a další tři minuty 80 Kč. Časově vážený průměr za deset minut činí 94 Kč. Výpočet je správný, ale nepředstavuje automaticky cenu, za kterou lze aktivum právě teď prodat.
Popis oráklů Uniswap v2 vysvětluje časově vážené ceny. Delší okno mění vliv krátkých odchylek, zároveň však pomaleji promítá skutečný trvalý pohyb trhu. Výběr okna je kompromis podle účelu.
Nakreslete prudký pokles a následný vývoj průměru. Označte okamžik ocenění zajištění. Potřebujete historickou referenci, aktuální tržní úroveň, nebo realizovatelnou cenu určitého objemu? Tyto otázky nemusí mít stejnou odpověď.
U složené ceny prověřte jednotky i stáří každého vstupu
Token stojí hypoteticky 0,025 jednotky referenčního aktiva, jehož cena je 4 000 Kč. Výsledná cena tokenu činí 100 Kč. Prostřední jednotka se při násobení vykrátí; samotné číslo 0,025 není korunovou cenou.
Pokud první poměr pochází z doby před hodinou a druhý je čerstvý, výsledek kombinuje dvě tržní situace. Jediná časová značka na obrazovce může tento problém skrýt. Ke každému vstupu proto přidejte okamžik pozorování a přijatelnou maximální dobu stáří.
Oddělte také výměnný poměr vyplývající z nároku od obchodovatelné ceny. Token může představovat 1,12 podkladové jednotky, ale na trhu se prodávat se slevou. Účetní hodnota nároku nemusí být cenou dostupnou likvidátorovi bez čekání.