5ステップでわかりやすい:DeFiの抜け穴を利用して36万ドルの利益を上げる方法
最近、「ハッカー」はほぼコストゼロでフラッシュローンを利用しました。詳細については注 1 を参照してください] 提供された融資により、1 回の取引で 360,000 米ドルの収益が得られました (この事件が「ハッキング攻撃」のカテゴリーに属するかどうかについては、依然として多くの議論があります。厳密に言えば、この「ハッカー」は違法行為を行っていないためです) 。今回の「クラッキング」事件に関与したDeFi製品の数を考慮すると、DeFiについて予備知識しかない人にわかりやすく説明したい場合は、関連する詳細をできるだけ明確に説明する必要があります。この記事では、読者に「クラック」操作を段階的に説明し、いくつかの重要な手順についてさらに説明します。この事件がどのように起こったのかを、「ちょっと知っている」だけではなく、より深く理解し理解できるように。
文章
ステップ 1: FlashLoan ローン: dydx から 10,000 WETH を借ります。
文章
文章
ステップ 3: dZx マージン レバレッジ取引: 1300 WETH を dZx 契約にリチャージし、5 倍のレバレッジで空売りします。具体的な操作は単純にbZxから5637.623762 WETHを借りてKyberSwap経由でUniswapで売り、売ると51.345576 WBTCになると理解できます。
このステップは実際にはUniswapのWETH/WBTCの価格を突破することです。
当時、WETH/WBTCの通常価格は約0.025974でしたが、この売りステップによりUniswapのWETH/WBTCの価格は基本的に0.00910747に下がりました。ほぼ3回。
文章
ステップ 4: Uniswap トランザクション: ステップ 2 で Compound から借りた 112 BTC を使用して Uniswap で ETH を買い戻し、合計 6871.4127388 ETH を買い戻します。
文章
ステップ5: FlashLoanが返却: FlashLoanが貸し出した10000 WETHのうち未使用の3200 WETHに、ステップ4で112 WBTCで買い戻した6871 WETH、合計10071.4127388 WETHがあります。フラッシュ ローンの返却には 10000 WETH。残りは 71.4127388 です。
この時点で、操作全体が終了します。
これらのトランザクションがイーサリアムの 1 ブロック時間内に発生し、イーサリアムの次のブロックでパッケージ化および確認される限り、これらのトランザクションは開始時刻に従って実行されます。ポイント:フラッシュローンは1ブロック内で条件成立・返却が完了するため、全ステップの取引が実現可能です。
それでは、ジョーの収入を見てみましょう。
これら 5 つのステップから、ジョーは 71.4127388 WETH しか得られないようです。
しかし、忘れないでください。ジョーは依然として Compound と bZx で 2 つのポジションを持っています。
1つ目は複合住宅ローンです。 5500 WETHを抵当に入れて112 WBTCを貸しました。
もう1つはbZxでの証拠金レバレッジ取引で、1300WETHを抵当に入れて5倍のレバレッジで空売りします。 51.345576 WBTC が残っています。
bZx は Uniswap の WETH/WBTC 価格を価格フィードとして使用しており、Uniswap の WETH/WBTC 価格は Joe によって操作されているためです。したがって、従来の理解によれば、bZx におけるジョーの地位は清算されるべきです。しかし、実際の状況では、この位置には 3 段階目の操作で取得された 51.345576 WBTC しか残っていないのです。
ジョーは明らかにこの立場を無視したくありませんでした。残りの51.345576 WBTCが差し引かれたとしても。 (実際、bZx は 51.345576 WBTC を差し引きました。)
コンパウンドでのポジションに関しては、ジョーの方が興味があります。現時点での ETH/BTC の通常価格は約 0.025974 であるため、ジョーは 112 WBTC を購入するために市場から 4300 WETH を費やすだけで済みます。その後、それを Compound に返却すると、5500 WETH と引き換えることができます。これで約1200WETHを獲得できます。
したがって、この作戦におけるジョーの利益は次のようになります。
1200+ 71.4127388 = 1271.4127388 WETH。
副題
それで何が問題なのでしょうか?
上記の詳細な手順に基づくと、問題は bZx のマージン レバレッジ取引スマート コントラクトにあります。
まず、bZx は Uniswap の WETH/WBTC の価格をフィード価格として使用します。そしてUniswapの深さは十分ではありません。
第二に、bZx での証拠金レバレッジ取引は、ロングまたはショートに関係なく、売買の市場も Uniswap です。つまり、bZx自体がUniswapの価格に影響を与えることになります。
追記:
追記:
この記事の目的は、事件後にDeFi製品の脆弱性を批判したり、ジョーと呼ばれるハッカーを批判したりすることではありません。
この記事の目的は、仮想通貨分野のより一般的な参加者が DeFi 製品のロジックをさらに理解できるようにすることだけであり、可能な限りシンプルで理解しやすいものになっています。
同時に、この事件の根本原因が何なのかを誰もが理解できるようになり、開発者も他のDeFi製品を設計する際にそこから学ぶべきであることを願っています。
さらに言えば、この事件は実際、DeFi製品にいわゆる「管理者権限」を設定するかどうかについて、DeFi分野での議論を引き起こしました。この記事は入門として機能し、今後もこの種のコンテンツを Cortex 中国語コミュニティと共有し続けることができます。
CortexLabs 注 1: フラッシュ ローン、中国語の直訳名はフラッシュ ローンです。 「フラッシュローン」とは、1つのブロック内で異なるDeFi融資プラットフォーム上で複数の取引を開始する方法、つまり、異なる資産や負債の間で再融資を行う方法です。 「フラッシュローン」も、ローンの発行と返済をイーサリアムの同一ブロック内で完了することを条件に担保を必要としない融資方法で、現在のイーサリアムのブロック生成速度によれば約13秒かかります。


