Chainlink丨深度分析DeFi智慧合約的資料質量問題

買賣虛擬貨幣

隨著去中心化金融(下文簡稱DeFi)的生態不斷擴張,區塊鏈預言機保障的價值也在同步增長,二者相輔相成,實現了良性迴圈。在DeFi應用價值飛速增長的同時,發展創新型DeFi生態系統並且提升其安全和可靠性也成為了一項重要工作。

區塊鏈的“預言機問題”備受關注,有許多文章專門研究了這一課題。然而,關於預言機“資料質量”的問題卻存在許多未知和誤解,這種誤解源自於許多人覺得預言機可以傳輸鏈下資料,也可以自己產生高質量的資料。我們在研究和開發安全的預言機解決方案時,發現預言機的作用是將資料傳輸至區塊鏈,並保證資料無法被篡改,而不是自己產生資料。

Chainlink價格參考資料所採用的去中心化預言機網路將資料傳輸和資料質量做了區分,Chainlink是DeFi領域最受歡迎的預言機網路,服務於以太坊上超過90%的去中心化衍生品市場。Chainlink的預言機網路成功地為已上線的應用提供優質資料,並甄別出了保障資料質量的五大關鍵要素。

1.將預言機節點連線至付費資料提供商,確保使用者合約連線至最高質量的資料。這需要預言機協議擁有密碼和身份認證資訊管理能力,讓所有節點都能安全儲存API金鑰並管理付費訂閱資料來源的賬戶登入資訊。

2.透過節點連線專業鏈下資料提供商,獲取優質精準的價格資料;連線資料聚合商,覆蓋所有市場,獲取扣除交易量因素的市場價格資料。利用預言機基於一系列原始資料聚合出全球市場價格資料是極其困難的工作,而且這樣做會為預言機產生巨大的安全漏洞,比如交易量快速轉移以及資料出現異常值等,這些都是加密貨幣市場常見的風險。

3.在預言機網路中實現去中心化,保障安全和可靠性。從多個獨立節點聚合資料,確保預言機向智慧合約傳輸資料時具有防篡改性和較高的可用性。從多個優質資料提供商獲取資料,並同時保障資料質量,在資料來源層面提升去中心化水平。

4.讓使用者和開發者在設計預言機時可以洞悉每個節點和整個去中心化預言機網路的當前和歷史服務水平,以綜合所有資訊做出理性判斷。避免採取“不公開即安全”(security through obscurity)的策略,儘量減少隱藏風險,並儘可能保障各方監督,在重大問題發生前未雨綢繆,杜絕隱患。

5.規避重大風險,如:只從一個交易所獲取資料,或預言機網路中的資料質量良莠不齊。如果在去中心化的同時不建立質量控制標準,那麼智慧合約就會面臨更多更復雜的風險,而這樣一來,高質量的預言機方案也將無法發揮其優勢。

6.為了進一步擴充套件這些對資料質量至關重要的功能,我們將討論安全的去中心化預言機網路理想的構成要素,如何正確利用Chainlink靈活豐富的服務建立優質資料,以及在設計價格預言機網路時應規避哪些重大資料風險。

安全的去中心化預言機網路具備哪些要素?

預言機是連線區塊鏈和鏈下世界的中介軟體。有了預言機,智慧合約就可以利用儲存在區塊鏈以外的資料,並連通真實世界中的日常事件。這種連通鏈下世界的能力極大豐富了智慧合約的場景,讓開發者可以在更多市場捕捉價值。隨著智慧合約連線性的提升,其攻擊表面也不斷擴大,如果要保持智慧合約防篡改的核心屬性,就必須解決這個問題。

去中心化的預言機網路是安全的中介軟體,連線鏈上和鏈下環境,為開發者提供了一個安全可靠的開發框架,讓使用者能放心地將價值高達幾十億美元的資產放進具有外部連通性的智慧合約中。如果預言機的安全性和可靠性無法與底層區塊鏈媲美,那麼即使其程式碼寫得天衣無縫,也同樣會面臨重大安全風險。

Chainlink價格參考資料集合了多個去中心化的預言機網路,是以太坊生態中規模最龐大的鏈上價格資料集,服務於領先的DeFi應用,並且使用者規模正不斷擴張。Chainlink的價格預言機網路採用了可驗證去中心化的設計思路和最高資料質量的模式,為使用者帶來最可靠的安全保障。以下是Chainlink價格參考資料的四大核心特色,所有致力於保障資料質量的去中心化預言機網路都應具備這四個特點。

