上級者用語を調べる
アーカイブノードとは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 4 分
結論
アーカイブノードは、過去のあらゆる時点における状態をすべて保持するノードです。「3年前のこのアドレスの残高」といった問い合わせに答えられる一方、必要なディスク容量は通常のフルノードより桁違いに大きくなります。分析サービスや税務ツールが依存しているのはこの種類のノードです。
要点
- 過去の全時点の状態を保持するノード
- 任意のブロック高での残高や変数を照会できる
- 必要な容量はフルノードより桁違いに大きい
- 分析・税務・監査ツールの基盤になる
定義
各ブロック時点の完全な状態を保存し続けるノード。過去の任意の高さにおける残高やコントラクトの内部変数を照会できる。
通常のフルノードは、検証に必要な現在の状態を保持し、過去の中間状態は捨てていきます。過去の状態が必要になれば、原理的にはジェネシスから再実行すれば求められますが、実用的な時間では終わりません。そこで、各時点の状態をすべて保存しておくのがアーカイブノードです。
これが必要になるのは、たとえば「あるDeFiプールの2年前の預入残高」や「特定のコントラクト変数が変化した経緯」を調べる場合です。ブロックエクスプローラーの詳細表示、税務計算サービス、オンチェーン分析ツールは、いずれもこの種のノードに問い合わせて動いています。
代償はディスク容量です。イーサリアムのアーカイブノードは、クライアントの実装によって必要量が大きく異なりますが、通常のフルノードより一桁大きい水準になります。個人が用意するのは現実的でないことが多く、RPC提供事業者のサービスとして利用されるのが一般的です。
注意点
- · 必要容量はクライアント実装によって大きく異なるため、特定の数値を前提に計画しない
- · アーカイブノードは検証の強さを増すものではなく、履歴の照会を可能にするだけ
- · 外部の提供事業者に頼る場合、問い合わせ内容から利用者の関心が推測されうる