Prezentarea comunității - Autor: Vallery Mou
Ce este un oracol blockchain?
Oracolele blockchain sunt servicii terțe care oferă contracte inteligente cu informații externe. Ele servesc ca punți între blockchains și lumea exterioară.
Blockchain-urile și contractele inteligente nu pot accesa date în afara lanțului (date care se află în afara rețelei). Cu toate acestea, pentru multe acorduri contractuale, este vital să aveți informații relevante din lumea exterioară pentru a executa acordul.
Aici intră în joc oracolele blockchain, deoarece oferă o legătură între datele off-chain și cele din lanț. Oracolele sunt vitale în ecosistemul blockchain, deoarece extind domeniul de aplicare în care pot funcționa contractele inteligente. Fără oracole blockchain, contractele inteligente ar avea o utilizare foarte limitată, deoarece ar avea acces doar la date din rețelele lor.
Este important de reținut că un oracol blockchain nu este sursa de date în sine, ci mai degrabă stratul care interogează, verifică și autentifică sursele externe de date și apoi transmite acele informații. Datele transmise de oracole vin sub mai multe forme – informații despre preț, finalizarea cu succes a unei plăți sau temperatura măsurată de un senzor.
Pentru a apela date din lumea exterioară, contractul inteligent trebuie invocat și resursele de rețea trebuie cheltuite. Unele oracole au, de asemenea, capacitatea de a transmite informații nu numai către contractele inteligente, ci și de a le trimite înapoi către surse externe.
Există multe tipuri diferite de oracole - modul în care funcționează un oracol blockchain depinde în întregime de ceea ce este proiectat. Acest articol va trece prin unele dintre aceste modele.
Exemplu de oracol blockchain
Să presupunem că Alice și Bob pun un pariu pe cine va fi câștigătorul alegerilor prezidențiale din SUA. Alice crede că candidatul republican va câștiga, în timp ce Bob crede că democratul va fi câștigător. Aceștia convin asupra condițiilor pariului și își blochează fondurile într-un contract inteligent, care va elibera câștigătorului toate fondurile pe baza rezultatelor alegerilor.
Deoarece contractul inteligent nu poate interacționa cu datele externe, trebuie să depindă de un oracol pentru a-i furniza informațiile necesare – în acest caz, rezultatele alegerilor prezidențiale. După încheierea alegerilor, oracolul solicită un API de încredere pentru a afla care candidat a câștigat și transmite aceste informații către contractul inteligent. Contractul trimite apoi fondurile lui Alice sau Bob, în funcție de rezultat.
Fără oracolul care transmite datele, nu ar fi existat nicio modalitate de a stabili acest pariu într-un mod care să nu poată fi jucat de unul dintre participanți.
Care sunt diferitele tipuri de oracole blockchain?
Oracolele blockchain pot fi clasificate în funcție de un număr de calități diferite:
Sursă – datele provin din software sau hardware?
Direcția informațiilor – este inbound sau outbound?
Încrederea – este centralizată sau descentralizată?
Un singur oracol se poate încadra în mai multe categorii. De exemplu, un oracol care generează informații de pe site-ul web al companiei este un oracol software de intrare centralizat.
Oracole software
Oracolele software interacționează cu sursele online de informații și le transmit blockchain-ului. Aceste informații pot proveni din baze de date online, servere, site-uri web – în esență, orice sursă de date de pe Web.
Faptul că oracolele software sunt conectate la Internet nu le permite doar să furnizeze informații către contractele inteligente, ci și să transmită acele informații în timp real. Acest lucru le face unul dintre cele mai comune tipuri de oracole blockchain.
Informațiile furnizate de obicei de oracolele software pot include rate de schimb, prețuri ale activelor digitale sau informații despre zboruri în timp real.
Oracole hardware
Unele contracte inteligente trebuie să interacționeze cu lumea reală. Oracolele hardware sunt concepute pentru a obține informații din lumea fizică și a le face disponibile pentru contractele inteligente. Astfel de informații ar putea fi transmise de la senzori electronici, scanere de coduri de bare și alte dispozitive de citire a informațiilor.
Un oracol hardware „traduce” evenimentele din lumea reală în valori digitale care pot fi înțelese prin contracte inteligente.
Un exemplu în acest sens ar putea fi un senzor care verifică dacă un camion care transportă mărfuri a ajuns la un hală de încărcare. Dacă o face, transmite informațiile către un contract inteligent care apoi poate executa decizii pe baza acestuia.
Dacă doriți să citiți mai multe despre un subiect similar, consultați cazurile de utilizare Blockchain: lanțul de aprovizionare.
Oracole de intrare și de ieșire
Oracolele de intrare transmit informații din surse externe către contracte inteligente, în timp ce oracolele de ieșire trimit informații din contractele inteligente către lumea externă.
Un exemplu de oracol de intrare este unul care spune unui contract inteligent ce temperatura este măsurată de un senzor. Un exemplu de oracol de ieșire poate fi luat în considerare cu o încuietoare inteligentă. Dacă fondurile sunt depuse la o adresă, contractul inteligent trimite aceste informații printr-un oracol de ieșire către un mecanism care deblochează încuietoarea inteligentă.
Oracole centralizate și descentralizate
Un oracol centralizat este controlat de o singură entitate și este singurul furnizor de informații pentru contractul inteligent. Utilizarea unei singure surse de informații poate fi riscantă – eficacitatea contractului depinde în totalitate de entitatea care controlează oracolul. De asemenea, orice interferență rău intenționată a unui actor rău va avea un impact direct asupra contractului inteligent. Principala problemă a oracolelor centralizate este existența unui singur punct de eșec, ceea ce face ca contractele să fie mai puțin rezistente la vulnerabilități și atacuri.
Oracolele descentralizate împărtășesc unele dintre aceleași obiective ca și blockchain-urile publice – evitând riscul de contrapartidă. Ele măresc fiabilitatea informațiilor furnizate contractelor inteligente prin faptul că nu se bazează pe o singură sursă de adevăr. Contractul inteligent interogează mai multe oracole pentru a determina validitatea și acuratețea datelor - de aceea oracolele descentralizate pot fi denumite și oracole de consens.
Unele proiecte blockchain oferă servicii oracle descentralizate altor blockchain. Oracolele descentralizate pot fi utile și pe piețele de predicție, unde validitatea unui anumit rezultat poate fi verificată prin consens social.
În timp ce oracolele descentralizate au scopul de a obține lipsa de încredere, este important de reținut că, la fel ca rețelele blockchain fără încredere, oracolele descentralizate nu elimină complet încrederea, ci o distribuie mai degrabă între mulți participanți.
Oracole specifice contractului
Un oracol specific contractului este unul care este conceput pentru a fi utilizat de un singur contract inteligent. Aceasta înseamnă că, dacă se dorește să implementeze mai multe contracte inteligente, trebuie dezvoltat un număr proporțional de oracole specifice contractului.
Acest tip de oracol este considerat foarte consumator de timp și costisitor de întreținut. Companiile care doresc să extragă date dintr-o varietate de surse pot găsi această abordare foarte nepractică. Pe de altă parte, deoarece oracolele specifice contractului pot fi proiectate de la zero pentru a servi unui anumit caz de utilizare, dezvoltatorii au o flexibilitate ridicată pentru a le adapta la cerințe specifice.
Oracole umane
Uneori, persoanele cu cunoștințe specializate într-un anumit domeniu pot servi și ca oracole. Ei pot cerceta și verifica autenticitatea informațiilor din diverse surse și pot traduce aceste informații în contracte inteligente. Deoarece oracolele umane își pot verifica identitatea folosind criptografie, posibilitatea ca un fraudator să-și falsească identitatea și să furnizeze date corupte este relativ scăzută.
Problema Oracolului
Deoarece contractele inteligente execută decizii pe baza datelor furnizate de oracole, ele sunt cheia unui ecosistem blockchain sănătos. Principala provocare în proiectarea oracolelor este că, dacă oracolul este compromis, contractul inteligent care se bazează pe acesta este de asemenea compromis. Aceasta este adesea denumită problema Oracle.
Deoarece oracolele nu fac parte din principalul consens blockchain, ele nu fac, din păcate, parte din mecanismele de securitate pe care blockchainurile publice le pot oferi. Conflictul de încredere dintre oracolele terților și executarea fără încredere a contractelor inteligente rămâne o problemă în mare parte nerezolvată.
Atacurile „man-in-the-middle” pot fi, de asemenea, o amenințare, în cazul în care un actor rău intenționat obține acces la fluxul de date dintre oracole și contract și modifică sau falsifică datele.
Gânduri de închidere
Un mecanism de încredere care facilitează comunicarea între contractele inteligente și lumea externă este vital pentru adoptarea globală a blockchain-urilor. Fără oracole blockchain, contractele inteligente ar trebui să se bazeze doar pe informațiile care se află deja în rețelele lor, ceea ce le-ar limita considerabil capacitățile.
Oracolele descentralizate au potențialul de a introduce mecanisme de salvgardare care ar putea elimina o mulțime de riscuri sistemice din ecosistemul blockchain. Oracolele blockchain rămân unul dintre elementele de bază esențiale care trebuie implementate într-o manieră sigură, fiabilă și fără încredere pentru ca ecosistemul blockchain să crească.