dYdX V4のブームの背後には、DeFiレバレッジの分類、アプリケーション、セキュリティ実践の詳細な分析があります

中級12/13/2023, 2:12:46 PM
この論文では、dYdX V4を介したDeFiレバレッジの多様性と適用シナリオについて探求し、コードレベルの脆弱性を分析し、レバレッジプロトコルの主要なセキュリティポイントを提案しています。

DeFiレバレッジの紹介

最近のdYdX V4のローンチは、パーペチュアル契約取引に多くの注目と参加を集めています。dYdXはレバレッジ取引の例を成功裏に適用しており、dYdX V4の大きなポテンシャルを期待するだけでなく、レバレッジ契約の安全性にもっと注意を払う必要があります。次に、異なるレバレッジ戦略やセキュリティに関する考慮事項を、具体的なコード解析と例を使用してご案内します。

レバレッジとは何ですか

ファイナンスでは、レバレッジは、投資の潜在的なリターンを増やすためにお金を借りる戦略に依存する戦略です。単純に言えば、投資家やトレーダーは、特定の種類の資産、プロジェクト、またはインストゥルメントへの露出を、自己資本だけに頼るよりもはるかに高めるためにお金を借ります。しばしば、レバレッジを利用することで、投資家は市場での購買力を高めることができます。

DeFi取引におけるレバレッジ

レバレッジの利用は、暗号資産取引の最も重要で一般的な特徴の1つです。分散型取引所の設立直後、レバレッジを利用した取引はますます人気を集め、すでに暗号市場が高いボラティリティを示していたにもかかわらず、ますます一般的になりました。

従来の金融と同様に、トレーダーはレバレッジを使用して単に資本を借りて購買力を増やすか、先物やオプションなどの様々な金融派生商品を活用するために使用します。

レバレッジ比率は3倍から5倍以上に増加しています。 より高いレバレッジはより高いリスクを意味しますが、多くの中央集権取引所で見られるように、これはレバレッジ取引量が増加するにつれて高いリターンを求めるリスクを取りたがる積極的なトレーダーにとって受け入れられるリスクです。

レバレッジ分類の詳細な説明

DeFiに関しては、レバレッジ商品は主に4つのタイプに分かれ、レバレッジを生成するメカニズムが異なります:レバレッジ融資、証拠金取引レバレッジ、永続契約レバレッジ、およびレバレッジトークン。

レバレッジ取引

DeFiレンディングは、DeFiアプリケーションの中でも最も早く、最も大きなものの1つです。MakerDAO、Compound、AAVE、Venusなどの巨大企業がすでに市場で活動しています。暗号資産を借り入れてレバレッジを得るロジックはシンプルです。

例えば、Ether(ETH)で10,000ドルを保有し、上昇相場である場合、ETHを担保としてCompoundに預け、USDCで5,000ドルを貸し出し、その5,000ドルのUSDCを別の5,000ドルのETHと交換することができます。これにより、ETHに対して1.5倍のレバレッジを得ることができ、10,000ドルの元本に対して、1,500,000ドル分のETHに露出することができます。

同様に、ベア派の場合、ステーブルコインを預けてETHを貸し出すこともできます。ETHの価格が下落した場合、市場で低い価格でETHを購入して借金を返済することができます。

分散型プロトコルから借り入れるため、担保の価値が下落した場合や借り入れる資産の価値が一定の閾値を超えた場合には清算される可能性があることに注意してください。

マージントレーディングレバレッジ

DeFiレンディングを利用すると、これらのデジタル資産を自由に使うことができます。DeFiマージントレーディングは、ポジションサイズを増やすことに重点を置いており(購買力を増やすこと)、真の「レバレッジポジション」と見なされています。ただし、1つ重要な違いがあります。つまり、マージンポジションがまだ開いている間、トレーダーの資産は借り入れた資金の担保として機能します。

dYdXは、最大5倍のレバレッジを可能にする有名な分散型マージントレーディングプラットフォームです。dYdXのマージントレーディングでは、トレーダーは独自の資金を担保として使用し、元本を数倍に拡大し、これらの拡大された資金をより大規模に投資します。

トレーダーは取引に関連する利子や手数料を支払う必要があります。 このポジションは架空のものではなく、実際の借入と売買を含んでいます。

市場が不利な方向に動いた場合、トレーダーの資産はローンを完全に返済することができないかもしれません。これを防ぐために、一定の清算比率に達する前に、取引を清算することになります。

マージン取引でのレバレッジの変更方法は?

ETHに3倍の買いポジションを持っているとしましょうが、常に露出を調整したくない場合は、どうすればよいですか。

USDCで$100を保有し、さらにUSDCで$200を借りて$300のETHを取引してETHのロングポジションを確立します。レバレッジレベルは$300/$100 = 3倍です。

ETHの価格が20%上昇すれば、利益は300(1+20%)-300=$60になります。清算されるリスクは低くなり、実際のレバレッジレベルは360/(360-200)=2.25倍に低下します。つまり、ETHの価格上昇時には自動的にレバレッジを減らします。

ETHの価格が20%下落した場合、損失は300 (1-20%) -300 = -60ドルになります。清算に関しては、より危険な状況にあり、実際のレバレッジ水準は自動的に240/ (240-200) = 6倍に増加します。つまり、ETHの価格が下落すると、レバレッジを再調整することになり、以前よりもリスクが高い状況にあることを示します。

そのため、固定の3倍の証拠金取引を行うことで一定のレバレッジを維持できると考えるかもしれませんが、リアルタイムのレバレッジは常に変動しています。価格変動に応じてレバレッジがどのように変化するかを確認するには、以下のチャートをご覧ください [1]。

永続契約レバレッジ

永続契約は、伝統的な先物契約に似ていますが、満期日がありません。永続契約は証拠金ベースの現物市場を模倣しており、取引は基になる参照インデックスの価格に近いです。

トレーダー向けに永続契約を提供する多くのDeFiプロジェクトがあります。例えば、dYdX、MCDEX、Perpetual Protocol、Incompleteなどが挙げられます。多くのトレーダーは、レバレッジを利用することに関して、証拠金取引と永続契約の違いを理解することが難しいかもしれません。実際、これらはすべてユーザーレバレッジを含んでいます。

ただし、レバレッジメカニズム、手数料、レバレッジレベルにはいくつかの違いがあります。

永続契約は、合成資産を取引し、マージン取引を特徴とする派生商品です。基礎となる資産の価格は、実際の基礎となる資産を取引する必要がなく、合成的な方法で追跡されます。ただし、マージン取引には実際の暗号資産の借入と取引が含まれます。