從付費資料提供商獲取優質資料

雖然在區塊鏈上挖礦是普遍通行的做法,但針對具體行業輸出優質資料並保障數億美元資產卻不是人人都能做到的。相比起開發者使用預言機基於原始資料生成優質資料,更好的方法是讓節點直接從資料聚合商採集優質資料,因為這些資料聚合商通常擁有龐大的團隊和全棧基礎架構,並專門針對某個行業生成優質資料。

內部生成優質資料成本高昂,因此訪問這類資料需要收費,而且還要簽訂具有法律約束力的合約。節點必須向資料提供商(即API)付訂閱費,或者獲得資料提供商的具體授權(如:企業內部資料)。這兩種許可模式都需要建立密碼和身份認證資訊管理能力,以實現節點和API間的互動。因此,節點運營商與付費資料提供商互動時需要建立API金鑰儲存和登入資訊管理能力。

預言機如果無法管理身份認證資訊,就不能連線付費API,因此只能選擇免費的開源API或盜版API。這些API介面的資料通常質量低下、下載速度慢、響應時間不可靠且不具有法律約束力或無法保障服務質量。因此,此類資料來源無法為各類高、中、低值智慧合約提供可靠的服務。如果向智慧合約傳輸低質量的資料,合約將無法保障其資料的準確性或可靠性,因此會擴大攻擊表面。“垃圾進,垃圾出。”這句技術領域的至理名言放在這裡也同樣適用。

參與價格參考資料合約的Chainlink節點透過外部介面卡連線至所有付費API介面。這些API介面的資料質量更高、響應速度更快並且可以保障可用性和服務水平。外部介面卡採用模組化設計理念,可以用任何程式語言編寫,並可以與Chainlink節點放在不同的伺服器上。外部介面卡可以從資料提供商、web API、企業系統、物聯網裝置、支付系統和其他區塊鏈等各種環境獲取資料。

建立去中心化的優質節點運營商

如果沒有安全可靠的預言機向智慧合約傳輸資料,那麼資料質量將是一紙空談。要防止意外宕機和避免單一實體在傳輸時篡改資料,就必須建立去中心化的優質節點網路。去中心化的共識能夠大幅提升攻擊成本,因為即使網路中有幾個節點宕機或惡意發起攻擊,對最終聚合的結果也不會產生實質影響。

Chainlink的價格參考合約基於去中心化的預言機網路,聚合來自多個獨立節點的資料,這些節點都經過安全評估,且具有抗女巫攻擊能力。這些Chainlink節點由全球領先的區塊鏈DevOps和安全團隊在雲端和本地伺服器中運營,以規避預言機單點失效風險。另外還有許多由社羣運營的備用節點隨時可以加入到網路中,以提升網路的去中心化水平。

建立去中心化的優質資料來源

預言機解決方案可以在不影響任何一個資料來源質量的前提下接入多個資料來源,以此提高其穩健性。建立去中心化的優質資料來源,能夠避免某一資料提供商成為唯一資料來源,並且能防止唯一資料來源下線的情況。然而,有些情況下可能某個優質資料來源也是唯一資料來源,這時就需要更先進的加密技術來保障資料質量,比如基於權益質押的服務協議(注:下文會詳細討論)、TLS認證(Town Crier、DECO)以及零知識證明。

Chainlink價格參考合約在資料來源層面實現去中心化。每個價格參考網路都會統一從多個可靠的獨立資料提供商獲取市場價格資料。這些資料提供商全部都是付費資料聚合商,他們覆蓋了Brave New Coin、Kaiko和Amberdata等所有交易市場以及其他眾多優質的資料API。然後,所有資料將聚合成統一的參考價格資料,儲存在鏈上,智慧合約可以用簡單的read函式訪問這些資料。

開源的視覺化介面和監控

如果DeFi應用的底層智慧合約實現了開源和實時監控,那麼向智慧合約提供資料的價格預言機也應該是公開透明的。如果預言機無法保障公開透明,dApp使用者就無法驗證資料來源、提供資料的節點、響應延時、預言機網路服務歷史以及資料質量等資訊。

