アドレスバージョン登録表 開発中
状態:ドラフト。 本ページでは、A2AL のアドレスバージョンバイト空間、現在登録されている値、新規割り当ての申請手順を示します。ポリシーと値は変更される可能性があります。
アドレスの構造
Section titled “アドレスの構造”A2AL の Address は固定長の 21 バイトです。
[ バージョンバイト (1 バイト) ][ ハッシュ (20 バイト) ]バージョンバイトは鍵アルゴリズムと 20 バイトハッシュの導出方法を表し、特定のブロックチェーンを示すものではありません。同じ鍵アルゴリズムと導出方法を共有する複数のチェーンは、同じバージョンバイトに対応します。
DHT の NodeID はアドレスから導出します。
NodeID = SHA-256(バージョンバイト ‖ 20 バイトハッシュ)バージョンバイト空間
Section titled “バージョンバイト空間”バージョンバイト空間は 0xA0〜0xAF(16 個)です。
| 範囲 | 状態 | ポリシー |
|---|---|---|
0xA0〜0xA7 | 正式 | 専門家レビューが必要(下記参照) |
0xA8〜0xAD | 予約 | 凍結。将来の標準化プロセス専用 |
0xAE | 実験 | 登録不要。一意性は保証されない |
0xAF | プライベート | 登録不要。一意性は保証されない |
現在の割り当て
Section titled “現在の割り当て”| バージョン バイト | 名称 | 鍵アルゴリズム | 20 バイト導出 | 主な用途 |
|---|---|---|---|---|
0xA0 | Ed25519 | Ed25519 | SHA-256(pubkey)[0:20] | A2AL ネイティブのアイデンティティ |
0xA1 | P256 | P-256 (NIST) | SHA-256(pubkey)[0:20] | A2AL ネイティブの P-256 アイデンティティ |
0xA2 | Paralism | secp256k1 | RIPEMD160(SHA-256(pubkey)) | Paralism、Bitcoin P2PKH、Cosmos SDK、Litecoin |
0xA3 | Ethereum | secp256k1 | Keccak-256(pubkey)[12:32] | Ethereum および全 EVM 互換チェーン |
0xA4〜0xA7 | — | — | — | 未割り当て |
0xA2(Paralism)について: これは「secp256k1 + HASH160」導出ファミリーの代表名です。同じ鍵アルゴリズムと導出方法を使うチェーンは、このバージョンバイトと互換になります。名称は最初に正式統合されたチェーンに由来するもので、排他性を示すものではありません。
未割り当てのバージョンバイト(0xA4〜0xA7)を申請するには、Address Version Request テンプレートで GitHub Issue を作成し、次の項目を記載します。
- 名称——バージョンバイトの短い識別子(通常はチェーン名またはアルゴリズム名)。
- 鍵アルゴリズム——Ed25519、secp256k1、P-256、Sr25519 など。
- 20 バイト導出——公開鍵を 20 バイトへ写す厳密な関数と、その仕様への参照。
- 署名検証——この鍵種別で任意のバイト列に対する署名を検証する方法。
- 理由——既存のバージョンバイトではカバーできない理由。
- 代表チェーンまたは実装——少なくとも 1 つの具体的な利用者。
A2AL のメンテナが専門家レビューポリシーに沿って審査します。承認の基準は次のとおりです。
- 鍵アルゴリズムと導出方法が既存の割り当てでカバーされていないこと。
- 導出が決定的で、ちょうど 20 バイトを生成すること。
- その鍵アルゴリズムの規範的な公開仕様が存在すること。
- 申請が重複でも投機的でもないこと。
承認後は本ページに追記され、コード上の定数にも反映されます。
実験用途とプライベート用途
Section titled “実験用途とプライベート用途”0xAE(実験): プロトタイプやテストに自由に使用できます。実装間での一意性は保証されません。本番環境では使用しないでください。0xAF(プライベート): グローバルな一意性を必要としない閉域または社内のデプロイ向けです。実装が独自に割り当てられます。
0xA8〜0xAD は凍結されており、将来の標準化プロセスが始まり、正式プール(0xA0〜0xA7)が枯渇に近づいたときにのみ割り当てられます。現在のポリシーでは、この範囲を対象とする申請は受け付けていません。
チェーンのアイデンティティとの関係
Section titled “チェーンのアイデンティティとの関係”バージョンバイトが示すのは暗号方式であり、特定のチェーンではありません。同じ鍵アルゴリズムと導出方法を共有する 2 つのチェーン(例:Paralism と Bitcoin SDK)では、同じ公開鍵から同じ A2AL アドレスが得られます。チェーン固有の文脈は、端点レコードやアプリケーション層に置くものであり、アドレス自体には含めません。
| 目的 | ページ |
|---|---|
| プロトコルにおけるアドレスとレコードの位置づけ | プロトコル仕様 |
| アイデンティティと委任の実装 | Go パッケージ |
| 申請の提出方法 | コントリビュートガイド |