BTC私钥生成的地址会不一样吗?

oxy9LoYX水手发布在 技术讨论
 26825  18
  • 正序
  • 最新
只看帖主楼层直达
  • BurntCoins 副船长 2020-03-21 01:58:08 只看该作者17楼
    lyhistory 发表于2020-03-20 17:02:11


    生成地址有很多协议的,比如

    bip32 bip39 bip44标准

    具体看这里吧,我写的很详细了
    https://lyhistory.com/docs/blockchain/btc_ipayment_integrate.html
    HD钱包,也有BIP49和BIP84来生成3开头的兼容隔离见证地址和bc1开头的原生隔离见证地址。

    (我CTRL+F了一下,好像你写的教程还没提到找零的问题?)
    楼层直达
  • BurntCoins 副船长 2020-03-21 01:59:59 只看该作者18楼
    lyhistory 发表于2020-03-20 17:02:11


    生成地址有很多协议的,比如

    bip32 bip39 bip44标准

    具体看这里吧,我写的很详细了
    https://lyhistory.com/docs/blockchain/btc_ipayment_integrate.html
    (补充一下,新钱包软件完全可以在bc1开头的原生隔离见证地址和1开头的传统地址之间互相发币。只有老钱包软件才会有兼容性问题)
    楼层直达
  • lyhistory 副船长 2020-03-23 10:08:36 只看该作者19楼
    BurntCoins 发表于2020-03-21 01:57:31 你说的是HD钱包,楼主处理的是单个私钥,还不涉及HD钱包呢。

    1开头的P2PKH传统地址,大小写混合字母+数字,Base58编码,是中本聪设计的,在比特币刚诞生时就有了。

    至于隔离见证地址的生成,BIP141里有提到。

    一大类是bc1开头、全小写字母+数字的,Bech32编码(由BIP173定义),这就是原生隔离见证,交易实际字节数比传统地址稍小,折扣后的虚拟字节数更小,但是老钱包软件不能识别这种新地址(也就是有兼容问题,不过从这种地址发币给老钱包也是没问题的,只是老钱包因为不识别新地址而不能给新地址发币);目前Bech32地址有两种,一种是比较短的P2WPKH,功能和P2PKH类似,由单个私钥控制;另一种是P2WSH,功能和P2SH类似,最常见的用途是闪电网络通道,多重签名当然也可以。

    另一大类是3开头、大小写混合字母+数字,Base58编码,这就是P2SH嵌套隔离见证地址,也就是用P2SH把上面提到的P2WPKH和P2WSH再“封装”一次,这样就可以回避兼容性问题,老钱包软件也能识别,但是交易字节数就更多,好在折扣后的虚拟字节数还是比较小的。
    bitcoin-core 13.0默认已经支持HD了,楼主没有给出具体版本,2开头的按理说是Testnet script hash,具体还得详细的了解,我的文档确实没有涵盖完整,手头上多个项目,目前时间比较紧张,等有空我再写几篇关于你提到的bip的文档,谢谢指出
    楼层直达
  • 1
  • 2
登录 账号发表你的看法,还没有账号?立即免费 注册