每個Chainlink價格參考資料合約都擁有一個開源視覺化介面,其中包括具體的鏈上資料,比如:

每個參考資料來源的最新價格

提供資料來源的DeFi專案

保障價格資料安全的節點(且節點透過了安全評估)

資料更新時間

觸發資料聚合所需的最少節點響應數量

關於每個節點和整個節點網路的其他關鍵資訊

Chainlink價格參考資料使用去中心化的節點網路和資料提供商為智慧合約提供優質的價格資料;上圖為比特幣/美元價格資料。

除此之外,還可以檢視某一節點為每次資料請求提供的服務質量,以判斷節點是否有能力成功完成資料請求任務。節點運營商、資料提供商和使用者可以使用Chainlink Explorer檢視網路中每個節點的表現,以及為甄別錯誤採取的具體措施。

使用Chainlink預言機靈活採集資料

通用型預言機網路要成為DeFi行業標準,必須具備靈活性,讓開發者能夠根據個人需要靈活建立預言機,滿足對安全性和可靠性的具體需求。雖然Chainlink價格參考資料網路中有許多資料聚合商貢獻全球市場資料,但Chainlink協議不會對預言機網路的模式或資料來源做強制性要求。相反,Chainlink會為使用者提供市場上開放程度最高的模組化框架,以滿足任何具體的需求。

可隨意配置資料來源、節點和聚合模式

開發者可以透過外部介面卡快速將智慧合約連線至任何所需的資料來源。除此之外,開發者還可以隨意設定所需的去中心化水平、資料來源、聚合演算法以及資料更新頻率。因此,智慧合約連線外部資料的方式變得極其靈活。

Market.link 是一個第三方網站,開發者可以在上面選擇預構建的外部介面卡,並訪問豐富的資料來源。

這個定製化的框架讓開發者可以按照智慧合約所需的安全保障輕鬆擴大或縮小預言機網路的規模。Chainlink擁有規模最龐大的安全節點運營商,同時還有許多社羣節點互相競爭崗位,如果使用者需要額外的安全保障,可將這些節點快速新增至任何預言機網路中。另外,資料來源的格式也在不斷豐富,聚合資料無須任何前期開發工作。

Chainlink使用者還可以選擇不同的聚合方式,比如取平均數、中位數或甚至使用加權和剔除異常值等更加複雜的演算法。另外還可以設定資料更新頻率,使用者可以選擇定時更新、基於價格偏差更新(比如價格每上下浮動0.5%時更新一次)或採用基於多個引數的混合模式。

資料提供商可以是傳統API介面,也可以自己執行Chainlink節點

Chainlink具有靈活的框架,資料提供商可以選擇以何種方式在新興智慧合約經濟中提供資料,他們可以是傳統的API介面,也可以直接執行Chainlin節點。

傳統API介面

資料提供商可以保持現有的模式,向訂閱使用者收取以法幣計價的資料服務費。Chainlink節點可以訂閱這些API,並在節點中安裝Chainlink外部介面卡,將API資料傳輸至鏈上合約。這個模式適用於任何一個資料提供商,Chainlink價格參考資料網路已經開始採用這個模式,網路中的節點訂閱了Amberdata和CoinGecko等優質付費資料。Chainlink還針對交易所API開發了外部介面卡,可以連線幣安和Coinbase等節點。

這個模式非常高效,因為資料提供商無須改變任何現有的商業模式或基礎架構。即使資料提供商本身不太願意主動為智慧合約提供服務,Chainlink節點也可以透過外部介面卡模組向開發者開放所需資料來源。另外,節點還可以訂閱本身就是Chainlink節點的資料提供商的資料服務(下文將詳細闡述),進一步提升資料的去中心化程度。

既是資料提供商,也是Chainlink節點

另一個模式是讓資料提供商成為Chainlink節點,直接向智慧合約出售資料。這個模式可以豐富資料提供商的變現模式,目前已經被幾個領先的資料提供商採用,比如Kaiko和Alpha Vantage(市場資料聚合商),以及火幣(加密貨幣交易所)。

