BTC地址不同格式的区别

BTC地址不同格式的区别

前言:本文内容总结于其他网络资料以及个人实际操作所得。

一 不同格式地址简介
  1. 1 开头的地址,是 P2PKH(pay-to-public-key-hash) 地址,也就是最原始的地址,称之为普通的BTC地址;
  2. 3开头的地址,是P2SH(pay-to-script-hash)地址,内部也需要是segwit,即隔离见证地址;
  3. bc1开头的地址,是BECH32编码的地址,是专为segwit开发的地址格式,也是隔离见证地址。

3开头的地址和bc1开头的地址,相比于1开头的地址,更小且手续费更低,可提升BTC区块打包速度。

二 其他简单介绍
  • 同一个BTC私钥虽然对应着3个不同的BTC地址,但是这3个地址都是正常地址,都是可以使用的。
  • 3个地址的"余额"是彼此独立的,假如分别向这3个地址转账1BTC,那么在区块链浏览器查询地址"余额"的时候,每个地址的"余额"也分别会显示1BTC,而不是3BTC。
  • BTC地址没有余额的概念,只有UTXO(unspent transaction output),调用节点查询余额 getbalance 参数是account,其背后是调用了另外一个API -> listtransactions 参数是该account,然后统计所有记录的 amount,全部加起来就是返回的余额结果。
  • 每次往钱包节点导入一个私钥(指定account),该account下都会生成对应的3个地址,火币钱包是1开头的。
三 顺便提一下BTC私钥的不同格式
  1. 原始格式 32 字节,256位的0或者1
  2. hex格式,hex格式又分为压缩和非压缩,压缩和非压缩的区别在于 -> 压缩格式 = 非压缩格式 + 01 ,所以说压缩格式并不是真的压缩了,反而多了一个后缀01
  3. WIF(wallet-import-format)格式,5开头
  4. WIF-compressed(WIF压缩格式),K 或者 L 开头

说明:hex非压缩格式私钥只能转换成WIF格式私钥;hex压缩格式私钥只能转换成WIF-compressed格式私钥。

不同格式BTC私钥相互转换JAVA实现

你可能感兴趣的:(随笔,学习篇)