基于一個為以太坊提供中心化數(shù)據(jù)傳輸預(yù)言機服務(wù)的項目Oraclize介紹
什么是預(yù)言機
區(qū)塊鏈技術(shù)正在受到全世界的廣泛關(guān)注。區(qū)塊鏈的去中心化、無須信任、防篡改的特點使得區(qū)塊鏈成為了信任和價值交換的基石。智能合約更大的意義在于?動化執(zhí)?,將合約置于一個可信的執(zhí)行環(huán)境中,在這個安全的環(huán)境中對數(shù)據(jù)做出處理。我們正在web2.0 這個舊世界里搭建起來基于區(qū)塊鏈、智能合約的去中心應(yīng)用,這些去中心應(yīng)用包括 分布式云存儲、保險、游戲、市場預(yù)測等。
不過,區(qū)塊鏈無法主動獲取現(xiàn)實世界的數(shù)據(jù),既不能直接引入互聯(lián)網(wǎng)數(shù)據(jù),也不能自發(fā)調(diào)用外部網(wǎng)絡(luò)API,而任何商業(yè)應(yīng)用都不可避免地要與現(xiàn)實世界交互,特別是與互聯(lián)網(wǎng)數(shù)據(jù)交互。
這就是預(yù)言機(oracle)誕生的理由。
如何在一個可信的環(huán)境引入一個外部數(shù)據(jù)源呢,這個數(shù)據(jù)源如何做到可信呢?
目前市場上的預(yù)言機:
?Oraclize 是一個為以太坊提供中心化數(shù)據(jù)傳輸預(yù)言機服務(wù)的項目,其依托亞馬遜 AWS 服務(wù)和 TLSNotary 證明技術(shù),提供預(yù)言機的服務(wù)。它是中心化的,而且TLSNotary要花費很多的Gas,這筆消耗最終還有要由用戶買單。
?Chainlink 是以太坊區(qū)塊鏈上第一個被提出的去中心化預(yù)言機解決方案。比起 Oraclize 的中心化,Chainlink 更符合區(qū)塊鏈去中心化的準(zhǔn)則。Chainlink 主要提供用于幫助智能合約訪問關(guān)鍵鏈外資源、網(wǎng)站 API 和傳統(tǒng)銀行賬戶支付的預(yù)言機服務(wù)。 Chainlink 也擁有一個對節(jié)點的信譽評價體系,信息需求方可以選擇特定信譽級別的節(jié)點,每次信息反饋之后也會更新每個節(jié)點的信譽評分。但它有幾個缺點,其中最大的缺點是過多的Gas費用消耗——區(qū)塊鏈中的交易數(shù)量正比于參與每輪共識的預(yù)言機客戶端數(shù)量。在Chainlink的長期規(guī)劃中,它將來會探索支持鏈下聚合的法。同時,它的協(xié)議和簽名方案是交互式的,涉及多輪消息交流,在最糟糕的情況下,它需要大多數(shù)鏈下客戶端的參與,因此Chainlink的性能和可擴展性一般。
?DOS Network 是一個提供去中心化的預(yù)言機服務(wù)的網(wǎng)絡(luò)。它不但提供預(yù)言機功能,同時也為區(qū)塊鏈提供無限的且可驗證的計算力。
Dos Network 在鏈上監(jiān)測用戶數(shù)據(jù)請求,鏈下監(jiān)控和接收數(shù)據(jù)請求,再通過鏈下隨機選一組節(jié)點來提供數(shù)據(jù),一旦收集來的數(shù)據(jù)通過組內(nèi) 51% 節(jié)點共識被視為「正確答案」,最后鏈下再將獲取的答案反饋給鏈上信息請求方。 但是不能避免第三方故障點。比如說 CoinMarketCap 或 CryptoCompare 出現(xiàn)故障, 就不能提供服務(wù)了。
Band Protocol 預(yù)言機
Band Protocol 是一個安全且可擴展的去中心化預(yù)言機(oracle),以 Layer 2 的形式為公鏈擴容。它允許去中心化應(yīng)用將互聯(lián)網(wǎng)上的現(xiàn)有數(shù)據(jù)進(jìn)行利用,而無需可信任的中介。與現(xiàn)有的其他協(xié)議相比,Band Protocol 提供了更便宜,更快速的解決方案,并且不會影響安全性。使用 Band 協(xié)議的開發(fā)者將能夠構(gòu)建更廣泛的去中心化應(yīng)用,并集成到鏈下財務(wù)數(shù)據(jù)。
?能直觀的查詢和處理數(shù)據(jù)請求,只要對?個智能合約做簡單的函數(shù)調(diào)?,就能接收真實世界。通過使用接口提供的 queryPrice 函數(shù),可以直接調(diào)取外部數(shù)據(jù)。
?沒有第三方故障點
一個數(shù)據(jù)集可以由多個第三方數(shù)據(jù)提供,然后Band做整合,一個點失效了,還有其他數(shù)據(jù)提供點。數(shù)據(jù)來源可以使?平均值、中位數(shù)或多數(shù)進(jìn)行聚合, 并且可以從多個來源(如中?化外部數(shù)據(jù)來源或鏈上數(shù)據(jù)聚合器)進(jìn)行聚合。
?而且每種數(shù)據(jù)類型有專用的Token進(jìn)行支付,比如說 金融數(shù)據(jù)集 使用 A Token 消費,彩票數(shù)據(jù)集使用 B Token 進(jìn)行消費
為什么這么設(shè)計呢?有 2 個優(yōu)點
1.當(dāng)代幣的價值直接與該組中管理的特定數(shù)據(jù)集綁定,那整理真實數(shù)據(jù)將完全帶給代幣持有者直接好處。反過來說,如果全網(wǎng)只有?個代幣,則無法知道哪種數(shù)據(jù)的貢獻(xiàn)是否有顯著的價值。因此,數(shù)據(jù)的安全性和可靠性模型較弱。這很容易導(dǎo)致公地悲?。═ragedy of the Commons)和數(shù)據(jù)分歧。
2.反面來說,如果全?僅有?個Token,?個錯誤的數(shù)據(jù)集可能不會導(dǎo)致代幣的價值顯著下降。因此,賄賂代幣持有者來操作?個數(shù)據(jù)集的可能性比?個 數(shù)據(jù)集有?個代幣的情況更可能發(fā)生。因此在個別數(shù)據(jù)集個別代幣這種情況下,代幣持有者的損失將大于數(shù)據(jù)集的品質(zhì)下降,更可防范賄賂的情況發(fā)?。
數(shù)據(jù)集治理
由于每種數(shù)據(jù)集都有自己的Token,Token的供應(yīng)量如何確定呢?Band Protocol 會發(fā)行 BAND Token作為基礎(chǔ) Token, 然后 每個數(shù)據(jù)集的 Token的 通過一種聯(lián)合曲線(bonding curve)的函數(shù)映射方式,與BAND Token確定 供應(yīng)量與價格。這種函數(shù)映射方式是在智能合約里執(zhí)行。
下面是 Band Protocol與其他預(yù)言機的詳細(xì)對比
Band Protocol 支持的數(shù)據(jù)類型
目前 Band Protocol 已經(jīng)支持某些金融 、體育 、彩票的數(shù)據(jù),還可以通過 Web Oracle API 獲取數(shù)據(jù), 大家可以去 https://app.kovan.bandprotocol.com 體驗下, 數(shù)據(jù)的獲取方式很直觀自然, 而且快速,消耗的 gas 更少。
來源:?Rebase社區(qū)?