資料提供商成為Chainlink節點將擁有一個獨一無二的優勢,那就是可以在自己的資料上進行加密簽名。使用者和智慧合約可以確信價格資料是直接來源於資料提供商或交易所的Chainlink節點,並且資料在傳輸過程中沒有經過篡改,因為節點在鏈上廣播前會用獨一無二的私鑰在資料上進行加密簽名。簽名過的資料可以透過節點的公鑰在鏈上進行驗證,確保資料的完整性和真實性。

這個框架可以讓資料提供商直接在區塊鏈上廣播資料,無須透過外部第三方將資料傳輸到鏈上。這樣一來,資料提供商就能夠控制資料在鏈上廣播的頻率,並保障資料從生成到傳輸整個過程的安全性。因此,資料提供商可以擁有足夠的靈活性,同時向多個不同的應用以獨特的方式傳輸資料,比如向一組應用以每分鐘一次的頻率更新資料,同時向另一組應用基於價格偏差值更新資料(比如價格每上下浮動0.5%更新一次)。

資料提供商可以將資料賣給Chainlink節點運營商,也可以選擇自己執行Chainlink節點

同一閘道器面向所有區塊鏈環境

資料提供商不可能熟悉所有區塊鏈環境,也不可能在每個區塊鏈上都分別設立安全機制,特別是考慮到區塊鏈是一個新很難了解所有區塊鏈環境。

Chainlink預言機網路可以利用已有或新建的外部介面卡/發起程式迅速接入任何區塊鏈環境。Chainlink是開源網路,核心開發者無需任何許可就能整合Chainlink預言機,因此可消除開發瓶頸,實現橫向擴充套件。以太坊、Polkadot、Tezos、和Cosmos等眾多領先的區塊鏈都已經將Chainlink整合至其區塊鏈網路。

這個機制可以為資料提供商和智慧合約提供統一的閘道器,面向任何區塊鏈出售和訪問資料,最終向區塊鏈上的dApp提供更多資料,併為資料提供商獲得更多收入。值得一提的是,這個機制非常靈活,因此資料提供商無須選擇把資源部署在哪裡。

為資料和服務質量提供加密經濟保障

在Chainlink預言機網路中,節點運營商和發起資料請求的智慧合約會簽訂具有約束力的服務協議,協議將約定節點在服務期間必須滿足的各項引數。引數包括資料交付(響應延遲)、資料質量(準確性)、質押的LINK金額(加密經濟擔保)、經濟懲罰(罰款)以及其他由請求方約定的條款。節點運營商的報酬將取決於其是否成功履行了服務協議並按時將優質資料傳輸到鏈上。在這個機制下,執行Chainlink節點的資料提供商可以在最大程度上靈活設定資料服務保障,提升資料可信度、完整性、可靠性以及準確性。

具有約束力的服務協議為資料質量和資料交付提供加密經濟保障。

服務協議建立在權益質押基礎上,最終能讓資料提供商為其預言機服務進行抵押擔保,為請求資料的智慧合約提供類似質量保險一樣的保障機制,如果預言機違約,質押的權益將被沒收。如果沒有服務協議,預言機網路的資料交付和資料質量就不能得到約束,這樣會導致資料請求方獲得的資料質量或預言機服務無法得到很好的保障。

利用聲譽框架和節點市場做出理性判斷

實現靈活性最重要的一點是讓使用者可以綜合判斷將什麼內容新增至預言機網路中。有兩個功能可以實現這一點,即:聲譽系統和節點市場。

聲譽框架

聲譽系統為使用者提供了不可篡改的鏈上資料記錄,其中記錄了節點運營商和資料提供商的所有歷史服務。以後,資料請求方可以檢視節點歷史服務的加密證明,並以此判斷節點是否可靠。

透過第三方服務,可以在Chainlink節點中進行比較,選出最可靠的節點。這些網站中可以檢視Chainlink網路整體的原始資料以及分析提煉出的資料,還可以看到每個預言機節點的具體資料,其中包括交易數量、響應時間、收入和成功率等。

Reputation.link 讓開發者和使用者可以深入洞悉Chainlink預言機網路整體的表現和效能,還可以檢視每個單獨的預言機和資料來源。

節點市場

另一個關鍵要素是建立一個市場讓使用者可以發現預言機節點,透過篩選比較最終挑出最適合的節點加入預言機網路。目前有多個針對Chainlink節點的第三方分類資訊平臺,比如LinkPool的Chainlink Market和CLCG的Honeycomb Marketplace。開發者可以完全控制其預言機網路的架構,因為他們可以自行決定選擇哪些節點以及節點的數量。

