Oracle Blockchain —— 配合上帝協議的神諭

區塊鏈作為一個去中心化的分散式資料庫,自成一體地通過分散式計算及儲存,形成自我驗證及管理系統,不需要依賴第三方中介去證明資料存在,但在特定的情況下,區塊鏈仍需要引入第三方的數據,以完成其預設功能,而將數據傳遞到區塊鏈這個對外封閉、對內開放的體系內,這個時候就需要 Oracle 的存在。

以區塊鏈內的智能合約為例,智能合約背後的概念由電腦科學家 Nicholas Szabo 於 90 年代提出,並被其稱為上帝協議(The God Protocols),它是由可信任的第三方(於概念中即上帝)所控制的協議,所有人都可以將數據(記錄)交給上帝,上帝計算完畢就派回結果,沒有人可以介入計算過程。

區塊鏈作為封閉式系統,它基本上不具備與外部系統進行對話,或交換數據的內置功能,因這樣可能會破壞網絡共識,基於效率和數據特質等因素,也不可能逐項數據進行網絡共識,試想像匯價在完成網絡共識後,最新匯價已經偏離上千個價位;以天氣數據為例,從權威機構如天文台取得的數據,再取網絡共識的作用亦不大。

於是,輸入數據及傳遞指令的工作,就交由 Oracle(台譯:預言機)去處理。技術上來說,Oracle 為區塊鏈提供渠道助鏈外數據進入鏈內,這些數據可以是匯價、資本市場數據、基準參考數據、天氣以至是政治事件。

正確來說 Oracle 的作用不單是傳遞,它應對來自去中心化應用程式的查詢及分析;核對支付及數據權益是否合規;尋求鏈外數據來源;交易數據的簽署;向網絡廣播交易以及安排進一步的交易。

去中心化 Oracle 比較可信

Oracle 中亦有分中心化與非中心化,作為為區塊鏈引入數據的橋樑,若 Oracle 以中心化的結構設計,引入單一數據,加上來源並不安全,數據的可信度便大大降低甚至不足。

簡單來說,智能合約依賴 X 而輸出 Y 的結果,X 的可信性則非常重要。若 Oracle 本身是一個中心化的設計,就會很容易被黑客入侵,結果可能會演變成即使 C 都可以扮成 X 成功進入智能合約,換言之輸入 C 亦可以得出 Y 這個結果。這也是一些平台被黑客攻擊後,被盗取資產的潛在原因,因此,去中心化 Oracle 相當重要。

去中心化 Oracle 就是透過區塊鏈的特性與共識機制,讓 Oracle 從多個不同渠道取得數據,降低數據的誤差,為智能合約提供準確可靠的數據。因此,去中心化的 Oracle 有數據認證的功能,沒有人為介入的處理程序亦提供了一個可被信任的執行環境。

以 ChainLink 的 Oracle 為例,當區塊鏈需要某一項數據,ChainLink 會讓多個數據提供者進行競標,為了確保數據準確性,提供者需抵押一部份 ChainLink 代幣作為按金,若提供者進行違反系統行為,按金則會被沒收。這個運行方式不單擴闊數據來源,同時引入懲罰機制,以確保為區塊鏈引入準確的數據,不讓區塊鏈受到誤導。

總括來說,Oracle 是為智能合約提供無法在鏈內取得的數據,彌補區塊鏈因技術、私隱及成本方面的限制及不足。隨著發展,目前的 Oracle 不單可結合市場數據、連接不同 API 等,亦可連接不同區塊鏈的數據傳輸,支援跨鏈應用及認證。

梁永熹

區塊鏈科研創辦人及行政總裁