區塊鏈預言機的基本架構解析
發表於 2022-04-02 22:59 作者: 元宇宙推客
預言機分類
中心化預言機與去中心化預言機的架構都分爲網絡層、操作層、合約層和應用層,二者在操作層與合約層上存在較大差異。
理想的預言機網絡應當滿足五個條件:數據調用是基於雙方相互信任且不可篡改的、數據調用的高效性、安全性、預言機網絡設計符合激勵相容原則、數據資產化。
按照商業的組織模式分類,預言機可以分爲中心化預言機和去中心化預言機。雖然二者的架構自下而上都可以分爲網絡層、操作層、合約層和應用層,但是二者在操作層和合約層上存在較大差異。
中心化預言機在性價比和用戶體驗上具有先發優勢,而去中心化預言機因在特性和生態的模式上佔優而具有較大的後發優勢。
預言機的數據獲取方式
預言機既可以從鏈上獲取原生數據,也可以通過網絡爬蟲或者傳統第三方機構獲取數據,從鏈上獲取數據,用於鏈上應用。
(Dapp)落地不及預期,導致用戶對鏈上數據的需求有限,不足以支撐該模式的長期發展。從鏈下獲取數據,它既可以是授信傳統第三方機構作爲公鏈或者聯盟鏈的節點給鏈上輸出數據,也可以是預言者通過網絡爬蟲的方式抓取特定數據。
一般來說,對於數據調用要求低時延的服務請求(如ETH價格實時調用),不適合採用通過爬蟲的方式獲取數據,因爲爬蟲的代碼和數據的准確性受到網頁結構和網絡環境的制約;
目前主流的預言機項目(如Chainlink等)都採取授信第三方可信機構(如Google)作爲節點,從而完善相關DeFi產品的喂價機制。
數據預言機與爬蟲的區別
有人認爲預言機是在爬蟲的基礎上增加了去信任機制。爬蟲只是一種抓取網頁數據的方式,而預言機雖然採用爬蟲的方式獲取數據,但是更多的是採用授信傳統第三方機構作爲節點的方式獲取數據。
預言機和爬蟲在數據輸出格式上也有顯著的差異
一方面,利用爬蟲抓取的數據極有可能是非結構化的,可讀性較差,而預言機獲取的數據在格式上必須符合智能合約調用的要求,用戶和預言者可以根據智能合約的要求自定義數據的輸出格式。
更重要的是,預言機在調用高頻數據(如 BTC價格等需要實時更新的數據)上遠遠優於爬蟲,可以避免數據在獲取的過程中因程序運行故障而陷入停機,而爬蟲則很容易在程序運行過程中陷入中斷。
理想預言機網絡應當滿足的條件
數據調用是基於雙方相互信任的(不可篡改)。預言機在調用外部數據引入智能合約時,應當保證最終反饋給用戶的數據與數據來源本身的數據一致,防止預言者中途篡改。
經過服務請求方的確認和其他預言者的驗證後,如果調用數據結果無誤,則將調用數據寫入智能合約,並將交易記錄上傳到區塊鏈上;如果調用數據出現不一致,則該交易將被定義爲非法交易。
數據調用具有高效性。預言機合約通過智能合約規定,如果預言者沒有在請求發出後的規定時間內響應用戶請求,或者是響應請求超時,則自動取消交易,並且對服務供應商實施懲罰;
數據調用安全性高。預言機的設計必須有效遏制各種數據腐敗行爲,比如女巫攻擊鏡像攻擊、復制答案(喫空餉)等。
並通過強制節點在TEE(TrustedExecution Environment)環境中執行解密並向區塊鏈匯報所有用戶和節點都能看到的通用答案。
符合激勵相容原則。預言機激勵機制和監督機制的設立必須實現激勵相容,但是無論是PoW(Proof-of-Work)還是PoS(Proof-of-Stake)都很容易造成多數人攻擊,前者體現在挖礦方面,通過礦池等組織形式發起攻擊;後者則是通過超額抵押(Staking)和賄選等方式實現攻擊。
因此,治理機制的設計必須充分調動其他競爭預言機的監督積極性,並不能夠將代幣獎勵和打包概率等決定預言者收益的指標相掛鉤。否則,將不可避免地發生預言者和用戶因利益不一致而產生的委托代理風險。
數據資產化。數據應當作爲一種資產,根據其資源的重要性和稀缺性進行定價,以公允價值的形式寫入智能合約。
目前,數據資產缺乏有效的定價機制,因爲數據的種類千奇百怪,不同類型的數據對不同用戶的作用也是存在顯著差異,而目前數據定價權歸數據的資源方主導,並沒有實現去中心化。
預言機架構
根據商業組織形式分類,預言機可以是中心化的單一預言者的機制(如Oraclize)--中心化預言機;同樣也可以是去中心化的多個預言者的機制(如Chainlink、DOS Network等)--去中心化預言機。
中心化預言機由單一預言者(Oracle)爲服務請求方提供數據
對某一特定的數據服務請求,在請求方指定個數據來源並向中心化預言者發送合約請求後,服務商從1個或多個數據來源的接口調用數據,最終反饋給請求方的數據可以是1個數據來源的,也可以是從多個數據來源的結果進行匯總。一般來說,由於單一數據來源的成本遠低於從多個數據來源匯總的成本,中心化預言機僅有從最可信的一個數據源調用數據,以實現整個預言機系統的高效運行。
去中心化預言機由多個預言者共同提供數據獲取服務
利用糾刪碼(Erasureencoding)技術實現答案冗余,增強整個預言機系統的容錯能力。
當所有的預言者的規定時間內提交的答案匯總(匯總的方法包括加權平均、中位數或衆數的方法按具體調用的數據而定)後,將匯總後的答案反饋給請求方。
中心化預言機和去中心化預言機兩類除了底層的網絡協議(TCP/IP協議)、加密基礎設施和硬件執行環境(一般爲TEEs)相似以外二者在技術架構上有着顯著差異,其中標志性的差異是:中心化預言機需要可信第三方作爲驗證人或者審查機構自證清白,而去中心化預言機通過多個預言者(Oracles)之間進行相互驗證。
標題:區塊鏈預言機的基本架構解析
地址:https://www.coinsdeep.com/article/1834.html
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。