ビットコインの秘密鍵からBTCアドレスへ

ビットコイン秘密鍵をアドレスへオンライン変換

単一のビットコイン秘密鍵(WIFまたはHEX)を、レガシー(P2PKH)、SegWit(P2SH-P2WPKH)、ネイティブSegWit(Bech32 P2WPKH)など、対応する複数のアドレス形式へ変換します。

BTC秘密鍵からアドレスへの変換ツール:WIFまたはHEX形式の秘密鍵を、レガシーおよびSegWitネットワークで使用可能なビットコインアドレス形式へ変換し、検証、ウォレットの復元、およびテスト用途に利用できます。

ランダムな圧縮WIF: L2bWLsmchd4AUaFq56UuQ1u3pdNqz28TcJZBHJjE61J1CEbbzSDj
ランダムな非圧縮WIF: 5K2vmqCvQFWiZyvf5Z49hZNm95AUs5LMywGuB3CqH63wsdRAzcs
ランダムなHEX: a0664b8e95a437a616737ec4a141c4abe15f9548f16b0451e1481c26f33c7025

ビットコイン秘密鍵からアドレスへの導出

秘密鍵から数学的に公開鍵を導出し、有効なビットコイン受取アドレスを生成する仕組みを解説する教育用ガイドです。

1. 秘密鍵とは?

ビットコインの秘密鍵は、1からn-1までの範囲(nはsecp256k1曲線の位数で、約1.15 × 1077)から選ばれる256ビットのランダムな数値です。対応するアドレスに関連付けられた資金の所有権を証明するための最も重要な情報として機能します。

秘密鍵は、さまざまな形式で表現できます:

  • 生の16進数(64文字): e9873d79c6d87dc0fb6a5778633389f4453213303da61f20bd67fc233aa33262
  • WIF非圧縮(Wallet Import Format): 5で始まります(Base58Check)
  • WIF圧縮: KまたはLで始まります(Base58Check)

2. 完全な導出プロセス

秘密鍵からビットコインアドレスを導出する処理は、複数の段階からなる決定論的な一方向のプロセスです:

秘密鍵(k) → ECDSA点(k × G) → 公開鍵(X, Y) → Hash160 → アドレス

導出処理は、主に次の3段階で構成されます:

  1. 楕円曲線上の乗算:秘密鍵の整数値(k)をsecp256k1曲線上の生成元点(G)に対して乗算し、公開鍵の点 P = (X, Y) を計算します。
  2. 公開鍵のフォーマット:この点を、65バイトの非圧縮公開鍵(04...)または33バイトの圧縮公開鍵(02...または03...)としてエンコードします。
  3. ハッシュ化とエンコード:フォーマットされた公開鍵にSHA-256およびRIPEMD-160を適用して20バイトのHash160を生成し、それをネットワークアドレスへエンコードします。

3. 複数形式のアドレス生成

1つの圧縮秘密鍵から、異なるスクリプト形式に対応する複数のアドレス形式を導出できます:

アドレス規格 プレフィックス スクリプト / エンコード形式 導出方法
レガシー(P2PKH) 1... Pay-to-PubKey-Hash(Base58Check) Base58Check(0x00 + RIPEMD160(SHA256(PubKey)))
ネスト型SegWit(P2SH-P2WPKH) 3... Pay-to-Script-Hash(Base58Check) Base58Check(0x05 + RIPEMD160(SHA256(RedeemScript)))
ネイティブSegWit(P2WPKH) bc1q... Pay-to-Witness-PubKey-Hash(Bech32) Bech32(hrp="bc", version=0, Hash160(PubKey))
Taproot(P2TR) bc1p... Pay-to-Taproot(Bech32m) Bech32m(hrp="bc", version=1, OutputKey(X-Only PubKey))

4. 一方向性による暗号学的セキュリティ

秘密鍵からの変換を保護する数学的な処理により、高度なプライバシーとセキュリティが実現されています:

  • 離散対数問題(ECDSA):公開鍵 K が与えられた場合、楕円曲線上の逆算が極めて困難であるため、秘密鍵 k を求めることは計算上困難です。
  • プリイメージ耐性(ハッシュ関数):公開鍵ハッシュが既知であっても、SHA-256やRIPEMD-160を逆算して元の入力を求めることは計算上困難です。