永続契約の登場に伴い、資金調達レートの概念が生まれました。その目的は、永続契約の取引価格を基になる参照価格と一致させることです。契約価格が現物価格よりも高い場合、ブルたちはショートたちに支払う必要があります。つまり、トレーダーは常に借入手数料を支払う必要があります。

永続契約のレバレッジは、通常、証拠金取引よりも高く、最大で100倍になることがあります。清算および実際のレバレッジメカニズムは、証拠金取引と同じです。

レバレッジトークン

レバレッジトークンは、レバレッジポジションの積極的な管理の心配をせずに、暗号通貨市場へのレバレッジ露出を提供する派生商品です。保有者にはレバレッジ露出を提供しますが、証拠金、清算、担保、資金調達金利に対処する必要はありません。

レバレッジトークンとレバレッジ取引/永続契約の最大の違いは、レバレッジトークンは、特定のレバレッジ水準を維持するために定期的にまたは一定の閾値に達したときに再バランスされることです。

これは明らかにマージントレーディングや永続契約とは異なります。これらの商品の実際のレバレッジは価格変動に応じて常に変化しており、トレーダーが最初にレバレッジのレベルを指定したとしても、そのレバレッジは常に変動しています。

上記の3倍のETHの例でリバランスがどのように機能するかを見てみましょう:

あなたは$100のUSDCを保有し、ETHBULL(3倍)レバレッジトークンを購入します。プロトコルは自動的に$200のUSDCを借り入れ、$200のETHを取引します。

ETHの価格が20%上昇したと仮定し、ETHBULL(3倍)トークンの価格が再調整前に300*(1 +20%)-200 = $160に上昇しました。実際のレバレッジは今や2.25(360/160)で、目標レバレッジを下回っています。

リバランスプロセスの一環として、プロトコルは安定コインプールからさらにドルを借りて、追加のETHトークンを購入してレバレッジを3倍に戻します。 この例では、プロトコルはさらに120ドルを借り入れ、ETHと交換します。 したがって、合計レバレッジは再び(360+120)/160 = 3倍になります。

ETHの価格が20%下落したと仮定し、ETHBULL(3倍)トークンの価格がリバランス前に300*(1-20%)-200=40ドルに下落しました。実際のレバレッジは今、目標のレバレッジを上回る6(240/40)になります。

この場合、取引所はETHトークンを売却し、負債を返済してレバレッジを削減します。この例では、プロトコルは$120のETHを売却してプールに支払います。負債は$80となり、総レバレッジは再び(240-120) /40 = 3倍となります。

言い換えれば、レバレッジトークンは利益で自動的に再レバレッジされ、損失で自動的にデレバレッジされて、目標のレバレッジレベルを回復します。このメカニズムがうまく機能すれば、逆市場トレンドでも、レバレッジトークン保有者は、デレバレージングメカニズムがユーザーの実効レバレッジレベルを連続的に低下させるため、清算されることはありません。

その結果、レバレッジトークンモデルの貸出プールは清算リスクから免除され、証拠金取引の借入プールよりも安全です。

レバレッジの応用例

一般的なDeFiプロトコルのレバレッジタイプについて学んだので、特定のDeFiプロトコルにおけるレバレッジの適用について詳しく話し合いましょう。

GMX

GMX[2]GMXは、トレーダーに資産を最大50倍のレバレッジで取引する機会を提供する、分散型の即時および永続的な取引所です。この取引所は現在、ArbitrumとAvalanche上で稼働しています。GMXでは、トレーダーはCEXでの取引とはまったく異なり、相手方の状況を完全に把握することができます。また、dYdXなどの他の永続契約取引所とは異なり、GMXは完全にオンチェーンで動作し、AMM機能を使用してレバレッジ取引を可能にしています。

GMXを他のサービスとは異なるものにするのは、レバレッジ取引サービスを提供する分散型取引所であるという点です。この点において、それはUniswapのような他のDeFi取引所と、Binanceなどが提供するレバレッジ取引サービスと類似の体験を組み合わせています。

GMXには、マージン取引向けの流動性プールであるGLPがあります。ユーザーは、GLPトークンを鋳造および破棄してロング/ショートポジションを持ち、取引を実行することができます。このプールは取引やレバレッジ取引からLP手数料を獲得し、その手数料はGMXおよびGLPの保有者に分配されます。

レバレッジ取引を行うには、トレーダーは担保を契約に入金します。トレーダーは最大50倍のレバレッジを選択できます。レバレッジが高いほど、清算価格も高くなり、借入コストが増加するにつれて徐々に増加します。

たとえば、ETHのロング注文を出すと、トレーダーはETHの上方向のスペースをGLPプールから「リース」していることになります。ETHをショートすると、トレーダーはETHに対してステーブルコインの上方向のスペースをGLPプールから「レンタル」しています。ただし、GLPプールの資産は実際にはリースされていません。

ポジションを決済する際、トレーダーが正しく賭けた場合、利益はGLPプールからトークンが増加する形で支払われます。それ以外の場合、損失は担保から差し引かれ、プールに支払われます。GLPはトレーダーの損失から利益を得て、トレーダーの利益からも利益を得ます。

その過程で、トレーダーは取引手数料、オープニング/クロージング手数料、および借入手数料を支払い、指定されたトークン(BTC、ETH、AVAX、UNI、およびLINK)に対して米ドルに対して上向きの空間を得ます。

マークルトレード

マークルトレード[3]Merkle Trade(マークルトレード)は、最大1,000倍のレバレッジと高度なユーザーセントリックな取引機能を備えた暗号通貨、外国為替、商品取引を提供する分散型取引プラットフォームです。Merkle Trade(マークルトレード)は、Aptosブロックチェーンで動作し、優れたパフォーマンスと拡張性を備えています。同じような高レバレッジを提供するGains Networkと比較して、取引の遅延と手数料が低いです。

ほとんどの取引所とは異なり、Merkle Tradeには注文簿がありません。代わりに、Merkle LPはすべての取引の相手方として機能し、トレーダーが損失を出すと、担保を取り、利益が出た取引に利益を支払います。

  • 最大1,000倍のレバレッジで仮想通貨、外国為替、商品を取引する

Merkle Tradeは、暗号通貨、外国為替、商品など幅広い取引ペアを提供するように設計されており、市場でも最高水準のレバレッジを提供しています。暗号通貨では最大150倍、外国為替では最大1,000倍まで可能です。

  • フェアな価格の注文執行、ミリ秒単位の遅延、最小限のスリッページ