除此之外,還可以看到每個節點運營商的資質認證、安全評估結果、身份證明、外部介面卡、資料來源以及具體能為智慧合約提供哪些鏈下服務。節點運營商可以為每個任務設定具體的價格和引數,建立一個自由市場經濟,其中節點可以在不同的維度上競爭上崗。

market.link上的節點可以在鏈上積累聲譽,並向開發者展示其聲譽記錄。

如何靈活地打造價格預言機,以規避重大資料來源風險?

為了保障資料質量,在設計預言機時就必須提前考慮到一些可能出現的攻擊向量,並防患於未然。如果開發者忽略了這些問題,就會導致使用者資金面臨巨大風險,並最終威脅到整個dApp的安全。

交易量轉移/交易所鎖定

加密貨幣市場與傳統金融市場有所不同,因為交易所不會獨家發行資產,因此無法鎖定使用者或佔據某一資產100%的交易量。區塊鏈技術的特點是無須許可,因此任何人都可以在其交易所中發行加密貨幣通證,交易者可以在任何時間交易這些通證。在這種情況下,加密貨幣的交易量分佈在許多不同的交易所中,而且交易量會在各個交易所之間快速轉移。因此,為了避免市場操縱攻擊(比如絕大多數交易量轉移到了某個不在聚合範圍內的交易所),預言機必須要正視這個問題。

閃電崩盤

加密貨幣交易所通常沒有熔斷機制,因此很容易出現閃電崩盤,某一交易所的價格可能會與其他交易所出現嚴重偏差。即使規模再大的交易所都存在這種風險,在過去幾年中多個交易平臺都遭遇了閃電崩盤。比如Kraken就遭遇過閃電崩盤,BTC/CAD價格從11,200斷崖式下跌至100CAD,跌幅接近99%。Coinbase也遭遇過一次極端的閃電崩盤,以太幣價格暫時從322美元跳水至0.1美元。在2020年初,加密貨幣衍生品交易平臺Bitmex也遭遇了閃電崩盤,XRP價格在一分鐘內大跌60%,從0.33美元跌至0.13美元。

質量稀釋

實現去中心化必須要同步建立質量控制標準,以避免低質量的資料來源稀釋聚合結果的質量。如果資料提供商和節點運營商的歷史服務水平較低、沒有聲譽記錄或無法證明其基礎架構的安全性,則應被禁止加入任何預言機網路。要確保節點運營商和資料提供商有足夠的資源和技能解決可能出現的任何問題,並建立預警機制和failsafe安全模式。

需要注意的是,發起向量攻擊的惡意攻擊者不一定都是經驗豐富的開發者。任何散戶交易者或一小群交易者只要發現了機會,都可以利用交易平臺的UI操縱市場並篡改某一預言機的參考價格資料點,而單個預言機覆蓋的市場是有限的。這在很大程度上擴大了攻擊表面,因為任何人只要有網路連線和交易平臺賬戶都可以操控存在風險漏洞的預言機。Chainlink價格參考資料合約連線資料聚集商而非某一個交易平臺的API或多個交易平臺的API集合,因此可以規避這類風險。

優質的資料聚合商覆蓋所有價格資料來源

Chainlink價格參考資料可獨家接入資料聚合商,覆蓋最多的交易量。加密貨幣交易量相對傳統金融市場仍然較小,有了這個功能,就可以確保向這些市場傳輸準確的資料。預言機網路建立者缺乏經驗和資源,很難持續追蹤交易所交易量,因此將這個工作交給專業的資料聚合商。

資料聚合商的團隊遍佈全球,在市場覆蓋和精準價格資料維護方面擁有豐富的專業經驗。他們會綜合考量各個引數,比如流動性、交易量、時間以及不同交易所之間的引數差異。除此之外,聚合商還會剔除任何異常值。Chainlink價格參考合約的這些功能可以很好地應對交易量轉移、閃電崩盤和質量稀釋等問題。

另外,Chainlink價格參考合約還利用多個資料聚合商保障價格資料免受任何一個資料來源的操控。這為dApp開發者和終端使用者提供了更高的安全和可靠性。除此之外,透過安全評估的節點運營商以及業內頂尖的監控團隊也會提供支援。

