DeFi
Decentralized Finance
概要(サマリー)
DeFi(分散型金融)とは、ブロックチェーン上のプログラムを利用して、暗号資産の交換や貸し借りなどを行う金融サービスの総称である。
銀行や証券会社が取引ごとに仲介する代わりに、スマートコントラクトが条件判定や資産移動を実行する。インターネットと対応するウォレットがあれば利用できるサービスが多く、原則として24時間動作する。
ただし、DeFiという名称でも、開発者の管理権限、外部サービス、価格情報の提供者などに依存する場合がある。完全に仲介者や管理主体が存在しないとは限らない。
詳細解説
1. DeFiの基本的な仕組み
DeFiでは、ブロックチェーン上のスマートコントラクトが、預け入れ、交換、担保確認、清算などのルールを実行する。
利用者はウォレットから取引へ署名し、スマートコントラクトを呼び出す。サービスによってはアカウント登録や信用審査なしで利用できるが、取引手数料となる暗号資産や担保が必要になることがある。
「トラストレス」は何も信頼しなくてよいという意味ではない。コード、利用するブロックチェーン、価格情報、管理権限など、信頼する対象が従来の金融機関とは異なるという考え方である。
2. 代表的なDeFiサービス
DeFiには、従来の金融に似た機能と、ブロックチェーン特有の機能がある。
- 分散型取引所(DEX):利用者が資産を預けた流動性プールなどを使い、暗号資産やトークンを交換する
- レンディング:暗号資産を貸し出して利息を受け取ったり、担保を預けて別の資産を借りたりする
- ステーブルコイン:法定通貨などの価格への連動を目指す暗号資産を発行・利用する
- 資産運用サービス:複数のプロトコルを組み合わせ、報酬や手数料収入を得る運用を行う
利用方法やリスクはサービスごとに異なる。名称が同じでも、担保率、清算条件、手数料、管理権限を確認する必要がある。
3. 流動性プールと自動交換
一部のDEXは、売り手と買い手の注文を直接組み合わせる代わりに、利用者が預けた資産のプールを使って交換を成立させる。
流動性提供者は手数料や報酬を受け取れる場合があるが、預けた二つの資産の価格差が変化すると、単純に保有し続けた場合より価値が下がる「インパーマネントロス」が発生することがある。
大きな金額を一度に交換すると、プール内の価格が動いて想定より不利な価格になることもある。この差をスリッページと呼ぶ。
4. レンディングと強制清算
DeFiの貸し借りでは、借りる金額より多い価値の担保を預ける「過剰担保」がよく使われる。借り手の本人確認や信用情報の代わりに、担保価値で返済不能リスクを抑える仕組みである。
担保の価格が下がり、決められた基準を下回ると、スマートコントラクトが担保を売却することがある。これが強制清算である。
清算条件はプロトコルごとに異なり、価格の急変やネットワーク混雑によって、利用者が担保を追加する前に清算される場合もある。
5. コンポーザビリティ
DeFiのプロトコルは、ほかのプロトコルから呼び出せるように設計されることがある。貸し借り、交換、資産管理などを部品のように組み合わせられる性質をコンポーザビリティと呼ぶ。
組み合わせによって新しいサービスを開発しやすくなる一方、一つの構成要素で障害や価格異常が起きると、連携先へ影響が広がる可能性がある。
オープンソースでコードを確認できても、安全性が保証されるわけではない。コード監査の有無だけでなく、運用期間、管理権限、依存先も確認する必要がある。
6. 担保率を計算するコード例
次のJavaScriptは、担保の現在価値を借入額で割り、担保率を計算する単純な例である。
function calculateCollateralRatio(collateralValue, debtValue) {
if (debtValue <= 0) {
throw new Error("借入額は0より大きい必要があります");
}
return (collateralValue / debtValue) * 100;
}
const ratio = calculateCollateralRatio(1500, 1000);
console.log(`担保率: ${ratio}%`);
実際のDeFiでは、価格情報の取得方法、手数料、小数点処理、清算基準なども考慮する。この例だけで資金管理や自動清算を実装してはならない。
7. 主なリスクと確認項目
DeFiには、スマートコントラクトの不具合、価格情報の操作、秘密鍵の漏えい、偽サイト、管理者権限の悪用などのリスクがある。
主な確認項目は次のとおりである。
- 管理者がコントラクトを変更・停止できるか
- 価格情報をどこから取得しているか
- コードや監査結果が公開されているか
- 預けた資産をいつでも引き出せるか
- 清算条件、手数料、スリッページがどの程度か
損失時に預金保険のような公的保護を受けられるとは限らない。利用前に最新の仕様を確認し、失っても生活へ影響しない範囲で判断する必要がある。
AIコーディングとの関係
AIは、DeFiプロトコルから残高や金利を読み取るコード、担保率の計算、スマートコントラクトのテストなどを作る際に利用できる。
依頼するときは、対象ネットワーク、コントラクトのアドレスとABI、ライブラリのバージョン、読み取り専用か取引を送信するか、スリッページ上限、失敗時の処理を明示する。
AIが生成したコードには、古いAPIやライブラリの使い方、整数の桁数や小数点処理の誤り、承認額を無制限にする処理などが含まれることがある。監査済みライブラリを使うだけで安全になるわけではないため、テストコード、静的解析、テストネット、複数人のレビューを組み合わせる必要がある。
秘密鍵や復元用フレーズをAIへ入力してはならない。取引を送信するコードは、まず読み取り専用処理と分離し、少額かテストネットで検証する。
よくある勘違い
DeFiには仲介者や管理者が一切存在しない?
必ずしもそうではない。管理者権限、価格情報サービス、Web画面の運営者などに依存する場合がある。
DeFiなら送金や取引は常に安く速い?
常にそうとは限らない。利用するネットワークの混雑、取引手数料、流動性、スリッページによって費用や時間が増えることがある。
高い利回りは利益が保証されているという意味?
違う。報酬トークンの価格下落、清算、インパーマネントロス、プログラムの不具合などにより、利回り以上の損失が発生する可能性がある。
コード監査済みなら安全?
監査はリスクを減らす手段の一つだが、すべての不具合や運用上の問題を発見できるとは限らない。監査後の変更や依存先も確認する必要がある。
まとめ
- DeFiは、ブロックチェーン上のプログラムで暗号資産の交換や貸し借りを行う金融サービスである
- DEX、レンディング、ステーブルコイン、資産運用などの種類がある
- 24時間利用できるサービスが多いが、手数料や処理速度は状況によって変わる
- コード、価格情報、管理権限、秘密鍵など複数のリスクを確認する必要がある
- AI生成コードを資金取引へ使う前に、テストと人によるレビューが必要である
情報ソース
より詳しくAIに聞いてみよう
- DeFiと従来の金融サービスの違いを、初心者向けに説明してください。
- DEXの流動性プールと注文板方式の違いを比較してください。
- DeFiの担保率と強制清算の仕組みを具体例で説明してください。
- DeFi連携コードを本番利用する前のテスト項目を作成してください。
- スマートコントラクトの管理者権限と外部依存を確認するレビュー手順を作成してください。