最新の最低レイテンシーを持つAptosでブロックチェーンを生成すると、最速のオンチェーン取引体験が提供されます。 トレーダーにとって、これはより迅速な取引体験と、実行の遅延による価格スリッページの低減を意味します。

  • カウンターパーティリスクのない分散型で非保管型の取引

トレーダーは、すべての取引に対して相手方として機能する流動性プール(Merkle LP)で取引します。すべての取引と決済はスマートコントラクトによって実行され、いつでもユーザー資金のホスティングは行われません。

  • 手数料が最も低い

Merkle Tradeは、これまでの市場で最も低い手数料を請求していると主張しています。ローンチ時には、暗号通貨取引ペアの手数料は0.05%、外国為替取引ペアの手数料は0.0075%まで低かったです。

DYDX

DYDX

dYdX[4]dYdX V3は、2021年にローンチされて以来、ユーザーに資産の完全なコントロールを持ちながら、永続契約を効率的に取引することを可能にする分散型取引(DEX)です。dYdX V3はユニークな非管理型の第2階層スケーリングソリューションを採用して取引所を実装していますが、そのオーダーブックとマッチングエンジンは依然として中央で管理されています。

dYdX V4では、プロトコルが独自のチェーンに成長し、完全な分散化を実現するためにプロトコル全体が完全に再構築され、スループットが向上しています。 dYdXには、貸出、レバレッジ取引、永続契約の3つの機能が含まれています。 レバレッジ取引には借入機能があります。 ユーザーが預け入れた資金は自動的にファンドプールを形成します。 取引中に資金が不足している場合、自動的に利子が借りられて支払われます。

レバレッジ安全性分析

DeFiにおけるレバレッジの一般的な種類と用途を紹介しました。また、レバレッジの設計にはまだ多くのセキュリティ上の問題があり、私たちの注意を引くに値するものです。具体的な監査事例に基づいて、DeFiレバレッジのセキュリティ問題と監査ポイントを分析します。

リミット注文と市場注文の違いを区別する

ほとんどのレバレッジ取引所アプリケーションには、指値注文と成行注文があります。指値注文と成行注文を厳密に区別し、検証することは非常に重要です。次に、私たちはMerkle Tradeの監査で見つけた問題の詳細な分析を行います[5]。

let now = timestamp: :now_seconds (); if (now - order.created_timestamp > 30) {         cancel_order_internal(             _order_id,             order,             T_CANCEL_ORDER_EXPIRED         );         return     };

このコードのこの部分は、注文が作成されてから30秒以上経過しているかどうかをチェックする注文機能でのチェックを実行する部分です。条件が満たされた場合、cancel_order_internal()を呼び出して注文をキャンセルします。ただし、注文が指値注文である場合、それはトレーダーによって特定の価格が設定され、彼らはその価格で資産を購入または売却する意思があることを意味します。指値注文を実行する際には、そのような判断をすべきではありません。これにより、ほとんどの指値注文が実行されなくなる可能性があります。したがって、指値注文と成行注文の取引ロジックを厳密に区別することが重要です。

レバレッジ計算エラー

DeFiにおける計算エラーは常に非常に一般的な問題であり、レバレッジでも特に一般的です。我々は、第三者監査で発見されたUnstoppable [6]プロトコルによる問題を使用して、レバレッジの計算問題を徹底的に調査します。

Unstoppable でレバレッジを計算するためのコードを見てみましょう。

def _calculate_calculation ( _position_value: uint256, _debt_value: uint256, _margin_value: uint256) -> uint256: if _position_value < = _debt_value: #bad debt Return max_value (uint256) Return ( precision * (_debt_value + _margin_value) /(_position_value - _debt_value) /PRECISION )

_calculate_margin関数は、_debt_value + _margin_valueを分子としてではなく、_position_valueを使用してレバレッジを誤って計算する原因となりました。関数の3つの入力パラメータ、_position_value、_debt_value、_margin_valueは、Chainlinkのオンチェーンオラクルによって提供される価格情報によってすべて決定されます。ここで、_debt_valueは、ポジションの負債シェアをドル建ての負債額に変換する価値を示します。_margin_valueは、ポジションの初期証拠金額の現在価値(米ドル建て)を示します。_position_valueは、ポジションの初期設定金額の現在価値(米ドル建て)を示します。

上記の計算の問題点は、_debt_value + _margin_valueがポジションの価値を表していないことです。レバレッジとは、現在のポジションの価値と現在の証拠金の比率です。_position_value - _debt_valueが正しいです。現在の証拠金の価値を示していますが、_debt_value + _margin_valueはポジションの現在の価値を表していません。なぜなら、債務トークンとポジショントークンが関連する価格変動を保証するものではないからです。

例えば、債務トークンはETHであり、ポジショントークンはBTCです。

Aliceは1 ETHを証拠金として使用し、14 ETH(それぞれ2,000ドル)を借り入れ、1 BTC(それぞれ30,000ドル)のポジショントークンを取得します。レバレッジは14です。

