Forklaring af oracle-problemet
Forstå udfordringerne ved at bringe eksterne data til blockchainen og oraklernes rolle i løsningen af problemet.
Forklaring af oracle-problemet er en gratis Blockchain-smart contracts med Solidity-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Blockchain-smart contracts med Solidity, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Blockchain-smart contracts med Solidity-kurset indeholder 4 lektioner i alt.
Hvad er oracle-problemet?
Velkommen til orakler og integration af eksterne data! I denne lektion undersøger vi en grundlæggende udfordring i blockchain: Hvordan får smart contracts information fra den virkelige verden?
Denne udfordring kaldes oracle-problemet. Det handler om at forbinde blockchainens isolerede verden sikkert og pålideligt med eksterne data.
Blockchain lever i en boble
Tænk på en blockchain som en meget sikker og selvstændig computer. Den er designet til at være deterministisk, hvilket betyder, at hver node, der kører netværket, skal nå frem til præcis det samme resultat for hver transaktion.
For at opretholde dette er blockchains isolerede fra omverdenen. De kan ikke direkte "ringe ud" til websites, API'er eller databaser for at hente information.
Smart contracts har brug for data
Selvom isolation er godt for sikkerheden, har smart contracts ofte brug for data fra den virkelige verden for at være nyttige. Forestil dig en kontrakt til:
- Forsikring: Har brug for vejrdata for at udbetale afgrødeforsikring.
- DeFi: Har brug for valutakurser for kryptovalutaer for at beregne lånesikkerhed.
- Gaming: Har brug for tilfældige tal til begivenheder i spillet.
- Forsyningskæder: Har brug for opdateringer om forsendelsers status.
Uden disse data er mange effektive applikationer umulige.
Tillidsdilemmaet
Hvis en smart contract har brug for eksterne data, hvordan får den så fat i dem? Og endnu vigtigere: Hvordan kan den stole på disse data?
En blockchains styrke kommer fra dens tillidsløse natur. Du behøver ikke stole på en enkelt part. Hvis eksterne data kommer fra én kilde, skaber det et enkelt fejlpunkt og mulighed for manipulation.
Her kommer oraklet
Det er her, orakler kommer ind i billedet! Et oracle er grundlæggende en tredjepartstjeneste, der fungerer som bro mellem blockchainen og omverdenen.
Det henter data fra den virkelige verden og bringer dem ind på blockchainen på en måde, som smart contracts kan forstå og bruge.
Oraklets enkle opgave
Grundlæggende er et orakels opgave enkel:
- En smart contract anmoder om bestemte data uden for blockchainen.
- Oraklet henter disse data fra eksterne kilder (API'er, datafeeds).
- Oraklet sender derefter dataene tilbage til smart contracten på blockchainen.
Det lyder enkelt, men den egentlige udfordring er at sikre, at dataene er korrekte og manipulationssikre.
To varianter: centraliseret eller decentraliseret
Orakler kan generelt opdeles i to hovedtyper:
- Centraliserede orakler: En enkelt enhed eller server leverer dataene.
- Decentraliserede orakler: Flere uafhængige enheder arbejder sammen om at levere og validere data.
Hver type har sine egne afvejninger med hensyn til sikkerhed, pålidelighed og omkostninger.
Centraliseret oracle: ét svagt led
Selvom centraliserede orakler er lettere at implementere, medfører de betydelige risici:
- Enkelt fejlpunkt: Hvis oraklet går offline, holder kontrakten op med at fungere.
- Datamanipulation: Den enkelte enhed kan med vilje levere forkerte data.
- Censur: Oraklets ejer kan nægte at levere data til bestemte anmodninger.
Disse risici underminerer blockchains tillidsløse natur.
De decentraliserede oraklers styrke
Decentraliserede orakler forsøger at løse problemerne hos deres centraliserede modparter ved at:
- Aggregere data: Indsamle data fra flere kilder.
- Konsensusmekanismer: Kræve, at flere uafhængige orakelnoder bliver enige om dataene.
- Omdømmesystemer: Tilskynde til ærlig adfærd og straffe ondsindede aktører.
Denne distribuerede tilgang forbedrer sikkerheden og pålideligheden, så dataene bliver mere troværdige.
Oracle-problemet opsummeret
Oracle-problemet kan koges ned til dette: Hvordan får vi eksterne data ind på en blockchain på en måde, der er lige så sikker, pålidelig og decentraliseret som selve blockchainen?
Orakler er løsningen, men de skal designes omhyggeligt for at undgå at genindføre centraliseret tillid og sårbarheder.
Hurtig test
Hvad er den primære årsag til, at smart contracts ikke kan få direkte adgang til data fra den virkelige verden, ud fra det du har lært?
Opsummering: Brobygning
I denne lektion undersøgte vi det kritiske Oracle-problem: udfordringen ved at forbinde smart contracts sikkert med data fra den virkelige verden.
- Blockchains er isolerede og deterministiske.
- Smart contracts har brug for eksterne data til mange anvendelser.
- Orakler fungerer som broer, der henter data og bringer dem on-chain.
- Decentraliserede orakler mindsker risiciene ved centraliserede dataleverandører.
I næste lektion går vi i dybden med praktiske løsninger til integration af orakler som Chainlink!
Lær Blockchain-smart contracts med Solidity med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Forklaring af oracle-problemet” gratis?
Ja — hele teksten til “Forklaring af oracle-problemet” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Blockchain-smart contracts med Solidity-kurset, skal du opgradere til CoddyKit PRO. Blockchain-smart contracts med Solidity-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Forklaring af oracle-problemet”?
Forstå udfordringerne ved at bringe eksterne data til blockchainen og oraklernes rolle i løsningen af problemet. Du øver dig i Blockchain-smart contracts med Solidity med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Blockchain-smart contracts med Solidity?
Der kræves ingen tidligere erfaring. Blockchain-smart contracts med Solidity på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Forklaring af oracle-problemet”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Blockchain-smart contracts med Solidity-lektion?
Ja. Alle Blockchain-smart contracts med Solidity-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Forklaring af oracle-problemet
- Integration af Chainlink-orakler
- Håndtering af datahentning off-chain
- Opbygning af brugerdefinerede oracle-kontrakter