Chainlink價格參考資料合約的端到端流程

採集資料時不當使用預言機可能造成的重大風險

預言機網路如果忽略交易量轉移風險或只從一個API獲取資料,將導致重大風險,要充分了解這些風險,就需要討論具體應用的案例以及最終會導致的結果。

忠告:避免預言機網路只從一個交易平臺API獲取資料

預言機網路如果只從一個交易平臺獲取價格資料,不僅在平臺遇到宕機、閃電崩盤和價格操縱時無法提供有效保護,而且平臺的市場覆蓋將受到極大限制。這種模式在最初價格波動較低的時候似乎是有效的,但當市場價格波動上升,交易者會開始套利,交易量會在各個交易所之間頻繁轉移。即便升級預言機,使其從另一個交易所獲取資料,新的價格點也可能非常不準確,因為市場交易量可能會出現新的變化。這就導致雖然資料來源變了,仍然無法維持可靠的市場覆蓋。

下面,我將與大家分享一個例子,一步步說明單一資料來源的危害:

Joe是一名開發者,他開發了一個智慧合約應用,需要從鏈下獲取加密資產的價格資料。他決定建立一個預言機網路,從他指定的C交易所獲取價格資料。在他建立預言機的那天,C交易所佔資產交易量的80%,所以他覺得這是一個不錯的選擇。

一週後,使用者資金量不斷增長。雖然C交易所現在只佔資產交易量的50%,但市場價格波動較低,因此目前這個預言機模式並沒有什麼問題。Joe覺得他可以為他的dApp繼續開發更多功能,對於預言機市場覆蓋率越來越小這件事並沒有想太多,因為畢竟也沒出什麼問題。

又過了一個月,有一天半夜,Joe被一通電話吵醒,得知他的dApp中高達幾百萬的使用者資金被捲走了。他很快發現C交易所大部分的交易量都轉移到了別處,而C交易所是他預言機唯一的資料來源,現在只佔交易量的5%。而這個交易所被一個大型交易者操控,導致預言機報告了錯誤的價格資料,因此讓其有機會透過不公平的方式吸走了一大筆使用者資金。

Joe的dApp由於失去了使用者信任,目前已經經營不下去了,而這件事也讓他作為開發者的名譽嚴重受損。如果Joe的預言機建立了更好的市場覆蓋機制,是完全可以避免這種情況的。

上述例子說明了預言機網路只從一個交易所獲取資料可能導致的嚴重後果。市場覆蓋是決定應用成敗的關鍵因素,如果遇到閃電崩盤,那麼後果將更加不堪設想。

預言機從預先設定的交易所聚合資料,無法規避交易量轉移的風險

預言機如果直接從預先設定的交易所獲取資料,那麼當交易量轉移到聚合範圍以外的交易所,將產生巨大風險。在最初建立預言機網路時,被選為資料來源的交易所可能確實具有充足的流動性,但隨著時間推移,無法保障交易量是否還會繼續留在這些交易所。這會降低惡意攻擊者的攻擊成本,因為他們只需操控一小部分資產交易量就可以達到攻擊目的。

這似乎是一個很小的攻擊向量,但想象一下這樣的情況:

Bob也是一名智慧合約開發者,他吸取了Joe只從一個交易所獲取資料的經驗教訓,決定讓預言機從一組預先設定的交易所A、B和C中獲取加密資產價格資料。他的邏輯是:在各個交易所價格資料中取中位數,就能避免市場操縱行為。

幾周後,Bob很確信他的做法是對的,因為他的預言機從多個交易所獲取資料,能夠持續輸出正確的結果,就算某一個交易所被操控也無法改變結果。因此,他將注意力轉移到了提升應用的核心商業邏輯上。然後他就開始專注於開發新功能,並沒有注意到市場上出現了兩家新的交易所,並佔到了85%的資產交易量。

幾天後,Bob猛然發現他遇到了和Joe一樣的危機,他的智慧合約也流失了幾百萬使用者資金。最後他發現雖然他當初在建立預言機網路時選擇的交易所流動性都是充足的,但隨著時間推移,交易量逐漸轉移到了新的交易所,而這些交易所不在他最初設定的聚合範圍內。因此,他的預言機網路最終僅覆蓋了15%的交易量,並不幸被交易者操控,從而謀取私利。

