Oracle (Blockchain Oracle)

Wat is een Oracle?

Een oracle is een dienst van een derde partij die een smart contract toegang geeft tot gegevens van een externe bron.

De dienst fungeert als een brug tussen een blockchain en informatie in de echte wereld. Zonder deze middlewarelaag zouden smart contracts alleen toegang hebben tot gegevens die al op de blockchain staan. Dit zou het nut van smart contracts in decentralized finance (DeFI), supply chain management (SCM), gaming en entertainment beperken.

Hier zijn enkele voorbeelden van het soort informatie dat een orakel zou kunnen vragen te vinden en terug te geven:

  • Prijsgegevens zoals de huidige prijs van een specifieke cryptocurrency, aandeel of grondstof. Een smart contract zou dit soort informatie kunnen gebruiken om een financiële transactie uit te voeren, zoals handelen, lenen of uitlenen.
  • Weergegevens zoals de huidige temperatuur, neerslag, vochtigheidsgraad en windsnelheid voor een specifieke locatie. Een smart contract kan dit soort informatie dit soort informatie om een gebeurtenis te triggeren, zoals een verzekeringsuitkering.
  • Sportgegevens zoals roosters van teams, scores van wedstrijden en statistieken van spelers. Deze informatie kan gebruikt worden door smart contracts voor gok- en goktoepassingen, maar ook voor fantasysports en andere spellen.
  • Transportgegevens zoals luchthavencodes, treinschema’s en verzendupdates. Deze informatie kan gebruikt worden door smart contracts om bepaalde gebeurtenissen te triggeren, zoals betalingen of verzekeringsclaims.
  • Gezondheidsgegevens zoals testresultaten, HIPAA-autorisaties en patiëntgeschiedenissen. Deze informatie kan door smart contracts worden gebruikt voor verschillende toepassingen, waaronder verzekeringsclaims en klinische proeven.

Hoe ze werken

Wanneer een smart contract externe gegevens nodig heeft, zal het een verzoek sturen naar het orakel door gebruik te maken van een communicatieprotocol zoals HTTPS.

Zodra het oracle het verzoek voor externe gegevens ontvangt, haalt het de gevraagde gegevens op uit een of meer externe bronnen. Vervolgens voert het verificatiecontroles uit om ervoor te zorgen dat de gegevens accuraat en tijdig zijn. Deze controles omvatten meestal het valideren van de authenticiteit van de gegevensbron en het verifiëren dat de gegevens voldoen aan gedefinieerde kwaliteitsnormen en dat er niet mee geknoeid is.

Zodra de gegevens gevalideerd en geverifieerd zijn, stuurt het orakel de gevraagde gegevens naar het smart contracts in een formaat dat compatibel is met de code van het smart contract. (Het oracle kan bijvoorbeeld de gegevens coderen in een gestandaardiseerd formaat zoals JSON voordat het ze verzendt via HTTPS). Tot slot gebruikt het smart contract de gegevens die het oracle heeft verstrekt om zijn logica en functies uit te voeren.

Afhankelijk van het contract kan een oracle worden gecompenseerd voor zijn diensten met tokens of cryptocurrency munten.

Gecentraliseerd vs. Gedecentraliseerd

Oracles kunnen gecentraliseerd of gedecentraliseerd zijn. Gecentraliseerde oracles vertrouwen op een enkele entiteit om externe gegevens te verzamelen en te valideren. Daarentegen gebruiken gedecentraliseerde oracles een netwerk van onafhankelijke knooppunten om dezelfde functies uit te voeren.

Gecentraliseerde oracles: Een enkele entiteit (bijvoorbeeld een organisatie) is verantwoordelijk voor het verzamelen en valideren van externe gegevens. Dit type oracle verzamelt meestal gegevens uit meerdere bronnen en gebruikt machine learning (ML) algoritmen om te bepalen welke bron de meest nauwkeurige en betrouwbare gegevens heeft geleverd.

Gedecentraliseerde oracles: Een netwerk van onafhankelijke knooppunten is verantwoordelijk voor het verzamelen en valideren van externe gegevens. Gedecentraliseerde oracles gebruiken consensusmechanismen om de nauwkeurigheid en actualiteit van externe gegevens te valideren voordat ze naar het slimme contract worden gestuurd.

Over het algemeen worden gedecentraliseerde oracles als veiliger beschouwd dan gecentraliseerde oracles omdat ze het risico van een single point of failure verminderen. Zelfs als één knooppunt onnauwkeurige gegevens verstrekt, zullen de andere knooppunten in het netwerk nog steeds nauwkeurige gegevens verstrekken. Het is echter de moeite waard om op te merken dat gedecentraliseerde oracles moeilijker te implementeren kunnen zijn en meer kunnen kosten dan gecentraliseerde orakels.

De juiste Oracle kiezen

De keuze van het orakel kan een kritieke factor zijn in het succes of falen van een smart contract, omdat de betrouwbaarheid, transparantie en veiligheid van het orakel een aanzienlijke impact kunnen hebben op de prestaties van het contract.

