預言機作為區塊鏈延伸的觸角,搭建了鏈內與鏈外之間的可信橋梁,構建了相互融合的價值生態。
原文標題:《預言機 - 區塊鏈的觸角》 撰文:李世敬,趣鏈科技基礎平臺部產品負責人
在保險、金融、隨機預測、物聯網等各個場景中,預言機在區塊鏈中已經展現出其不可替代的價值:作為區塊鏈延伸的觸角,搭建了鏈內與鏈外之間的可信橋梁,構建相互融合的價值生態。
本文將從預言機的起源、定義、原理、發展等角度進行介紹。
說起預言機 Oracle 功能,頗具歷史和神話色彩,它與 Oracle 甲骨文公司無關,最早起源于古希臘神話中的角色「神諭者」,神諭者可以跟奧林匹斯山上的諸神進行溝通,對未來做出預言,并將神的旨意傳達給祈求未來的人民,因此 Oracle 最早有著「先知」的含義;在計算復雜度理論與可計算性理論中,預言機(oracle machine)是一種抽象電腦,用來研究確定性問題。可以被視為一個附加了黑盒子(預言者)的圖靈機,這個黑盒子的功能是可以在單一運算之內解答特定問題。根據給定,預言者可以給予「是否」或者確定的計算決策結果。
相信大家已經看出在不同的場景中,預言機都會做著相同的事:在未來的某個時間給予某個系統一個確定的輸入。區塊鏈中的預言機也不例外,甚至可以說是天作之合,其作用恰好解決了區塊鏈中的一大痛點問題:外部數據源的輸入確定性。
全國政協委員:區塊鏈應“文責自負”,嚴把上鏈關:全國政協委員、中國科學院計算技術研究所高級工程師傅川表示,基于區塊鏈的相互監督和上鏈信息的不可篡改性是建立信任的基礎,在社區治理中運用區塊鏈技術,可以極大地減少多元主體間的監督成本。他同時強調,一定要嚴把上鏈關,遵循“文責自負”的原則。(新京報)[2020/5/23]
圖 1:預言機的多種含義
區塊鏈為什么這么在意外部輸入的確定性?
因為在分布式系統中,需要確保多個節點最終執行結果的一致性,從而保證系統穩定運行,對于隨機數、實時數據等操作是極具風險的,所以區塊鏈犧牲了會導致執行結果不一致的外部動態數據的獲取需要,把自己變成了一個封閉的、確定性的沙箱環境。
在這個環境中,鏈上的數據都是被動得到的(通過交易的形式輸入),且區塊鏈在運行智能合約的過程中無法對外部請求獲取新數據,只能基于已有數據以一種確定性的方式產生新數據,而區塊鏈上的智能合約或者去中心化應用(DApp)對外界數據又有強烈的交互需求,這與智能合約的執行環境產生了矛盾。
動態 | 山西16家試點銀行加入區塊鏈服務平臺 融資金額21.3億元:繼今年10月山西省正式獲批開展跨境金融區塊鏈服務平臺試點以來,截至12月11日,累計完成出口應賬款融資31筆、融資金額折合人民幣21.3億元。 截至11月,山西省共有16家試點銀行加入該平臺,利用區塊鏈分布式賬本的不可篡改和數字簽名等技術,建立銀企間信息交換和有效核驗、銀行間貿易融資信息實時互動等機制,實現對傳統融資業務流程的優化再造,受到銀行、企業特別是中小企業的廣泛歡迎和認可。(人民網)[2019/12/15]
預言機因解決此矛盾而誕生,并且一發而不可收,通過預言機中間件,智能合約可以主動獲取外部的數據,觸角可以延伸到傳統業務系統、公開網站、物聯設備、鏈下計算、鏈鏈互通等方面,做到了很多之前做不到的事情:獲取傳統業務數據、調用公開網站信息、物流快遞追蹤、保險自動賠付、獲取其他鏈的信息 ... 從此打開了想象力的大門。
聽起來好像預言機也沒什么了不起,只是一種中間件調用外部數據,然后把數據返回到區塊鏈中,但理想很簡單,現實很骨感,如果思考下去,你會發現在使用過程中有幾個難點:
如何保證獲取的外部數據源真實可信?
聲音 | 東方通:公司參與設立的產業基金投資領域主要包括區塊鏈技術等:東方通(300379)在深證互動易回復投資者提問表示,宏鏈科技為公司參與設立的產業基金投資的參股公司,產業基金投資領域主要包括企業軟件、企業服務、信息安全、大數據應用、互聯網應用、人工智能、云計算、區塊鏈技術、智能制造、新一代通訊技術等。[2019/1/31]
如何保證數據在傳輸和處理過程中的安全?
時效性、成本 ...?
針對上述問題,我們根據趣鏈區塊鏈平臺預言機架構流程圖進行闡述說明。
圖 2:預言機架構模型圖
首先,預言機一般會作為區塊鏈的一個獨立模塊或第三方服務與執行引擎進行交互。預言機只負責數據的可信獲取,不直接參與交易的執行。首先,用戶通過合約調用的形式(也可以通過特殊的 API 接口服務等其他方式發起預言機服務請求)發起預言機的服務請求,通過調用某個內置合約接口(圖中「預言機服務」接口),告知區塊鏈執行引擎,用戶想要執行一筆含預言機服務的交易。
行情 | 美股區塊鏈中概股漲多跌少:今日美股開盤,在美上市區塊鏈中概股漲多跌少。人人網平盤,寺庫上漲1.17%,中網載線下跌0.83%,迅雷上漲0.57%,獵豹移動下跌0.78%,蘭亭集勢上漲3.91%。[2018/12/28]
其次,執行引擎執行過程中檢測到對預言機的服務請求,通過內部通信組件將它轉發給預言機模塊,這個請求里會封裝請求外部數據源的一些信息,如一個 Web 數據請求,會包含常見的 URL、HTTP Headers 等信息。
再次,預言機在收到服務請求后,向外部數據源發起數據獲取請求,拿到數據后利用交易生成器產生一筆新的內部回調交易,并對其進行簽名(這一過程會使用 TEE 等硬件技術保障安全及不可篡改)。
最后,預言機將這筆回調交易發向執行引擎,執行對獲取到的數據組織、管理、存儲等一系列操作,至此一個完整的含預言機服務的區塊鏈交易執行流程結束。
根據上述的生命周期流程,我們對開頭的問題進行一一探討:
這是預言機使用過程中最核心的問題,回答是沒有絕對可信,只能做到相對可信。我們在設計過程中主要在數據源認證、數據獲取標準流程、數據格式統一等方面進行約束:
動態 | 澳大利亞聯邦政府部門將使用IBM區塊鏈技術創建保護公民數據的平臺:澳大利亞政府選擇IBM作為未來五年的核心技術合作伙伴,這筆交易價值7.4億美元。該協議將涵蓋向政府部門提供的技術服務,包括將使用IBM的自動化和區塊鏈技術的服務。
IBM將為聯邦政府部門提供服務,包括國防和內政,以及創建保護公民數據的平臺。澳大利亞政府估計,這一伙伴關系將為澳大利亞公民提供大約1億澳元的儲蓄。[2018/7/9]
數據源選取和可信認證。預言機需要謹慎選擇外部數據源,必須保證對每個選取的外部數據源,都可以驗證其是可信的,如對于 Web 的數據獲取,選取的數據源需持有證書。
數據獲取標準流程。開發者必須明確執行引擎、用戶、外部數據源與預言機的數據交換流程,且對于不同的數據源類型要能夠統一或明確區分數據的交互流程,確保交互方案可執行可落地。
數據交互格式的統一定義。不同的數據源類型有不同的數據交互格式,以傳感器作為數據源和以 Web 作為數據源獲取到的數據格式是不一樣的,針對不同情況,明確統一的數據編解碼層,以對不同數據源的數據進行請求和解釋。
預言機通過兩個階段對進行中的數據實現可靠保證。
數據從網上到本地,采用 HTTPS 協議(底層采用 TLS 協議)去保障連接和數據的正確性、完整性。
數據從本地到鏈上,預言機采用可信執行環境 ( TEE ) 技術,TEE 是 CPU 內一塊安全區域,和操作系統獨立運行,可以確保數據處理過程中的機密性、可靠性,趣鏈區塊鏈平臺研發了基于 SGX 的 TEE 實現以及基于國產芯片的 TEE 實現,進行預言機的安全保護。
鏈外的數據交互處理相對于鏈內來說,在數據源可信度、預言機可信度、處理復雜度等方面都會增加,而真實場景中可信度的不同,嚴重影響著預言機的實現效率以及實現成本。在公有鏈中,默認多方完全不可信,所以會通過多預言機模型實現聚合處理、共識規則、獎懲機制及聲望系統,以達到提高作惡成本的作用,這無疑增加了功能實現的復雜度;在聯盟鏈場景中,預言機使用場景相對可信封閉,且機構節點間可信度高,單預言機實現效率高、成本低,但存在單點作惡的問題,所以各位在使用過程中應該因地制宜,根據場景具體選擇最適合的實現方式。
現在市面上預言機的分類主要為中心化預言機和去中心化預言機兩種。
中心化預言機因其中心化的思想,需要引入第三方可信機構,如國家或能提供背書的大型企業,驗證方式也是通過第三方獨立驗證。
以預言機項目 Oraclize 為例,作為一個中心化預言機,通過 TLS (Transport Layer Security,傳輸層安全)協議實現 Web 數據的可靠傳輸,并結合 Intel SGX (Intel Software Guard Extension)確保數據在本地不可篡改,Oraclize 給用戶提供了 API 接口,用戶只需要調用預先設計好的合約接口,就可以使用預言機服務獲取外部數據。
由于 Oraclize 是中心化預言機,作為一個獨立的單點模塊,這樣的實現具有高性能的優勢,但同樣也有單點故障、難以拓展的風險,且中心化的思想與區塊鏈的去中心化理念有一些背道而馳,國內主流聯盟鏈趣鏈區塊鏈平臺、螞蟻鏈等大都采用中心化預言機的實現方式。
去中心化預言機秉持著與區塊鏈相同的去中心化原則,通常使用多重簽名或分布式算法保證數據的正確性、一致性,不需要引入第三方機構,但在實現上會更困難,性能也會成為瓶頸。
以 Chainlink 為例,它建立了一個去中心化的數據網絡,每個預言機都是網絡中的一個節點,其架構分為鏈上組件和鏈下組件。鏈上組件負責和用戶交互,收集、響應用戶請求,而鏈下組件則是之前提到的數據網絡,用于處理數據獲取和傳輸。
在這個架構中,由于 Chainlink 是一個分布式的數據網絡,所以可以避免單點故障的問題,但同樣地,因為增加了分布式的數據一致性需求,其性能和實現難度成為了新的難題。
對比來看,中心化預言機由單機負責數據獲取,需要引入第三方可信機構,而去中心化預言機則是多機并行,通過互相驗證保證一致性。因此中心化預言機適用于對實時性要求高、可信度高的場景,用戶體驗較好;而去中心化預言機則相反。
從功能角度來看,預言機的功能比較純粹,主要解決區塊鏈內外數據可信連通問題。針對不同的信任場景,預言機也采取了中心化和非中心化的兩種方式提供服務。
從應用場景來看,鏈外數據是一個很大的生態,預言機可以應用在公開網站信息、物流追蹤、保險自動賠付、獲取跨鏈信息等多場景。預言機的發展一方面依賴于區塊鏈 / 智能合約技術的發展,一方面又助力區塊鏈 / 智能合約的業務延伸,隨著區塊鏈在金融、保險、物聯網等行業生態規模的擴大,預言機未來的生態價值也很值得期待。
從商業角度來看,預言機模式其實類似一個數據服務提供商,中心化預言機的商業模式本質上是一個數據服務平臺,而去中心化預言機是一個多元的數據服務生態,兩者發展方向各有千秋。
根據Skew Analytics的數據,超過5.5萬份比特幣期權合約將于本周五到期,價值22億美元。衍生品交易所Deribit的數據顯示,Deribit持有大部分比特幣期權合約.
1900/1/1 0:00:00北京的早晨,傾盆大雨,在書桌前閱讀大家給公號的留言,朋友們關心是否有一天法律突然不允許國人持有比特幣。就這個問題,颯姐給出個人觀點,不作為投資建議.
1900/1/1 0:00:00原標題:以太坊Layer2匯總現在每天你都會聽到Layer2的聲音在你的耳邊環繞,仿佛整個世界都在談論它,由于以太坊L1在當前迭代中每秒處理大約 15 筆交易.
1900/1/1 0:00:00一家?75?億美元的對沖基金表示,明年金價將飆升至新高,但隨著全球債務膨脹,尋求貨幣替代品的投資者應將目光投向比特幣.
1900/1/1 0:00:00DeFi數據 1.DeFi總市值:964.65億美元 市值前十幣種排名數據來源DeFiboxDeFi總市值數據來源:Coingecko2.過去24小時去中心化交易所的交易量:57.
1900/1/1 0:00:00There is no “dev team”. There is no company. There is only a community of alchemists figuring out.
1900/1/1 0:00:00