Snapshotとは?
Snapshotは、特定のブロック高でのブロックチェーンの記録されたスナップショットです。その瞬間に誰が何を保有しているかを固定し、通常は投票権やトークン請求、フォークの対象者を決めるために使われます。フラッシュが光った瞬間に残した残高の写真のようなものと考えてください。
発表があってから急いで間に合えば対象になる、と思われがちですが、既にブロックが確定していれば、その後に移動したトークンは集合写真のあとで手を振っているようなものです。
Snapshotの仕組み
トークンドロップを例に、簡単に流れを説明します。
- ステップ1: チームがキャプチャのためのブロック番号か時刻を発表します。
- ステップ2: そのブロックが到達すると、チェーンはTime Stampingのおかげで順序を確定します。
- ステップ3: スクリプトやインデクサーがそのブロック時点の残高を読み取り、リストを保存します。
- ステップ4: そのリストが次の行動の投票比重、請求権、あるいは許可リストを定義します。
- ステップ5: 結果はブロック参照とともに公開され、誰でも同じビューを再現できます。
はい、それだけ簡単です。
なぜSnapshotが重要か
お金や発言権、アクセスがそのフレーム内にいたかどうかで左右されることが多いからです。予測可能性を保ち、不正な手段での操作を減らせるため、利用者とチームの双方に好まれます。
- 利点: 将来のAirdropsのような配布や投票で誰が対象かを明確にします。
- 視点: 事前にブロックを告知することで、直前の残高操作を抑止します。
- 関連: DAO、トークンローンチ、チェーンイベントなどで見かけます。
カットオフよりかなり前に、自分で管理しているウォレットに資金を移しておきましょう。取引所が対応する場合としない場合があり、サポート対応は面倒です。
Snapshotの主な特徴
このキャプチャが一目で役立つ理由:
- 最終的: 目標ブロックが決まると、それ以降の移動はカウントされません。
- 再現可能: 誰でも同じブロックから同じ残高を再計算できます。
- 読み取り専用: データを記録するだけで、コインやトークンを移動しません。
- フォーク: Hard Forksで状態を分ける際によく使われます。
- オフチェーン: 多くのプロジェクトはチェーンに新たなデータを書き込まずにリストを作成し、手数料を節約します。
バリエーション
よく見かける主要な種類:
- 残高: 請求や許可リストのためのトークン保有者リスト。
- 投票: 提案のためにブロック時点でのDAO投票比重をキャプチャ。
- UTXO: ノードが利用可能な出力のスナップショットを使って高速に同期するためのブートストラップ。
- アップグレード: チェーンチームが秩序を保つためにNetwork Upgrades前後の状態を準備します。
ブロックのタイミングは数分ずれることがあるので、早めに準備しておきましょう。良いチームはデータや証拠を公開し、適切なAuditingでリストを確認できるようにします。
例
あるDAOがカットオフをブロック18,300,000に設定し、そのブロック時点のトークン残高を数えて来週の提案に投票できる人を決めます。
豆知識
名前のSnapshotはDAOが使うオフチェーン投票ツールで注目を浴びましたが、残高を確認するためにブロックを固定する方法自体はこの流行よりも前から存在します。
まとめ
一言で言えば、Snapshotは次の行動で誰がカウントされるかを決めるオンチェーン残高のフリーズフレームです。
