誰も大声で言いたがらない事実がある。今日の暗号通貨コンプライアンスの主要スタックはすべて、根本的に破綻した前提の上に構築されている。トランザクションを実行すると、それは中央集権的な API にヒットし、その API はバージニア州のどこかにあるデータベースを確認し、それから——うまくいけば、いつか——送金をブロックすべきかどうかを伝える。
一秒考えてみろ。ブロックチェーンの約束は非中央集権化、透明性、検閲抵抗だ。そして、あなたのコンプライアンス・ソリューションはバージニア州の中央集権的 API である。
それはフィーチャーではない。あなたが金を払って買っているバグだ。
これらのシステムを構築している人々が愚かだと言っているわけではない。Chainalysis、Elliptic、TRM——彼らには優秀なエンジニアと良いデータがある。だが、彼らは間違った問題を間違ったアーキテクチャで解こうとしている。Web2 のコンプライアンスを Web3 のインフラにボルトで止めようとしている。その結果は、両方の世界の最悪を継承したフランケンシュタインだ。
API モデルは間違っている
API モデルが間違っている理由を具体的に説明しよう。手を振るだけでは役に立たない。
レイテンシー。 API コールごとに、トランザクションフローにミリ秒、時に数秒が追加される。DeFi において、それは永遠だ。MEV ボットはあなたのコンプライアンス API が応答するのを待たない。DEX でトークンをスワップしようとしているユーザーも同様だ。その遅延は面倒なだけではない——経済的に破壊的だ。即時のファイナリティのために構築されたシステムに、バージニア州アシュバーンの誰かがデータベースの行を調べるのを待つように求めている。
単一障害点。 API がダウンしたらどうなる? コンプライアンス・プロバイダーが停止したら? 彼らの DNS が失敗したら? レート制限が発動したら? 私はそれを目の当たりりにした——大手取引所は、KYT プロバイダーの API がダウンしたため、出金を停止しなければならなかった。コンプライアンス・スタック全体は、SLA に包まれた単一障害点だった。SLA はライブの時に役に立たない。
信頼の仮定。 API が正しい答えを返すことを信頼しなければならない。データベースが最新であることを。プロバイダーが侵害されていないことを。転送中に応答が改竄されていないことを。トラストレスネスが全てのポイントである世界で、あなたは完全にサードパーティを信頼する必要があるコンプライアンス・システムを構築した。それはコンプライアンスについてすらトラストレスではない——特にコンプライアンスについて信頼しているのだ。
迂回経路。 API チェックはトランザクションの周りで行われ、トランザクションの内側ではない。API が「ブロック」と言っても、フロントエンドは単に……ブロックしないこともできる。スマートコントラクトは知らない。ブロックチェーンは知らない。コンプライアンス・チェックはルールではなく提案だ。決意のある行為者はそれを完全に迂回できる。私たちはこれを何度も見てきた——制裁スクリーニングが、ユーザーフェイシング UI にのみ適用され、基礎となるスマートコントラクトには適用されない。それは茶番劇だ。
Chainalysis KYT は代表的な例だ。動作はこうだ:トランザクションがバックエンドにヒットし、バックエンドが Chainalysis を呼び出し、Chainalysis が応答し、バックエンドがどうするかを決定する。ブロックチェーンが最後に知る。コンプライアンス・レイヤーは、保護すべきシステムの外にいる門番だ。
そして Chainlink Functions もある。生の API よりは良いが、まだ間違っている。オラクル・モデルを押し付ける:リクエストを行い、オラクルネットワークがデータを取得し、オラクルがオンチェーンで返す。だが今、あなたはオラクルのガスを支払い、オラクルのレイテンシーを待ち、オラクルネットワークのセキュリティ・モデルを信頼している。改善だが、それでもラウンドトリップだ。コンプライアンス・チェックは実行環境にネイティブではない。訪問者だ。
正しい方法:オンチェーン・ネイティブ実行
正しい方法がどう見えるかを示そう。リスクデータはオンチェーンに存在する。ポリシー・エンジンはオンチェーンに存在する。評価は同じトランザクション内で、同じブロック内で、同じ実行コンテキストで行われる。API コールはない。レイテンシーはない。迂回はない。信頼の仮定はない。
ユーザーがトークンを転送しようとすると、スマートコントラクト自身が受取人のリスク・プロファイルを確認する。受取人が制裁対象なら、転送はリバートする。リスク・スコアが高すぎれば、転送は隔離される。すべてがクリーンなら、転送は進む。これはすべて一つの不可分トランザクションで行われる。ブロックチェーンはサーバーに許可を求めない。答えは既にオンチェーンにあるから、それを知っている。
これは小さな改善ではない。パラダイム・シフトだ。
重要な利点は五つある:
1. 決定論性。 同じ入力は常に同じ出力を生む。アドレス A が制裁対象なら、それは常に制裁対象だ。競合状態もなく、古いデータもなく、「API がトランザクション中に更新されていた」ということもない。リスク・プロファイルはコンセンサス的事実だ。ネットワーク上の全ノードがそれに同意する。
2. ゼロレイテンシー。 リスク・チェックはトランザクション実行の一部だ。ローカル変数から読み取るのと同じガスコストだ。ネットワークのラウンドトリップはない。HTTP タイムアウトはない。接続プールの枯渇はない。チェックはローカル変数から読み取るのと同じくらい速い——それがそうだからだ。
3. 迂回不可能。 チェックはスマートコントラクト内で行われる。チェックが失敗すれば、トランザクションはリバートする。それを迂回する方法はない。コンプライアンス・レイヤーを飛ばしてコントラクトを直接呼び出すことはできない。コンプライアンス・レイヤーがコントラクトだ。セキュリティ境界は実行境界だ。これは警備員と壁の違いだ。
4. 透明性と監査可能性。 すべてのリスク・チェックはオンチェーンに記録される。誰でも何が起こり、なぜ起こったかを見ることができる。プロバイダーのブラックボックス・アルゴリズムを信頼する必要はない。コンプライアンスを検証するために SOC-2 レポートは必要ない。コンプライアンスはトランザクション履歴だ。規制当局は直接検証できる。監査人は直接検証できる。あなたのユーザーも直接検証できる。透明性は追加するフィーチャーではない——デフォルトだ。
5. プロトコルレベルの統合。 リスク・エンジンがスマートコントラクトなので、他のどのスマートコントラクトもそれを継承できる。あなたのステーブルコイン、あなたのウォレット、あなたの DEX、あなたの RWA トークン——すべてが同じオンチェーン・レジストリを呼び出す。統合は「SDK を追加して API コールを行う」ことではない。統合は「コントラクトをインポートしてチェックを継承する」ことだ。Solidity で三行だ。依存関係とプロトコルの違いだ。
類推: API ベースのコンプライアンスは、データベースの制約を別のマイクロサービスに書くようなものだ。すべての挿入は、データが有効かどうかを確認するために REST API を呼び出す。API がダウンすれば、すべての書き込みを停止するか、ダーティデータをリスクするかのどちらかだ。オンチェーン・コンプライアンスはデータベース・トリガーのようなものだ。制約はトランザクション内で実行される。失敗すれば、トランザクションは失敗する。ネットワークコールはない。別のサービスはない。それを迂回する方法はない。
これはバックエンド APIからデータベース・トリガーへのシフトだ。API をより速くまたはより信頼できるようにすることではない。API がそもそも存在すべきではないことを気づくことだ。
FidesOrigin の実装
FidesOrigin はこの原則に基づいて構築されている。リスクデータはチェーンに同期される。ポリシー・エンジンはスマートコントラクトだ。評価は転送フック内で行われる。
実際にどう見えるかを示そう。ステーブルコインがある。すべての転送を制裁リストとリスク・プロファイルに照らしてスクリーニングしたい。コンプライアンス・コントラクトを継承する。_update フックをオーバーライドする。そのフック内で、オンチェーン・リスク・エンジンを呼び出す。転送がポリシーに違反すれば、リバートする。以上だ。
// ステーブルコインはオンチェーン・リスク・スクリーニングを継承 contract CompliantStableCoin is ERC20, IFidesCompliance { function _update( address from, address to, uint256 amount ) internal override { // 転送実行前に評価 (bool allowed, uint256 risk) = fides.evaluateTransaction( from, to, amount, address(this) ); if (!allowed) revert ComplianceViolation(from, to, risk); super._update(from, to, amount); } }
API キーはない。レート制限はない。サービス依存はない。コンプライアンス・ロジックは転送自体と同じ実行コンテキスト内にある。トランザクションは有効か、そうでないかだ。「たぶん」はない。
データ・レイヤーは自律的だ。OFAC SDN、Chainalysis、OpenSanctions——フィードは継続的にチェーンに同期される。だが、同期はバックグラウンド・プロセスであり、トランザクションの依存ではない。トランザクションはオンチェーンに既にあるものだけを読む。その読み取りは瞬時だ。書き込みは非同期だ。システムはデータの鮮度をトランザクション実行から切り離す。
これは問うことと知ることの違いだ。API モデルは問う。オンチェーン・モデルは知る。
カテゴリーの定義:オンチェーンリスクエンフォースメント
これには新しい名前が必要だ。「コンプライアンス API」は間違っている。「オラクルベース・コンプライアンス」も間違っている。私たちが構築しているものはオンチェーンリスクエンフォースメントだ。
リスク・スクリーニングではなく、リスク・エンフォースメントだ。スクリーニングは、何かを見て決定することだ。エンフォースメントは、システム自身が決定することだ。スクリーニングはオプションだ。エンフォースメントは必須だ。
オンチェーンであり、オフチェーンではない。ハイブリッドでもない。ブリッジでもない。エンフォースメント・ロジックは、それが統制するトランザクションと同じレイヤーで実行される。リスクデータはコンセンサス・データだ。ポリシー実行はコンセンサス実行だ。結果はコンセンサス的事実だ。
これは新しいカテゴリーだ。コンプライアンス API 全体を完全に置き換えるわけではない——調査ツール、フォレンジック分析、レポーティングのニーズは常に存在する。だが、転送ポリシーのリアルタイム執行において、API は間違ったツールだ。四角い穴に丸い杭を打ち込むようなものだ。その穴は日々大きくなっている。
重要なプラットフォーム——ステーブルコイン発行体、スマートコントラクト・ウォレット、RWA トークン化、エージェンティック・ペイメント・レール——は、コアリスク・コントロールを外部 API に依存することを許容できない。KYT 応答を待つ間、すべての転送を停止するステーブルコインはステーブルコインではない。それは手順が増えた銀行 API だ。コンプライアンスをサードパーティ・サービスに委任するスマートウォレットはスマートウォレットではない。バックドアのあるフロントエンドだ。
未来は、自身のルールを執行するコントラクトだ。自身のトランザクションをスクリーニングするプロトコルだ。許可を求めないウォレット——既に答えを知っているからだ。
これが FidesOrigin が構築するものだ。コンプライアンス API ではない。オラクルでもない。トランザクション内で実行されるオンチェーン・リスク・エンジンだ。決定論的。ゼロレイテンシー。透明。迂回不可能。プロトコル・ネイティブ。
次世代のオンチェーン・ファイナンスを構築しているなら、コンプライアンス・ベンダーは必要ない。コンプライアンス・プロトコルが必要だ。
暗号通貨コンプライアンスの API 時代は終わりを告げている。エンフォースメントの時代が始まっている。