什麼是預言機(Oracle)? | 鏈識百科
為了幫助更多初級入門者增加對區塊鏈行業的了解,鏈捕手接下來設立"鏈識百科"欄目,通過對網絡公開資料的整理與編輯,專門對區塊鏈行業重要概念、重要項目進行科普介紹,歡迎閱讀與交流。
一、概括
預言機(Oracle)向基於區塊鏈技術運行的智能合約提供外部數據,並將外部世界(鏈外)的數據與區塊鏈世界(鏈上)的數據連接起來的計算機程序。自2020年DeFi行業獲得快速發展以來,預言機已經成為整個行業最重要的基礎設施之一。
由於區塊鏈和智能合約是封閉的系統,因此預言機提供了一種安全地向區塊鏈網絡的鏈上環境提供鏈下數據的方法。它們本質上是外部世界與區塊鏈世界之間的一種通信形式。本文將討論幾種不同類型的預言機,介紹預言機在執行智能合約時所面臨的潛在挑戰。
二、為什麼我們需要預言機?
大部分區塊鏈都具有智能合約功能,這是在區塊鏈協議中運行的一種計算機程序,並在某些條件下得到滿足時,以可追溯和不可逆的方式自動執行一組預定的動作。智能合約無需第三方即可執行,並且可以執行幾乎任何可以想像的合約。
例如,如果你用加密貨幣購買房屋,則可能會草擬一份簡單的智能合約以進行銷售。它會這樣寫,"如果A將所需的資金發送給B,則房屋契約將從B移交給A。" 一旦滿足智能合約的條件,便會根據其代碼程序不可逆地執行該合約,無需依靠傳統的第三方來發起或執行合約。
但是,區塊鏈和鏈上智能合約需要一種方法來獲取鏈外的數據,以使智能合約具有任何實際應用。在上面的房產交易示例中,鏈外數據可能是成功付款的證據,也可能是房契收據。由於區塊鏈是獨立的系統,這就成為預言機發揮作用的地方。
預言機是智能合約與外部進行數據交互的唯一途徑。其目的是在區塊鏈和互聯網之間建立一道可信的數據網關,其目標是打破智能合約獲取數據的束縛,在保證可信的情況下,使其具有訪問互聯網數據的能力。目前,MakerDAO、Compound、Synthetix、dYdX等知名DeFi項目等都需要預言機提供的價格數據流服務。
隨著智能合約的發展,會有更多的場景需要鏈外的數據。例如合成資產智能合約,可能需要來自於納斯達克、紐交所的價格數據流;房產智能合約,可能需要來房地產市場的數據流;保險智能合約,例如航班延誤險需要航班活動的數據流。區塊鏈行業愈發展,對鏈下數據的需求就會愈強烈,預言機的重要性也會愈發凸顯。
三、預言機的工作原理
預言機為區塊鏈或智能合約提供了一種與外部數據進行交互的方式。它們就像區塊鏈之外的API,在很多情況下,我們需要將鏈外數據傳遞到封閉的區塊鏈系統,尤其是當智能合約與現實世界的事件相關時。預言機查詢、核實並認證外部數據,然後將其中繼到封閉的區塊鏈系統,之後再經過身份驗證的數據將用於驗證智能合約。
預言機建立了與區塊鏈的雙向通信線路:數據可以發送進來,也可以傳輸出去。儘管輸出預言機可以將區塊鏈數據帶到外界,但輸入預言機將現實世界的數據帶到區塊鏈的輸入預言機更普遍。輸入的信息幾乎可以代表任何東西------從資產價格波動到美國總統選舉結果、天氣狀況,再到成功付款的證明。
舉例而言,想像A和B打賭天氣將連續一個星期下雨,賭注金額將被鎖定在智能合約中,預言機將提供準確的天氣數據報告,資金將交付給A或B,具體取決於數據是否顯示連續下雨一周。
大多數預言機都處理數字信息,但並非總是如此。軟件預言機提供來自網站、伺服器或數據庫等數字來源的數據,而硬件預言機提供來自真實世界的數據。軟件預言機可以傳遞實時信息,例如匯率、價格波動或航班信息等。硬件預言機可以傳遞和中繼來自相機運動傳感器、RFID傳感器、溫度計或條形碼掃描儀的信息。
四、預言機的分類
中心化預言機由單個實體控制,並充當智能合約的唯一數據提供者,例如官方新聞媒體。它們要求智能合約參與者對一個實體給予相當大的信任,它們還存在單點故障,威脅到智能合約的安全性。如果預言機被入侵,智能合約也將受到損害。
去中心化預言機試圖實現去信任化和確定性的結果,他們尋求與區塊鏈網絡相同的方式實現這些結果:通過在許多網絡參與者之間分配信任,利用許多不同的數據源,並實施不受單個實體控制的預言機系統,去中心化預言機網絡具有為智能合約提供更高級別的安全性和公平性的潛力。
中心化預言機本身可能像其他任何第三方一樣受到損害並容易受到操縱。為此,ChainLink(LINK)、Band Protocol(Band)、Augur(REP)和MakerDAO(DAI的建設者)等項目都在開發去中心化預言機,其中Chainlink是目前預言機市場最主要的玩家。
去中心化預言機極大地擴展了智能合約在許多不同市場案例的潛力,如今已經成為整個DeFi行業的重要基礎設施,對於整個區塊鏈空間而言是一個令人興奮且持續的發展。
拓展閱讀: