header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

如何實現真正的去中心化預言機?

閱讀本文需 16 分鐘
隨機性和去中心化的預言機。
原文標題:《如何實現真正的去中心化預言機?》
原文作者:Zak Ayesh,翻譯:MoQi



前言:預言機是整個加密世界非常重要的一環。不過,當前的去中心化預言機還無法達到領先公鏈級別的安全和去中心化。而需要預言機服務的智能合約安全會依賴於最薄弱的環節,如果預言機方面通過選擇高質量認證節點運營商,通過懲罰方式,通過聲譽指數等方式來確保安全,也許在短期和中期內有利於引導出網絡,並提供一定程度的安全,但也存在一個很大的安全隱患:如何防止這些已知節點的合謀。如果想要達成真正的去中心化預言機,最重要的是構建達到公鏈級別的安全,而隨機選擇節點是其中的一種重要方法。它本質上也是一種共識機制的設計。

本文提出一個附加安全層的想法,可被整合到諸如 Chainlink 這樣的預言機中,以供智能合約使用:隨機選擇節點運營商。

當前 Chainlink 的安全設計


Chainlink 試圖解決加密領域的重大問題:預言機問題。Chainlink 白皮書中,我最喜歡的描述之一是其團隊開發協議的縱深防禦方法。該計劃允許智能合約開發者可以調整下列的安全變量,也稱爲「服務級別協議(SLA)」,以適應各自不同的合約情況:

自由選擇所需的節點運營商數量

使用鏈上驗證合約來確定高質量的節點

使用鏈上和鏈下聲譽指標來確定高質量的節點

要求使用可信執行環境(TEE)

要求節點運營商持有一定數量的抵押資產

對惡意節點的抵押資產進行懲罰的嚴重程度

獎勵給行爲良好節點的金額

如何聚合節點響應(這也控制瞭如何獎勵或懲罰節點的確切條件)

使用 Chainlink 自己的可信和經過審查的節點運營商,以抵抗女巫攻擊

底層區塊鏈的選擇。Chainlink 是一種協議,可以移植到最安全的智能合約區塊鏈。


那麼,舉個例子。假設我是一個開發團隊的成員,該團隊擁有一個有數萬億美元流動的智能合約。我可以要求 300 個在驗證和聲譽合約/服務上擁有最高分數的認證節點運營商,只選擇那些在可信執行環境(TEE)中運行節點的運營商,要求每個節點至少抵押了 100 萬美元的 Link 代幣,懲罰所有偏離平均響應兩個標準差的節點運營商,並慷慨獎勵所有兩個標準差以內的節點運營商。

這樣的行爲有很高的安全性。可能會過猶不及,我上述提到的假設也可能無法實現。但這是 Chainlink 協議的精妙之處。它允許智能合約開發者以及社區來決定爲某個特定的智能合約在預言機中提供多大程度的安全性。智能合約的安全取決於其最薄弱的環節,Chainlink 的 CEO Sergey 曾表示其目標是讓預言機跟運行智能合約的區塊鏈一樣安全和去中心化。但是,在所有這些防禦層中缺少實現這一目標的關鍵安全特徵:隨機節點運營商的選擇。

隨機節點運營商和抗合謀

讓我們簡單看下以太坊的共識算法,以太坊是當前運行 Chainlink 的區塊鏈。以太坊當前運行在 PoW 共識算法上,有計劃切換到 PoS。在 PoW 中,任何人都可以成爲礦工,以創建和驗證區塊,其方式是通過設置挖礦節點,加入網絡,並尋找正確的隨機數以挖出區塊。

儘管這創建了任何人都可以參與的無須許可的網絡,但它同時也創建了一個更加抗合謀網絡。(藍狐筆記:抗合謀是指不易串通)

這種抗合謀性來自於這樣的事實:區塊生產者並非由中心機構或人選擇的,而是根據它們所貢獻的哈希算力比例隨機選擇出來的。沒有實體可以確定地知道哪個節點會提議下一個區塊。

然後提議的區塊由運行全節點的整個網絡檢查,攻擊者可以通過合謀來啓動區塊鏈篡改的唯一方法是,合謀的羣體是否擁有超過 23% 的哈希率。如果要造成任何實質性的損害,通常認爲必須要控制超過 50% 的哈希率。將它跟 EOS 的 DPoS 共識算法進行比較,它通過社區投票來選定有限的驗證者,也就是 21 個代表節點,它因此也遭受可能的腐敗及合謀的指責。

我的想法?只要智能合約開發者在選擇特定的節點運營商,它們就無法達到跟領先公鏈相同的抗合謀級別。一羣已知的節點運營商遠比從一個池中隨機選擇的節點運營商更容易實現合謀。即使使用像 SGX 這樣的可信執行環境(TEE),你實際上也要在組合中添加一個可信運營者,例如 Intel(藍狐筆記:此處是指除了要相信已知的節點運營商之外,還要相信硬件廠商)。

