SS58アドレスとは
SS58はPolkadot、Kusama、およびすべてのSubstrateベースのチェーンで使われるアドレス形式で、ネットワークプレフィックス、32バイトの公開鍵(アカウントID)、2バイトのチェックサムをBase58でエンコードしたものです。形式はPolkadot wikiに記載され、プレフィックスはSS58レジストリで割り当てられています。SS58アドレス変換ツールは文字列をデコードし、チェックサムを検証し、公開鍵を取り出して他のプレフィックスで再エンコードします。
SS58エンコーディングの仕組み
- プレフィックスバイト。プレフィックス0–63は1バイトです。それより大きいプレフィックス(最大16383)はパック形式の2バイトになり、1バイト目にプレフィックスのビット2–7とマーカー0b01、2バイト目にビット8–13とビット0–1が入ります。
- チェックサム。
SS58PRE+ プレフィックスバイト + 公開鍵に対してBLAKE2b-512を計算し、ダイジェストの先頭2バイトを付加します。 - Base58。バッファ全体(1または2 + 32 + 2バイト)をBitcoinのアルファベットでBase58エンコードします。プレフィックス0のアドレスは常に1で、プレフィックス2は大文字のCからJで、プレフィックス42は5で始まります。
変換例
よく知られた開発用アカウントAliceの公開鍵は 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d です。プレフィックス0でエンコードすると 15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5(Polkadot)、プレフィックス2では HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F(Kusama)、プレフィックス42では 5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY(汎用Substrate)になります。いずれかを上に貼り付けると、この3つに加えてさらに14個のアドレスが表示されます。
プレフィックスと先頭文字
| プレフィックス | ネットワーク | アドレスの先頭 | プレフィックス | ネットワーク | アドレスの先頭 |
|---|---|---|---|---|---|
| 0 | Polkadot | 1 | 36 | Centrifuge | 4 |
| 2 | Kusama | C, D, E, F, G, H, J | 38 | KILT | 4 |
| 5 | Astar | V, W, X, Y, Z, a, b | 42 | Substrate(汎用) | 5 |
| 6 | Bifrost | b, c, d, e, f, g, h | 63 | Hydration | 7 |
| 7 | Edgeware | h, i, j, k, m, n, o | 73 | Zeitgeist | dD, dE |
| 8 | Karura | o, p, q, r, s, t, u | 2032 | Interlay | wd |
| 10 | Acala | 2, z | 2092 | Kintsugi | a3 |
| 12 | Polymesh | 2 | 10041 | Basilisk | bX |
| 30 | Phala | 3, 4 |
先頭の文字はBase58とプレフィックス値から生じる副作用であり、手早く見分けるためのヒントにはなりますが保証ではありません。必ずツールが表示するデコード済みのプレフィックスを基準にしてください。
チェックサムが重要な理由
Base58には誤り検出機能がないため、SS58は2バイトのBLAKE2bチェックサムを追加しており、1文字の入力ミスはすべて、複数文字の誤りも大半を検出できます。チェックサムが不正なアドレスを受け付けるウォレットや取引所は実際には存在しません。このツールも同様に拒否し、推測するのではなくチェックサムが一致しなかったことを伝えます。チェックサムにはプレフィックスが含まれるため、中の鍵が同じでもKusamaアドレスは無効なPolkadotアドレスとして拒否されます。送信者は打ち直すのではなく、再エンコードする必要があります。
典型的な用途
- 1つのネットワークしか表示しないハードウェアウォレットのPolkadotアドレスから、Kusama、Astar、Hydrationのアドレスを調べる。
- Polkadot.js APIの呼び出し、マルチシグの設定、XCMの宛先アカウント用にhexのアカウントIDを取得する。
- デコードされたプレフィックスを読んで、取引所の入金アドレスが本当に送金予定のチェーン上にあるか確認する。
公開鍵とアドレスのみを扱います。このページがシードフレーズや秘密鍵を求めることはなく、貼り付けた内容がブラウザの外に出ることもありません。他の形式については暗号資産アドレス検証ツールをご覧ください。