區塊鏈裡的 “Oracle”是什麼意思?和甲骨文公司有關?

買賣虛擬貨幣

我們在區塊鏈白皮書裡經常會看到這麼一個詞:“Oracle”。這個Oracle到底是什麼東西?和矽谷的甲骨文公司到底有什麼關係?今天,小編為你一一解答!

不知道大家發現沒有,現在的區塊鏈白皮書中會經常出現一個片語:

預言機 oracle

甚至有時只使用單詞 oracle。這些白皮書通常強調 oracle 非常重要,卻基本沒有對其含義準確的說明。

一般讀者如果不懂技術自己查詢往往也會陷入迷茫:因為這個詞的常見翻譯 “先知”、“預言” 等都有很大的迷惑性。

這些神叨叨的意思,和區塊鏈到底有什麼關係?這個 oracle 跟甲骨文公司 Oracle、或者甲骨文公司的 oracle 資料庫有什麼關係嗎?

其實,還真有一毛錢的關係!

1、預言機的用武之地:智慧合約

要想理解預言機 oracle,就需要知道它的背景,也就是白皮書頻頻提到的“價值”,那就是 oracle 是智慧合約的重要基礎。而智慧合約是以以太坊為代表的區塊鏈 2.0 的標誌性技術,是區塊鏈技術走向商業化的一塊重要基石。

智慧合約,簡單地說,就是一段滿足一定條件就可以自動執行的程式。智慧合約其實沒你想得那麼“高大上”,我們現在的生活裡也有智慧合約的雛形,比如 “信用卡自動還款”,其實就可以視為一個低階版的智慧合約:信用卡一般和另外一張銀行借記卡繫結,到了還款日,如果銀行卡中有足夠的餘額,則信用卡會自動扣錢還款。

怎麼樣,目前為止的內容都還能看懂吧!那咱再舉一個更復雜也更具有商業化前景的案例,你也一定能看懂:

2018 世界盃即將開賽,球迷可用智慧合約來實現對賭,比如有球迷 A 預測巴西隊會奪冠,另有球迷 B 預測德國隊奪冠。

這就可以開設一個賭局:巴西隊奪冠,則 B 的賭注判給 A,反之亦然,如果兩隊都沒有奪冠,則賭約自動解除。

賭約的規則很簡單,但在區塊鏈去中心化體系下存在一個關鍵問題是,如何將比賽結果放進這個賭約當中去?也就是說如何扣動扳機,讓這個智慧合約運轉起來?

這對傳統博彩業來說極其簡單。球迷競猜其實是和博彩公司對賭,博彩公司其實暗中承擔了賭約的資訊輸入和勝負判決的責任,既當拳擊手,又當裁判員。也就是說,博彩公司承擔了賭局的組織和信用職責,這也是博彩公司肥利的基礎。

但在去中心化的區塊鏈體系中,賭局雙方是意見不同的球迷,沒有了第三方中介機構,也就取消了裁判,由此產生了誰來宣佈賭局勝負的問題。這就需要第三方資訊的介入,這個功能就是預言機 oracle 發揮作用的地方。

這是一個表面簡單,但實際比較複雜的問題。智慧合約還有更廣泛的應用,比如金融領域的股票、保險、期貨、期權交易,供應鏈中的物流、資訊流、資金流的合一,智慧製造中的定製化生產等等,都可以使用智慧合約來提升效率。

而在這些複雜應用場景中,如何確保第三方輸入資訊的準確性是智慧合約發揮威力的關鍵。

2、鏈上鍊下的隔離

區塊鏈系統從功能角度講,是一個價值交換網路。目前,BTC、ETH 等虛擬幣是具有貨幣屬性的資產。未來,人類擁有的實物資產、股票、各類卡券,甚至學歷、著作權等資質證明,都可以定義為 token(代幣)在這個網路中流通。這也是區塊鏈的獨特優勢。

區塊鏈上的資訊都是有序的、標準化的、可信的,但是現實世界卻是無序的、複雜的、可信度難以判斷的。瞄準現實世界的智慧合約才有廣泛性和商業價值,但區塊鏈和現實世界的隔離是制約智慧合約發展的一大障礙。

舉一個簡單的例子,現在有一個賭局:看美國總統川普是能強力控局,幹滿四年任期,還是在此之前就被建制派彈劾下臺?

這可不是無聊的政治八卦 —— 大國的政治走向會深刻影響社會。基於這樣的賭局,可以做很多金融交易決策,類似的案例還有英國脫歐等。這些事件在現實社會一旦發生,其重要性不言而喻。

但是,區塊鏈系統中卻無從判斷外面現實世界發生的事件,這就需要我們引入一種機制將現實社會的事件輸入區塊鏈之中。

不過,因為區塊鏈“去中心化”的特點,沒有一個節點可以對輸入資訊的真偽做出裁決,如果這種機制設計得不夠周密,那麼參與智慧合約賭局的一方就很有可能為了利益而否認事實。

