預(yù)言機(jī)是現(xiàn)實(shí)世界(鏈下)服務(wù)和區(qū)塊鏈(鏈上)協(xié)議之間架起橋梁的中間方。預(yù)言機(jī)檢索鏈下數(shù)據(jù),并將這些數(shù)據(jù)發(fā)布到區(qū)塊鏈上供智能合約使用。它們還將智能合約中的信息和指令轉(zhuǎn)發(fā)給鏈下的外部系統(tǒng)。此外,預(yù)言機(jī)還必須確保提供準(zhǔn)確的數(shù)據(jù),并能抵抗操縱。
在計(jì)算復(fù)雜度理論與可計(jì)算性理論中,預(yù)言機(jī)(英語(yǔ):oracle machine),又稱諭示機(jī),是一種抽象電腦,用來(lái)研究決定性問(wèn)題??梢员灰暈橐粋€(gè)多了個(gè)黑盒子(預(yù)言者)的圖靈機(jī),這個(gè)黑盒子的功能是可以在單一運(yùn)算之內(nèi)解答特定問(wèn)題。預(yù)言者可以解答的問(wèn)題,根據(jù)給定可以是任何復(fù)雜度類之內(nèi)的問(wèn)題。甚至可以使用不可判定問(wèn)題,像是停機(jī)問(wèn)題。
理想中的預(yù)言機(jī)應(yīng)有以下幾種特質(zhì):
1. 高水平的準(zhǔn)確性——價(jià)格預(yù)言機(jī)應(yīng)準(zhǔn)確反映當(dāng)前數(shù)據(jù)。
2. 抗操縱性——預(yù)言機(jī)應(yīng)能抵抗操縱。
3. 及時(shí)性——來(lái)自價(jià)格預(yù)言機(jī)的數(shù)據(jù)應(yīng)該及時(shí)提供,且最好是每個(gè)區(qū)塊的數(shù)據(jù)。
4. 去中心化——預(yù)言機(jī)價(jià)格要在去中心化且無(wú)準(zhǔn)入的系統(tǒng)中進(jìn)行驗(yàn)證。
DeFi預(yù)言機(jī)可分為鏈上鏈下兩種,前者的價(jià)格來(lái)自鏈上源(如Uniswap),而后者的價(jià)格則來(lái)自鏈下源。除此之外,預(yù)言機(jī)還可以進(jìn)一步分為中心化和去中心化的,前者的數(shù)據(jù)由單一運(yùn)營(yíng)商驗(yàn)證(如Compound),而后者的數(shù)據(jù)則由獨(dú)立運(yùn)營(yíng)商驗(yàn)證(如MakerDAO)。
雖然 DeFi 中預(yù)言機(jī)的主要用途是與借貸協(xié)議的清算有關(guān),但價(jià)格預(yù)言機(jī)還有其他幾種用途:
1. 抵押品不足的貸款清算--借貸協(xié)議(即Maker、Compound、Cream和Aave)依靠?jī)r(jià)格預(yù)言機(jī)來(lái)決定何時(shí)清算用戶的貸款。如果一個(gè)用戶的抵押品下降到某個(gè)閾值以下,該賬戶就可以被清算。
2. 衍生品定價(jià)--衍生品平臺(tái)(即Synthetix、Perpetual、Hegic)使用預(yù)言機(jī)來(lái)計(jì)算加密資產(chǎn),包括期權(quán)、期貨、合成資產(chǎn)的價(jià)值。
3. 指數(shù)定價(jià)--指數(shù)平臺(tái)(如Set)使用預(yù)言機(jī)來(lái)檢索指數(shù)成分的價(jià)格。
4. 保險(xiǎn)協(xié)議--保險(xiǎn)協(xié)議(如Nexus Mutual)在向區(qū)塊鏈報(bào)告和發(fā)布索賠之前利用預(yù)言機(jī)來(lái)驗(yàn)證索賠。
5. 預(yù)測(cè)市場(chǎng)--去中心化的預(yù)測(cè)市場(chǎng)(即August和Gnosis)依靠預(yù)言機(jī)進(jìn)行鏈下事件結(jié)算。
每個(gè)預(yù)言機(jī),無(wú)論鏈上或鏈下,都有自己的優(yōu)勢(shì)和弱點(diǎn)。以太坊價(jià)格預(yù)言機(jī)是否會(huì)遭受另一個(gè)黑色星期四的崩潰,仍有待確定。在評(píng)估預(yù)言機(jī)時(shí),牢記以下攻擊載體或許會(huì)有所幫助:
1. 51%攻擊:如果一個(gè)實(shí)體擁有或一個(gè)團(tuán)體勾結(jié)控制了大多數(shù)節(jié)點(diǎn)?屆時(shí),這部分實(shí)體便可以控制哪些價(jià)格信息被使用,將哪些數(shù)據(jù)認(rèn)作是絕對(duì)真理。
2. 鏡像攻擊:一個(gè)預(yù)言機(jī)節(jié)點(diǎn)能否將其數(shù)據(jù)分享給它所控制的其他節(jié)點(diǎn)呢?虛假的信息可以像電話游戲一樣輕松傳播。
3. 數(shù)據(jù)篡改:預(yù)言機(jī)是否從可信的來(lái)源接收數(shù)據(jù)?外部數(shù)據(jù)提供者可能會(huì)發(fā)送被操縱的或錯(cuò)誤的數(shù)據(jù)。
4. 活躍度問(wèn)題:預(yù)言機(jī)或節(jié)點(diǎn)是否及時(shí)向鏈上推送數(shù)據(jù)?預(yù)言機(jī)或節(jié)點(diǎn)的更新可能會(huì)有意或無(wú)意地停止,從而對(duì)依賴它們的智能合約造成破壞性影響。
隨著加密協(xié)議的不斷發(fā)展,準(zhǔn)確的鏈上和鏈下數(shù)據(jù)的重要性也在不斷增加。此外,隨著這些無(wú)準(zhǔn)入?yún)f(xié)議與外部系統(tǒng)、物聯(lián)網(wǎng)設(shè)備和其他軟件的進(jìn)一步整合,將外部數(shù)據(jù)準(zhǔn)確傳達(dá)給區(qū)塊鏈網(wǎng)絡(luò)的需求將獲得極大關(guān)注。不同的用例可能需要特定的預(yù)言機(jī)設(shè)計(jì),協(xié)議或公司也需要根據(jù)上述的權(quán)衡選擇特定的解決方案。