翌日、ETHの価格は1ETHあたり2,000ドルのままでしたが、BTCの価格は1BTCあたり30,000ドルから29,000ドルに下落しました。この時点でレバレッジは(_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29でなければならず、契約で計算された値ではありません: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30です。

したがって、これを修正するためには、上記に記載されている正しい公式を使用して、スマートコントラクトでレバレッジを計算する必要があります。 レバレッジの誤計算は、不当な清算や価格変動に対応した過剰なレバレッジポジションにつながる可能性があります。

スマート契約において、適切なレバレッジ計算を確保することは、システムの堅牢性とユーザーの利益を維持する上で重要です。レバレッジの正確な計算は、現在のポジションの価値と現在の証拠金価値の比率に基づいているべきです。間違った計算式を使用すると、システムが価格変動に適切に反応しない可能性があるだけでなく、清算すべきでないポジションを清算する可能性があり、過度にレバレッジされたポジションが存在し続ける可能性があり、それによりシステムとユーザーのリスクが増加する恐れがあります。

論理エラー

ロジックエラー

スマートコントラクトの監査では、特にDeFiレバレッジ取引などの複雑なロジックにおいて、論理エラーに特に注意が必要です。

DeFiレバレッジを利用する際に注意すべき論理的な問題について、Tigrisによって発見された問題を取り上げましょう[7](アラビトラムとポリゴンに基づく分散型合成レバレッジトレーディングプラットフォームであるティグリス)を第三者監査しました。

Tigrisの価格制限クロージング機能のロジックを見てみましょう:

function limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external{   _checkDelay(_id, false);   (uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);   _closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, true);}function _limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external view returns (uint _limitPrice, address _TIGAsset) { _checkGas (); iPosition.trade memory _trade = position.trades (_id);   _tigAsset = _trade.tigAsset;   getVerifiedPrice (_trade.asset, _priceData, _signature, 0); uint256 _price = _priceData.price;   if (_trade.orderType! = 0) revert (" 4 "); //isLimit if (_tp) { if (_trade.tpPrice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.tpPrice > _price) revert("6"); //LimitNotMet       } else {           if (_trade.tpPrice < _price) revert("6"); //LimitNotMet       } _limitPrice = _trade.tpPrice;   } else { if (_trade.slprice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.slPrice < _price) revert("6"); //LimitNotMet       } else {           if (_trade.slPrice > _price) revert("6"); //LimitNotMet       } //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;   }}

ポジションをクローズするためにストップロスを使用する場合、ユーザーのクロージングプライスはユーザーが設定したストップロスプライスであり、アセットの現在のプライスではありません。方向性のある市場やハイレバレッジの場合、ユーザーはほぼ無リスクの取引を実現するためにこれを悪用する可能性があります。ユーザーはロングポジションを取り、現在のプライスより$0.01低いストップロスプライスを設定することができます。

次のアップデートで価格がすぐに下がった場合、彼らは自分のエントリープライスでポジションをクローズし、オープニングとクロージングの手数料のみを支払います。価格が上昇すれば、多額の利益を得る可能性があります。その結果、ユーザーは、ハイレバレッジ、ハイアップサイドポテンシャル、そして低ダウンサイドリスクを持つ取引をオープンするためにストップロス価格設定方法を誤用することがあります。

価格の変動

価格タブ

価格変動がDeFiレバレッジに与える影響は非常に重要です。価格変動を常に考慮することで、レバレッジ契約の安全性を確保できます。DeFinerを利用しましょう[8]サードパーティの監査で発見された問題の詳細な分析の例として、プロトコルを挙げます。

DeFinerプロトコルは、出金処理を行う前に2回のチェックを受けます。

最初に、この方法は、ユーザーが引き出しをリクエストした金額がその資産の残高を超えていないかどうかを確認します:

function authorization (address _accountAddr, address _token, uint256 _amount) external onlyAuthorized returns (uint256) { //ユーザーの残高よりも十分な量が少ないかどうかを確認require (_amount < = getDepositBalanceCurrent (_token, _accountAddr), " Earned balance. ");   uint256 borrowLtv = globalConfig.tokenInfoLogistry () .getBorrowLtv (_token);

第二に、この方法は、引き出しによってユーザーのレバレッジ率が高すぎるかどうかをチェックします。引き出される金額は、ユーザーの現在の価格の「借入力」から差し引かれます。ユーザーの総借入額が新しい借入力を超えると、ユーザーはもはや借入ポジションをサポートするための担保が十分ではなくなるため、この方法は失敗します。ただし、この要件は、ユーザーが過度にレバレッジされていない場合にのみチェックされます。

if (getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr)) require ( getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr) .sub (           _amount.mul (globalConfig.tokenInfoRegistry () .priceFromAddress (_token)) .mul (borrowLtv) .div (utils.getDivisor (address (globalConfig), _token)) .div (100)       ), " Colloquium Collège when ");

ユーザーが「借入れ可能額」を超えて借入れている場合、何が起こってもお金を引き出すことができます。これは、価格の変動など、さまざまな状況で起こり得ます。合意では、価格の変動が合意に与える影響を考慮しておらず、この問題が発生しました。

その他

リミット注文と成行注文の区別をつけないことの影響に加えて、上述の計算エラー、論理エラー、価格変動の影響がありますが、レバレッジ契約に関連する多くのセキュリティポイントに注意が必要です。これには、フラッシュローン攻撃、価格操作、予言者のセキュリティ、権限制御、不十分なレバレッジチェック、またはチェックの不足などの問題が含まれます。これらの要因は、レバレッジ契約の設計と実施において注意深く考慮する必要があり、契約の堅牢性とユーザー資産の安全性を確保するための重要なポイントです。予防措置、リアルタイムモニタリング、緊急対応計画も、潜在的なリスクを軽減し、ユーザーの利益を保護するための重要な要素です。

summed

結論

DeFiプロトコルでのレバレッジ取引の導入は、市場により大きな機動性をもたらすと同時に、より複雑な取引メカニズムをもたらしています。レバレッジ取引はユーザーにより多くの投資機会を提供しますが、その潜在的なリスクとプロトコルセキュリティへの課題もより重要になっています。

レバレッジが増加すると、契約の運用はより柔軟になりますが、その結果、さまざまなセキュリティ脅威に対してより脆弱であり、より脆弱になります。これには、リミット注文と成行注文の厳密な区別の失敗、計算エラー、論理エラー、価格変動などの要因に対する極めて高い感度などが含まれます。この場合、ユーザーの資産が効果的に保護されるように、プロトコルのセキュリティにより注意を払う必要があります。

Web3分野でのトップブロックチェーンセキュリティチームとして、ScaleBitはシリコンバレー、シンガポール、香港、台湾などに展開しています。世界のWeb3セクターにおいて200以上の機関やプロジェクトにブロックチェーンセキュリティソリューションを提供し、18万行以上の監査コードを蓄積し、ユーザー資産800億ドル以上を保護してきました。セキュリティをすべての人にアクセス可能に!セキュリティ監査のニーズがあれば、お気軽にお問い合わせください。詳細で包括的かつ専門的なセキュリティソリューションを提供し、あなたとWeb3分野を安全に守ります!

免責事項:

  1. この記事は再掲されました[ScaleBit]そして著作権は元の著者に帰属します [ポラリス]. もし転載に異議がある場合は、Gate Learnチームにお問い合わせください。チームは関連手続きに従い、できるだけ迅速に対応いたします。

  2. 免責事項:この記事で表現されている意見は、著者個人の意見を表しており、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

dYdX V4のブームの背後には、DeFiレバレッジの分類、アプリケーション、セキュリティ実践の詳細な分析があります

中級12/13/2023, 2:12:46 PM
この論文では、dYdX V4を介したDeFiレバレッジの多様性と適用シナリオについて探求し、コードレベルの脆弱性を分析し、レバレッジプロトコルの主要なセキュリティポイントを提案しています。

DeFiレバレッジの紹介

