• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > 分层确定性钱包 HD Wallet 介绍

分层确定性钱包 HD Wallet 介绍

作者:ConsenLabs 字体:[增加 减小] 来源:互联网 时间:2018-11-03

ConsenLabs向大家分享了分层确定性钱包 HD Wallet 介绍,其中包含以太坊,区块链(Blockchain)等知识点,遇到此问题的同学们可以参考下

钱包是用于发送和接受代币的客户端,就像我们使用邮箱来管理自己的邮件,我们需要一个客户端来管理自己的代币。钱包的本质是保管私钥的工具,私钥就是一串很长的数字和字母组合的字符串,这个字符串让你有权力把自己的数字货币送给别人,换句话说,无论谁知道你的私钥,都可以控制你的数字货币。私钥也用于生成你的代币地址 - 这就像邮箱地址,只有知道地址才能给别人发送代币。然而,尽管代币地址是通过私钥生成的,但是没有办法通过检查数字货币地址来确定私钥是什么。总而言之,钱包的核心功能是私钥的创建、存储和使用。


钱包的类型


私钥不同的生成方法,也对应着不同的钱包结构,通常可以分为非确定性钱包和确定性钱包。比特币最早的客户端(Satoshi client)就是非确定性钱包,钱包是一堆随机生成的私钥的集合。 客户端会预先生成 100 个随机私钥,并且每个私钥只使用一次。每个交易使用一个地址的概念是中本聪提出的。如果交易比较频繁,私钥可能会用光,然后再产生一批私钥,所以每次完成 100 个交易后,你必须备份新的 wallet.dat 文件,否则可能会丢失资产。这种钱包难以管理和备份。如果你生成很多私钥,你必须保存它们所有的副本。这就意味着这个钱包必须被经常性地备份。每个私钥都必须备份,否则一旦钱包不可访问时,无法找回钱包。

确定性钱包则不需要每次转账都要备份,确定性钱包的私钥是对种子进行单向哈希运算生成的,种子是一串由随机数生成器生成的随机数。在确定性钱包中,只要有这个种子,就可以找回所有私钥,只需备份种子就相当于备份您的所有钱包,所以这个种子也相当重要,一定要备份到安全的地方。


什么是 HD 钱包


HD 钱包是目前常用的确定性钱包 ,说到 HD 钱包,大家可能第一反应会想到硬件钱包 (Hardware Wallet),其实这里的 HD 是 Hierarchical Deterministic(分层确定性)的缩写。所谓分层,就是一个大公司可以为每个子部门分别生成不同的私钥,子部门还可以再管理子子部门的私钥,每个部门可以看到所有子部门里的币,也可以花这里面的币。也可以只给会计人员某个层级的公钥,让他可以看见这个部门及子部门的收支记录,但不能花里面的钱,使得财务管理更方便了。

分层确定性的概念早在 BIP32 提案提出。根据比特币核心开发者 Gregory Maxwell 的原始描述和讨论,Pieter Wuille 在2012 年 02月 11日整理完善提交 BIP32 。直到 2016年 6月 15 日 才被合并到 Bitcoin Core,目前几乎所有的钱包服务商都整合了该协议。BIP32 是 HD 钱包的核心提案,通过种子来生成主私钥,然后派生海量的子私钥和地址,但是种子是一串很长的随机数,不利于记录,所以我们用算法将种子转化为一串助记词 (Mnemonic),方便保存记录,这就是 BIP39,它扩展了 HD 钱包种子的生成算法。BIP43 对 BIP32 树结构增加了子索引标识 purpose 的扩展 m/purpose'/ * 。 BIP44 是在 BIP43 和 BIP32 的基础上增加多币种,通过 HD 钱包派生多个地址,可以同时管理主网和测试网的比特币,BIP44 提出了5层的路径建议,如下:

m/purpse'/coin_type'/account'/change/address_index,

BIP44的规则使得 HD 钱包非常强大,用户只需要保存一个种子,就能控制所有币种,所有账户的钱包。


比特币 HD 钱包是如何生成的?



1. 生成一个助记词(参见 BIP39)

2. 该助记词使用 PBKDF2 转化为种子(参见 BIP39)

3. 种子用于使用 HMAC-SHA512 生成根私钥(参见 BIP32)

4. 从该根私钥,导出子私钥(参见 BIP32),其中节点布局由BIP44设置

可以看出 BIP39 生成助记词的过程非常重要, 大家肯定关心 BIP39 的安全性,如果一个 HD 钱包助记词是 12 个单词,一共有 2048 个单词可能性,如何算出随机的生成的助记词所有可能性是一个排列问题,根据公式: n!/( n - r )! ,既 2048!/(2048-12)! = 5.2715379713014884760003093175282 e+39 。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 市场上对以太币和以太坊误解深入解析
  • 如何在Localethereum上购买以太坊
  • 探讨以太坊的短期扩展解决方案
  • 新手如何使用MyEtherWallet(MEW钱包)
  • 可能取代ERC20的以太坊通证协议
  • 什么是以太坊私钥储存(Keystore)文件
  • 以太坊交易的生命周期
  • golang-event 在以太坊中的使用
  • 以太坊可更新智能合约研究与开发综述
  • 如何通过以太坊智能合约来进行众筹(ICO)

相关文章

  • 2018-11-03区块链性能测评实战案例
  • 2018-11-03BTC.com矿池-挖矿配置详细教程
  • 2018-11-03Aion挖矿教程(鱼池F2Pool)
  • 2018-11-03区块链开发环境选择与建设
  • 2018-11-03区块链技术在信任经济中的思路解读
  • 2018-11-03B网交易所使用教程——以TenX代币PAY交易过程为例
  • 2018-11-03p2p网络的搜索技术简介
  • 2018-11-03以太坊智能合约中必须了解的概念
  • 2018-11-03如何用架构师思维解读区块链技术?
  • 2018-11-03你了解比特币,但你真的懂区块链吗?

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • DAO是什么及其工作原理
    • Apache Ranger:Hadoop生态圈的安全管家
    • 美国大学参与区块链的申请
    • 数字货币的挖矿原理
    • Hcash POS钱包挖矿教程(MAC版)
    • 如何用架构师思维解读区块链技术?
    • 区块链中的数学思想概述
    • 区块链技术原理解析
    • 比特币侧链与区块链纠缠
    • 私钥攻击!权益证明协议的最大要害

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有