什么是比特币地址?
比特币地址是标识符(帐号),包含27-34个字母数字拉丁字符(0,O,I除外)。地址可以以QR码形式表,是匿名的,不包含关于所有者的信息。
地址样例:14qViLJfdGaP4EeHnDyJbEGQysnCpwn1gd
比特币地址的用途?
比特币地址用来表示比特币支付的来源或目的地(类似但不等于银行卡卡号)。与将一笔资金,从你的银行卡号A发送到你朋友的银行卡号B类似:如果你想将比特币发送给朋友,需要将比特币从你的地址A发送到你朋友的地址B。
比特币地址的3种格式:
3-1. Legacy (P2PKH)格式
范例:1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u
地址以“1”开头,是比特币最初的地址格式,至今仍在使用。P2PKH 是 Pay To PubKey Hash(付款至公钥哈希)的缩写。
3-2. Nested SegWit (P2SH)格式 多签
范例:3KF9nXowQ4asSGxRRzeiTpDjMuwM2nypAN
地址以"3"开头,P2SH 是Pay To Script Hash(支付至脚本哈希)的缩写,它支持比Legacy 地址更复杂的功能。P2SH代表对脚本哈希的支付,它实现了比传统地址更复杂的功能。P2SH脚本函数最常用于multisig地址,例如,可指定需要多个数字签名来授权交易。
Nested P2SH,获取现有的P2SH地址(以“3”开头),并与SegWit地址一起封装。以此来兼容老版本。但这是某种破解行为,导致SegWit交易需要大约10%的额外空间。这与扩容的目的相矛盾。
SegWit 名称解释
SegWit是Segregated Witness(隔离见证)的缩写,其中Segregated是分离、隔离的意思,Witness是与交易相关的签名事物。因此,SegWit是将某些交易签名数据与交易分开。SegWit已在比特币区块链上被激活。
将签名与交易相关数据分离的主要好处是减少了存储在一个比特币块中的数据的大小。这样每个块具有额外的容量来存储更多的交易。也意味着网络可以处理更多的交易,并且发送者支付更低的手续费。所以,如果你希望在发送比特币时降低费用,请使用SegWit地址接收。
SegWit地址的另一个主要好处是它们向后兼容,所以可以将SegWit地址的比特币与Legacy 地址的比特币互转。
3-3. Native SegWit (Bech32)格式
范例:bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3
地址以”bc1“开头。Bech32编码的地址,是专为SegWit开发的地址格式。Bech32在2017年底在BIP173被定义,该格式的主要特点之一是它不区分大小写(地址中只包含0-9,az),因此在输入时可有效避免混淆且更加易读。由于地址中需要的字符更少,地址使用Base32编码而不是传统的Base58,计算更方便、高效。数据可以更紧密地存储在二维码中。Bech32提供更高的安全性,更好地优化校验和错误检测代码,将出现无效地址的机会降到最低。
Bech32地址本身与SegWit兼容。不需要额外的空间来将SegWit地址放入P2SH地址,因此使用Bech32格式地址,手续费会更低。
Bech32地址比旧的Base58(Base58Check编码用于将比特币中的字节数组编码为人类可编码的字符串)地址有几个优点:
QR码更小;
更好地防错;
更加安全;
不区分大小写;
只由小写字母组成,所以在阅读、输入和理解时更容易。
Base58 和 Bech32 二维码对比
三种比特币地址格式对比
三种地址的对比
(注意:交易手续费一列是对比三个格式地址转账时的平均手续费)
网友评论