最近のdYdX V4のローンチは、パーペチュアル契約取引に多くの注目と参加を集めています。dYdXはレバレッジ取引の例を成功裏に適用しており、dYdX V4の大きなポテンシャルを期待するだけでなく、レバレッジ契約の安全性にもっと注意を払う必要があります。次に、異なるレバレッジ戦略やセキュリティに関する考慮事項を、具体的なコード解析と例を使用してご案内します。

レバレッジとは何ですか

ファイナンスでは、レバレッジは、投資の潜在的なリターンを増やすためにお金を借りる戦略に依存する戦略です。単純に言えば、投資家やトレーダーは、特定の種類の資産、プロジェクト、またはインストゥルメントへの露出を、自己資本だけに頼るよりもはるかに高めるためにお金を借ります。しばしば、レバレッジを利用することで、投資家は市場での購買力を高めることができます。

DeFi取引におけるレバレッジ

レバレッジの利用は、暗号資産取引の最も重要で一般的な特徴の1つです。分散型取引所の設立直後、レバレッジを利用した取引はますます人気を集め、すでに暗号市場が高いボラティリティを示していたにもかかわらず、ますます一般的になりました。

従来の金融と同様に、トレーダーはレバレッジを使用して単に資本を借りて購買力を増やすか、先物やオプションなどの様々な金融派生商品を活用するために使用します。

レバレッジ比率は3倍から5倍以上に増加しています。 より高いレバレッジはより高いリスクを意味しますが、多くの中央集権取引所で見られるように、これはレバレッジ取引量が増加するにつれて高いリターンを求めるリスクを取りたがる積極的なトレーダーにとって受け入れられるリスクです。

レバレッジ分類の詳細な説明

DeFiに関しては、レバレッジ商品は主に4つのタイプに分かれ、レバレッジを生成するメカニズムが異なります:レバレッジ融資、証拠金取引レバレッジ、永続契約レバレッジ、およびレバレッジトークン。

レバレッジ取引

DeFiレンディングは、DeFiアプリケーションの中でも最も早く、最も大きなものの1つです。MakerDAO、Compound、AAVE、Venusなどの巨大企業がすでに市場で活動しています。暗号資産を借り入れてレバレッジを得るロジックはシンプルです。

例えば、Ether(ETH)で10,000ドルを保有し、上昇相場である場合、ETHを担保としてCompoundに預け、USDCで5,000ドルを貸し出し、その5,000ドルのUSDCを別の5,000ドルのETHと交換することができます。これにより、ETHに対して1.5倍のレバレッジを得ることができ、10,000ドルの元本に対して、1,500,000ドル分のETHに露出することができます。

同様に、ベア派の場合、ステーブルコインを預けてETHを貸し出すこともできます。ETHの価格が下落した場合、市場で低い価格でETHを購入して借金を返済することができます。

分散型プロトコルから借り入れるため、担保の価値が下落した場合や借り入れる資産の価値が一定の閾値を超えた場合には清算される可能性があることに注意してください。

マージントレーディングレバレッジ

DeFiレンディングを利用すると、これらのデジタル資産を自由に使うことができます。DeFiマージントレーディングは、ポジションサイズを増やすことに重点を置いており(購買力を増やすこと)、真の「レバレッジポジション」と見なされています。ただし、1つ重要な違いがあります。つまり、マージンポジションがまだ開いている間、トレーダーの資産は借り入れた資金の担保として機能します。

dYdXは、最大5倍のレバレッジを可能にする有名な分散型マージントレーディングプラットフォームです。dYdXのマージントレーディングでは、トレーダーは独自の資金を担保として使用し、元本を数倍に拡大し、これらの拡大された資金をより大規模に投資します。

トレーダーは取引に関連する利子や手数料を支払う必要があります。 このポジションは架空のものではなく、実際の借入と売買を含んでいます。

市場が不利な方向に動いた場合、トレーダーの資産はローンを完全に返済することができないかもしれません。これを防ぐために、一定の清算比率に達する前に、取引を清算することになります。

マージン取引でのレバレッジの変更方法は?

ETHに3倍の買いポジションを持っているとしましょうが、常に露出を調整したくない場合は、どうすればよいですか。

USDCで$100を保有し、さらにUSDCで$200を借りて$300のETHを取引してETHのロングポジションを確立します。レバレッジレベルは$300/$100 = 3倍です。

ETHの価格が20%上昇すれば、利益は300(1+20%)-300=$60になります。清算されるリスクは低くなり、実際のレバレッジレベルは360/(360-200)=2.25倍に低下します。つまり、ETHの価格上昇時には自動的にレバレッジを減らします。

ETHの価格が20%下落した場合、損失は300 (1-20%) -300 = -60ドルになります。清算に関しては、より危険な状況にあり、実際のレバレッジ水準は自動的に240/ (240-200) = 6倍に増加します。つまり、ETHの価格が下落すると、レバレッジを再調整することになり、以前よりもリスクが高い状況にあることを示します。

そのため、固定の3倍の証拠金取引を行うことで一定のレバレッジを維持できると考えるかもしれませんが、リアルタイムのレバレッジは常に変動しています。価格変動に応じてレバレッジがどのように変化するかを確認するには、以下のチャートをご覧ください [1]。

永続契約レバレッジ

永続契約は、伝統的な先物契約に似ていますが、満期日がありません。永続契約は証拠金ベースの現物市場を模倣しており、取引は基になる参照インデックスの価格に近いです。

トレーダー向けに永続契約を提供する多くのDeFiプロジェクトがあります。例えば、dYdX、MCDEX、Perpetual Protocol、Incompleteなどが挙げられます。多くのトレーダーは、レバレッジを利用することに関して、証拠金取引と永続契約の違いを理解することが難しいかもしれません。実際、これらはすべてユーザーレバレッジを含んでいます。

ただし、レバレッジメカニズム、手数料、レバレッジレベルにはいくつかの違いがあります。

永続契約は、合成資産を取引し、マージン取引を特徴とする派生商品です。基礎となる資産の価格は、実際の基礎となる資産を取引する必要がなく、合成的な方法で追跡されます。ただし、マージン取引には実際の暗号資産の借入と取引が含まれます。

永続契約の登場に伴い、資金調達レートの概念が生まれました。その目的は、永続契約の取引価格を基になる参照価格と一致させることです。契約価格が現物価格よりも高い場合、ブルたちはショートたちに支払う必要があります。つまり、トレーダーは常に借入手数料を支払う必要があります。

