人気スターからDeFiの危険地帯まで、オラクルのセキュリティ問題はどのように防ぐべきか?
この記事は2020年12月14日にWebXラボに掲載され、著者はW ebXラボ
次々と発生するCompoundの数千万ドル規模の資産清算事件は、かつて高く評価されていたオラクルを標的にしました。また、フラッシュローン攻撃の一連の事件は、外部に対してますます悪化する悪性のデモンストレーションを形成しています。一連の事件から見ると、再入可能性に基づく脆弱性の悪用は過去数年で減少している一方で、オラクルの価格操作に基づく脆弱性の悪用率は現在上昇しています。オラクルは高リスクな領域となっています。
なぜオラクルはDeFiにおいて重要な役割を果たすのか?
オラクルは、ブロックチェーンプロトコルがどのように信頼できる方法で第三者からデータを収集し、そのデータを高度にネットワーク化され自動化された分散型アプリケーションDappやスマートコントラクトにフィードバックするかに関するものです。これにより、チェーン外の世界からの情報源やデータ源のコミュニケーションを確立し、チェーン上の権威ある事実を構築します。
この外部データの導入は、チェーン上のスマートコントラクトをトリガーする重要な根拠となります。Compoundを例に挙げると、彼らはオラクルの価格を必要としており、借入能力や担保要件を決定するため、またアカウントの価値を計算するためのすべての機能に使用されます。これにより、担保要件を満たすためにそのアカウントの資産を清算する必要があるかどうかを判断します。一方、AMM方式を採用しているDEXの場合、取引規模が小さく流動性が不足しているため、市場価格は大口取引の影響を受けやすく、激しい変動が生じることがあります。これもまた、オラクルが主流の取引所データを提供してこの激しい変動を回避する必要があります。
ここまで話すと、オラクルは単なる補助的な役割であり、外部データの導入にしか使えないと思うかもしれませんが、実際は正反対です。オラクルの価格フィード機能やデータソースの信頼性は、非常に初期の形態に過ぎません。長期的には、オラクルは現実世界のさまざまなデータ、情報、信用、資産などの要素の集大成者となります。データや情報の正確さ、技術実現の分散化の程度、モジュールスクリプトのスマート化の程度は、未来のブロックチェーン世界と現実世界の接続に重大な影響を与えるでしょう。
人気のオラクルから高リスクな存在へ
オラクルは、今年のDeFiのブームの中で名声を博し、ChainlinkやNEST Protocolなどのプロジェクトは一時市場の注目を集めるスタープロジェクトとなりました。しかし、以前の熱気と最近の1ヶ月の世論の流れは明らかな対比を形成し、オラクルは別の方向の風口に押し上げられました。
その原因は、オラクルがフラッシュローン攻撃やCompoundの清算などの事件の突破口となっているからです。CompoundのCEOであるロバート・レシュナーは、「Compoundプロトコル自体は損失を被っていないようですが、オラクル攻撃が故意によるものか偶然によるものか、あるいはその両方かはわかりません。」と述べました。
以前のSynthetixの攻撃事件を振り返ると、その核心的な論理は、Synthetix上でユーザーが他の通貨資産を合成できることにあります。Synthetix(当時)はカスタマイズされたオフチェーンのフィードメカニズムに依存し、一組の秘密のフィードから総価格を算出し、固定の時間間隔でチェーン上に公開していました。その後、計算された価格に基づいて、ユーザーは資産に対してロングまたはショート取引を行うことが許可されました。
Synthetix MKR操作のデモ
しかし、2019年6月末、Synthetixが依存していたフィードの一つが誤って韓国ウォンの価格を報告し、実際の為替レートよりも1000倍高い価格がシステムに受け入れられ、チェーン上に公開されました。ある取引ボットはsKRW市場で迅速に売買を行い、利益を得ました。Synthetixは複数のソースから価格を取得していましたが、1つの誤った価格がプラットフォーム全体に壊滅的な打撃を与えました。
以前のフラッシュローン攻撃の原理は非常にシンプルです。悪意のある者はフラッシュローンから巨額の資金を借り、流動性が少ない取引所やプールで使用します。これにより、短時間で資産価格が操作される状況が生じます。このような実際とは異なる操作されたデータの変動は、オラクルに誤った入力と出力をもたらします。悪意のある者はこれらの誤った入力と出力を利用して簡単に利益を得ることができます。より直接的に言えば、攻撃者は取引中にほぼ完全に価格をコントロールし、被害者は受動的に損失を受け入れるしかありません。同様に、Compoundの清算事件では、Coinbase Proプラットフォーム上のステーブルコインDAIの価格が一時1.3ドルに引き上げられ、同プラットフォームのオラクルフィード情報を使用しているDeFiプロトコルCompoundで大規模な清算が発生しました。
「元凶」とされるDAIの価格上昇は、Coinbase Proがオーダーブック方式を採用しているため、流動性が不足していると価格が操作されやすくなるからです。攻撃者は事前にCoinbase ProプラットフォームのDAI価格を操作するために必要な金額と、Compoundのクジラを清算することで得られる利益を計算し、短時間でこの攻撃を完了しました。
このように、重要な根拠であるオラクルは、データソースの真実性や有効性を保証することができません。Compoundプラットフォームのオラクルの価格データソースは中央集権的で単一であり、中央集権的なソースは容易に偽造、改ざん、変更、または情報を隠すことができます。このように、任意の単一の中央集権的データソースを価格オラクルとして使用することは賢明ではなく、極めて危険です。オラクルが破壊されたり無効なデータを取り込むことは、下流のユーザーに大きな災害をもたらす可能性があります。
一方で、オフチェーンデータは価格変動に対する反応が一般的に遅く、十分にスマートではありません。 背後にある理由は、チェーン上のデータをプッシュする特権ユーザーが悪化しない、または悪質な更新をプッシュするように脅迫されないと信じる必要があるからです。この信頼のプッシュは、特権者がアクセスできないことを許可しないため、攻撃を受けてもただ座して待つしかありません。より良い解決策が追いつかないため、資産損失が続発していますが、本質的には攻撃者の操作手段もそれほど高度ではなく、現段階ではオラクルが十分にスマートではなく、迅速に対応し防御することが難しいのです。将来的には、相対的に成熟したオラクルは、資産の価格、市場の状態、危機イベントの処理に関するプロトコルの権威ある真実のソースであるべきです。
DeFiの安全を救うためにはまずオラクルを救うべき
上記でオラクルの脆弱性が指摘され、特に多くの痛ましい代償を払った後、オラクルという「短所」が露呈しました。したがって、DeFiの安全性を救うためには、まずデータソース供給者の選択において、オラクル自体がブロックチェーンのコンセンサスメカニズムに適合した分散型の方法で価格データをチェーン上に生成する必要があります。これが唯一の実行可能な正しい論理であり、中央集権的なデータソースのいくつかのノードから中央値を単純に取ってチェーン上にフィードするのではありません。
それに加えて、オラクルはより多くの防護策を求めるべきであり、この点ではより安全な第三者機関に依存して危機の脆弱性が発生する可能性をさらに低下させることができます。価格の見積もりに関しては、オラクルはできるだけ多くのノードからデータを集約し、価格の偏差に対して処理メカニズムを用意し、時間に応じて同期更新を行い、スマートコントラクトに提供するデータが信頼でき、信頼性があり、干渉に耐えられることを保証する必要があります。データの信頼性検証メカニズムや異常警報メカニズムなどは、オラクルに適用されるべきです。
最も重要なのは、異常データの処理において、どのようにして迅速にフィードバックを行い、事件の発生を防ぐかです。この中で、適度に人為的な介入を増やすことができます。つまり、市場の変動が大きい、チェーン上の動作が異常、価格更新が遅い場合、特別な報告者を設定して手動でチェーン上に更新を公開することができます。さらに、異常データの発生を防ぐために、Nestオラクルプロジェクトを参考にすることができます。そのプロジェクトは、分散型の検証者と価格提供者の間のゲームメカニズムを構築し、質権を持つ価格取引ペアの資産に対する双方向の価格見積もりをチェーン上で生成し、誤ったデータが採用されることを直接防ぎます。
DeFiの発展やブロックチェーンの新しい分野の拡大において、オンチェーンとオフチェーンのデータ交換は不可欠です。オラクルの役割は軽視できません。オラクルが扱うデータの種類がますます増えるにつれて、その影響力と重要性は増しています。オラクルは価格オラクルからイベント型オラクルへと進化し、ギャンブル、政府、ゲームなどの業界ではすでにイベント型オラクルの採用と普及が見られます。歴史を経て、オラクルは依然としてオンチェーンとオフチェーンの世界をつなぐ重要な武器として機能するでしょうが、時間が必要です。