为什么会有不同的地址?
这几个地址到底该用哪个呢?
Bitcoin 社区是一个技术不断发展的社区,技术的发展产生新的内容。不同的地址格式可以认为是新技术应用的结果。接下来探索一下不同地址格式的区别是什么。
01 Legacy 地址(P2PKH)
该格式是在 2009 年比特币刚刚推出的时候采用的格式,所以称作 Legacy 格式,又因为当时比特币的地址是从公钥/私钥对创建的,所以也叫做支付公钥哈希 (P2PKH) 地址。
目前看来,Legacy 类型的地址在交易中会占用更多的空间,导致交易的手续费更高。目前大家只会在使用一些与新地址不兼容的旧钱包时才会使用这种类型的地址。
可以发现 Legacy 地址有一个特点,地址都是以「1」开头的。这是因为在生成地址的时候,会根据不同场景(比如:测试网/主网)在生成的公钥前添加前缀,添加了前缀的公钥通过 Hash 计算之后地址最终会以「1」开头。
02 Nested SegWit 地址 (P2SH-P2WPKH)
和传统的 Legacy 地址相比,P2SH 地址采用的不是公钥的哈希,而是赎回脚本(redeem-script)的哈希。通俗的讲,P2PKH 是向一个公钥的哈希进行支付,而 P2SH 是向赎回脚本进行支付,只有接受者满足赎回脚本的转出条件之后,才可以花费里面的资金。
由于支付的对象从公钥转换为脚本,大大扩展了灵活性,可以自定义赎回脚本的执行逻辑。典型的应用包括实现多重签名的交易。
在 P2SH 的基础上,如果嵌入了隔离见证技术,那么这种地址的格式就是隔离见证兼容地址(Nested SegWit)。关于隔离见证相关的内容可以在介绍隔离见证地址的时候了解到。引入了隔离见证技术之后,可以减少交易的体积,从而减少交易的手续费用。
可以看到 P2SH 地址以「3」开头。