Hvad er Oracle Problem?
Oracle Problem er den hovedpine, der opstår, når en blockchain har brug for data udefra, men ikke kan hente dem selv. Du har kode, der ikke kræver tillid, men som alligevel må stole på noget for at kende prisen på ETH eller dagens vejr. Tænk på et låst køkken, der spørger en person ved vinduet om det regner, før det går i gang med en suppe.
»Sæt bare en hvilken som helst API til, og så er du færdig.« Ikke helt. At hente data fra en enkelt centraliseret kilde kan indføre nye fejlmuligheder og skævheder, hvilket er præcis det, Oracle Problem advarer imod.
Hvordan Oracle Problem fungerer
Oracle Problem viser sig, når kode på en kæde vil have oplysninger, der ligger uden for kæden. Kort gennemgang:
- Trin 1: Et smartkontrakter opkald har brug for data, for eksempel prisen på BTC eller et kampresultat.
- Trin 2: Et oracle henter disse data fra kilder, for eksempel flere børser, og samler dem.
- Trin 3: Oraclet lægger dataene på kæden, så kontrakten kan læse dem.
- Trin 4: Kontrakten handler, måske ved at likvidere et lån eller udbetale et beløb.
- Trin 5: Hvis feedet er forkert, forsinket eller manipuleret, bliver resultaterne skæve og værdier bevæger sig i en uønsket retning.
Derfor handler Oracle Problem om at bringe sandhed udefra ind på kæden uden at ødelægge tilliden. Sådan kan man sige.
Hvorfor Oracle Problem er vigtigt
Hvis du vil have, at krypto virker for reelle anvendelser, betyder det her noget.
- Fordel: Bedre design af oracles holder pengelogikken ærlig, så likvidationer, udbetalinger og handler sker baseret på troværdige data.
- Perspektiv: Det er det stille problem bag prisfeeds, sportsvæddemål og NFT-egenskaber, der opdateres; hvis det svigter, går det hurtigt galt.
- Relevans: Du vil støde på det i decentraliseret finansiering (DeFi), spil, predictionsmarkeder og endda on chain forsikring.
Foretræk decentraliserede oracle netværk, der henter fra mange kilder, poster ofte og viser deres beregninger. Gennemsigtighed slår mavefornemmelser.
Nøgleegenskaber ved Oracle Problem
Hvad kendetegner dette emne:
- Tillid: Man forsøger at minimere behovet for tillid, selv når data kommer fra eksterne parter.
- Finalitet: Når data først er kommet på kæden, er det i praksis immutable, så dårlige input bliver stående.
- Latens: Feeds skal være friske nok til at forhindre forældede handlinger, uden at overbelaste kæden.
- Diversitet: Flere uafhængige kilder og rapportører reducerer risikoen for et enkelt punkt af svigt.
- Incitamenter: Rapportører skal have noget på spil med belønninger og straffe, der stemmer overens med sandheden.
Variationer
Oracle Problem viser forskellige former afhængigt af hvilke data og hvilken proces der er tale om:
- Indgående: Virkelige data, der kommer ind på kæden, som priser eller vejr.
- Udgående: En kontrakts beslutning sendt til en betalingstjeneste eller en spilserver.
- Push: Feeds opdaterer kæden med faste intervaller uden at blive bedt om det.
- Pull: Kontrakter anmoder kun om data når det er nødvendigt for at spare omkostninger.
- Signeret: Dataleverandører underskriver værdier off chain, så alle kan verificere kilden.
- Komité: En gruppe rapportører når enighed før de offentliggør en værdi.
Oracle Problem er ikke kun teknisk. Det er socialt. Hvem stoler du på, hvordan bliver de betalt, og hvad sker der hvis de snyder? Svar på de spørgsmål, ellers kan kodens løfter stadig ende galt.
Eksempel
En låneprotokol læser et prisfeed, ETH falder med en procent, lån bliver likvideret, og timer senere opdager alle, at feedet var forkert fordi en enkelt børs opførte sig mærkeligt. Klassisk Oracle Problem.
Sjovt faktum
»Oracle« stammer fra gamle seere, der talte for guderne; i krypto spørger vi dem om priser og vejrudsigter, hvilket føles mindre poetisk men meget mere verificerbart.
Opsummering
Oracle Problem i en sætning: bring sandhed udefra ind på kæden uden at bede brugerne blot tro på dig. Får du det rigtigt, begynder resten at falde på plads, Rolex møder Reddittråde.