永続契約のレバレッジは、通常、証拠金取引よりも高く、最大で100倍になることがあります。清算および実際のレバレッジメカニズムは、証拠金取引と同じです。

レバレッジトークン

レバレッジトークンは、レバレッジポジションの積極的な管理の心配をせずに、暗号通貨市場へのレバレッジ露出を提供する派生商品です。保有者にはレバレッジ露出を提供しますが、証拠金、清算、担保、資金調達金利に対処する必要はありません。

レバレッジトークンとレバレッジ取引/永続契約の最大の違いは、レバレッジトークンは、特定のレバレッジ水準を維持するために定期的にまたは一定の閾値に達したときに再バランスされることです。

これは明らかにマージントレーディングや永続契約とは異なります。これらの商品の実際のレバレッジは価格変動に応じて常に変化しており、トレーダーが最初にレバレッジのレベルを指定したとしても、そのレバレッジは常に変動しています。

上記の3倍のETHの例でリバランスがどのように機能するかを見てみましょう:

あなたは$100のUSDCを保有し、ETHBULL(3倍)レバレッジトークンを購入します。プロトコルは自動的に$200のUSDCを借り入れ、$200のETHを取引します。

ETHの価格が20%上昇したと仮定し、ETHBULL(3倍)トークンの価格が再調整前に300*(1 +20%)-200 = $160に上昇しました。実際のレバレッジは今や2.25(360/160)で、目標レバレッジを下回っています。

リバランスプロセスの一環として、プロトコルは安定コインプールからさらにドルを借りて、追加のETHトークンを購入してレバレッジを3倍に戻します。 この例では、プロトコルはさらに120ドルを借り入れ、ETHと交換します。 したがって、合計レバレッジは再び(360+120)/160 = 3倍になります。

ETHの価格が20%下落したと仮定し、ETHBULL(3倍)トークンの価格がリバランス前に300*(1-20%)-200=40ドルに下落しました。実際のレバレッジは今、目標のレバレッジを上回る6(240/40)になります。

この場合、取引所はETHトークンを売却し、負債を返済してレバレッジを削減します。この例では、プロトコルは$120のETHを売却してプールに支払います。負債は$80となり、総レバレッジは再び(240-120) /40 = 3倍となります。

言い換えれば、レバレッジトークンは利益で自動的に再レバレッジされ、損失で自動的にデレバレッジされて、目標のレバレッジレベルを回復します。このメカニズムがうまく機能すれば、逆市場トレンドでも、レバレッジトークン保有者は、デレバレージングメカニズムがユーザーの実効レバレッジレベルを連続的に低下させるため、清算されることはありません。

その結果、レバレッジトークンモデルの貸出プールは清算リスクから免除され、証拠金取引の借入プールよりも安全です。

レバレッジの応用例

一般的なDeFiプロトコルのレバレッジタイプについて学んだので、特定のDeFiプロトコルにおけるレバレッジの適用について詳しく話し合いましょう。

GMX

GMX[2]GMXは、トレーダーに資産を最大50倍のレバレッジで取引する機会を提供する、分散型の即時および永続的な取引所です。この取引所は現在、ArbitrumとAvalanche上で稼働しています。GMXでは、トレーダーはCEXでの取引とはまったく異なり、相手方の状況を完全に把握することができます。また、dYdXなどの他の永続契約取引所とは異なり、GMXは完全にオンチェーンで動作し、AMM機能を使用してレバレッジ取引を可能にしています。

GMXを他のサービスとは異なるものにするのは、レバレッジ取引サービスを提供する分散型取引所であるという点です。この点において、それはUniswapのような他のDeFi取引所と、Binanceなどが提供するレバレッジ取引サービスと類似の体験を組み合わせています。

GMXには、マージン取引向けの流動性プールであるGLPがあります。ユーザーは、GLPトークンを鋳造および破棄してロング/ショートポジションを持ち、取引を実行することができます。このプールは取引やレバレッジ取引からLP手数料を獲得し、その手数料はGMXおよびGLPの保有者に分配されます。

レバレッジ取引を行うには、トレーダーは担保を契約に入金します。トレーダーは最大50倍のレバレッジを選択できます。レバレッジが高いほど、清算価格も高くなり、借入コストが増加するにつれて徐々に増加します。

たとえば、ETHのロング注文を出すと、トレーダーはETHの上方向のスペースをGLPプールから「リース」していることになります。ETHをショートすると、トレーダーはETHに対してステーブルコインの上方向のスペースをGLPプールから「レンタル」しています。ただし、GLPプールの資産は実際にはリースされていません。

ポジションを決済する際、トレーダーが正しく賭けた場合、利益はGLPプールからトークンが増加する形で支払われます。それ以外の場合、損失は担保から差し引かれ、プールに支払われます。GLPはトレーダーの損失から利益を得て、トレーダーの利益からも利益を得ます。

その過程で、トレーダーは取引手数料、オープニング/クロージング手数料、および借入手数料を支払い、指定されたトークン(BTC、ETH、AVAX、UNI、およびLINK)に対して米ドルに対して上向きの空間を得ます。

マークルトレード

マークルトレード[3]Merkle Trade(マークルトレード)は、最大1,000倍のレバレッジと高度なユーザーセントリックな取引機能を備えた暗号通貨、外国為替、商品取引を提供する分散型取引プラットフォームです。Merkle Trade(マークルトレード)は、Aptosブロックチェーンで動作し、優れたパフォーマンスと拡張性を備えています。同じような高レバレッジを提供するGains Networkと比較して、取引の遅延と手数料が低いです。

ほとんどの取引所とは異なり、Merkle Tradeには注文簿がありません。代わりに、Merkle LPはすべての取引の相手方として機能し、トレーダーが損失を出すと、担保を取り、利益が出た取引に利益を支払います。

  • 最大1,000倍のレバレッジで仮想通貨、外国為替、商品を取引する

Merkle Tradeは、暗号通貨、外国為替、商品など幅広い取引ペアを提供するように設計されており、市場でも最高水準のレバレッジを提供しています。暗号通貨では最大150倍、外国為替では最大1,000倍まで可能です。

  • フェアな価格の注文執行、ミリ秒単位の遅延、最小限のスリッページ

最新の最低レイテンシーを持つAptosでブロックチェーンを生成すると、最速のオンチェーン取引体験が提供されます。 トレーダーにとって、これはより迅速な取引体験と、実行の遅延による価格スリッページの低減を意味します。

  • カウンターパーティリスクのない分散型で非保管型の取引

