Shadow Forkとは何ですか?
Shadow Forkは、実際のデータと履歴を複製した稼働中のブロックチェーンの一時的なコピーで、安全な検証環境で動作させます。チームはあなたのコインに触れずに実際の状態でアップグレードを試験するためにこれを使います。同じ舞台セットと小道具を使った舞台裏のリハーサルのようなものです。
Shadow Forkが無料の複製コインを与える、というのは誤りです。いいえ。これはメインネットから分離されているため、残高は移動せず、あなたのウォレットに何かが加算されることはありません。
Shadow Forkの仕組み
エンジニアがチェーンの状態を複製し、新しいコードを入れてサンドボックスで負荷試験を行う様子を想像してください。多くのチームはこれらを テストネット 上で立ち上げ、問題が起きても影響が出ないようにします。
- ステップ 1:ソースとなるチェーンと、複製するブロック高を選ぶ。
- ステップ 2:状態データ(アカウント、コントラクト、残高)を複製し、フォークが実際の履歴から始まるようにする。
- ステップ 3:次のアップグレード設定でノードを起動し、トリガーブロックを設定する。
- ステップ 4:トラフィックをリプレイまたはミラーリングし、ガス仕様の変更や新しいオペコードなどを対象にしたテストを行う。
- ステップ 5:ログを監視し、性能を測定し、バグを修正して、期待通りに動くまで繰り返す。
その通りです。
Shadow Forkが重要な理由
実際に意味のある要素を含むリハーサルでありながら、資金リスクはありません。これにより後のトラブルを減らし、リリースサイクルを速めます。
- 利点:ユーザーより先にバグやエッジケースを見つけられ、時間と資金を節約できる。
- 観点:実際のアップグレードはしばしば ハードフォーク や ソフトフォーク として導入されます。Shadow Forkは、それらを本番前に確認するリハーサルで、本番の実施を確実にする役割を果たします。
- 関連性:主要なリリース、クライアントの更新、DeFiプロトコルの変更、大規模な性能調整の際によく見られます。
Shadow Forkに接続する際は、必ずチェーンIDとRPCエンドポイントを確認し、メインネットの資金と混同しないよう新しいウォレットを使ってください。
Shadow Forkの主な特徴
この概念を特徴づける主要な点を簡潔に示します:
- ミラー:選んだブロックの実際のチェーンデータから開始する。
- 分離:別のノード上で、個別のピアセットとチェーンIDで動作する。
- 一時的:テスト用に立ち上げられ、その後終了する。
- 再現可能:異なるシナリオ向けに何度でも作成できる。
バリエーション
主なタイプを簡潔に示します。例:
- 公開:誰でも参加してテストの様子を観察できる。
- 非公開:アクセスはチームやクライアントに限定される。
- 部分的:状態の一部や特定のモジュールに焦点を当てる。
これはテスト環境です。保有者向けに新しいコインを生成するものではなく、 ネットワーク分割 とは異なります。
例
The Mergeの前、Ethereumチームはメインネットの状態を複製し、新しいコンセンサスルールでクライアントを動かし、トラフィックを集中させて早期にバグを見つけました。
豆知識
この用語は、EthereumがThe Mergeやその後のアップグレードで番号付きのShadow Forkを連続して実施した際に注目を集め、退屈なテストサイクルが暗号系SNSで話題になるきっかけとなりました。
まとめ
チェーンのアップグレードに向けたリハーサルと考えてください。実物の小道具を使うが、観客がいる本番ではありません。
