Het oracleprobleem uitgelegd
Krijg inzicht in de uitdagingen bij het toevoegen van externe gegevens aan de blockchain en in de rol van oracles bij het oplossen van dit probleem.
Het oracleprobleem uitgelegd is een gratis Blockchain-smart contracts met Solidity-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Blockchain-smart contracts met Solidity. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Blockchain-smart contracts met Solidity bevat in totaal 4 lessen.
Wat is het orakelprobleem?
Welkom bij Orakels en integratie van externe gegevens! In deze les onderzoeken we een fundamentele uitdaging van blockchain: hoe krijgen smart contracts informatie uit de echte wereld?
Deze uitdaging staat bekend als het orakelprobleem. Het gaat om het veilig en betrouwbaar verbinden van de geïsoleerde wereld van de blockchain met externe gegevens.
Blockchains leven in een bubbel
Zie een blockchain als een uiterst veilige, zelfstandige computer. Deze is ontworpen om deterministisch te zijn: elk knooppunt dat het netwerk uitvoert, moet voor elke transactie exact hetzelfde resultaat bereiken.
Om dit te behouden, zijn blockchains afgeschermd van de buitenwereld. Ze kunnen niet rechtstreeks websites, API's of databases aanroepen om informatie op te halen.
Smart contracts hebben gegevens nodig
Hoewel isolatie goed is voor de beveiliging, hebben smart contracts vaak gegevens uit de echte wereld nodig om nuttig te zijn. Denk bijvoorbeeld aan een contract voor:
- Verzekeringen: heeft weersgegevens nodig om oogstverzekeringen uit te betalen.
- DeFi: heeft wisselkoersen van cryptovaluta nodig om onderpand voor leningen te berekenen.
- Games: heeft willekeurige getallen nodig voor gebeurtenissen in het spel.
- Toeleveringsketen: heeft updates over de status van zendingen nodig.
Zonder deze gegevens zijn veel krachtige toepassingen onmogelijk.
Het vertrouwensdilemma
Als een smart contract externe gegevens nodig heeft, hoe krijgt het die dan? En nog belangrijker: hoe kan het die gegevens vertrouwen?
De kracht van een blockchain komt voort uit het feit dat je geen vertrouwen in een bepaalde partij hoeft te stellen. Als externe gegevens uit één bron komen, ontstaat er een mogelijk zwak punt dat kan uitvallen of worden gemanipuleerd.
Maak kennis met het orakel
Daar komen orakels om de hoek kijken! Een orakel is in feite een externe dienst die als brug tussen de blockchain en de buitenwereld fungeert.
Het haalt gegevens uit de echte wereld op en brengt deze op een manier naar de blockchain waarop smart contracts ze kunnen begrijpen en gebruiken.
De eenvoudige taak van een orakel
In de kern is de taak van een orakel eenvoudig:
- Een smart contract vraagt specifieke gegevens buiten de blockchain op.
- Het orakel haalt deze gegevens op uit externe bronnen, zoals API's en gegevensfeeds.
- Het orakel stuurt deze gegevens vervolgens terug naar het smart contract op de blockchain.
Dit klinkt eenvoudig, maar de echte uitdaging is ervoor zorgen dat de gegevens juist en beschermd tegen manipulatie zijn.
Twee varianten: gecentraliseerd versus gedecentraliseerd
Orakels kunnen over het algemeen in twee hoofdtypen worden ingedeeld:
- Gecentraliseerde orakels: één entiteit of server levert de gegevens.
- Gedecentraliseerde orakels: meerdere onafhankelijke entiteiten werken samen om gegevens te leveren en te valideren.
Elk type heeft zijn eigen voor- en nadelen op het gebied van beveiliging, betrouwbaarheid en kosten.
Gecentraliseerd orakel: één zwakke schakel
Gecentraliseerde orakels zijn eenvoudiger te implementeren, maar brengen aanzienlijke risico's met zich mee:
- Eén punt van uitval: als het orakel offline gaat, stopt het contract met werken.
- Gegevensmanipulatie: de enige entiteit kan opzettelijk onjuiste gegevens leveren.
- Censuur: de eigenaar van het orakel kan weigeren gegevens voor bepaalde verzoeken te leveren.
Deze risico's ondermijnen het vertrouwensloze karakter van blockchain.
De kracht van gedecentraliseerde orakels
Gedecentraliseerde orakels proberen de problemen van hun gecentraliseerde tegenhangers op te lossen door:
- Gegevens te verzamelen: gegevens uit meerdere bronnen te verzamelen.
- Consensusmechanismen: meerdere onafhankelijke orakelknooppunten te verplichten overeenstemming over gegevens te bereiken.
- Reputatiesystemen: eerlijk gedrag te stimuleren en kwaadwillende partijen te bestraffen.
Deze gedistribueerde aanpak verbetert de beveiliging en betrouwbaarheid, waardoor de gegevens betrouwbaarder worden.
Het orakelprobleem samengevat
Het orakelprobleem komt hierop neer: hoe krijgen we externe gegevens op een blockchain op een manier die net zo veilig, betrouwbaar en gedecentraliseerd is als de blockchain zelf?
Orakels zijn de oplossing, maar ze moeten zorgvuldig worden ontworpen om niet opnieuw gecentraliseerd vertrouwen en kwetsbaarheden te introduceren.
Snelle controle
Wat is op basis van wat je hebt geleerd de belangrijkste reden waarom smart contracts niet rechtstreeks toegang hebben tot gegevens uit de echte wereld?
Samenvatting: de kloof overbruggen
In deze les hebben we het cruciale orakelprobleem onderzocht: de uitdaging om smart contracts veilig met gegevens uit de echte wereld te verbinden.
- Blockchains zijn geïsoleerd en deterministisch.
- Smart contracts hebben voor veel toepassingen externe gegevens nodig.
- Orakels fungeren als bruggen: ze halen gegevens op en brengen deze naar de blockchain.
- Gedecentraliseerde orakels beperken de risico's van gecentraliseerde gegevensleveranciers.
In de volgende les gaan we dieper in op praktische oplossingen voor het integreren van orakels zoals Chainlink!
Leer Blockchain-smart contracts met Solidity met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Het oracleprobleem uitgelegd” gratis?
Ja — de volledige tekst van “Het oracleprobleem uitgelegd” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Blockchain-smart contracts met Solidity wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Blockchain-smart contracts met Solidity bevat in totaal 4 lessen.
Wat leer ik in “Het oracleprobleem uitgelegd”?
Krijg inzicht in de uitdagingen bij het toevoegen van externe gegevens aan de blockchain en in de rol van oracles bij het oplossen van dit probleem. Je oefent met Blockchain-smart contracts met Solidity door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Blockchain-smart contracts met Solidity te beginnen?
Ervaring vooraf is niet nodig. Blockchain-smart contracts met Solidity op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Het oracleprobleem uitgelegd”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Blockchain-smart contracts met Solidity?
Ja. Elke les over Blockchain-smart contracts met Solidity bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Het oracleprobleem uitgelegd
- Chainlink-oracles integreren
- Off-chain gegevens ophalen
- Aangepaste oracle-contracts bouwen