雖然Bob建立去中心化預言機資料來源這個想法是好的,但是他並沒有考慮到交易量會在各個交易所之間轉移,也沒有想到新出現的交易所會佔據某一資產大部分的交易量。即使不出現新的交易所,交易量仍有可能最終集中至一兩家交易所,那麼剩下流動性較低的交易所就可能被操控,中位數計算結果也可能遭到篡改。

Joe和Bob都沒能保證充足的市場覆蓋,因為他們想用預言機來生成資料。如果他們用預言機從資料聚合商採集資料,就完全可以避免這樣的悲劇發生。因為資料聚合商在防止市場被操控和保障市場覆蓋率方面擁有幾十年的專業經驗。

將低質量的預言機與高質量的預言機混用

一些人為了避免出現異常值,會同時接入多個不同的預言機並聚合出一個最終價格資料。同時接入多個預言機實現去中心化,聽上去似乎是個不錯的方案,但與此同時它也帶來了更大的風險,因為很難確保網路中每個預言機的可靠性和資料質量都保持同一水平。

Chainlink價格參考資料網路擁有非常安全可靠的價格資料,而相比之下一些預言機則非常不成熟,透明度較低,不僅無法連線至付費API,還無法直接從交易所API獲取市場資料,這類預言機輸出的資料質量非常差。將Chainlink優質的預言機資料與某些劣質資料混合在一起,可能會產生極大的風險。隨著DeFi應用的價值越來越高,這個問題將變得至關重要,因為透過預言機漏洞攻擊DeFi dApp的經濟誘惑會越來越大。

設想現在聚合了三個預言機解決方案,一個是Chainlink價格參考資料,它透過優質節點從付費資料聚合商獲取資料;還有一個方案是從預先設定的一組交易所API獲取價格資料;最後一個方案不支援身份認證資訊管理,因此只能連線一個低質量的資料來源或交易所API。

將Chainlink的優質資料與其他不安全的預言機輸出的低質量資料聚合在一起,會降低最終聚合資料的質量。

在這個例子中:

左手邊是Chainlink的價格參考資料,從多個優質資料聚合商獲取資料,最終輸出交易量和流動性加權價格,這些價格覆蓋了所有交易價格是100美元的交易環境。

左上方的預言機方案從預先設定的一組交易所API(A、B、C)獲取資料,當時僅佔15%的市場交易量,而D和E交易所佔85%的交易量。這將使最終資料結果遭到篡改,導致預言機報告了錯誤的價格:70美元。

左下方的預言機方案只連線了一個低質量的資料來源,這個資料來源由於市場波動性較高而中斷了服務。由於單點失效,因此預言機報告的價格是0美元。

智慧合約在0美元、70美元和100美元三個值中取中位數,最終聚合出了錯誤的數值:70美元,而正確的市場價格是100美元。更糟糕的是,三個數值的均值是57美元。在這兩種情況下,其他兩個預言機解決方案傳輸的低質量資料會稀釋Chainlink價格參考資料傳輸的高質量資料。

這種情況會導致最終生成低質量的資料,結果容易受到操縱,並稀釋了Chainlink的優質資料(即扣除交易量因素的資料)。在預言機層面實現去中心化固然重要,但同時也應保障資料或節點的質量。將良莠不齊的資料摻在一起,會稀釋Chainlinik價格參考資料網路的價值。我們強烈建議大家不要使用未知資料來源的價格資料,不要接入演算法存在明顯漏洞的預言機,也不要使用無法獲取付費資料或加密經濟機制較弱的預言機。

為下一代應用提供優質資料

我們應該將預言機和資料來源分開看待,這兩個環節必須擁有同樣高的抗風險能力,結合在一起才能實現全面的、端到端的安全性。為了為DeFi生態建立可靠的預言機網路,並保障幾十億甚至幾萬億美元的資產,必須確保傳輸至DeFi應用的資料是安全可靠的。Chainlink一直以來都致力於打造安全的預言機和可靠的資料,實現端到端的安全,助力DeFi在未來幾年不斷繁榮發展,成為主流的解決方案。

免責聲明:

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

推荐阅读

;