トレーダーは、すべての取引に対して相手方として機能する流動性プール(Merkle LP)で取引します。すべての取引と決済はスマートコントラクトによって実行され、いつでもユーザー資金のホスティングは行われません。

  • 手数料が最も低い

Merkle Tradeは、これまでの市場で最も低い手数料を請求していると主張しています。ローンチ時には、暗号通貨取引ペアの手数料は0.05%、外国為替取引ペアの手数料は0.0075%まで低かったです。

DYDX

DYDX

dYdX[4]dYdX V3は、2021年にローンチされて以来、ユーザーに資産の完全なコントロールを持ちながら、永続契約を効率的に取引することを可能にする分散型取引(DEX)です。dYdX V3はユニークな非管理型の第2階層スケーリングソリューションを採用して取引所を実装していますが、そのオーダーブックとマッチングエンジンは依然として中央で管理されています。

dYdX V4では、プロトコルが独自のチェーンに成長し、完全な分散化を実現するためにプロトコル全体が完全に再構築され、スループットが向上しています。 dYdXには、貸出、レバレッジ取引、永続契約の3つの機能が含まれています。 レバレッジ取引には借入機能があります。 ユーザーが預け入れた資金は自動的にファンドプールを形成します。 取引中に資金が不足している場合、自動的に利子が借りられて支払われます。

レバレッジ安全性分析

DeFiにおけるレバレッジの一般的な種類と用途を紹介しました。また、レバレッジの設計にはまだ多くのセキュリティ上の問題があり、私たちの注意を引くに値するものです。具体的な監査事例に基づいて、DeFiレバレッジのセキュリティ問題と監査ポイントを分析します。

リミット注文と市場注文の違いを区別する

ほとんどのレバレッジ取引所アプリケーションには、指値注文と成行注文があります。指値注文と成行注文を厳密に区別し、検証することは非常に重要です。次に、私たちはMerkle Tradeの監査で見つけた問題の詳細な分析を行います[5]。

let now = timestamp: :now_seconds (); if (now - order.created_timestamp > 30) {         cancel_order_internal(             _order_id,             order,             T_CANCEL_ORDER_EXPIRED         );         return     };

このコードのこの部分は、注文が作成されてから30秒以上経過しているかどうかをチェックする注文機能でのチェックを実行する部分です。条件が満たされた場合、cancel_order_internal()を呼び出して注文をキャンセルします。ただし、注文が指値注文である場合、それはトレーダーによって特定の価格が設定され、彼らはその価格で資産を購入または売却する意思があることを意味します。指値注文を実行する際には、そのような判断をすべきではありません。これにより、ほとんどの指値注文が実行されなくなる可能性があります。したがって、指値注文と成行注文の取引ロジックを厳密に区別することが重要です。

レバレッジ計算エラー

DeFiにおける計算エラーは常に非常に一般的な問題であり、レバレッジでも特に一般的です。我々は、第三者監査で発見されたUnstoppable [6]プロトコルによる問題を使用して、レバレッジの計算問題を徹底的に調査します。

Unstoppable でレバレッジを計算するためのコードを見てみましょう。

def _calculate_calculation ( _position_value: uint256, _debt_value: uint256, _margin_value: uint256) -> uint256: if _position_value < = _debt_value: #bad debt Return max_value (uint256) Return ( precision * (_debt_value + _margin_value) /(_position_value - _debt_value) /PRECISION )

_calculate_margin関数は、_debt_value + _margin_valueを分子としてではなく、_position_valueを使用してレバレッジを誤って計算する原因となりました。関数の3つの入力パラメータ、_position_value、_debt_value、_margin_valueは、Chainlinkのオンチェーンオラクルによって提供される価格情報によってすべて決定されます。ここで、_debt_valueは、ポジションの負債シェアをドル建ての負債額に変換する価値を示します。_margin_valueは、ポジションの初期証拠金額の現在価値(米ドル建て)を示します。_position_valueは、ポジションの初期設定金額の現在価値(米ドル建て)を示します。

上記の計算の問題点は、_debt_value + _margin_valueがポジションの価値を表していないことです。レバレッジとは、現在のポジションの価値と現在の証拠金の比率です。_position_value - _debt_valueが正しいです。現在の証拠金の価値を示していますが、_debt_value + _margin_valueはポジションの現在の価値を表していません。なぜなら、債務トークンとポジショントークンが関連する価格変動を保証するものではないからです。

例えば、債務トークンはETHであり、ポジショントークンはBTCです。

Aliceは1 ETHを証拠金として使用し、14 ETH(それぞれ2,000ドル)を借り入れ、1 BTC(それぞれ30,000ドル)のポジショントークンを取得します。レバレッジは14です。

翌日、ETHの価格は1ETHあたり2,000ドルのままでしたが、BTCの価格は1BTCあたり30,000ドルから29,000ドルに下落しました。この時点でレバレッジは(_position_value == 29,000)/(_position_value == 29,000 - _debt_value == 28,000) = 29でなければならず、契約で計算された値ではありません: (_debt_value == 28,000 + _margin_value == 2,000)/(_position_value == 29,000 - _debt_value == 28,000) = 30です。

したがって、これを修正するためには、上記に記載されている正しい公式を使用して、スマートコントラクトでレバレッジを計算する必要があります。 レバレッジの誤計算は、不当な清算や価格変動に対応した過剰なレバレッジポジションにつながる可能性があります。

スマート契約において、適切なレバレッジ計算を確保することは、システムの堅牢性とユーザーの利益を維持する上で重要です。レバレッジの正確な計算は、現在のポジションの価値と現在の証拠金価値の比率に基づいているべきです。間違った計算式を使用すると、システムが価格変動に適切に反応しない可能性があるだけでなく、清算すべきでないポジションを清算する可能性があり、過度にレバレッジされたポジションが存在し続ける可能性があり、それによりシステムとユーザーのリスクが増加する恐れがあります。

論理エラー

ロジックエラー

スマートコントラクトの監査では、特にDeFiレバレッジ取引などの複雑なロジックにおいて、論理エラーに特に注意が必要です。

DeFiレバレッジを利用する際に注意すべき論理的な問題について、Tigrisによって発見された問題を取り上げましょう[7](アラビトラムとポリゴンに基づく分散型合成レバレッジトレーディングプラットフォームであるティグリス)を第三者監査しました。

Tigrisの価格制限クロージング機能のロジックを見てみましょう:

function limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external{   _checkDelay(_id, false);   (uint _limitPrice, address _tigAsset) = tradingExtension._limitClose(_id, _tp, _priceData, _signature);   _closePosition(_id, DIVISION_CONSTANT, _limitPrice, address(0), _tigAsset, true);}function _limitClose ( uint _id, bool _tp, priceData calldata _priceData, Bytes calldata _signature) external view returns (uint _limitPrice, address _TIGAsset) { _checkGas (); iPosition.trade memory _trade = position.trades (_id);   _tigAsset = _trade.tigAsset;   getVerifiedPrice (_trade.asset, _priceData, _signature, 0); uint256 _price = _priceData.price;   if (_trade.orderType! = 0) revert (" 4 "); //isLimit if (_tp) { if (_trade.tpPrice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.tpPrice > _price) revert("6"); //LimitNotMet       } else {           if (_trade.tpPrice < _price) revert("6"); //LimitNotMet       } _limitPrice = _trade.tpPrice;   } else { if (_trade.slprice == 0) revert (" 7 "); //limitNotSet if (_trade.direction) {           if (_trade.slPrice < _price) revert("6"); //LimitNotMet       } else {           if (_trade.slPrice > _price) revert("6"); //LimitNotMet       } //@audit stop loss is closed at user specified price NOT market price _limitPrice = _trade.slprice;   }}

ポジションをクローズするためにストップロスを使用する場合、ユーザーのクロージングプライスはユーザーが設定したストップロスプライスであり、アセットの現在のプライスではありません。方向性のある市場やハイレバレッジの場合、ユーザーはほぼ無リスクの取引を実現するためにこれを悪用する可能性があります。ユーザーはロングポジションを取り、現在のプライスより$0.01低いストップロスプライスを設定することができます。

次のアップデートで価格がすぐに下がった場合、彼らは自分のエントリープライスでポジションをクローズし、オープニングとクロージングの手数料のみを支払います。価格が上昇すれば、多額の利益を得る可能性があります。その結果、ユーザーは、ハイレバレッジ、ハイアップサイドポテンシャル、そして低ダウンサイドリスクを持つ取引をオープンするためにストップロス価格設定方法を誤用することがあります。

価格の変動

価格タブ

価格変動がDeFiレバレッジに与える影響は非常に重要です。価格変動を常に考慮することで、レバレッジ契約の安全性を確保できます。DeFinerを利用しましょう[8]サードパーティの監査で発見された問題の詳細な分析の例として、プロトコルを挙げます。

DeFinerプロトコルは、出金処理を行う前に2回のチェックを受けます。

最初に、この方法は、ユーザーが引き出しをリクエストした金額がその資産の残高を超えていないかどうかを確認します:

function authorization (address _accountAddr, address _token, uint256 _amount) external onlyAuthorized returns (uint256) { //ユーザーの残高よりも十分な量が少ないかどうかを確認require (_amount < = getDepositBalanceCurrent (_token, _accountAddr), " Earned balance. ");   uint256 borrowLtv = globalConfig.tokenInfoLogistry () .getBorrowLtv (_token);

第二に、この方法は、引き出しによってユーザーのレバレッジ率が高すぎるかどうかをチェックします。引き出される金額は、ユーザーの現在の価格の「借入力」から差し引かれます。ユーザーの総借入額が新しい借入力を超えると、ユーザーはもはや借入ポジションをサポートするための担保が十分ではなくなるため、この方法は失敗します。ただし、この要件は、ユーザーが過度にレバレッジされていない場合にのみチェックされます。

if (getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr)) require ( getBorrowEth (_accountAddr) < = getBorrowPower (_accountAddr) .sub (           _amount.mul (globalConfig.tokenInfoRegistry () .priceFromAddress (_token)) .mul (borrowLtv) .div (utils.getDivisor (address (globalConfig), _token)) .div (100)       ), " Colloquium Collège when ");

ユーザーが「借入れ可能額」を超えて借入れている場合、何が起こってもお金を引き出すことができます。これは、価格の変動など、さまざまな状況で起こり得ます。合意では、価格の変動が合意に与える影響を考慮しておらず、この問題が発生しました。

その他

リミット注文と成行注文の区別をつけないことの影響に加えて、上述の計算エラー、論理エラー、価格変動の影響がありますが、レバレッジ契約に関連する多くのセキュリティポイントに注意が必要です。これには、フラッシュローン攻撃、価格操作、予言者のセキュリティ、権限制御、不十分なレバレッジチェック、またはチェックの不足などの問題が含まれます。これらの要因は、レバレッジ契約の設計と実施において注意深く考慮する必要があり、契約の堅牢性とユーザー資産の安全性を確保するための重要なポイントです。予防措置、リアルタイムモニタリング、緊急対応計画も、潜在的なリスクを軽減し、ユーザーの利益を保護するための重要な要素です。

summed

結論

DeFiプロトコルでのレバレッジ取引の導入は、市場により大きな機動性をもたらすと同時に、より複雑な取引メカニズムをもたらしています。レバレッジ取引はユーザーにより多くの投資機会を提供しますが、その潜在的なリスクとプロトコルセキュリティへの課題もより重要になっています。

レバレッジが増加すると、契約の運用はより柔軟になりますが、その結果、さまざまなセキュリティ脅威に対してより脆弱であり、より脆弱になります。これには、リミット注文と成行注文の厳密な区別の失敗、計算エラー、論理エラー、価格変動などの要因に対する極めて高い感度などが含まれます。この場合、ユーザーの資産が効果的に保護されるように、プロトコルのセキュリティにより注意を払う必要があります。

Web3分野でのトップブロックチェーンセキュリティチームとして、ScaleBitはシリコンバレー、シンガポール、香港、台湾などに展開しています。世界のWeb3セクターにおいて200以上の機関やプロジェクトにブロックチェーンセキュリティソリューションを提供し、18万行以上の監査コードを蓄積し、ユーザー資産800億ドル以上を保護してきました。セキュリティをすべての人にアクセス可能に!セキュリティ監査のニーズがあれば、お気軽にお問い合わせください。詳細で包括的かつ専門的なセキュリティソリューションを提供し、あなたとWeb3分野を安全に守ります!

免責事項:

  1. この記事は再掲されました[ScaleBit]そして著作権は元の著者に帰属します [ポラリス]. もし転載に異議がある場合は、Gate Learnチームにお問い合わせください。チームは関連手続きに従い、できるだけ迅速に対応いたします。

  2. 免責事項:この記事で表現されている意見は、著者個人の意見を表しており、投資アドバイスを構成するものではありません。

  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

Comece agora
Registe-se e ganhe um cupão de
100 USD
!