比特币地址格式的分类及应用场景
比特币地址是用于接收和发送比特币的标识符,主要有以下几种格式,每中类型都有其特定的用途和特点:
graph TD
比特币地址格式 --> P2PKH-->1xxxx-->leagcy地址
比特币地址格式-->P2SH-->3xxxx-->允许更复杂的交易多重签名
比特币地址格式-->SegWit(bech32)-->bc1xxxx
比特币地址格式-->bech32mP2TR-->bc1pxxxx
即支付到公钥哈希地址。通常以数字 “1” 开头,长度为 26-35 个字符。这是最常见的比特币地址格式之一,是通过对公钥应用哈希函数得到的,并在最后添加了校验码。
即支付到脚本哈希地址。通常以数字 “3” 开头,长度为 34 个字符。这种地址格式用于多重签名和其他复杂的交易脚本,不直接包含公钥,而是包含一个脚本的哈希值。例如:3J98t1WpEZ73CNmQviecrnyiWrnqRhW9k9。
即隔离见证地址。通常以 “bc1” 开头,长度为 42 个字符。SegWit 地址将签名数据从交易中分离出来,有助于降低交易费用。
即pay-to-taproot,这是一种更高级的 SegWit 地址格式,提供更好的错误检测和更高的兼容性。
Taproot 是 2021 年 11 月 14 日在比特币网络上激活的一项重要升级协议。
- 引入 Schnorr 签名:Taproot 用 Schnorr 签名替代了比特币之前使用的椭圆曲线数字签名算法(ECDSA)。Schnorr 签名具有线性特性,能将多个签名聚合成一个,使多个比特币交易可快速批量验证,而非逐个验证,大大提高了交易验证效率。例如,在多重签名交易中,以前每个签名都需单独验证,现在可将多个签名合并验证。
- 实现 Merkle 化抽象语法树(MAST):Taproot 通过 MAST 优化区块链上的交易数据存储。MAST 结构只需暴露一个分支及对应的 Merkle 路径就能解锁脚本,无需暴露其他分支,隐藏了交易的复杂性,增强了隐私性。比如,复杂的智能合约交易可通过 MAST 将未执行的部分隐藏,仅显示执行的部分。
- 结合 BIP341 和 BIP342:BIP341 定义了 Taproot 的脚本格式和交易原理,允许将多重公钥哈希表示成单个公钥,隐藏多重签名踪迹;BIP342 规范了 Tapscript 的定义和交易规则,支持脚本的多种操作和语法,为 Taproot 提供了完整功能支持。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!