ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

钱包

2019-02-07 16:43:41  阅读:316  来源: 互联网

标签:助记 钱包 种子 链码 BIP 密钥


概念

钱包里只含有钥匙。 “钱币”被记录在比特币网络的区块链中。 用户通过钱包中的密钥签名交易,从而来控制网络上的钱币。

分类

非确定性钱包

其中每个密钥都是从随机数独立生成的。密钥彼此无关。简称 JBOK 钱包。

确定性钱包

其中所有的密钥都是从一个主密钥派生出来,这个主密钥即为种子(seed)。称为分级确定性钱包或 HD 钱包。

优势:

  1. 树状结构可以被用来表达额外的组织含义。

2.它可以允许让使用者去建立一个公共密钥的序列而不需要访问相对应的私钥。

如果您正准备开发一个比特币钱包,那么它应该被构建为一个 HD 钱包,一个种子被编码为助记词代码进行备份,遵循 BIP-32,BIP-39,BIP-43 和 BIP-44 标准。


钱包技术细节

创建助记词

从助记词生成种子

BIP-39 中的可选密码短语

如果没有使用密码短语,助记词是用由常量字符串“助记词”构成的盐进行延伸,从任何给定的助记词产生一个特定的 512 位种子。


从种子创建HD钱包

私有子密钥的衍生

子密钥衍生函数是基于单项哈希函数。这个函数结合了:

一个母私钥或者公共钥匙(ECDSA 未压缩键)

一个叫做链码(256 bits)的种子

一个索引号(32 bits)

这三个项目(母私钥,链码,索引)相结合并散列可以生成子密钥

链码是用来给这个过程引入确定性随机数据的,使得索引不能充分衍生其他的子密钥。最初的链码种子(在密码树的根部)是用随机数据构成的,随后链码从各自的母链码中衍生出来。

改变索引可以让我们延长母密钥以及创造序列中的其他子密钥。每一个母密钥可以有 2,147,483,647 (2^31) 个子密钥。

扩展密钥

密钥以及链码这两个重要的部分被结合之后,就叫做扩展密钥(extended key)

一个扩展密钥包括一个私钥(或者公钥)以及一个链码。一个扩展密钥可以创造出子密钥并且能创造出密钥树结构中的整个分支。分享扩展密钥就可以访问整个分支。

标签:助记,钱包,种子,链码,BIP,密钥
来源: https://www.cnblogs.com/goOtter/p/10351530.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有