Sommige platformen voor slimme contracten zoals MakerDAO en Compound hebben hun eigen orakels, maar veel platformen werken samen met een paar bekende oracle diensten. Aave en Uniswap gebruiken bijvoorbeeld Chainlink terwijl Wanchain en Kava Band Protocol gebruiken als hun standaard orakel.

Uiteindelijk is het aan de ontwikkelaar van smart contracts om te kiezen welk orakel te gebruiken bij het integreren van externe data in hun contract. Bij het selecteren van dit soort diensten van derden moeten ontwikkelaars het volgende evalueren:

Reputatie: Het is belangrijk voor ontwikkelaars om te weten of de provider vertrouwd wordt binnen de DeFi-community en of ze in het verleden beveiligingsincidenten of datalekken hebben meegemaakt (en bekendgemaakt).

Schaalbaarheid: Third-party providers hebben veel klanten, dus het is belangrijk om te weten hoe goed de oracle om kan gaan met veel verkeer en grote hoeveelheden verzoeken.

Beveiliging: Ontwikkelaars moeten het beleid van de provider kennen voor encryptie en gegevensprivacy, evenals hun plannen voor bedrijfscontinuïteit als ze het slachtoffer worden van een kwaadaardige aanval.

Kosten: Dit omvat kosten voor toegang tot gegevens naast eventuele transactiekosten voor het gebruik van de oracle.

Integratie: Ontwikkelaars moeten op zoek gaan naar diensten van derden die compatibel zijn met hun smart contract platform en het oracle voldoende onderzoeken om een idee te krijgen hoe gemakkelijk het zal zijn om het orakel te integreren met de code van het contract.

Kwaliteit van gegevens: De kwaliteit van de externe gegevens die dit soort diensten levert is cruciaal. Ontwikkelaars moeten de tijdigheid en nauwkeurigheid van de gegevens die het oracle levert evalueren en begrijpen welke stappen de dienstverlener neemt om externe gegevens te valideren en te verifiëren.

Betrouwbare voorbeelden

Hoewel sommige platformen, zoals Ethereum, ingebouwde mechanismen hebben voor het ophalen van gegevens van buiten de blockchain, zijn deze mechanismen meestal beperkt in hun mogelijkheden en niet zo robuust als diensten van derden. Hier zijn enkele voorbeelden van orakels die als betrouwbaar worden beschouwd:

Chainlink: Chainlink is een gedecentraliseerd oracle netwerk dat veilige en betrouwbare toegang biedt tot echte gegevens voor smart contracts. Chainlink staat bekend om zijn uitgebreide netwerk van knooppunten en zijn vermogen om geverifieerde gegevens uit meerdere bronnen te leveren.

Band Protocol: Band Protocol is een cross-chain data oracle platform dat smart contracts voorziet van gedecentraliseerde toegang tot betrouwbare externe databronnen. Band Protocol staat bekend om zijn schaalbaarheid en eenvoudige integratie met verschillende blockchains.

Tellor: Tellor is een gedecentraliseerd oracle netwerk dat smart contracts toegang biedt tot hoogwaardige data. Tellor staat bekend om het gebruik van proof-of-work (PoW) consensusmechanismen om de nauwkeurigheid en integriteit van de geleverde gegevens te garanderen.

DIA: DIA is een gedecentraliseerd orakelplatform dat transparante toegang biedt tot betrouwbare gegevens voor gedecentraliseerde softwaretoepassingen (DApps). DIA staat bekend om zijn open-source datafeeds en zijn vermogen om verifieerbare en controleerbare data te leveren van betrouwbare bronnen.

UMA: UMA is een gedecentraliseerd platform voor financiële contracten dat dApps toegang biedt tot prijs feeds. UMA staat bekend om zijn vermogen om aanpasbare financiële contracten te leveren die kunnen worden afgestemd op specifieke behoeften.

API3: API3 is een gedecentraliseerd oracle dat toegang biedt tot real-world prijsdata voor blockchain-gebaseerde applicaties. API3 staat bekend om transparantie en het leveren van just-in-time gegevensupdates voor individuele slimme contracten.

Gerelateerde begrippen

Margaret Rouse

Margaret Rouse is een bekroond technisch schrijver en docent die bekend staat om haar vermogen om complexe technische onderwerpen uit te leggen aan een niet-technisch, zakelijk publiek. In de afgelopen twintig jaar is haar uitleg verschenen op vele websites en is ze als autoriteit aangehaald in artikelen van de New York Times, Time Magazine, USA Today, ZDNet, PC Magazine en Discovery Magazine. Margaret geniet ervan om IT- en business professionals te helpen om elkaars zeer gespecialiseerde talen te begrijpen. Als je een suggestie hebt voor een nieuwe definitie of hoe je een technische uitleg kunt verbeteren, stuur Margaret dan een…