什么是區塊鏈預言機?
預言機是區塊鏈和自然世界的接口,目前是一個區塊鏈技術發展的方向。對于智能合約來講,預言機就是智能合約的輸入參數。而大家都知道,智能合約是無法離開參數的輸入的。而參數直接影響到了智能合約的最終的輸出結果。
舉一個例子,預測世界杯的比賽結果,依賴于關鍵節點的數據輸入,如果有人惡意的輸入錯誤的結果,那么,智能合約依據這個錯誤的結果一定會輸出錯誤的結論。
預言機是一種可信任的實體,它通過簽名引入關于外部世界狀態的信息,從而允許確定的智能合約對不確定的外部世界作出反應。預言機具有不可篡改、服務穩定、可審計等特點,并具有經濟激勵機制以保證運行的動力。目前,預言機有兩種模型:單一模型和多重模型,有時候多重模型又稱為“Oracle(不是甲骨文數據庫公司)網絡”。
單一模型只包含一個預言機,這一預言機是可信任的,它會正確地執行代碼,合約的參與者能確信它不會與合約的某一參與方相勾結,單一模型類似于軟件即服務提供者。對于大部分應用,單一模型已經就足夠安全,并且經濟實惠。目前一個單一模型的實例是 Oraclize。
多重模型包含多個預言機,甚至是預言機網絡。雖然單一可信任的預言機對大多數用戶來說已經足夠了,但是高價值的資產處理需要更高的可信任度,這就需要用到多重模型。在這一模型中,代碼的執行分布在若干獨立的預言機中,例如將 10 個預言機的數據設置一個可信臨界,臨界值數量的智能預言機必須就結果達成一致。假設用戶使用 7/10 模型,只有當等于大于 7 個智能預言機一致時,合同才能夠執行。這一模型留出了 3 個緩沖,也許有的智能預言機離線、出現問題或者被黑客攻擊,只要不多于 3 個就不影響合同代碼的執行。多重模型比單一模型更加復雜,成本更加高,但是它提供了更好的安全保障。
智能合約和預言機相輔相成,一定會在區塊鏈技術的發展中不斷地壯大起來,最終實現自然世界和區塊鏈世界的數據自然高效地流轉。