區塊鏈預言機
BlockChainOracle
最近筆者了解了很多區塊鏈智能合約專案的程序中
總會接觸到BlockChainOracle這一名詞
在不少中文白皮書里,它被翻譯為區塊鏈預言機
而常年混在幣圈的筆者,剛開始也是知之甚少
網上的介紹文章也比較少,很多都沒有講明白
甚至有些還是錯誤的
所以我反復查找資料,請教技術大佬
整理了一篇詳細的文章
分享給大家
相信看完一定會對預言機有一個深層次的了解
那什么是預言機呢?
預言機其實是一種單向的數字代理
可以查找和驗證真實世界的資料
并以加密的方式將資訊提交給智能合約
預言機就是區塊鏈與現實世界進行資料互動的介面
好比區塊鏈世界中的一個第三方資料代理商。
01
簡單
讓我們來舉個例子
來我們來舉個例子:
假設現在我被關進了一個小黑屋里
我對外面的世界發生了什么幾乎一無所知
不知道外面是否有人,即使呼叫也沒有人回應
只有外面的人在門口告訴我
我才可以得知外面的改變
智能合約就像這個例子中的“我”一樣,它無論何時何地
都無法主動向外尋求資訊
只能外部把訊息或資料給到里面。
而預言機就是這個在門口收到我的請求后
從外面輸送訊息和資料的人
這樣類比雖然不準確
但意思就是預言機是區塊鏈和現實世界之間的紐帶
可以實作資料互通的工具
所以預言機并非預測機,也沒有預測未來的功能
1:預言機沒有預知未來的能力
2:預言機是連接真實世界與區塊鏈世界的紐帶
02
Oracle
區塊鏈與預言機
為什么叫預言機?
Oracle是起源于古希臘神話中的一個角色
他可以跟奧林匹斯山上的諸神進行溝通
并將神的旨意傳達給人民,因此有著“神諭、先知、預言”的意義
先知
在互聯網領域
承擔這種類似“溝通者”身份的機器
被稱為Oraclemachine(諭示機或預言機)
而在區塊鏈領域,則被命名為BlockChainOracle
結合它的神話意義和實際用途
因此翻譯成了區塊鏈預言機
那區塊鏈為什么需要預言機呢?
目前我們要明白的是
現在所有的公鏈其實是一個封閉的系統
他只能讀取鏈上的資料,無法感知真實的世界
主要是因為區塊鏈無法主動發起Networkcall(網路呼叫)
而鏈上智能合約是被動接收資料的
其次,智能合約更應該叫可執行腳本
它并不“智能”只是在滿足相應條件下
才達到觸發狀態的程式
同時,智能合約最終的執行需要合約參與方的私鑰簽署,
智能合約本身沒有辦法自動執行
當智能合約的觸發條件取決于區塊鏈外資訊時
這些資訊需先寫入區塊鏈內記錄。
此時需要通過預言機來提供這些區塊鏈外的資訊。
預言機如何作業
下面就是理想中預言機的作業流程
即用戶的智能合約把請求給鏈上Oracle合約
通過鏈下的API介面獲得外部資料
更確切的說是外部把資料給鏈上的Oracle合約
然后Oracle合約再把資料給用戶的智能合約。
或許很難理解
因為在互聯網中,呼叫資料是非常容易的
只需要在程式中寫呼叫的代碼就可以了
但是區塊鏈與外部世界的資料互動
確實不能進行這樣的操作
預言機的應用場景
預言機作為區塊鏈與現實世界進行資料互動的橋梁
應用場景非常多
可以說一切需要與鏈下進行資料互動的DApp都需要預言機
比如金融衍生品交易平臺
借貸平臺、快遞追蹤/IoT、穩定幣、博彩游戲、保險、預測市場等
目前最主要的場景就是DeFi
預言機種類
目前,預言機有三種型別
分別是軟體預言機、硬體預言機及共識預言機
軟體預言機
即通過API從第三方服務商或者網站獲取資料
來作為智能合約的輸入資料
最常用的如天氣資料、航班資料、證券市場資料等等
硬體預言機
通常表現形式是物聯網上的資料采集器。
比如前面舉例的溯源系統,安裝在各個設備上的傳感器就是硬體預言機。
區塊鏈技術在物聯網領域的廣泛應用將催生出大量的硬體預言機
硬體預言機的核心技術與區塊鏈無關
表現形式更多是傳感器和資料采集器
共識預言機
區別于前面兩種預言機的中心化
通常又被稱為去中心化預言機
這種預言機通過分布式的參與者進行投票。
由于預言機的存在
其實對區塊鏈的更精準的定義應該是:“維持信任的機器”。
區塊鏈本身并不產生信任
信任的輸入來自于“預言機”
預言機作為區塊鏈的基礎設施,仍在發展中,面對物理世界多樣化情景的處理仍是一個主要的挑戰
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/167127.html
標籤:區塊鏈技術
上一篇:【kimol君的無聊小發明】—用python寫圖片下載器
下一篇:谷歌瀏覽器之安裝插件(SwitchyOmega_Chromium)提示程式包無效:“CRX_HEADER_INVALID“
