中級者用語を調べる
Bech32とは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 5 分
結論
Bech32は、bc1で始まるビットコインのアドレス形式に使われる符号化方式です。誤字を検出するだけでなく、どこを間違えたかまで特定できる強い誤り検出能力を持ちます。すべて小文字なのはQRコードを小さくするためで、大文字と小文字を混ぜた表記は仕様上無効です。
要点
- bc1で始まるネイティブSegWitアドレスの符号化方式
- 誤り検出が強く、間違えた位置を特定できる
- 大文字小文字の混在は仕様上無効
- Taproot(bc1p)はBech32mという改訂版を使う
定義
BIP173で定義された、人が読み書きすることを前提としたアドレス符号化方式。BCH符号によるチェックサムを持ち、少数の誤りを確実に検出できる。
従来のBase58Check形式には、似た文字(0とO、1とl)を除外しているとはいえ、誤りの検出精度に限界がありました。Bech32では使う文字を数字と小文字アルファベットの32種類に絞り、BCH符号という誤り訂正の理論に基づくチェックサムを付けています。4文字までの誤りなら確実に検出できる設計です。
アドレスは「人が読む部分(bc)」「区切り文字(1)」「データ部」の3つに分かれます。テストネットでは先頭がtbになるため、本番用と取り違えにくくなっています。すべて小文字なのはQRコードの英数字モードを使うためで、同じ情報でもBase58より小さなQRコードで済みます。
Taprootのアドレス(bc1pで始まる)には、Bech32mという改訂版が使われます。元のBech32には、末尾に文字を挿入または削除した特定の誤りを検出できない弱点が見つかったためです。見た目はほぼ同じですが、チェックサムの計算方法が異なるので、対応していない古いウォレットではbc1pアドレスに送金できません。
注意点
- · 古い取引所やウォレットはbc1やbc1pに未対応のことがあり、送金前に対応状況を確認する
- · 大文字表記のBech32アドレスを一部だけ小文字に直すと無効になる
- · 誤り検出はあくまで誤記対策で、間違った相手のアドレスは検出できない