【BIP39和BIP44】

现在的区块链地址通常是基于BIP39和BIP44提案的,这两个提案定义了助记词和确定性钱包的标准。

BIP39(确定性钱包种子助记词):

BIP39提案描述了一种生成和恢复助记词的方法,这些助记词可以用于生成加密货币的私钥和地址。
助记词是一组单词,通常是12、15、18、21或24个单词,用于表示一个随机生成的种子值。
这些助记词通过一个确定性的算法转换为种子,然后使用种子生成加密货币的私钥和公钥。
BIP39的主要目的是提供一种方便、可靠的方式来备份和恢复钱包,避免因丢失私钥而导致资金丢失的风险。
BIP44(确定性钱包的层次结构):

BIP44建立在BIP39之上,为确定性钱包引入了层次结构,以组织和管理多个地址和账户。
BIP44定义了一个层次化的钱包结构,其中包括主私钥、账户、外部链和内部链。
每个账户对应一个特定的币种,而每个账户下可以有多个外部链和内部链。
外部链用于接收资金,内部链用于找零和其他交易变化。
BIP44通过使用派生路径(Derivation Path)来确定特定的地址,例如,m/44’/0’/0’/0/0表示第一个账户的第一个外部链的第一个地址。
综上所述,BIP39提案定义了助记词的生成和恢复方法,而BIP44提案在此基础上引入了确定性钱包的层次结构,用于组织和管理多个地址和账户。这些标准提供了一种方便、可靠的方式来生成和管理区块链地址,并提供了备份和恢复钱包的功能。这使得用户可以方便地管理多个地址和账户,同时减少了由于丢失私钥而导致资金丢失的风险。

BIP44(确定性钱包的层次结构)是一项Bitcoin Improvement Proposal(比特币改进提案),它定义了一种确定性钱包的层次结构,用于组织和管理多个地址和账户。BIP44建立在BIP32(确定性钱包)和BIP39(确定性钱包种子助记词)的基础上,为钱包的派生路径提供了一套标准。

BIP44的核心概念是钱包的层次化结构。以下是BIP44中使用的术语和结构:

主私钥(Master Private Key):

主私钥是一个随机生成的32字节(256位)的私钥。
通过对主私钥应用椭圆曲线数学运算,可以生成主公钥。
主公钥(Master Public Key):

主公钥是由主私钥生成的公钥。
主公钥可以用于推导子密钥和子公钥,但无法用于签名交易。
派生路径(Derivation Path):

派生路径是一种确定性的方式,用于从主私钥推导出特定的子密钥和子公钥。
派生路径是一个由数字和撇号组成的字符串,例如:“m/44’/0’/0’/0/0”。
派生路径的每个部分都代表了一个特定的层级,例如:m/44’/0’/0’表示硬件钱包上的第一个账户。
账户(Account):

账户是BIP44中的最高层级。
每个账户对应一个特定的币种(例如比特币、以太坊等)。
账户在派生路径中表示为一个整数,例如:m/44’/0’/0’中的第三个级别。
外部链(External Chain)和内部链(Internal Chain):

账户下的外部链和内部链用于派生实际的地址。
外部链(通常以0表示)用于接收资金,例如:用于接收比特币的收款地址。
内部链(通常以1表示)用于找零和其他交易变化。
通过使用派生路径和层次化结构,BIP44允许从主私钥派生出多个子密钥和对应的地址。这种结构提供了一种方便的方式来管理多个账户和地址,并确保它们之间的隔离性。

总结:BIP44是一种确定性钱包的层次结构标准,通过使用派生路径和层级结构,允许从主私钥生成多个子密钥和对应的地址。它提供了一种方便和可靠的方式来组织和管理多个地址和账户,确保私钥的安全性和备份恢复的便利性。

相关推荐

  1. BIP39BIP44

    2024-02-16 16:56:03       52 阅读
  2. #!/bin/sh#!/bin/bash的区别

    2024-02-16 16:56:03       38 阅读
  3. <span style='color:red;'>32</span>RTC&<span style='color:red;'>BKP</span>

    32RTC&BKP

    2024-02-16 16:56:03      54 阅读
  4. BIM数字孪生

    2024-02-16 16:56:03       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-16 16:56:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-16 16:56:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-16 16:56:03       87 阅读
  4. Python语言-面向对象

    2024-02-16 16:56:03       96 阅读

热门阅读

  1. 预训练和微调在迁移学习中的作用

    2024-02-16 16:56:03       45 阅读
  2. 【前端工程化面试题】简单说一下 vite 的原理

    2024-02-16 16:56:03       63 阅读
  3. 蓝桥杯(Web大学组)2023省赛真题:视频弹幕

    2024-02-16 16:56:03       59 阅读
  4. 【c/c++】获取时间

    2024-02-16 16:56:03       52 阅读
  5. LInux、源码编译安装

    2024-02-16 16:56:03       49 阅读