Oracles

Oracle 問題的準確和簡要定義是什麼?

  • August 22, 2020

Oracle 問題的準確和簡要定義是什麼?這是否意味著“信任集中Oracle”?或者“如何在一組預言機之間達成共識”?問題是“中心化”還是“基於信任”?(這與區塊鏈的去中心化特性相反。)

預言機問題是:

“如果預言機允許在鏈上導入損壞的數據,自動執行的智能合約可能會產生災難性的影響”


一旦數據被報告給區塊鏈,該數據現在就是區塊鏈歷史中不可改變的一部分。如果智能合約根據該數據錯誤執行,您的合約不僅沒有按照預期執行,而且可能造成無法彌補的損失。

因此,當您問這是否意味著“信任集中式 Oracle”或“如何在一組 Oracle 之間達成共識”時,兩者的答案都是肯定的。你想弄清楚如何在不集中任何部分的情況下將數據帶到鏈上,這樣你就可以擁有去中心化的智能合約。

如果您的數據是集中的(來自一個來源)並且該來源被賄賂、黑客攻擊、損壞或折舊,您的契約將不再有效。

預言機問題的解決方案是建立一個分散的預言機網路,將不同的獨立數據源帶到鏈上。我們已經看到Chainlink 解決了這個問題。

區塊鍊是一個有圍牆的花園。

它也被描述為將現實世界狀態放到區塊鏈狀態上的問題。

數據只有在輸入區塊鏈後才可信。

但是,我們仍然需要相信最初輸入的值。

例如:

  1. 我有一個智能合約可以獲取目前的 eth/usd 匯率。我會在客戶端進行 API 呼叫,並將結果作為參數輸入到我的智能合約函式中。
  2. 如果 API 失敗或錯誤,我的智能合約也會以我不希望的方式執行
  3. 因此,我們將從至少 3 個不同的來源中提取相同的數據。如果 2/3 在同一個非常窄的誤差範圍內,則您可能擁有可靠的數據源。

引用自:https://ethereum.stackexchange.com/questions/57071