走进 Web3

什么是比特币地址?类型、格式与示例

By Safeheron Team

比特币地址是用来接收比特币的一串字符,相当于链上的收款账号。它由公钥或脚本经过哈希和编码得到,代表“满足什么条件才能花掉这笔钱”。目前常见的比特币地址有四种类型:以 1 开头的传统地址、以 3 开头的 P2SH 地址、以 bc1q 开头的原生隔离见证地址,以及以 bc1p 开头的 Taproot 地址。它们都能在比特币网络上收款,区别在于手续费、兼容性和功能。

比特币地址是怎么生成的?

钱包先生成随机私钥,用椭圆曲线密码学算出公钥,再对公钥或脚本做哈希,加上版本号和校验码编码成地址。校验码让输错一两个字符的地址直接被钱包拒绝,但无法判断地址是不是你想转给的那一个。

比特币地址有哪些类型?

传统地址(P2PKH)以 1 开头,用 Base58Check 编码,一般为 34 个字符,比如创世区块的奖励地址 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa。它是比特币最早的地址格式,到今天仍然有效。

P2SH 地址以 3 开头,同样是 34 个字符,比如 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy。它对应的不是一把公钥,而是一段脚本的哈希,常用于多签地址,也用来把隔离见证包装成老钱包能识别的格式。

原生隔离见证地址(P2WPKH)以 bc1q 开头,用 Bech32 编码,全部是小写字母和数字,单签地址为 42 个字符,比如 bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4;对应脚本的 P2WSH 地址为 62 个字符。它随 2017 年的隔离见证升级推出。

Taproot 地址(P2TR)以 bc1p 开头,用 Bech32m 编码,为 62 个字符,比如 bc1p0xlxvlhemja6c4dqv22uapctqupfhlxm9h8z3k2e72q4k9hcz7vqzk5jj0。它随 2021 年的 Taproot 升级推出,支持 Schnorr 签名,多方共同签名的转账在链上也可以和普通单签转账看起来一样。

不同类型的地址在手续费和兼容性上有什么区别?

比特币手续费按交易大小计算。隔离见证把签名数据移到“见证”部分并打折计费,所以花费 bc1q 和 bc1p 地址上的资金比花费传统地址便宜不少,包装在 P2SH 里的隔离见证介于两者之间。一个地址上的 UTXO 越多,这部分差异就越明显。

四种地址之间可以互相转账,前提是发送方的钱包认识目标格式。仍有一些老系统不支持向 bc1q 或 bc1p 地址发送,bc1p 的支持尤其不如 bc1q 普遍。对企业来说,充值地址可以优先用手续费低的原生隔离见证格式,提币系统则应该支持向全部四种地址发送,否则会有客户无法提币。

比特币地址可以重复使用吗?

技术上可以,一个地址能无限次收款,但不建议。链上数据是公开的,反复使用同一个地址,任何人都能看到它的全部收支和余额,也更容易把它和你的其他地址关联起来。

所以现在大多数钱包都是 HD 钱包,每次收款自动推导一个新地址,付款时的余额也进入新的找零地址。企业为每个客户分配独立的充值地址,既保护了隐私,也能按地址直接识别每笔充值属于哪个客户。

企业如何避免转错比特币地址?

比特币转账确认后无法撤回,而校验码拦不住格式正确但属于别人的地址,比如地址投毒留下的仿冒地址。企业需要在签名前设几道关口:提币系统校验地址格式和网络,转账只发往经过审批的白名单地址,新地址先小额测试。

结语

比特币地址是由公钥或脚本编码而成的收款字符串,常见的有以 1、3、bc1q 和 bc1p 开头的四种,新格式手续费更低,但要注意兼容性。对企业来说,地址管理的重点是不重复使用、提币支持全部格式,并用白名单和审批防止转错。Safeheron 的 MPC 钱包即服务为企业提供 MPC 密钥管理和策略引擎。

想让每一笔比特币转账都只发往经过审核的地址?

联系 Safeheron 销售团队,预约一对一演示

分享

预约演示

正在评估数字资产安全方案?不妨与 Safeheron 专家聊聊,获取专属方案建议

预约演示