27 / 691ADDR

ビットコインアドレス

支払い条件の符号化

Bitcoinアドレスはウォレットが出力スクリプト/witnessプログラムを扱うための符号化であり、ブロックチェーン口座ではない。prefix・データ・checksumからscriptPubKeyを構築するが、トランザクションに文字列自体は入らない。

Bitcoinアドレスはネットワーク別かつchecksum付きの標準ロックスクリプト表現である。P2PKH/P2SHはBase58Check、SegWit v0はBech32、witness v1–16はBech32mを使う。bitcoinを保存せず、本人性も証明しない。UTXOをロックするのはスクリプトである。

出力は金額とscriptPubKey bytesを持ち、アドレス文字列は持たない。ウォレットがnetwork/checksumを検査して標準scriptを作り、explorerは認識できるscriptを表示用に逆変換する。初期P2PKや非標準scriptにcanonical addressがない場合もある。 [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — destination encoders and decoders]

Base58CheckはversionとpayloadにSHA256(SHA256(data))の先頭4 bytesを付加しBase58化する。mainnetは0x00=P2PKH、0x05=P2SHで通常1/3から始まり、testnetは異なる。0/O/I/lを除く。32-bit checksumは誤記検出で、署名や認証ではない。 [Bitcoin Core — Base58Check implementation] [Bitcoin Core — destination encoders and decoders]

Bech32はHRP bc/tb、separator 1、witness version、5-bit data、6文字checksumからなる。BIP173はv0のみ、挿入弱点を受けBIP350はv1–16にBech32mを要求する。大文字小文字は統一し混在不可、最大90文字。有効でもnetwork違い・未対応versionはあり得る。 [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]

P2PKH/P2WPKHはkeyのHASH160、P2SHはredeemScriptのHASH160、P2WSHはwitnessScriptのSHA256にcommitする。BIP141 v0は20-byte P2WPKHか32-byte P2WSH。P2TR v1は32-byte tweaked x-only output key Qで、script Merkle rootにもcommit可能。完全なpolicyは分からない。 [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]

P2PKはkeyを公開し、P2PKHは支出まで遅らせた。BIP13/16はP2SH、BIP141/173はversioned witnessとBech32 v0、BIP341/350はTaproot v1とBech32mを導入。見た目のprefix変更でなくscript/consensus変更であり、手動変換は別条件や支出不能を生む。 [BIP 13 — Address Format for pay-to-script-hash] [BIP 16 — Pay to Script Hash] [BIP 141 — Segregated Witness consensus layer] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later] [BIP 341 — Taproot validation and output keys]

BIP32は多数のkeyを導出する。BIP44 purpose 44'=P2PKH、BIP84 84'=P2WPKH、BIP86 86'=P2TR、その後account・external/change・indexを分ける。seedだけではtype/path/account/multisigが不足し得る。Output descriptorsの方がkey originとscriptを完全に保存し、復元テストが必要。 [BIP 32 — Hierarchical deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 84 — Derivation for native P2WPKH] [BIP 86 — Derivation for single-key P2TR] [Bitcoin Core — Output descriptors]

P2PKH/P2WPKHは支出時に通常public keyを、P2SH/P2WSHはredeemScript/witnessScriptを公開する。P2TRはtweaked x-only keyを既に含み、key pathはSchnorr署名、script pathはleaf・control block・Merkle pathを示すが未使用leafは隠せる。常にkeyを隠すわけではない。 [BIP 141 — Segregated Witness consensus layer] [BIP 341 — Taproot validation and output keys]

再利用は入金を結びclusteringを強めるため、新external addressとinternal changeを使う。addressは人ではなく、共同管理・多数所有・custodian集約がある。explorerの‘balance’は認識scriptに一致するUTXO合計で、consensus accountではない。common-input/changeは失敗するheuristicである。 [Bitcoin whitepaper — Transactions and Privacy] [Bitcoin Core — Output descriptors]

checksum・network・case・v0/Bech32対v1+/Bech32mを検査する。それでもclipboard malwareや偽QRは別の有効addressに置換できる。信頼できるhardware displayで全文確認し必要なら少額testする。先頭末尾だけはlook-alikeに弱く、誤った有効scriptへの確定送金は戻せない。 [Bitcoin Core — Base58Check implementation] [BIP 173 — Base32 address format for native v0 witness outputs] [BIP 350 — Bech32m format for witness v1 and later]

裸addressはamount/label/messageを持つBIP21 bitcoin: URIでもLightning invoice・offer・Lightning Addressでもない。BIP322は所定方式でscript controlを示すだけでidentityや全資産を証明しない。複雑なbackupにはdescriptorかwallet exportを使う。 [BIP 21 — URI scheme] [BIP 322 — Generic signed message format] [Bitcoin Core — Output descriptors]

理解を深めるには、この項目とあわせて次もお読みください 秘密鍵, ウォレット, お釣り出力, Bitcoin, SegWit, Taproot. 次の項目からも参照されています 暗号学的ハッシュ, SHA-256, Cold Storage, Watch-only Wallet.

01Bitcoin アドレスは口座番号ですか?

いいえ。ウォレットはアドレスから scriptPubKey などの出力のロックスクリプトを導きます。1つのウォレットは多数のアドレスを管理できます。アドレスだけでは身元も資金の管理権限も証明できません。

02Bitcoin アドレスは安全に再利用できますか?

同じアドレスへの追加の支払いは有効な場合がありますが、受取履歴が同じスクリプトに結び付きます。受け取るたびにウォレットが生成した新しいアドレスを使ってください。それでも匿名性は保証されません。新しいアドレスを作っても古いアドレスは無効になりませんが、その出力を使うには引き続き対応する鍵とスクリプト条件の充足が必要です。

DOC · 001Bitcoin whitepaper — Transactions and Privacy一次資料 ↗DOC · 002Bitcoin Core — Base58Check implementation一次資料 ↗DOC · 003Bitcoin Core — destination encoders and decoders一次資料 ↗DOC · 004BIP 13 — Address Format for pay-to-script-hash仕様 ↗DOC · 005BIP 16 — Pay to Script Hash仕様 ↗DOC · 006BIP 141 — Segregated Witness consensus layer仕様 ↗DOC · 007BIP 173 — Base32 address format for native v0 witness outputs仕様 ↗DOC · 008BIP 350 — Bech32m format for witness v1 and later仕様 ↗DOC · 009BIP 341 — Taproot validation and output keys仕様 ↗DOC · 010BIP 32 — Hierarchical deterministic wallets仕様 ↗DOC · 011BIP 44 — Multi-account hierarchy仕様 ↗DOC · 012BIP 84 — Derivation for native P2WPKH仕様 ↗DOC · 013BIP 86 — Derivation for single-key P2TR仕様 ↗DOC · 014Bitcoin Core — Output descriptors文書 ↗DOC · 015BIP 21 — URI scheme仕様 ↗DOC · 016BIP 322 — Generic signed message format仕様 ↗
2026年8月1日確認一次資料を優先 · 投資助言ではありません