區(qū)塊鏈的鏈內(nèi)和鏈外的連接橋梁預(yù)言機(jī)Oracle介紹
智能合約通過EVM在以太坊中運(yùn)行。在滿足觸發(fā)條件時(shí),智能合約可以自動(dòng)執(zhí)行相應(yīng)的操作。
但有的觸發(fā)條件是發(fā)生在區(qū)塊鏈系統(tǒng)外的,而智能合約則是運(yùn)行在區(qū)塊鏈提供的封閉環(huán)境EVM中,鏈內(nèi)信息與鏈外數(shù)據(jù)如何進(jìn)行共享和交換呢?
今天要介紹的預(yù)言機(jī)(Oracle)就是一座可以連接鏈內(nèi)和鏈外世界的橋梁,它可以提供外部信息,同時(shí)將數(shù)據(jù)推送給區(qū)塊鏈。
預(yù)言機(jī)(Oracle)在以太坊上部署了一個(gè)Oracles的智能合約,在制定智能合約時(shí)引用該智能合約即可使用數(shù)據(jù)訪問服務(wù),然后根據(jù)API文檔中描述的方法進(jìn)行相關(guān)的調(diào)用。
依賴于TSL證明技術(shù),預(yù)言機(jī)具備了從外部世界安全獲取信息的能力。預(yù)言機(jī)提供一個(gè)權(quán)威準(zhǔn)確、不可篡改、穩(wěn)定、并且可以接受審計(jì)的數(shù)據(jù)查詢窗口,同時(shí)采用經(jīng)濟(jì)激勵(lì)機(jī)制來保障運(yùn)行。
預(yù)言機(jī)能讓確定的智能合約對(duì)不確定的外部世界做出反應(yīng)。比如,小明通過某區(qū)塊鏈系統(tǒng)與小華簽訂房屋租賃智能合約,合約規(guī)定家具損壞按照官網(wǎng)價(jià)格進(jìn)行賠償。
然而家具的價(jià)格是存在波動(dòng)的,在制定智能合約時(shí)無法確定準(zhǔn)確的價(jià)格。需要賠償時(shí),預(yù)言機(jī)先從官方獲取該家具的價(jià)格,然后向特定的地址進(jìn)行轉(zhuǎn)賬,并將價(jià)格信息包含在轉(zhuǎn)賬交易里。
隨著交易全網(wǎng)同步,使用者只需要在本地?cái)?shù)據(jù)中查看特定地址的交易記錄就可以知道需要賠償?shù)慕痤~。
在這個(gè)過程中,不需要每個(gè)獨(dú)立節(jié)點(diǎn)分別去獲取同一個(gè)數(shù)據(jù),也不會(huì)存在因?yàn)闀r(shí)間差而導(dǎo)致的前后價(jià)格不一致的情況,也就是說利用預(yù)言機(jī)可以高效形成區(qū)塊鏈系統(tǒng)的共識(shí)。
對(duì)于一些重大的資產(chǎn),為了提高安全保障,可以多設(shè)置幾個(gè)預(yù)言機(jī)形成預(yù)言機(jī)網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)中的多數(shù)預(yù)言機(jī)獲取到一致的外部數(shù)據(jù)時(shí),才能執(zhí)行該智能合約。
預(yù)言機(jī)為智能合約的觸發(fā)和運(yùn)行提供了可信的外部信息平臺(tái),大大提高了智能合約的實(shí)用性。隨著區(qū)塊鏈技術(shù)的不斷發(fā)展和完善,互聯(lián)網(wǎng)與區(qū)塊鏈之間的交互會(huì)越來越深入和實(shí)時(shí),可以讓數(shù)據(jù)的溝通更加便捷與簡(jiǎn)單,從而構(gòu)建一個(gè)更加通用的區(qū)塊鏈網(wǎng)絡(luò)。