コンテンツにスキップ

アドレスバージョン登録表 開発中

状態:ドラフト。 本ページでは、A2AL のアドレスバージョンバイト空間、現在登録されている値、新規割り当ての申請手順を示します。ポリシーと値は変更される可能性があります。

A2AL の Address は固定長の 21 バイトです。

[ バージョンバイト (1 バイト) ][ ハッシュ (20 バイト) ]

バージョンバイトは鍵アルゴリズムと 20 バイトハッシュの導出方法を表し、特定のブロックチェーンを示すものではありません。同じ鍵アルゴリズムと導出方法を共有する複数のチェーンは、同じバージョンバイトに対応します。

DHT の NodeID はアドレスから導出します。

NodeID = SHA-256(バージョンバイト ‖ 20 バイトハッシュ)

バージョンバイト空間は 0xA0〜0xAF(16 個)です。

範囲状態ポリシー
0xA0〜0xA7正式専門家レビューが必要(下記参照)
0xA8〜0xAD予約凍結。将来の標準化プロセス専用
0xAE実験登録不要。一意性は保証されない
0xAFプライベート登録不要。一意性は保証されない
バージョン
バイト
名称鍵アルゴリズム20 バイト導出主な用途
0xA0Ed25519Ed25519SHA-256(pubkey)[0:20]A2AL ネイティブのアイデンティティ
0xA1P256P-256 (NIST)SHA-256(pubkey)[0:20]A2AL ネイティブの P-256 アイデンティティ
0xA2Paralismsecp256k1RIPEMD160(SHA-256(pubkey))Paralism、Bitcoin P2PKH、Cosmos SDK、Litecoin
0xA3Ethereumsecp256k1Keccak-256(pubkey)[12:32]Ethereum および全 EVM 互換チェーン
0xA4〜0xA7———未割り当て

0xA2(Paralism)について: これは「secp256k1 + HASH160」導出ファミリーの代表名です。同じ鍵アルゴリズムと導出方法を使うチェーンは、このバージョンバイトと互換になります。名称は最初に正式統合されたチェーンに由来するもので、排他性を示すものではありません。

未割り当てのバージョンバイト(0xA4〜0xA7)を申請するには、Address Version Request テンプレートで GitHub Issue を作成し、次の項目を記載します。

  1. 名称——バージョンバイトの短い識別子(通常はチェーン名またはアルゴリズム名)。
  2. 鍵アルゴリズム——Ed25519、secp256k1、P-256、Sr25519 など。
  3. 20 バイト導出——公開鍵を 20 バイトへ写す厳密な関数と、その仕様への参照。
  4. 署名検証——この鍵種別で任意のバイト列に対する署名を検証する方法。
  5. 理由——既存のバージョンバイトではカバーできない理由。
  6. 代表チェーンまたは実装——少なくとも 1 つの具体的な利用者。

A2AL のメンテナが専門家レビューポリシーに沿って審査します。承認の基準は次のとおりです。

  • 鍵アルゴリズムと導出方法が既存の割り当てでカバーされていないこと。
  • 導出が決定的で、ちょうど 20 バイトを生成すること。
  • その鍵アルゴリズムの規範的な公開仕様が存在すること。
  • 申請が重複でも投機的でもないこと。

承認後は本ページに追記され、コード上の定数にも反映されます。

  • 0xAE(実験): プロトタイプやテストに自由に使用できます。実装間での一意性は保証されません。本番環境では使用しないでください。
  • 0xAF(プライベート): グローバルな一意性を必要としない閉域または社内のデプロイ向けです。実装が独自に割り当てられます。

0xA8〜0xAD は凍結されており、将来の標準化プロセスが始まり、正式プール(0xA0〜0xA7)が枯渇に近づいたときにのみ割り当てられます。現在のポリシーでは、この範囲を対象とする申請は受け付けていません。

チェーンのアイデンティティとの関係

Section titled “チェーンのアイデンティティとの関係”

バージョンバイトが示すのは暗号方式であり、特定のチェーンではありません。同じ鍵アルゴリズムと導出方法を共有する 2 つのチェーン(例:Paralism と Bitcoin SDK)では、同じ公開鍵から同じ A2AL アドレスが得られます。チェーン固有の文脈は、端点レコードやアプリケーション層に置くものであり、アドレス自体には含めません。

目的ページ
プロトコルにおけるアドレスとレコードの位置づけプロトコル仕様
アイデンティティと委任の実装Go パッケージ
申請の提出方法コントリビュートガイド