在這裏,我的意思不是說 Intel 會有意地設計帶有後門的 SGX,也不是說所有合約都需要達到以太坊底層鏈級別的安全,但有些合約確實需要這種級別的安全。如果我們想要達成這一目標,Chainlink 需要增加另外的安全性,基於 staking 上的安全的隨機信標。

解決方案:以太坊 2.0 信標鏈+Staking

對於緩解 Chainlink 中節點運營商可能的合謀問題,我的建議是允許智能合約開發者使用安全的隨機信標從無須許可的節點運營商池中隨機選擇節點。真正安全的隨機信標在區塊鏈中很難達成,但很幸運,以太坊已經有提議要實現安全的通用隨機信標,即以太坊 2.0 信標鏈。

說以太坊中的信標鏈會產生不可預測和沒有偏見的隨機性,它基於這樣的假設:至少有一個驗證者是誠實的,並且不存在 VDF ASIC 硬件的速度快於商品 VDF ASIC 硬件速度很多倍的情況。實際上,你會看到我的建議實質上是使用一個非常類似於以太坊 2.0 的權益證明工作原理的系統。

讓我們假設有特定的數據流在很多不同的智能合約中都有非常高的需求,例如,讓我們假設其中的一個數據流就是 ETH/USD 價格流。任何人都可以爲這個數據流啓動節點,並加入網絡。但是,不是加入和等待一個智能合約開發者來選擇你,而是你加入節點運營商的池子,在這個池中的所有節點都給智能合約提供相同的數據流。

以太坊隨機性信標被觸發,並且當它觸發時,節點運營商的新委員會被選擇出來,委員會規模由需要預言機服務的智能合約的 SLA 決定。(藍狐筆記:SLA 是指服務級別協議)其中,某個特定節點被選進委員會的概率將與其在池中質押的 Link 代幣數量比例成正比。這些節點將提供數據流,數據會被彙總,並將根據使用服務的智能合約的定義來進行獎勵或懲罰。

這可以疊在所有當前計劃的安全功能之上。

或許智能合約開發者可以基於鏈上聲譽指標部分影響節點被選中的概率;質量聲譽越高,被選中的可能性越大。智能合約可以獎勵使用 SGX 的節點,或者它可用於當前中心化認證服務,其中你至少知道誰是池中的一些較大的節點。

當然,這需要足夠大的節點運營商池,才能從根本上消除池中已認證節點之外的女巫攻擊威脅。在以太坊中,估計有數以萬計的節點,這很容易假定這些節點中的大多數並非由少數幾個假裝很多的運營商所控制。

結論

我不是第一個想出這個主意的人,有幾個即將到來的預言機網絡也發現節點選擇缺乏隨機性,並提出了自己的解決方案(通常它們有自己的 PoW 鏈,對此我也有所保留)。其中的案例包括 Witnet 和 Tellor。還有其他解決方案,例如可能的去中心化身份協議。這是一個非常基本的建議,距離詳細的規範和設計相距甚遠。

還可以從以太坊的 PoS 設計中吸取營養,例如鎖定期間或對同時離線的節點處以更大的懲罰。本文的目的更多是對拋磚引玉,希望 Chainlink 和社區採取行動。從長遠看,我們必須最小化對第三方的信任,以及最大限度地減少預言機中出現的合謀威脅。

總體來說,我認爲 Chainlink 當前的計劃和發展是出色的。使用認證服務用於抵抗女巫攻擊,同時結合所有上面提到的安全方法,這些給它超過大多數其他競爭預言機解決方案的最強防禦屬性。這些方法還具有快速引導出網絡的額外好處,並且在節點運營商還不夠多的情況下,可能在中短期內有更好的安全性。

然而,從長遠看,如果我們真正想要開發出最去中心化的預言機解決方案,如果我們想要在安全和無須信任方面儘可能達到與領先公鏈如以太坊相同的級別,那麼,我們就不能簡單地相信選擇的一組節點運營商不會合謀。獲得隨機性可能是 Chainlink 未來需要確保自己安全的最後一項功能。

來源鏈接:mp.weixin.qq.com

區塊律動 BlockBeats 提醒,根據銀保監會等五部門於 2018 年 8 月發佈《關於防範以「虛擬貨幣」「區塊鏈」名義進行非法集資的風險提示》的文件,請廣大公衆理性看待區塊鏈,不要盲目相信天花亂墜的承諾,樹立正確的貨幣觀念和投資理念,切實提高風險意識;對發現的違法犯罪線索,可積極向有關部門舉報反映。


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交