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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/682925.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K210开发环境搭建(VS Code)

一、新建一个文件夹,就叫K210 二、再K210文件夹里面再新建一个文件夹,就叫CMake 三、找到官方提供的资料包里的cmake安装包, 或者直接去cmake官方下载网址进行下载 CMake官方下载网址:https://cmake.org/download/ 四、双击安装…

12.object.assign和扩展运算法是深拷贝还是浅拷贝,两者区别

扩展运算符: let outObj {inObj: {a: 1, b: 2} } let newObj {...outObj} newObj.inObj.a 2 console.log(outObj) // {inObj: {a: 2, b: 2}}Object.assign(): let outObj {inObj: {a: 1, b: 2} } let newObj Object.assign({}, outObj) newObj.inObj.a 2 co…

Screw自动生成数据库文档

Screw简介 官方地址 Screw可以根据数据库中的表自动生成HTML、Word、Markdown格式的文档。 Springboot 3.1集成 生成Springboot项目 Spring Initializr Maven依赖 <dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</…

Nginx实战:日志按天分割

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、方式1&#xff1a;定时任务执行分割脚本 1.分割日志脚本 2.添加定时任务 二、方式2&#xff1a;logrotate配置分割 1.logrotate简单介绍 2.新增切割ngi…

FT2232调试记录(3)

FT2232调试记录&#xff08;1&#xff09;: FT2232调试记录&#xff08;2&#xff09;: FT2232调试记录&#xff08;3&#xff09;: FT2232 SPI读写函数: 参照SPI提供的文档&#xff1a; 工程&#xff1a; SPI 写函数&#xff1a; FT_STATUS write_byte(FT_HANDLE handle…

再利用系统盘时,如何删除恢复分区(Recovery Partition)

系统盘有一个Recovery Partition&#xff0c;记录了重要的系统信息&#xff0c;不能删除。 Windows 10的 Disk Managment 不提供用户删除这个Partition的选项。 近日我插入一块原系统盘&#xff0c;Format后作为DataDisk&#xff0c;此时需要删除这块硬盘上的RecoveryPartition…

MySQL中常见的几种日志类型【重点】

在MySQL中&#xff0c;有几种不同类型的日志&#xff0c;用于记录数据库的活动和操作&#xff0c;以便于故障排查、性能调优和数据恢复等目的。以下是MySQL中常见的几种日志类型&#xff1a; 错误日志&#xff08;Error Log&#xff09;&#xff1a; 错误日志记录了MySQL服务器…

vue3 封装一个通用echarts组件

实现这个组件需要引入echarts和vue-echarts插件&#xff0c;使用vue-echarts是因为它帮我们封装了一些很常用的功能&#xff0c;比如监听页面resize后重新渲染功能&#xff0c;本次组件只使用到了autoresize配置&#xff0c;其它可以根据官方文档按需选配 https://github.com/…

11.JavaScript 中如何进行隐式类型转换?

首先要介绍ToPrimitive方法&#xff0c;这是 JavaScript 中每个值隐含的自带的方法&#xff0c;用来将值 &#xff08;无论是基本类型值还是对象&#xff09;转换为基本类型值。如果值为基本类型&#xff0c;则直接返回值本身&#xff1b;如果值为对象&#xff0c;其看起来大概…

vivado HDL编码技术

HDL编码技术 介绍 硬件描述语言&#xff08;HDL&#xff09;编码技术使您能够&#xff1a; •描述数字逻辑电路中最常见的功能。 •充分利用AMD设备的体系结构功能。 •模板可从AMD Vivado™设计套件集成设计环境中获得&#xff08;侧面&#xff09;。要访问模板&#xff…

机器学习系列——(二十一)神经网络

引言 在当今数字化时代&#xff0c;机器学习技术正日益成为各行各业的核心。而在机器学习领域中&#xff0c;神经网络是一种备受瞩目的模型&#xff0c;因其出色的性能和广泛的应用而备受关注。本文将深入介绍神经网络&#xff0c;探讨其原理、结构以及应用。 一、简介 神经网…

Python socket库 基础概念

socket库是Python中用于网络编程的标准库之一&#xff0c;它提供了创建套接字&#xff08;socket&#xff09;对象、绑定地址和端口、监听连接、接受连接、发送和接收数据等功能。 套接字是网络通信的基础&#xff0c;它允许程序之间进行数据传输和通信。 套接字类型&#xf…

【碎片知识点】安装Linux系统 VMware与kali

天命&#xff1a;VMware就是可以运行操作系统的载体&#xff0c;kali就是Linux的其中一个分支 天命&#xff1a;Linux有两个分支版本&#xff1a;centos与ubuntu&#xff0c;kali底层就是ubuntu&#xff08;所有Linux用起来都差不多&#xff0c;没啥区别&#xff09; 天命&…

CSS之选择器、优先级、继承

1.CSS选择器 常用的选择器 <body><div class"parent"><div id"one" style"background: blue" class"child">1<div class"one_one">11</div><div style"background-color: blueviole…

一个页面需要加载大量的图片,如何提升用户体验?

当网站页面需要加载大量图片时&#xff0c;优化用户体验非常关键&#xff0c;以下是一些方法来提升用户体验&#xff1a; 图片懒加载&#xff08;Lazy Loading&#xff09;&#xff1a;只加载用户可以看到的图片&#xff0c;当用户向下滚动页面时&#xff0c;再加载其他图片。这…

假期2.14

1、选择题 1.1、若有下面的变量定义&#xff0c;以下语句中合法的是&#xff08; A &#xff09;。 int i&#xff0c;a[10]&#xff0c;*p&#xff1b; A&#xff09; pa2; B&#xff09; pa[5]; C&#xff09; pa[2]2; D&#xff09; p&(i2); 1.2、…

2024LeetCode分类刷题

一、数组 88. 合并两个有序数组 public void merge(int[] nums1, int m, int[] nums2, int n) {int p1 0, p2 0;int[] sorted new int[m n];while (p1 < m || p2 < n) {int current;if (p1 m) {current nums2[p2];} else if (p2 n) {current nums1[p1];} else i…

每日一题——数字翻转

题目; 这道题看似是很简单的回文数 实则就是很简单的回文数 但是需要注意的一点是负数 可以在开头就进行判断&#xff0c;如果N<0的话就令N-N&#xff0c;将所有数都转成正数就好办了 上代码&#xff1a; #include <iostream> #include<string> #include<…

Linux 目录结构结构

Linux 目录结构结构 概念 Linux 没有 C、D、E...盘符&#xff0c;只有一个目录树。通过挂载&#xff0c;将不同的磁盘挂载到目录树下&#xff0c;通过目录访问磁盘。 ‍ 不同目录的作用 目录存放内容/作用​/​根目录&#xff0c;目录树的起点&#xff0c;存放所有文件。​…

4核16G服务器价格腾讯云PK阿里云

4核16G服务器租用优惠价格26元1个月&#xff0c;腾讯云轻量4核16G12M服务器32元1个月、96元3个月、156元6个月、312元一年&#xff0c;阿腾云atengyun.com分享4核16服务器租用费用价格表&#xff0c;阿里云和腾讯云详细配置报价和性能参数表&#xff1a; 腾讯云4核16G服务器价…