Wat zijn blockchain-orakels en hoe werken ze?
Basics
Blockchain-orakels fungeren als tussenpersonen tussen blockchains en de buitenwereld door smart contracts van externe informatie te voorzien waar zij zelf geen toegang toe hebben. Deze functie is cruciaal voor veel contractuele afspraken die informatie uit off-chain bronnen nodig hebben om uitgevoerd te worden.
Orakels spelen een vitale rol in het blockchain-ecosysteem omdat ze het bereik van smart contracts uitbreiden voorbij hun netwerk. Zonder orakels zouden smart contracts beperkte functionaliteit hebben en alleen toegang hebben tot gegevens binnen hun eigen netwerk.
Het is belangrijk op te merken dat blockchain-orakels zelf geen databronnen zijn, maar lagen die externe databronnen authentiseren, verifiëren en bevragen voordat ze de informatie doorgeven. De door orakels verzonden data kan veel vormen aannemen, zoals prijsinformatie, betalingsbevestigingen of sensormetingen.
Om off-chain data te verkrijgen, moet het smart contract worden aangeroepen en moeten netwerkresources worden gebruikt. Sommige orakels kunnen niet alleen informatie naar smart contracts relayeren, maar ook terugsturen naar externe bronnen.
Blockchain Oracle Examples
Stel dat Emily en David een weddenschap afsluiten over wie de winnaar van de Amerikaanse presidentsverkiezingen zal zijn. Emily gelooft dat de Republikeinse kandidaat zal winnen, terwijl David denkt dat de Democraat de winnaar wordt. Ze komen de voorwaarden van de weddenschap overeen en zetten hun geld vast in een smart contract, dat alle middelen vrijgeeft aan de winnaar op basis van de uitslag.
Aangezien het smart contract niet met externe data kan communiceren, moet het vertrouwen op een orakel om de benodigde informatie te leveren – in dit geval de uitslag van de presidentsverkiezing. Na de verkiezing vraagt het orakel een vertrouwde API op om te achterhalen welke kandidaat heeft gewonnen en geeft deze informatie door aan het smart contract. Het contract stuurt vervolgens de middelen naar Emily of David, afhankelijk van de uitkomst.
Zonder het orakel dat de data doorgeeft, zou er geen manier zijn geweest om deze weddenschap eerlijk en onvervalsbaar af te handelen.
What Types of Blockchain Oracles Exist?
Blockchain-orakels hebben verschillende classificaties, afhankelijk van hun eigenschappen. Eén orakel kan in meerdere categorieën passen. Bijvoorbeeld: een orakel dat data van de website van een bedrijf haalt, is een centraal inbound software-orakel.
Source: Is the Data Obtained From Software or Hardware?
- Software-orakels zijn een essentieel type blockchain-orakel dat gegevens uit online bronnen haalt en naar de blockchain verzendt. Ze kunnen informatie verkrijgen van een breed scala aan bronnen op het internet, zoals databases, websites en servers. Omdat software-orakels met internet verbonden zijn, kunnen ze informatie in realtime doorgeven, wat ze populair maakt voor smart contracts. Software-orakels kunnen uiteenlopende informatie leveren, waaronder wisselkoersen, prijzen van digitale activa of realtime vluchtinformatie.
- Hardware-orakels worden gebruikt om informatie van fysieke apparaten te verkrijgen en naar de blockchain te verzenden, waardoor smart contracts met de fysieke wereld kunnen verbinden. Deze orakels interpreteren gebeurtenissen uit de echte wereld met sensoren, barcodescanners en andere dataleesapparaten en zetten die om in digitale waarden die smart contracts kunnen begrijpen. Bijvoorbeeld kan een hardware-orakel detecteren of een vrachtwagen met goederen bij een laaddok is aangekomen, en dit communiceren aan een smart contract. Op basis van die informatie kan het contract vervolgens actie ondernemen.
Direction: Is the Information Inbound or Outbound?
Orakels kunnen worden geclassificeerd als inbound of outbound, afhankelijk van de richting van de informatiestroom.
- Inbound-orakels sturen informatie van externe bronnen naar smart contracts.
- Outbound-orakels sturen informatie van smart contracts naar de buitenwereld.
Een sensor die temperatuur meet en de gegevens naar een smart contract doorgeeft, is een voorbeeld van een inbound-orakel. Daarentegen is een outbound-orakel bijvoorbeeld een slim slot dat ontgrendelt wanneer er geld op een adres wordt gestort; het smart contract stuurt deze informatie via een outbound-orakel naar het mechanisme dat het slot ontgrendelt.
Trust: Is It Centralized or Decentralized?
- Gecentraliseerde orakels worden beheerd door één entiteit en kunnen risico's met zich meebrengen vanwege een single point of failure. Kwaadwillige beïnvloeding door slechte actoren kan het smart contract beïnvloeden, en de effectiviteit van het contract hangt volledig af van de controlerende entiteit.
- Gedecentraliseerde orakels proberen tegenpartijrisico te vermijden door niet te vertrouwen op één enkele waarheid. Ze gebruiken meerdere orakels om de betrouwbaarheid van informatie te vergroten en worden soms consensus-orakels genoemd. Sommige blockchain-projecten bieden gedecentraliseerde orakelservices aan andere blockchains, wat nuttig kan zijn in prediction markets waar sociale consensus de geldigheid van uitkomsten kan verifiëren.
Hoewel gedecentraliseerde orakels erop gericht zijn om vertrouwen overbodig te maken, elimineren ze vertrouwen niet volledig maar verdelen het over veel deelnemers, vergelijkbaar met vertrouwensloze blockchain-netwerken.
Other Types of Oracles
- Contract-Specific Oracles
- Bij het gebruik van een contract-specifiek orakel is het ontworpen voor gebruik door één smart contract. Dit kan ertoe leiden dat er meerdere orakels ontwikkeld moeten worden bij het uitrollen van meerdere smart contracts. Hoewel deze aanpak flexibiliteit biedt voor op maat gemaakte use-cases, is het ook kostbaar en tijdrovend om te onderhouden. Bedrijven die data uit verschillende bronnen nodig hebben, kunnen dit onpraktisch vinden.
- Human Oracles
- Individuen met gespecialiseerde kennis in een bepaald vakgebied kunnen ook fungeren als orakels. Zij kunnen onderzoeken en de geloofwaardigheid van informatie uit verschillende bronnen valideren en die gegevens omzetten voor smart contracts. Omdat menselijke orakels cryptografie kunnen gebruiken om hun identiteit te verifiëren, is het risico dat een frauduleus persoon zich voordoet als orakel en corrupte data levert relatief laag.
An Important Problem to Know About Oracles
Het waarborgen van de nauwkeurigheid van data die in smart contracts wordt gebruikt, is een essentiële rol van orakels. De integriteit van een smart contract komt echter in gevaar als het orakel wordt gecompromitteerd. Orakels maken geen deel uit van de blockchain-consensus, waardoor ze kwetsbaar zijn voor aanvallen. Het conflict tussen derdepartij-orakels en vertrouwensloze uitvoering van smart contracts is een lastig vraagstuk dat nog niet is opgelost. Kwaadwillende actoren kunnen ook man-in-the-middle-aanvallen uitvoeren, waarbij data die tussen orakels en het contract wordt verzonden wordt onderschept en aangepast of vervalst.
Conclusion
Voor brede adoptie van blockchains is een betrouwbare methode nodig zodat smart contracts met externe informatie kunnen communiceren. Hier komen blockchain-orakels om de hoek kijken, omdat ze veilige communicatie tussen de blockchain en externe databronnen mogelijk maken. Zonder orakels zouden smart contracts beperkt zijn tot interne informatie, wat hun mogelijkheden sterk zou beperken.
Gedecentraliseerde orakels kunnen belangrijke waarborgen bieden om risico's in het blockchain-ecosysteem te verminderen. Een veilige en betrouwbare implementatie is essentieel voor de verdere groei van het ecosysteem. Over het geheel genomen zijn blockchain-orakels een cruciaal onderdeel dat nodig is voor bredere adoptie en gebruik van blockchaintechnologie.