作者| 易妙萍出品|白話區塊鏈(ID:hellobtc)
在電影《黑客帝國》中有一位先知,名叫Oracle,看似不起眼,其實她才是最關鍵策劃者,把三大勢力都放到她的局中。
而在Web3的世界中,也有Oracle,同樣扮演了非常重要的角色,能夠將區塊鏈連接至真實世界中的數據和系統,但在這裡,中文翻譯不叫先知,而是叫預言機。
那什麼是區塊鏈預言機呢?白話區塊鏈今天就給大家帶來科普。
01
什麼是預言機?
與這個有點“不覺明厲”的名字不太相符的是,區塊鏈預言機是第三方信息源,其唯一功能是向區塊鏈提供數據,從而使創建智能合約成為可能。
從根本上講,智能合約只是一個自我執行的代碼。智能合約會評估來自預言機的傳入數據,並根據收到的信息啟動執行流程。
讓我們舉一個例子,比如說張三和李四對這個星期六的比特幣價格進行下注。張三認為比特幣的價格將在8500 美元或更高,相反,小黑認為在8000 美元或更低。 於是, 他們設計了一個智能合約(雙方都會向其發送資金),誰預測的價格更靠近實際價格,誰就贏得了資金。
為了使智能合約確定比特幣的價格,從而向贏家付款,它必須通過預言機來查詢這個星期六比特幣的價格。 當查詢到比特幣價格數據後,比如返回的值是周六比特幣價格為8600 美元,然後,智能合約將根據其條件執行並將所有資金發送給張三。
02
預言機的類型
預言機通過為智能合約提供了一種在去中心化區塊鍊網絡之外進行通信的方式,為智能合約提供了附加功能。
區塊鏈預言機可以採用多種形式,包括但不限於:
1、軟件預言機
這種形式的預言機通常包括易於訪問的在線信息源,例如網站和公共數據庫。它們通常提供以下信息:溫度讀數,公共交通信息以及各種金融資產的當前價格。
軟件預言機可能是目前最強大的預言機類型,因為它們與互聯網具有固有的互連性。這種連接允許軟件預言機向智能合約提供最新信息。
2、硬件預言機
這種形式的預言機通常負責物理世界中發生的事件,並將數據發送到智能合約上。例如,在供應鏈管理中,如果帶有RFID 標籤的物體要到達特定的倉庫,則可以將該數據發送到智能合約,硬件預言機系統可以在整個供應鏈中進行貨物跟踪。
3、輸入式預言機
這種形式的預告機具有簡單地向智能合約提供數據的功能。所提供的數據在智能合約的外部,並且在接收信息後開始執行。上面示例中提供比特幣價格的新聞網站,可以被歸入為輸入式預言機。
4、輸出式預言機
這些預言機將智能合約數據傳送到外部源。就上面的例子而言,一旦張三被確定為贏家,智能合約便可以將此信息傳達給錢包提供商,以便自動更新其餘額以反映資金的增加。
在這種情況下,智能合約本身就可以作為輸出式預言機運作。
5、基於共識的預言機
這種預言機的功能是查詢多個信息源,並根據它們的共識得出結果。 例如,上面的例子也可以使用4 個網站來查詢比特幣的價格。 如果所有預言源(網站)返回的值都相同,則智能合約可以成功執行。
03
預言機需要信任
雖然預言機的優勢非常明顯,但它存在一個缺點: 預言機需要信任。
預言機用來獲取信息並將信息傳輸到智能合約的數據源,必須被視為可信的。 還是上文的例子,如果張三能夠以某種方式控制那個比特幣價格網站,那麼就可以輕而易舉地讓返回的比特幣價格為8600 美元,從而使自己贏得比賽。
所以,如果由預言機提供給智能合約的數據被證明是錯誤的,則存在安全問題。 針對此問題,一種可能的補救方法是從多個預言機數據庫請求數據,而不是單個預言機數據庫。
比如說,如果一個預言機返回的比特幣價格為8600 美元,而其他4 個預言機返回的價格是8000 美元,則可以將其他條件編程到智能合約中以解決衝突。 智能合約可以選擇僅接受多數值,在這種情況下,李四成為勝利者。
你覺得在哪些情境下,需要用到預言機? 歡迎在評論區留言分享。
END
『聲明:本文為作者獨立觀點,不代表白話區塊鏈立場,本內容僅供廣大加密愛好者科普學習和交流,不構成投資意見或建議,請理性看待,樹立正確的理念,提高風險意識。文章版權和最終解釋權歸白話區塊鏈所有。 』
歡迎長按二維碼
閱讀白話區塊鏈入門連載
↓↓↓
喜歡請點「在看」 ?