Ano ang blockchain oracle?
Dito lumalabas sa laro ang mga blockchain oracle, habang nagbibigay sila ng isang link sa pagitan ng off-chain at on-chain data. Mahalaga ang mga Oracle sa loob ng ecosystem ng blockchain dahil pinapalawak nila ang saklaw kung saan puwedeng gumana ang mga smart contract. Kung walang mga blockchain oracle, ang mga smart contract ay may limitadong paggamit dahil magkakaroon lang sila ng pag-access sa data mula sa loob ng kanilang mga network.
Mahalagang tandaan na ang isang blockchain oracle ay hindi mismo ang mapagkukunan ng data, ngunit sa halip ang layer na nagtatanong, nagpapatunay, at nagpapatunay sa mga panlabas na mapagkukunan ng data at pagkatapos ay nai-relay ang impormasyong iyon Ang data na ipinadala ng mga oracle ay nagmula sa maraming mga porma – impormasyon sa presyo, ang matagumpay na pagkumpleto ng isang pagbabayad, o ang temperatura na sinusukat ng isang sensor.
Upang tumawag sa data mula sa labas ng mundo, kailangang tawagan ang mga smart contract, at kailangang gugulin ang mga mapagkukunan sa network. Ang ilang mga oracle ay mayroon ding kakayahang hindi lang i-relay ang impormasyon sa mga smart contract ngunit ibalik ito sa mga panlabas na mapagkukunan.
Maraming magkakaibang uri ng oracle ang nag-e-exist – kung paano gumagana ang isang blockchain oracle ay ganap na nakasalalay sa kung ano ito idinisenyo. Ang artikulong ito ay dumaan sa ilan sa mga disenyo.
Halimbawa ng isang blockchain oracle
Ipagpalagay na si Alice at Bob ay naglalagay ng pusta sa kung sino ang magwawagi sa halalang pampanguluhan sa Estados Unidos. Naniniwala si Alice na mananalo ang kandidato ng Republikano, habang naniniwala si Bob na ang Democrat ang magwawagi. Sumasang-ayon sila sa mga tuntunin ng pusta at mala-lock ang kanilang mga pondo sa isang smart contract, na ilalabas ang lahat ng mga pondo sa nagwagi batay sa mga resulta ng halalan.
Nang walang pag-relay ng oracle ng data, walang paraan upang maisaayos ang pusta na ito sa isang paraan na hindi malaro ng isa sa mga kalahok.
Ano ang iba't ibang mga uri ng mga blockchain oracle?
Ang mga Blockchain oracle ay puwedeng maiuri depende sa isang bilang ng iba't ibang mga katangian
- Pinagmulan – nagmula ba ang data mula sa software o hardware?
- Direksyon ng impormasyon – ito ba ay inbound o outbound?
- Pagtitiwala – ito ay sentralisado o desentralisado?
Ang isang solong oracle ay puwedeng mahulog sa maraming kategorya. Halimbawa, ang isang oracle na nagmumula ng impormasyon mula sa isang website ng kumpanya ay isang sentralisadong papasok na software ng oracle.
Mga software oracle
Ang mga oracle ng software ay nakikipag-ugnay sa mga online na mapagkukunan ng impormasyon at ipinadala ito sa blockchain. Ang impormasyong ito ay puwedeng magmula sa mga online na database, server, website – mahalagang, anumang mapagkukunan ng data sa Web.
Ang katotohanan na ang mga orakulo ng software ay konektado sa Internet hindi lang pinapayagan silang magbigay ng impormasyon sa mga smart contract ngunit upang mailipat din ang impormasyong iyon sa real-time. Ginagawa silang isa sa mga pinakakaraniwang uri ng mga blockchain oracle.
Mga hardware oracle
Ang ilang mga smart contract ay kailangang makipag-ugnay sa totoong mundo. Ang mga hardware na oracle ay dinisenyo upang makakuha ng impormasyon mula sa pisikal na mundo at gawing magagamit ito sa mga smart contract. Ang nasabing impormasyon ay puwedeng mai-relay mula sa mga elektronikong sensor, barcode scanner, at iba pang mga device sa pagbabasa ng impormasyon.
Mahalagang “isasalin” ng isang hardware na oracle ang mga kaganapan sa totoong mundo sa mga digital na halagang maunawaan ng mga smart contract.
Ang isang halimbawa nito ay puwedeng isang sensor na suriin kung ang isang trak na nagdadala ng mga kalakal ay dumating sa loading bay. Kung gagawin ito, isasalin nito ang impormasyon sa isangsmart contract na puwedeng magpatupad ng mga desisyon batay dito.
Mga inbound at outbound oracle
Ang mga inbound oracle ay nagpapadala ng impormasyon mula sa mga panlabas na mapagkukunan patungo sa mga smart contract, habang ang mga outbound oracle ay nagpapadala ng impormasyon mula sa mga smart contract sa panlabas na mundo.
Mga centralized and decentralized oracle
Ang centralized oracle ay kinokontrol ng isang solong nilalang at ang nag-iisang tagapagbigay ng impormasyon para sa smart contract. Ang paggamit lang ng isang mapagkukunan ng impormasyon ay puwedeng mapanganib – ang pagiging epektibo ng contract ay ganap na nakasalalay sa nilalang na pagkontrol sa oracle. Gayundin, ang anumang nakakahamak na pagkagambala mula sa isang hindi magandang artista ay magkakaroon ng direktang epekto sa smart contract. Ang pangunahing problema sa mga centralized oracle ay ang pagkakaroon ng isang solong punto ng kabiguan, na ginagawang mas matatag ang mga contract sa mga kahinaan at pag-atake.
Ang mga decentralized oracle ay nagbabahagi ng ilan sa parehong mga layunin tulad ng mga pampublikong blockchain – na iniiwasan ang panganib na katapat. Dinagdagan nila ang pagiging maaasahan ng impormasyong ibinigay sa smart contract sa pamamagitan ng hindi pag-asa sa isang solong mapagkukunan ng katotohanan. Ang smart contract ay nagtatanong ng maraming mga oracle upang matukoy ang pagiging wasto at kawastuhan ng data – ito ang dahilan kung bakit ang decentralized oracle ay puwede ring tawaging consensus oracle.
Ang ilang mga proyekto sa blockchain ay nagbibigay ng mga desentralisadong serbisyo ng oracle sa iba pang mga blockchain. Ang mga decentralized oracle ay puwede ding maging kapaki-pakinabang sa mga merkado ng hula, kung saan ang bisa ng isang tiyak na kinalabasan ay puwedeng mapatunayan ng consensus sa lipunan.
Mga contract-specific oracle
Ang contract-specific oracle ay isa na idinisenyo upang magamit ng isang solong smart contract. Nangangahulugan ito na kung nais ng isa na mag-deploy ng maraming mga smart contract, isang proporsyonadong bilang ng mga oracle na tukoy sa contract ang dapat na binuo.
Ang ganitong uri ng oracle ay itinuturing na napaka-gugugol ng oras at mahal na panatilihin. Ang mga kumpanya na nais kumuha ng data mula sa iba't ibang mga mapagkukunan ay puwedeng makita na hindi praktikal ang pamamaraang ito. Sa kabilang banda, dahil ang mga contract-specific oracle ay puwedeng idisenyo mula sa simula upang maghatid ng isang tukoy na kaso ng paggamit, ang mga developer ay may mataas na kakayahang umangkop upang maiangkop ang mga ito sa mga tukoy na kinakailangan.
Mga human oracle
Ang Problema ng Oracle
Dahil ang mga smart contract ay nagpapatupad ng mga desisyon batay sa data na ibinigay ng mga oracle, ang mga ito ay susi sa isang masigla na ecosystem ng blockchain. Ang pangunahing hamon sa pagdidisenyo ng orakulo ay na kung ang oracle ay nakompromiso, ang mga smart contract na umaasa dito ay nakompromiso din. Ito ay madalas na tinutukoy bilang Problema ng Oracle.
Dahil ang oracle ay hindi bahagi ng pangunahing consensus ng blockchain, sa kasamaang palad hindi sila bahagi ng mga mekanismo ng seguridad na maibibigay ng mga pampublikong blockchain. Ang hidwaan sa pagtitiwala sa pagitan ng mga oracle ng third-party at ng walang tiwala na pagpapatupad ng mga smart contract ay nananatiling isang pinaka-hindi nalulutas na isyu.
Ang mga pag-atake sa gitna na tao ay puwede ding maging isang banta, kung saan ang isang nakakahamak na artista ay nakakakuha ng pag-access sa daloy ng data sa pagitan ng mga oracle at ng contract at binago o pinapalito ang data.
Pangwakas na mga ideya
Ang isang maaasahang mekanismo na nagpapadali sa komunikasyon sa pagitan ng mga smart contract at panlabas na mundo ay mahalaga sa pandaigdigang adopsyon ng mga blockchain. Nang walang mga oracle ng blockchain, ang mga smart contract ay dapat umasa lang sa impormasyon na nasa loob ng kanilang mga network, na kung saan ay malilimitahan ang kanilang mga kakayahan.