Orakel: priset som kontraktet tror på
Skilj marknadspriser från kontraktens indata och analysera föråldrade referensdata, tunt underlag eller data som inte passar.

Gränsen mellan kod och observation
Ett smart kontrakt kan tillämpa aritmetik konsekvent men använda dåliga indata. Ett orakel tillför information som kontraktet inte själv kan härleda ur sitt eget exekveringstillstånd, till exempel ett externt marknadspris. Ethereums orakeldokumentation förklarar denna gräns mellan blockkedjans exekvering och externa data. Den viktiga frågan är inte bara om ett flöde uppdateras, utan vad det uppdaterade talet betyder.
Ett pris kan avse en handelsplats, ett aggregat, en tidsvägd observation eller ett inlösenvärde. Definitionerna besvarar olika frågor. Ett avslutspris på en börs beskriver en transaktion; ett referenspris stöder en regel; ett inlösenvärde beskriver ett anspråk under angivna villkor. De bör inte ersätta varandra utan förklaring.
Granska dataflödets specifikation
Skriv för en fiktiv lånemarknad ned tillgångsparet, enheter, decimaler, uppdateringsvillkor och reservförfarande. Fastställ om ett värde anges i dollar, en annan token eller en bastillgång. Ett tal som ser korrekt ut men är skalat med fel decimalfaktor kan bli katastrofalt fel när en annan komponent tolkar det.
Undersök också aktualiteten. Ett dataflöde som uppdateras först efter en avvikelse eller ett visst tidsintervall kan med rätta skilja sig från en snabbt rörlig orderbok. Applikationen måste avgöra hur gammalt som är för gammalt och vad som då ska göras. Att pausa ny upplåning kan skydda mot inaktuella data men ändå lämna befintliga positioner exponerade mot efterföljande prisuppdateringar. Det finns ingen universellt ofarlig reservlösning.
Likviditet är en del av indatakvaliteten
En tunn marknad kan ge ett senaste avslutspris som inte är representativt för en stor genomförbar transaktion. Att sammanställa handelsplatser kan minska beroendet av en enskild plats, men gemensamt ägande, delad likviditet eller samtidiga avbrott kan begränsa det vunna oberoendet. Ett tidsgenomsnitt jämnar ut kortvariga rörelser men tillför fördröjning. Varje utformning byter en uppsättning svagheter mot en annan.
Betrakta en token med noterat pris på 10 USD men bara 5 000 USD i närliggande köpdjup. Att värdera 1 miljon USD i säkerhet till det marginalpriset visar inte att likvidatorer kan realisera 1 miljon USD. Oraklet kan rapportera sin definierade referens korrekt medan riskmodellen överskattar återvinningsbar likvid. Datakvalitet och likvidationskapacitet är relaterade men skilda problem.
Stresstesta båda sidor av en säkerhetskvot
Ett lån med säkerhet beror på både säkerhetens och skuldens pris. Att låna en token som beskrivs som stabil gör inte dess dollarvärde matematiskt fast. Om skulden blir dyrare att återköpa samtidigt som säkerheten faller försämras positionen från båda håll. Modellera förändringarna separat i stället för att av vana hålla den ena sidan konstant.
Anta att säkerheten är värd 12 000 USD, skulden är 6 000 enheter som först är värda 1 USD vardera och den hypotetiska likvidationströskeln är 75 %. Den initiala hälsokvoten är 1,50. Om säkerheten faller 25 % till 9 000 USD medan skuldenheterna stiger till 1,10 USD blir kvoten 9 000 USD × 0,75 ÷ 6 600 USD, ungefär 1,023. En till synes bekväm buffert är nästan uttömd.
Undersök integrationen, inte bara leverantören
En välrenommerad dataleverantör garanterar inte att en applikation väljer rätt dataflöde, hanterar saknade värden eller kontrollerar tidsstämplar korrekt. Granska applikationens dokumentation, relevanta revisioner och parameterbeslut. I en pappersövning, följ först en vanlig prisuppdatering och sedan en utebliven uppdatering genom beräkningen. Ange var belägg saknas i stället för att fylla luckorna med självsäkerhet.
En användbar övervakningsplan skiljer en marknadsrörelse från en avvikelse i dataflödet. Jämför den angivna referensen med oberoende observationer och flödets förväntade uppdateringspolicy. Skillnader motiverar undersökning, inte automatisk handel. Lektionen handlar om att förstå kontraktsbeteende och operativ risk, inte om att utnyttja en svaghet i indata eller anta att skenbar felprissättning kan utnyttjas säkert.
Som ytterligare övning, beräkna samma säkerhetsposition med tre referensantaganden: senast rapporterade prisflöde, aktuell handlingsbar köpkurs och ett stressat försäljningspris. Märk varje fall tydligt. Intervallet som uppstår är inte ett konfidensintervall, utan visar känsligheten för värderingsval. Syftet är att visa vilken prisdefinition som styr slutsatsen och var mer belägg för likviditet behövs.
Kontrollera enheterna före slutsatsen
En säkerhetstoken kostar fiktivt 0,05 enheter av en referenstillgång som är värd 2 000 kronor. Det ger 100 kronor per token. Att läsa 0,05 direkt som kronor är inte en liten prisskillnad utan en annan beräkning. Decimaler, referensvaluta och exakt tillgång ingår i specifikationen.
Skriv enheterna i varje steg: referenstillgång per token gånger kronor per referenstillgång. Mellanenheten ska försvinna. Låt sedan en kurs vara gammal medan den andra uppdateras. Ett sammansatt pris beror på två observationstidpunkter även om skärmen bara visar ett tal.
Skilj också ett marknadspris som går att handla till från en bokföringsmässig omräkningskurs. Ett kvitto kan representera 1,10 underliggande enheter och ändå handlas med rabatt. Vid likvidation är fordringsvärdet inte automatiskt ett pris som en köpare erbjuder omedelbart. Syftet med värderingen avgör vilken fråga den ska besvara.
En paus förändrar riskerna
Applikationen behöver regler för gamla, saknade eller avvikande uppgifter. Chainlink beskriver ansvar vid val och integration av dataflöden. Att välja leverantör bestämmer inte vilka funktioner som ska fortsätta vid en störning.
Ett fiktivt utlåningssystem stoppar nya lån när priset är för gammalt. Det kan hindra kredit mot en osäker värdering. Stoppar systemet även likvidationer medan säkerheten faller kan återvinningen bli svårare. Fortsatta likvidationer till gammalt pris innebär ett annat problem. Ange därför vad som pausas, vad som fortsätter och vem som kan ändra reglerna.
Rita senaste godkända observation, marknadsrörelse, åldersgräns och nästa giltiga uppdatering på en tidslinje. Markera möjliga åtgärder i varje intervall. En grön markering för tillgängligt pris förklarar inte dessa avvägningar.