區(qū)塊鏈預(yù)言機(jī)可以預(yù)測(cè)幣價(jià)的漲跌嗎
10 月 1 日,白話區(qū)塊鏈發(fā)文《比特幣出現(xiàn)神預(yù)測(cè),這事靠譜么》,文中談及了一個(gè)有關(guān)比特幣價(jià)格預(yù)測(cè)圖的可靠性。那張圖的前兩個(gè)預(yù)測(cè)都是對(duì),那么,第三個(gè)預(yù)測(cè)還會(huì)正確嗎?
這讓人聯(lián)想到了區(qū)塊鏈預(yù)言機(jī),它能預(yù)測(cè)加密資產(chǎn)的價(jià)格漲跌嗎?
1. 什么是預(yù)言機(jī)?
與這個(gè)有點(diǎn)“不覺明厲”的名字不太相符的是,區(qū)塊鏈預(yù)言機(jī)是第三方信息源,其唯一功能是向區(qū)塊鏈提供數(shù)據(jù),從而使創(chuàng)建智能合約成為可能。
從根本上講,智能合約只是一個(gè)自我執(zhí)行的代碼。智能合約會(huì)評(píng)估來自預(yù)言機(jī)的傳入數(shù)據(jù),并根據(jù)收到的信息啟動(dòng)執(zhí)行流程。
讓我們舉一個(gè)例子,比如說張三和李四對(duì)這個(gè)星期六的比特幣價(jià)格進(jìn)行下注。張三認(rèn)為比特幣的價(jià)格將在 8500 美元或更高,相反,小黑認(rèn)為在 8000 美元或更低。于是,他們?cè)O(shè)計(jì)了一個(gè)智能合約(雙方都會(huì)向其發(fā)送資金),誰預(yù)測(cè)的價(jià)格更靠近實(shí)際價(jià)格,誰就贏得了資金。
為了使智能合約確定比特幣的價(jià)格,從而向贏家付款,它必須通過預(yù)言機(jī)來查詢這個(gè)星期六比特幣的價(jià)格。當(dāng)查詢到比特幣價(jià)格數(shù)據(jù)后,比如返回的值是周六比特幣價(jià)格為 8600 美元,然后,智能合約將根據(jù)其條件執(zhí)行并將所有資金發(fā)送給張三。
2. 預(yù)言機(jī)的類型
預(yù)言機(jī)通過為智能合約提供了一種在去中心化區(qū)塊鏈網(wǎng)絡(luò)之外進(jìn)行通信的方式,為智能合約提供了附加功能。
區(qū)塊鏈預(yù)言機(jī)可以采用多種形式,包括但不限于:
1、軟件預(yù)言機(jī)
這種形式的預(yù)言機(jī)通常包括易于訪問的在線信息源,例如網(wǎng)站和公共數(shù)據(jù)庫。它們通常提供以下信息:溫度讀數(shù),公共交通信息以及各種金融資產(chǎn)的當(dāng)前價(jià)格。
軟件預(yù)言機(jī)可能是目前最強(qiáng)大的預(yù)言機(jī)類型,因?yàn)樗鼈兣c互聯(lián)網(wǎng)具有固有的互連性。這種連接允許軟件預(yù)言機(jī)向智能合約提供最新信息。
2、硬件預(yù)言機(jī)
這種形式的預(yù)言機(jī)通常負(fù)責(zé)物理世界中發(fā)生的事件,并將數(shù)據(jù)發(fā)送到智能合約上。例如,在供應(yīng)鏈管理中,如果帶有 RFID 標(biāo)簽的物體要到達(dá)特定的倉庫,則可以將該數(shù)據(jù)發(fā)送到智能合約,硬件預(yù)言機(jī)系統(tǒng)可以在整個(gè)供應(yīng)鏈中進(jìn)行貨物跟蹤。
3、輸入式預(yù)言機(jī)
這種形式的預(yù)告機(jī)具有簡單地向智能合約提供數(shù)據(jù)的功能。所提供的數(shù)據(jù)在智能合約的外部,并且在接收信息后開始執(zhí)行。上面示例中提供比特幣價(jià)格的新聞網(wǎng)站,可以被歸入為輸入式預(yù)言機(jī)。
4、輸出式預(yù)言機(jī)
這些預(yù)言機(jī)將智能合約數(shù)據(jù)傳送到外部源。就上面的例子而言,一旦張三被確定為贏家,智能合約便可以將此信息傳達(dá)給錢包提供商,以便自動(dòng)更新其余額以反映資金的增加。
在這種情況下,智能合約本身就可以作為輸出式預(yù)言機(jī)運(yùn)作。
5、基于共識(shí)的預(yù)言機(jī)
這種預(yù)言機(jī)的功能是查詢多個(gè)信息源,并根據(jù)它們的共識(shí)得出結(jié)果。例如,上面的例子也可以使用 4 個(gè)網(wǎng)站來查詢比特幣的價(jià)格。如果所有預(yù)言源(網(wǎng)站)返回的值都相同,則智能合約可以成功執(zhí)行。
3. 預(yù)言機(jī)需要信任
雖然預(yù)言機(jī)的優(yōu)勢(shì)非常明顯,但它存在一個(gè)缺點(diǎn):預(yù)言機(jī)需要信任。
預(yù)言機(jī)用來獲取信息并將信息傳輸?shù)街悄芎霞s的數(shù)據(jù)源,必須被視為可信的。還是上文的例子,如果張三能夠以某種方式控制那個(gè)比特幣價(jià)格網(wǎng)站,那么就可以輕而易舉地讓返回的比特幣價(jià)格為 8600 美元,從而使自己贏得比賽。
所以,如果由預(yù)言機(jī)提供給智能合約的數(shù)據(jù)被證明是錯(cuò)誤的,則存在安全問題。針對(duì)此問題,一種可能的補(bǔ)救方法是從多個(gè)預(yù)言機(jī)數(shù)據(jù)庫請(qǐng)求數(shù)據(jù),而不是單個(gè)預(yù)言機(jī)數(shù)據(jù)庫。
比如說,如果一個(gè)預(yù)言機(jī)返回的比特幣價(jià)格為 8600 美元,而其他 4 個(gè)預(yù)言機(jī)返回的價(jià)格是 8000 美元,則可以將其他條件編程到智能合約中以解決沖突。智能合約可以選擇僅接受多數(shù)值,在這種情況下,李四成為勝利者。
來源: 白話區(qū)塊鏈