其實某些有大量 “客觀資料” 產生的應用中,仍然存在輸入資訊是否可信的問題。

我們拿橡膠期貨交易作為的例子:橡膠是熱帶作物,受日照、氣溫等自然因素很大,橡膠的交易又受汽車、合成橡膠、外匯等多種市場因素影響。基於天氣資料和各類市場交易資料可以構建一個基於智慧交易合約的交易模型。

從表面看,這些資料都可以從氣象站、公司網站、交易所直接匯入,但實際上一旦涉及利益,就無法完全保障提供這些資料的機構不作惡。

這就是為什麼我們非要引入一種機制,以保障輸入智慧合約的資料都是可信的,這就是 oracle。Oracle 是連線現實世界和區塊鏈系統的橋樑。

3、oracle 是一種機制

有文章把 oracle 說成是為區塊鏈提供外部資料的資訊平臺或技術,這麼理解當然沒有錯,但可能沒有完全揭露實質。

比如共識機制解決了區塊鏈各節點資訊統一的問題,不完全靠的是技術,它也同樣依靠利益平衡機制:

在 POW 機制中,作惡的節點記賬結果會遭到拒絕承認而白白浪費電力;

在 POS 機制中,雖然存在 “富者恆富” 的弊端,但至少富者和全網路的利益是一體的,所以他們有動力維護系統的穩定;

在 DPOS 機制中,認真負責的節點會被賦予記賬權並獲得激勵,反之則被撤銷記賬權。

為確保鏈外資料的可靠性,也需要引入各種機制“懲惡揚善”。目前,常見的機制包括“多資料來源互相認證,透過投票和懲罰的機制來減弱撒謊的動機,透過事前投資獲得驗證權的方式減少‘殭屍粉(Sybil Attack)’的影響”等等。

聽起來似乎我們已經把所有能想到的問題都解決了?

其實,儘管已經有很多嘗試,但目前 oracle 設計仍有兩大障礙:

一是 oracle 的安全性不夠,被騙的可能比在現實世界中被騙的可能仍然大很多;

二是成本高,智慧合約使用 oracle 的花費的時間和投入,比在現實世界中獲取資訊要高得多。

其中第一個障礙涉及到尚沒有得到完全解決的博弈論問題:在一個系統之中,如果一半以上的成員都是壞人的情況下(好人佔多數的情況下,好人的收益是有限制的),是否有一種機制限制壞人作惡,並保證這個系統產生的資料是真實可信的?

所以,基於以上原因,筆者認為,在可以不經允許即可加入網路的公有鏈上執行智慧合約還會遇到較大困難。較為實用的智慧合約可能會在相對去中心化的聯盟鏈、私有鏈中首先落地,因為參與聯盟鏈、私有鏈的節點已經有一定程度的信任基礎,他們對進入區塊鏈的外部資料的可信度也更容易達成共識。

為什麼叫 oracle?

由上已經可以得知,oracle 就是為區塊鏈智慧合約提供可信鏈外資料以觸發智慧合約順利執行的資料來源。那麼問題來了,為什麼叫 oracle?

如果直接百度搜尋 oracle,你多半會查到甲骨文公司,或者是甲骨文公司的 oracle 資料庫技術和產品。

查專業詞典就可以發現這個詞的多種含義:Oracle 一詞最初是來源於古希臘宗教,意為“神諭、神使、先知、預言”,很多提到區塊鏈 oracle 的文章就直接取了 oracle 的本意。

這個詞還有一些宗教色彩更淡的詞義,如“聖賢、哲人、睿智的回答”等;再經過演化,oracle 就產生了“指示物,可靠的指導(如鐘錶等)”等含義,已經完全失去了宗教和神秘色彩,純粹指可以信賴的人或物。比如我們可以說 “ my sister is the oracle on beauty matters——我妹妹是美容方面的大行家”。所以,筆者認為,區塊鏈的 oracle 應該理解為“區塊鏈可信資料來源”。

那麼,我們在討論區塊鏈時提到的 oracle,和甲骨文公司的 oracle 有沒有關係呢?

甲骨文創始人 Ellison 和 Miner 給新公司起名確實是取的“神諭、先知”等宗教、神秘含義,裝個X嘛,可以理解。這就是區塊鏈 oracle 與甲骨文公司的一毛錢關係。

至於為啥美國的 oracle 公司到中國就註冊成了“甲骨文”公司,那是因為中國殷商時代的“甲骨文” 被翻譯為 oracle bone inscriptions。有中國獨有文化特徵的甲骨文又為啥被翻譯成有希臘宗教色彩的 oracle 呢?因為“甲骨”也是占卜用的,和 oracle 的“神諭”含義接近。當然也有人認為這樣的翻譯並不妥當,那就是與本文更遠的糊塗賬了。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;