有趣的是,大多数使用比特币的人甚至没有考虑到,实际上存在多少种不同类型的地址。它们一共有四种,每一种都承担着各自的任务。



最古老、最常见的是 P2PKH,它以数字1开头。这类地址到处都是,是经典之选。它的工作原理很简单:付款人并不是把资金直接发送到接收方的公钥本身,而是发送到接收方公钥的哈希。听起来复杂,但关键在于它提高了隐私性——即使地址被人知道,公钥本身仍然保持隐藏。并且数据在区块链中也更紧凑。

后来出现了 P2SH——以数字3开头。Gavin Andresen 在2012年提出它,专门用于更复杂的场景,比如多重签名。在这里,地址关联的是脚本的哈希,而不仅仅是密钥。发起方只需要知道脚本的哈希;而在花费输出时,则需要提供脚本本身。这让网络获得了更大的灵活性,并打开了创新的可能。

Bech32 是一种更新的格式,以 bc1q 开头。它由 Peter Wuille 和 Greg Maxwell 开发,所以名称也来自两位开发者:B 来自姓氏的首字母,ech 来自错误检测算法。这个算法很聪明——它能区分数字1和字母 l,区分零和字母 o。这样就降低了人在输入地址时出错的风险。该格式支持 SegWit,并且具备更强的错误检测能力。

最新的则是 Taproot,以 bc1p 开头。这是对 SegWit 思路的延伸,目的是节省区块空间并降低交易手续费。Taproot 进一步压缩数据,提高交易效率,并提供更好的隐私保护。

那为什么钱包里的地址会在每次使用后发生变化呢?这关乎安全性和隐私性。如果一直使用同一个地址,那么所有交易历史都会与它绑定——任何人都可以追踪资金的流向。每次生成一个新地址,交易历史就看不出来了。另外,如果某一个私钥被泄露,那么只有与之关联的地址上的资金才会面临风险,其它资金仍然是安全的。

从技术上看,这要依托椭圆曲线——在比特币中使用的是 secп256k1 算法。每一个新地址都会用一组新的密钥对来生成;由于该算法高效,整个过程非常快。

现代的钱包通常会使用 HD Wallet——层次确定性钱包。它不会把每个私钥单独存储起来,而是根据一个起始值,按照 BIP32 和 BIP44 的标准生成整条地址链。这简化了备份:只要保存一个起始值,就能恢复所有地址和资金。此外,它还支持层次结构——可以为不同目的创建多个子钱包。这让用户体验、安全性和隐私性能够同时得到提升。

所以,比特币地址的类型并不仅仅是不同的格式,而是针对特定任务不断演进的解决方案:从基础的安全性,走向可扩展性和隐私保护。
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论