区块链钱包之BIP32, BIP39, BIP44

区块链
BIP 全名是 Bitcoin Improvement Proposals,是提出 Bitcoin 的新功能或改进措施的文件。可由任何人提出,经过审核后公布在 bitcoin/bips 上。BIP 和 Bitcoin 的关系,就像是 RFC 之于 Internet。

BIP32, BIP39, BIP44

HD Wallet虚拟货币钱包里面使用的就是这些东西 ,包含其设计动机和理念、实作方式、实例等。

  • BIP32:定义 Hierarchical Deterministic wallet (简称 “HD Wallet”),是一个系统可以从单一个 seed 产生一树状结构储存多组 keypairs(私钥和公钥)。好处是可以方便的备份、转移到其他相容装置(因为都只需要 seed),以及分层的权限控制等。

  • BIP39:将 seed 用方便记忆和书写的单字表示。一般由 12 个单字组成,称为 mnemonic code(phrase),中文称为助记词或助记码。例如:

average green proud remember advance trick estate oblige trouble when cube person1
  • BIP44:基于 BIP32 的系统,赋予树状结构中的各层特殊的意义。让同一个 seed 可以支援多币种、多帐户等。各层定义如下:

  • m / purpose' / coin_type' / account' / change / address_index
    //purporse': 固定值44', 代表是BIP44
    //coin_type': 这个代表的是币种, 可以兼容很多种币, 比如BTC是0', ETH是60'//btc一般是 m/44'/0'/0'/0
    //eth一般是 m/44'/60'/0'/012345
  • 校验测试

  • 在Android中, 一般是使用bitcoinj这个库基本上可以完成所有操作, 但是对于ETH以太坊,可以使用一个更方便的库web3j’ 
    当前的钱包app基本上都用所有币种公用一套助记词, 然后可以分别生成不同的钱包地址, 如果需要测试助记词, 和校验助记词生成的地址, 那么可以访问这个网站: https://iancoleman.io/bip39/


发表评论