zkSync Eraのセキュリティ: Execution Delay
zkSyncの各コンテンツにご参加ください。
この記事では、フル・アルファ・メインネットのローンチに向けて、zkSyncのセキュリティメカニズムに関する重要な最新情報を共有します。
私たちは、ここ数週間、セキュリティに対するアプローチについて広範な考えを共有してきました。一般公開時には、独立した監視とリスク軽減のメカニズムを備えた複数のセキュリティ層を用意する予定です。今日は、そのうちの1つである「Execution Delay(実行遅延)」に焦点を当てたいと思います。
zkSync Eraを一般公開する際に最も重要な点はセキュリティです。zkEVMは複雑で斬新なシステムであるため、固有のリスクを伴います。過去1年以上にわたる私たちのアプローチは、zkSync Eraのセキュリティに投資した時間と費用の両方を方程式化し、最初のzkEVMを一般公開する準備を整えるためのものです。
堅牢なテスト、複数のTier-1セキュリティ監査、公開コンテスト、バグバウンティを完了し、テストネット上で稼働しているシステムを12ヶ月間にわたって慎重に、そして段階的にロールアウトさせてきました。zkSync Eraが一般公開される時には、セキュリティリスクを軽減し、リスクを伴う単一障害点が存在しないことを保証するために、いくつかのメカニズムや安全装置を用意する予定です。
最も効果的なセキュリティ・メカニズムを考える上で、私たちはセキュリティとトラストレスの間のジレンマに頭を悩ませました。信頼関係を前提にするか、プロトコルを変えられないまま完全なトラストレスにするか。
どんな事件であれ、zkSyncだけでなく、スケーリングソリューションや暗号エコシステム全体に対する一般の人々の信頼を損ない、世界的な採用の面で何年も後退させることになりかねないからです。
これは、私たち全体が背負うべき大きな責任です。
そもそも、既存のバグの確率は、悪意ある行為者の確率よりも高いものとなります。この事実を踏まえ、プロトコルの初期にユーザーの資金を保護するために必要な仕組みとして「Execution Delay」を選択しました。
Execution Delayとは?
Execution Delayとは、L1にコミットされた各L2ブロックが実行され確定されるまでに時間的なロックがかかることを意味します。当初は24時間ですが、システムが成熟するにつれて徐々に短縮され、Alpha段階が終了した時点で、完全に取り除かれる予定です。この仕組を変更するには、zkSyncのリーダーが所有する複数のコールドウォレットから収集した複数の署名が必要となります。
このExecution Delayは、チームがブロックに含まれるトランザクションの効果を最終的になる前に検証するのに十分な時間を確保できることを保証するものです。これによって、重大なバグが発見され悪用された場合に、プロトコルがすぐに流出することを防ぐことができます。また、zkSyncチームは各ブロックを監視し、急激な流出や異常に大きな引き出しなどの異常やレッドフラグを調査することができるようになります。
このタイムロックを導入するために、監査対象のスマートコントラクトには変更を加えませんでした。その代わり、私たちがコントロールする既存のバリデーターロールを使用して、時間ロックのある中間スマートコントラクトに向けることで追加的に制限します。
Execution Delayには次の利点があります:
- 攻撃者がZK回路に重大なバグを発見し、シーケンサーを実行するサーバーへの侵入に成功したとしても、悪用を検知して調査し、ガバナンスを通じてプロトコルを凍結する時間を十分に持つ
- zkSync Eraのコントラクトには変更が加えられていないため、中間コントラクトが侵害されたとしても元の状態に戻る
- Execution Delayは、標準のzkSync ETHおよびERC20ブリッジだけでなく、別のチームによって構築されたカスタムブリッジにも適用できます
- 外部のガバナー制御のコントラクトでExecution Delayの仕組みを実装することで、この制限を後で簡単に取り除くことができます
私たちはフルローンチに着実に近づいていますが、私たちの仕事は終わることはありません。セキュリティの向上に決して終わりはないのです。セキュリティとは、チェックボックスをチェックすることではなく、継続的な心の状態の維持であると言えるでしょう。
Execution Delayに関するドキュメントはこちらからご覧になれます。
今後のzkSyncエコシステムの発展にご期待ください!