區(qū)塊鏈的去中心化賬本和智能合約為當(dāng)今社會(huì)解決了P2P交互的信任問題,無(wú)需任何中心化機(jī)構(gòu)進(jìn)行信任背書,這是人類社會(huì)信任體系的重大革新。但是當(dāng)前的智能合約無(wú)法主動(dòng)向外部獲取鏈外信息,使得它只能在一個(gè)封閉、孤立的環(huán)境中執(zhí)行任務(wù),無(wú)法做到和外部世界的互通互連。
預(yù)言機(jī)(Oracle)的出現(xiàn)旨在為區(qū)塊鏈解決上述問題,作為智能合約與外部世界通信的網(wǎng)關(guān),為區(qū)塊鏈打開了一扇通往外部世界的窗戶。
什么是預(yù)言機(jī)?
在計(jì)算機(jī)領(lǐng)域,預(yù)言機(jī)是一種抽象電腦,又稱諭示機(jī)。預(yù)言機(jī)具備圖靈機(jī)的一切功能,并額外擁有一種能力:可以不通過計(jì)算直接得到某些問題的答案,這個(gè)過程叫做Oracle(神諭)。也就是說,預(yù)言機(jī)可以解決圖靈機(jī)通過計(jì)算也無(wú)法解決的問題,比如從外界獲取問題的答案。
舉個(gè)例子,有一個(gè)天氣預(yù)報(bào)預(yù)警的DApp,用戶可以通過鏈上智能合約進(jìn)行天氣預(yù)報(bào)的查詢。天氣預(yù)報(bào)的數(shù)據(jù)不是在鏈上自行生成的,而是需要智能合約向氣象服務(wù)網(wǎng)站的接口發(fā)起請(qǐng)求獲取數(shù)據(jù)。這時(shí)預(yù)言機(jī)就起作用了,智能合約可以向預(yù)言機(jī)發(fā)起請(qǐng)求,由預(yù)言機(jī)執(zhí)行氣象服務(wù)網(wǎng)站接口的調(diào)用,返回一致性的響應(yīng)數(shù)據(jù)給智能合約,供智能合約處理。
看似很簡(jiǎn)單的執(zhí)行流程,實(shí)際上其中隱含著許多問題,比如:
區(qū)塊鏈的去中心化賬本和智能合約為當(dāng)今社會(huì)解決了P2P交互的信任問題,無(wú)需任何中心化機(jī)構(gòu)進(jìn)行信任背書,這是人類社會(huì)信任體系的重大革新。但是當(dāng)前的智能合約無(wú)法主動(dòng)向外部獲取鏈外信息,使得它只能在一個(gè)封閉、孤立的環(huán)境中執(zhí)行任務(wù),無(wú)法做到和外部世界的互通互連。
如何保證數(shù)據(jù)源的數(shù)據(jù)不會(huì)做惡?如果一個(gè)數(shù)據(jù)源給預(yù)言機(jī)節(jié)點(diǎn)A的答案是“是”,而給預(yù)言機(jī)節(jié)點(diǎn)B的答案是“否”,該怎么辦?這里就需要引入多數(shù)據(jù)源請(qǐng)求來(lái)保證數(shù)據(jù)源的數(shù)據(jù)真實(shí)性。而事實(shí)上我們是不能保證用戶請(qǐng)求的數(shù)據(jù)一定存在多個(gè)真實(shí)可信的數(shù)據(jù)源的,那么我們的預(yù)言機(jī)系統(tǒng)就必須要容忍數(shù)據(jù)源作惡這種問題的存在,比如不能對(duì)返回錯(cuò)誤答案的預(yù)言機(jī)節(jié)點(diǎn)進(jìn)行懲罰。
諸如此類的問題還有很多,為了預(yù)防這些問題的出現(xiàn),去中心化預(yù)言機(jī)需要進(jìn)行縝密、全面的設(shè)計(jì)。
A. 多預(yù)言機(jī)節(jié)點(diǎn)
為了防止單節(jié)點(diǎn)預(yù)言機(jī)的信任問題,需要多個(gè)節(jié)點(diǎn)共同執(zhí)行預(yù)言機(jī)數(shù)據(jù)的請(qǐng)求處理。多節(jié)點(diǎn)會(huì)帶來(lái)的數(shù)據(jù)不一致問題,這時(shí)數(shù)據(jù)的聚合一定是需要的。常用的聚合算法有BFT共識(shí)算法或者門限簽名算法等。
B. “提交-揭露”機(jī)制
預(yù)言機(jī)節(jié)點(diǎn)之間的數(shù)據(jù)廣播會(huì)帶來(lái)Free-loading(吃空餉)問題,即一個(gè)預(yù)言機(jī)不是通過訪問數(shù)據(jù)源來(lái)獲取數(shù)據(jù),而是復(fù)制其它預(yù)言機(jī)的答案。當(dāng)吃空餉的節(jié)點(diǎn)占據(jù)大多數(shù)時(shí),如果這些節(jié)點(diǎn)復(fù)制了一個(gè)錯(cuò)誤的答案,這將變成一次大多數(shù)攻擊,危害系統(tǒng)安全。我們可以通過“提交-揭露”機(jī)制解決此問題,預(yù)言機(jī)節(jié)點(diǎn)分兩階段提交數(shù)據(jù)答案,第一階段提交的答案是加密的,在收到足夠多的預(yù)言機(jī)答案之后,才解密全部答案。
C. 多數(shù)據(jù)源或可信單數(shù)據(jù)源
數(shù)據(jù)源的誠(chéng)信問題是很難解決的,因?yàn)檫@不是預(yù)言機(jī)的問題,而是一個(gè)外部問題。用戶在使用預(yù)言機(jī)時(shí)應(yīng)確認(rèn)所訪問的數(shù)據(jù)源是安全可靠的,而當(dāng)用戶訪問到一個(gè)不安全的數(shù)據(jù)源時(shí),不安全的數(shù)據(jù)很可能導(dǎo)致預(yù)言機(jī)返回一個(gè)錯(cuò)誤的結(jié)果。當(dāng)然,通過使用多數(shù)據(jù)源訪問數(shù)據(jù)可以在一定程度上防止少數(shù)數(shù)據(jù)源的作惡,但是這種做法不具通用性,因?yàn)椴⒉皇敲恳粭l數(shù)據(jù)都具備多個(gè)外部數(shù)據(jù)源供應(yīng)。
D. 利益分配
去中心化預(yù)言機(jī)需要設(shè)計(jì)一套激勵(lì)機(jī)制,以給與預(yù)言機(jī)節(jié)點(diǎn)行為對(duì)應(yīng)的獎(jiǎng)勵(lì)和懲罰。預(yù)言機(jī)節(jié)點(diǎn)在加入去中心化網(wǎng)絡(luò)時(shí)需要支付一定的保證金,以防止節(jié)點(diǎn)的作惡。理論上獲取到與共識(shí)結(jié)果相同答案的預(yù)言機(jī)都應(yīng)該獲得相同的獎(jiǎng)勵(lì),因?yàn)樗麄兌际沁_(dá)成共識(shí)結(jié)論的貢獻(xiàn)者。在懲罰規(guī)則方面,我們不能因?yàn)槟硞€(gè)預(yù)言機(jī)節(jié)點(diǎn)的答案與共識(shí)結(jié)果不同,或者不能即時(shí)返回請(qǐng)求結(jié)果就懲罰他,因?yàn)槲覀儾荒鼙鎰e是預(yù)言機(jī)節(jié)點(diǎn)在作惡還是數(shù)據(jù)源在作惡。而對(duì)于Free-loading的問題,一旦在“揭露-提交”階段發(fā)現(xiàn)節(jié)點(diǎn)在吃空餉,則需要按一定比例扣除其質(zhì)押的保證金。
當(dāng)前市場(chǎng)的預(yù)言機(jī)項(xiàng)目
1. ChainLink
Chainlink 的目標(biāo)是構(gòu)建一個(gè)完全去中心化的預(yù)言機(jī)網(wǎng)絡(luò),網(wǎng)絡(luò)節(jié)點(diǎn)兼容以太坊、比特幣和 Hyperledger,并支持模塊化:系統(tǒng)的每個(gè)部分都支持升級(jí)。其主要的想法是為預(yù)言機(jī)打造一個(gè)可信的市場(chǎng)。有良好行為的預(yù)言機(jī)節(jié)點(diǎn)會(huì)受到激勵(lì),其表現(xiàn)和聲譽(yù)會(huì)公之于眾,反之有惡意行為的節(jié)點(diǎn)會(huì)受到懲罰。Chainlink 一開始是在鏈上對(duì)預(yù)言機(jī)的數(shù)據(jù)進(jìn)行聚合,后續(xù)設(shè)計(jì)為鏈下進(jìn)行數(shù)據(jù)聚合。
2. DOS Network
DOS Network是一種可擴(kuò)展的 layer2 協(xié)議,它為主流區(qū)塊鏈提供分散的數(shù)據(jù)饋送 oracle 和分散的可驗(yàn)證計(jì)算 oracle。它將鏈上智能合約與鏈下互聯(lián)網(wǎng)數(shù)據(jù)連接起來(lái),為區(qū)塊鏈提供無(wú)限可驗(yàn)證的計(jì)算能力,使更多的商業(yè)應(yīng)用能夠與真實(shí)世界的用例相結(jié)合。
3. Provable
Provable是一款中心化的預(yù)言機(jī)應(yīng)用服務(wù),為Ethereum、Rootstock、R3 Corda、Hyperledger Fabric、EOS等區(qū)塊鏈提供預(yù)言機(jī)服務(wù)。
Provable開發(fā)的解決方案是使用中心化預(yù)言機(jī),并證明從原始數(shù)據(jù)源獲取的數(shù)據(jù)是真實(shí)的和未被篡改的。證明通過返回的數(shù)據(jù)與稱為真實(shí)性證明的文檔一起實(shí)現(xiàn)。真實(shí)性證明可以基于不同的技術(shù),例如可審計(jì)的虛擬機(jī)和可信執(zhí)行環(huán)境。
預(yù)言機(jī)應(yīng)用場(chǎng)景
1. 去中心化衍生品
衍生品是兩方或多方之間的金融合約,其價(jià)值基于相關(guān)資產(chǎn)。衍生品允許人們對(duì)標(biāo)的資產(chǎn)提出不同的視角(長(zhǎng)期或短期),從實(shí)質(zhì)上促進(jìn)金融穩(wěn)定。公共智能合約平臺(tái)可以創(chuàng)建和交易金融衍生品,包括基于區(qū)塊鏈的資產(chǎn)。預(yù)言機(jī)可以通過提供價(jià)格饋送,結(jié)算價(jià)值和合約到期來(lái)確定參與方的收益或損失,從而在去中心化衍生品中發(fā)揮重要作用。
2. 穩(wěn)定幣
獲取有關(guān)穩(wěn)定幣和它們所固定的資產(chǎn)之間的匯率的外部數(shù)據(jù)是預(yù)言機(jī)的一個(gè)重要場(chǎng)景之一。
3. 去中心化預(yù)測(cè)市場(chǎng)
像Augur和Gnosis這樣的去中心化預(yù)測(cè)市場(chǎng)利用人群的智慧來(lái)預(yù)測(cè)現(xiàn)實(shí)世界的結(jié)果,如總統(tǒng)選舉和體育博彩結(jié)果。如果投票結(jié)果受到用戶的質(zhì)疑,預(yù)言機(jī)可用于快速和安全的解決方案。
4. 智能合約保險(xiǎn)
在免信任且可靠的信任源加持下,保險(xiǎn)產(chǎn)品可以通過智能合約的形式實(shí)現(xiàn)。當(dāng)前的商業(yè)案例比如Etherisc的去中心化的保險(xiǎn)應(yīng)用(如航班延誤保險(xiǎn)和作物保險(xiǎn))平臺(tái),F(xiàn)lyingCarpet 的人工智能和地理數(shù)據(jù)的新型可編程保險(xiǎn)等。
5. 去中心化貸款平臺(tái)
像SALT Lending和ETHLend這樣的去中心化點(diǎn)對(duì)點(diǎn)借貸平臺(tái)允許匿名用戶在區(qū)塊鏈上抵押加密資產(chǎn),以換取法定或加密貸款??梢詰?yīng)用預(yù)言機(jī)在創(chuàng)建貸款時(shí)引入市場(chǎng)利率,并監(jiān)控加密抵押品與貸款金額的比率,如果貸款周期到了,則觸發(fā)清算事件。
來(lái)源: NEO智能經(jīng)濟(jì)
評(píng)論