Ipinaliwanag ang mga Blockchain Oracle
Home
Mga Artikulo
Ipinaliwanag ang mga Blockchain Oracle

Ipinaliwanag ang mga Blockchain Oracle

Intermediya
Na-publish Jan 22, 2020Na-update May 29, 2023
7m
Pagsumite ng Komunidad - May-akda Vallery Mou


Ano ang blockchain oracle?

Ang mga Blockchain oracle ay mga serbisyo ng third-party na nagbibigay ng mga smart contract ng panlabas na impormasyon. Nagsisilbing tulay sila sa pagitan ng mga blockchain at sa labas ng mundo.
Ang blockchain at mga smart contract ay hindi puwedeng ma-access ang off-chain data (data na nasa labas ng network). Gayunpaman, para sa maraming kasunduan sa kontraktwal, mahalagang magkaroon ng nauugnay na impormasyon mula sa labas ng mundo upang maisagawa ang kasunduan.

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.

Dahil ang smart contract ay hindi puwedeng makipag-ugnayan sa panlabas na data, kailangan itong umasa sa isang oracle upang pakainin ito ng kinakailangang impormasyon – sa kasong ito, ang mga resulta ng halalan sa pampanguluhan. Matapos ang halalan, ang oracle ay nagtanong sa isang pinagkakatiwalaangAPI upang malaman kung aling kandidato ang nanalo at ipinasa ang impormasyong ito sa smart contract. Ang contract ay nagpapadala ng mga pondo kay Alice o Bob, depende sa kalalabasan.

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. 

Ang impormasyong karaniwang ibinibigay ng mga oracle ng software ay puwedeng magsama ng mga rate ng exchange, mga presyo ng digital na asset, o impormasyong real-time na flight.


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.

Kung nais mong magbasa nang higit pa sa isang katulad na paksa, tingnan ang Mga Use Case ng Blockchain: Supply Chain.


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. 

Ang isang halimbawa ng isang inbound oracle ay isa na nagsasabi sa isang smart contract kung ano ang temperatura ay sinusukat ng isang sensor. Ang isang halimbawa ng isang outbound oracle ay puwedeng isaalang-alang sa isang smart lock. Kung ang mga pondo ay idineposito sa isang address, ipinapadala ng smart contract ang impormasyong ito sa pamamagitan ng isang outbound oracle sa isang mekanismo na ina-unlock ang smart lock.


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.

Habang nilalayon ng mga decentralized oracle na makamit ang kawalan ng pagtitiwala, mahalagang tandaan na tulad ng mga walang tiwala na mga network ng blockchain, ang mga decentralized oracle ay hindi ganap na tinanggal ang tiwala, ngunit ipamahagi ito sa pagitan ng maraming mga kalahok.


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

Minsan ang mga indibidwal na may dalubhasang kaalaman sa isang partikular na larangan ay puwede ring maglingkod bilang orakulo. Puwede nilang saliksikin at ma-verify ang pagiging tunay ng impormasyon mula sa iba't ibang mga mapagkukunan at isalin ang impormasyong iyon sa mga smart contract. Dahil ang mga oracle ng tao ay puwedeng mapatunayan ang kanilang pagkakakilanlan gamit ang  cryptography, ang posibilidad ng isang mapanlinlang na paggawa ng kanilang pagkakakilanlan at pagbibigay ng nasirang data ay medyo mababa.


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.

Ang mga dcentralized oracle ay may potensyal na ipakilala ang mga mekanismo ng pag-iingat na puwedeng matanggal ng maraming systemic risk mula sa ecosystem ng blockchain. Ang mga Blockchain oracle ay mananatiling isa sa mga kritikal na block ng pag-gawa na ipapatupad sa isang ligtas, maaasahan, at walang tiwala na paraan para lumago ang ecosystem ng blockchain.