Segwit地址又称隔离见证地址。在Bitcoin Blockchain上,经常可以看到类似bc1qmy63mjadtw8nhzl69ukdepwzsyvv4yex5qlmkd
这样的以bc
开头的地址,这种地址就是隔离见证地址。
Segwit地址有好几种,一种是以3
开头的隔离见证兼容地址(Nested Segwit Address),从该地址上无法区分到底是多签地址还是隔离见证兼容地址,好处是钱包程序不用修改,可直接付款到该地址。
另一种是原生隔离见证地址(Native Segwit Address),即以bc
开头的地址,它本质上就是一种新的编码方式。
我们回顾一下1
开头的Bitcoin地址是如何创建的:
简单地概括就是使用Base58编码的公钥哈希。
而bc
地址使用的不是Base58编码,而是Bech32编码,它的算法是:
bc
作为识别码进行编码并带校验。Bech32编码实际上由两部分组成:一部分是bc
这样的前缀,被称为HRP(Human Readable Part,用户可读部分)