本文へスキップ
ecdsa.com

Bitcoin アドレス

Bitcoin の出力スクリプトを人が読める形でエンコードしたもので、従来の P2PKH(1…)と P2SH(3…)は Base58Check、SegWit v0(bc1q…)は bech32、Taproot(bc1p…)は bech32m で表します。
別表記Bitcoin addressbech32bech32mP2PKHBase58Check

P2PKH と P2WPKH は HASH160(pubkey)(SHA-256 の RIPEMD-160、20 バイト)に、P2SH と P2WSH はスクリプトのハッシュに、P2TR(Taproot)はスクリプトツリーで調整(tweak)されることもある 32 バイトの x-only 公開鍵にコミットします。bech32 は BIP-173 で規定され、ウィットネスバージョン 1 以上でのチェックサムの弱点を修正した bech32m は BIP-350 で規定されています。テストネットのアドレスは tb1、m、n、2 のいずれかで始まります。

どのメッセージ署名標準を使うかはアドレスの種類で決まります。BIP-137 は P2PKH と、実装ごとに扱いが一貫しないものの単一鍵の SegWit に対応し、BIP-322 はあらゆるスクリプトに対応します。アドレスの再利用はプライバシーを損ない、P2PKH では一度送金に使うと公開鍵が露出します。

規格と参考文献

すべての用語