この投稿では、今週のCloudflareの障害のようなインシデントについての考え方、タイムロック付きの純粋なスマートコントラクトコントロールプレーンが障害モードをどのように変えるか、そしてゼロ知識証明がどこに適合するかについて説明します。
2025年11月18日 11:20 UTC、Cloudflareのエッジが大量のトラフィックに対して5xxエラーを返し始めました。根本的な原因は攻撃者ではなく、クエリが重複行を返すようにしたClickHouseの権限変更でした。そのクエリは、数分ごとにすべてのエッジボックスに配信されるボット管理の「機能ファイル」を生成していました。
重複によりファイルサイズが倍増し、機能数が200を超えました。ボットモジュールにはハードキャップがあり、オーバーフローでパニックするunwrap()がありました。ノードが5分ごとに「古い良好な」出力と「新しい不良な」出力を交互に切り替えるため、すべてのシャードが更新され不良状態のままになるまで、フリートは振動していました。
Cloudflareは14:24にパブリッシャーを停止し、14:30に最後の既知の良好なファイルを配信し、17:06に完全な復旧を報告しました。彼らが挙げたフォローアップは:内部設定の取り込みの強化、グローバルキルスイッチの追加、およびモジュール全体の障害モードのレビューです。
完全なタイムラインとコードスニペットについては、Cloudflare自身の事後分析を参照してください。
その話には2つの別々の問題があります:
(2)はコードレビューで修正できます。しかし(1)はブロックチェーンが輝く場所です:ロールアウトの前に改ざん明示的でプログラム可能なゲートとして。
アイデアを一文に圧縮すると:スマートコントラクトがそう言わない限り、設定は「現行」にならず、コントラクトはタイムロックとアーティファクトが不変条件に従うという証明の後にのみそのフラグを切り替える。この一文は完全なアーキテクチャを意味しています。
特にイーサリアム、イーサリアム仮想マシンとコンセンサスレイヤーを実行するEVMチェーンに構築されたパブリックブロックチェーンが、その問題に良い解決策を提供することがわかりました。
レイテンシーの適合。 イーサリアムはエポックで確定しますが、L2は数秒で確認します(OP Stackは約2秒を目標とし、zkSyncは約1秒、多くのシステムが高速な証明を公開しています)。5分間のコントロールプレーンのケイデンスには十分です。例えばOPブロック時間の議論やCircleの証明タイミングを参照してください。
すべてのアーティファクトに簡潔な証明を添付し、オンチェーンで検証します。これは私たちのChainwallプロトコルで行っていることですが、異なる種類のデータに対してです!
核心的な目標は基本的なプロパティを証明することです:row_count <= 200、キーでソートされユニーク、スキーマが正規表現とタイプルールに一致、ファイルサイズ <= N。ロジック全体をオンチェーンに収めるか、より大きな表現にはPlonk/Groth回路に依存することができます。例えば、zk-VMゲストはCSV/Parquet/JSONを解析してSNARKを出力できます。内容を明らかにする必要はなく、コミットメントだけです。ZKでの正規表現のための研究と本番システムの両方が存在し(例:Reefと関連するzk-regex作業)、これによりスキーマチェックが現実的になります。
実用的な2つの道があります:
エッジはレジストリをポーリングし、オンチェーンで承認されたアーティファクトのみを採用します。第三者RPCを信頼することを避けるために、コントロールプレーンでライトクライアント(例:Helios)を実行するか、ポータルネットワークを計画します。そうすることで、エッジは「新しい現行」状態を受け入れる前に、ヘッダーとインクルージョン証明をローカルで検証します。
キルスイッチとロールバックはコントラクト内のビットに過ぎず、エッジによって尊重されます。Cloudflareは明示的に、より強力なグローバルキルスイッチの必要性を指摘しました。そのスイッチを小さな監査済みコントラクトに置くことで、ストレス下での単一の真実源が得られます。
CloudFlareのイベントは攻撃ではありませんでしたが、彼らは最初はそう思い、それは確かにありそうでした!暗号セキュリティで見てきたように:攻撃者は鍵を追いかけるだけでなく、コントロールプレーンを強制します。
私たちの立場:デジタル資産の制御は、プライベート認証情報、CIトークン、クラウドACL、または管理ダッシュボードではなく、タイムロックとマルチシグによって守られたスマートコントラクトに存在する必要があります。デプロイや「所有者変更」アクションが契約のschedule()とexecute()パスを必ず通過する必要がある場合、開発者のラップトップ上のルートキットでもキューをジャンプすることはできません。時間遅延は頼りになるサーキットブレーカーであり、オンチェーン監査証跡は客観的です。残るのは「私たちが推進しているものが不正な形式だったらどうなるか?」という質問だけであり、これはまさに「証明付き設定」が答えるものです。
また、信頼最小化アプリケーションの市場が相当あると信じています。私たちはOKcontract Labsで最初の明確に定義されたユースケースのための適切な基盤を今構築しているだけです。
「機能ファイルがインターネットを躓かせたとき」は元々Coinmonks on Mediumで公開され、人々はこの記事をハイライトして返信することで会話を続けています。


