ビットコインアドレス
後方互換性を保つため、沢山の種類のアドレスが結果的にできてしまった。
1から始まるアドレス:通称レガシーアドレス
3から始まるアドレス:通称レガシーアドレス
bc1pから始まるアドレス:タップルートアドレス(Taproot Address)
ビットコインが2017年にSegWit(Segregated Witness)というアップグレードを行ったのでそれまで利用していたアドレスを便宜上"レガシー(Legacy)"と呼称している。
また2021年にTaprootというアップグレードによりbc1pから始まるアドレスが誕生した。
SegWitおよびTaprootに対応したトランザクションならば、公開鍵と署名に対して送金手数料が割引き(75%)される。
例:
レガシーアドレス
13ptb1XHcYxjomQFEeN6ei5N3xFyRHtrCt
3JUCoMPRN2S1oX8qCgasQGutqbjFNzdFju
ネイティブセグウィットアドレス
bc1qpay9anzstqe2l2x6dxj9auhau4k9uvs5mvphew
タップルートアドレス
bc1pmqnkl686hlc3ya5rkwch760y4uvtrd7e8mm70ghwa2q2l2kn3q0s84sln0
※上記のアドレスに送金してはいけない。だれも秘密鍵を持ってないから返金できない!
よくある質問
Q 1と3で何が違うの?
A トランザクション検証におけるコインの使用条件によって異なる。
1は一人のユーザーの公開鍵と署名のみでビットコインの使用条件を満たして送金するタイプのトランザクションで使うアドレス。
3はそれ以外。複数ユーザーの公開鍵と署名だったり、もっと複雑な使用条件のトランザクションで使うアドレス。
Q セグウィット(SegWit)アドレスと呼ぶものが2つあるんだけど?
A 以下キーワードで見分けると
BIP84、Bech32、P2WPKHと付くものが上記のネイティブセグウィットアドレスに該当。
BIP49、nested SegWit、P2SH-P2WPKH とあれば "ネイティブではない” セグウィットアドレス。ネストされたセグウィットとも呼称。古いビットコインウォレットでは宛先にネイティブセグウィットアドレスを指定することができない。3から始まるアドレス形式でセグウィットアドレスを入れ子(nest)構造にすることで、古いウォレットから送金可能、かつ受信側はそのコインを使う時にSegWitの割引効果を得ることができるようにした。※割引効果はネイティブより低い。
Q 取引所から出金する時、ネイティブセグウィットアドレス(bc1q〜)はダメって怒られた。
A 1から始まるレガシーアドレスか、3から始まるネストされたセグウィットアドレスのどちらかをつかう。
Q P2PKH、P2WPKHとかあれなんなの?
A ビットコインにおいて標準的なBitcoinScript(コインの使用条件を記したもの)の呼称。
P2PKH:Pay To Public Key Hash 公開鍵のハッシュをアドレスとする。
P2SH:Pay To Script Hash 検証に使うBticoinScriptをハッシュをアドレスとする。
P2WPKH:Pay To Witness Public Key Hash 上記P2PKHのSegWit版
P2WSH:Pay To Witness Script Hash 上記P2SHのSegWit版
P2TR:Pay To Taproot TaprootにはPKHやSHという区別はない。区別なく使うことでトランザクション分析からプライバシーを守る効果が見込まれる。
Q お手軽なビットコインウォレットを教えて!
A
お手軽さならスマホのビットコインウォレットアプリ「Blue wallet」をお勧めします。スマホアプリなので常時ネットに繋がるホットウォレットとなりますので大金は置かないように。https://bluewallet.io/ 参照
Taproot
余談:
Nostrで使用されるデジタル署名(NIP-01)はBIP340 「Schnorr Signatures for secp256k1」で規定されている。 Taprootはお隣のBIP341