/_includes/specials/taproot/ja/00-bech32m.md
https://github.com/bitcoinops/bitcoinops.github.io · Markdown · 30 lines · 26 code · 4 blank · 0 comment · 0 complexity · 4a20538bca4d173767a9dc3b2498a1dc MD5 · raw file
- 11月に予定されているブロック{{site.trb}}から、
- BitcoinユーザーはTaprootアドレスへの支払いを安全に受け取ることができるようになります。
- Taprootに対するユーザーの熱意と、ウォレット開発者がTaprootのサポートを実装する必要がある5ヶ月を考えると、
- Optechは、ユーザーができるだけ早くTaprootアドレスを生成できるようにする人気ウォレットがいくつか出てくると予想しています。
- つまり、ユーザーが提供したアドレスにビットコインを送金するウォレットやサービスは、
- ブロック{{site.trb}}までにTaprootアドレスに送信できるようにする必要があり、
- そうしないとユーザーを混乱させ失望させるリスクがあります。
- Pay to TapRoot (P2TR)アドレスは、[BIP350][]で定義されている[bech32m][topic bech32]を使用すます。
- これはsegwitのv0 P2WPKHおよびP2WSHアドレスに使用されている[BIP173][]のbech32アルゴリズムと少し異なります。
- bech32mは、チェックサム関数でbech32の`0x01`に代わって、`0x2bc830a3`を使用します。
- この1つの定数を変更することで、bech32mのチェックサムを検証できますが、
- 既存のP2WPKHおよびP2WSHアドレスについては、元の定数を使用する必要があります。
- コードはチェックサムを検証せずにアドレスをデコードし、
- v0 segwit (bech32)を使用しているか、v1+ segwit (bech32m)を使用しているかを判断し、
- 適切なチェックサムを検証する必要があります。
- 例として、C、C++、JS、Pythonのbech32参照実装を更新した[PR][bech32#56]を参照ください。
- コードが既に参照ライブラリを使用している場合は、リポジトリから最新のコードに更新することができますが、
- APIの一部がわずかに変更されていることに注意してください。
- BIP350と参照実装は、すべてのbech32m実装が使用すべきtest vectorを提供しています。
- Taprootアドレスへの支払いの受け取りは、ブロック{{site.trb}}まで安全ではありませんが、
- 支払いの送信によって送信者に問題が発生することはありません。
- Bitcoin Coreは、(2019年11月にリリースされた)バージョン0.19以降、
- Taprootへの支払いアウトプットを持つトランザクションのリレーや、マイニングをサポートしています。
- Optechは、ウォレットやサービスの開発者に対して、Taprootがアクティベートされるまで待つことなく、
- 今すぐにbech32mのTaprootアドレスへの支払いのサポートを実装することを推奨しています。
- [bech32#56]: https://github.com/sipa/bech32/pull/56