文章以及资料(开源):github地址

文章目录

  • 密码
  • 私钥
  • keystore
  • 助记词
    • 以太坊对BIP的支持
  • 密码、私钥、keystore与助记词的关系
  • 如何解锁账户

密码

首先明白密码不是私钥,它是在创建账户时候的密码(注意可以修改)。密码在以下情况下会使用到:

  1. 作为转账的支付密码
  2. 用keystore导入钱包的时候需要输入的密码,用来解锁keystore的

私钥

私钥由64位长度的十六进制的字符组成,比如:0xA4356E49C88C8B7AB370AF7D5C0C54F0261AAA006F6BDE09CD4745CF54E0115A一个账户只有一个私钥且不能修改,。通常一个钱包中私钥和公钥是成对出现的,有了私钥,我们就可以通过一定的算法生成公钥,再通过公钥经过一定的算法生成地址,这一过程都是不可逆的。私钥一定要妥善保管,若被泄漏别人可以通过私钥解锁账号转出你的该账号的数字货币。

keystore

Keystore常见于以太坊钱包,它是将私钥以加密的方式保存为一份 JSON 文件,这份 JSON 文件就是 keystore,所以它就是加密后的私钥。Keystore必须配合钱包密码才能使用该账号。

助记词

私钥是64位长度的十六进制的字符,不利于记录且容易记错,所以用算法将一串随机数转化为了一串12 ~ 24个容易记住的单词,方便保存记录。注意:

  1. 助记词是私钥的另一种表现形式
  2. 助记词可以获取相关联的多个私钥,反过来私钥没法获取助记词。

要弄清楚助记词与私钥的关系,得清楚BIP协议,是Bitcoin Improvement Proposals的缩写,意思是Bitcoin 的改进建议,用于提出 Bitcoin 的新功能或改进措施。BIP协议衍生了很多的版本,主要有BIP32、BIP39、BIP44。

以太坊对BIP的支持

BIP是用于提出 Bitcoin 的新功能或改进措施,那么对于以太坊来说如何支持呢?

  • 以太坊在EIPs/issues/84中讨论,是否遵循 BIP32 和 BIP44,社区里提出来很多有意思的观点,比特币是基于 UTXO 的,所以可以使用 HD 钱包(BIP32)为每个交易分配一个新地址,以保护您的隐私。然而,以太坊是基于帐户,每个帐户都有一个地址,BIP 是比特币的提案,而且比特币的数据结构的设计是围绕改变地址的想法构建的,BIP 的一些提案可能并不适合以太坊。以太坊的模式和比特币UTXO 不同,以太坊转账不能改变地址,如果在以太坊上实现 UTXO ,用户还必须签名两个交易以将余额的一部分发送到一个地址,将余额的一部分发送到第二个地址 - 这将使成本增加一倍,而且第二个交易可能不会在同一个区块中,当然以太坊也可以通过智能合约的方式实现。另外,以太坊目前官方钱包采用 KDF 的形式,也就是我们常说的 Keystore 的形式。
  • 以太坊在EIPs/issues/85中讨论,以太坊社区似乎也采用了 BIP32 的做法,提议 HD 路径为 : m/44'/60'/0'/0/n,n 是第 n 次生成地址。目前以太坊客户端实现了BIP32的客户端有:Jaxx, Metamask, Exodus, imToken, TREZOR (ETH) & Digital Bitbox

密码、私钥、keystore与助记词的关系

如何解锁账户

解锁账户有如下几种方式:

  • 私钥(Private Key)
  • Keystore+密码(Keystore+Password)
  • 助记词(Mnemonic code)

我们可以得到以下总结:

  • 通过私钥+密码可以生成keystore,即加密私钥。
  • 通过keystore+密码可以获取私钥,即解密keystore。
  • 通过助记词根据不同的路径获取不同的私钥,即使用HD钱包将助记词转化成种子来生成主私钥,然后派生海量的子私钥和地址。

详解私钥、密码、keystore和助记词相关推荐

  1. 密码、私钥、keystore与助记词之间的关系

    密码.私钥.keystore与助记词之间的关系 一.它们关系可以用下面的图来表述. 二.私钥 基于以上的分析,我们对以太坊钱包的账号系统有了一个很好的认识,那么我们在使用钱包的过程中,该如何保管自己的 ...

  2. 助记词创建以太坊钱包源码_技术指南 | 以太坊钱包开发:生成账户地址、私钥、keystore、助记词...

    一.使用web3连接到以太坊网络(测试网.主网) 1. 什么是web3 web3是以太坊官方开提供的一个连接以太坊区块链的模块,允许您使用HTTP或IPC与本地或远程以太坊节点进行交互,它包含以太坊生 ...

  3. 简单科普私钥、地址、助记词、Keystore的区别

    简单科普私钥.地址.助记词.Keystore的区别  苏江同学 关注 2017.10.31 21:03* 字数 1589 阅读 13437评论 10喜欢 18赞赏 3 很多人保管不好自己的虚拟财产,发 ...

  4. java助记词_JAVA生成BTC地址以及私钥,公钥和助记词

    JAVA生成BTC地址以及私钥,公钥和助记词 有用的话,回来给我点个赞,谢谢了.有问题留言,我会尽快回复. maven依赖 org.bitcoinj bitcoinj-core 0.14.7 上代码 ...

  5. AToken小课堂----什么是私钥?什么是助记词?

    AToken是一个手机端的HD钱包,说到HD钱包很多用户并不理解是什么,在这里小编简单科普一下: HD钱包并不是Hardware Wallet(硬件钱包)的缩写,而是Hierarchical Dete ...

  6. 以太坊---「地址、密码、私钥、助记词、Keystore 」那些事

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 国内最好的以太系钱包当属 imToken,在使用钱包时,有几个名词必须深刻理解,不然就有可能造成区块链资产的损失,这 ...

  7. 怎么通过助记词登录MetaMask和通过私钥登录

    怎么通过助记词登录MetaMask和通过私钥登录 问题 ​ 相信伙伴们想切换账户的时候都会遇到这样一个问题,就是明明我记住的是助记词,它却要我输入那一长串很难记住的字符,其实可以这样通过助记词登录账户 ...

  8. php实现助记词转TRX,ETH 私钥和钱包地址

    TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的功能需要依赖其他环境来实现表示不能忍,毕竟php是世界上最好的语言.[狗头] 一.知识准备 要实现助记词转TRX私钥和地址,先需 ...

  9. 1.16. BIP39协议:使用助记词生成确定性钱包

    以太坊系统学习教程: https://www.netkiller.cn/blockchain/bip39.html 1.16. BIP39协议:使用助记词生成确定性钱包 BIP:39 层:应用层 标题 ...

最新文章

  1. LeetCode Python题解(二)----排序
  2. 安装搭建kafka集群
  3. @Autowired原理
  4. Windows Server 2008网络基础结构的实现与管理
  5. opencv学习笔记8:类型转换
  6. oracle大表复制加并行,GoldenGate复制单表开并行
  7. 如何JQ将下拉列表的值传送给php,JQuery设置获取下拉菜单某个选项的值(比较全)...
  8. MTK 功耗优化(1)---MTK PerfService
  9. 【大数据】0001---使用SparkSQL关联两个表求和取前几行
  10. TrackBar问题,有高人能解决吗?
  11. 输出数组元素(c语言)
  12. stm32f103rc片内Flash使用FAL库配置说明
  13. 【2022刷题】受伤的皇后
  14. apache的动态网站部署,discuz论坛系统和ecshop电商系统
  15. 【产业互联网周报】阿里云栖大会、百度世界大会召开:阿里重推“云端一体”、百度AI全面升级...
  16. 关于高通8953开机需要按pwrkey很长时间的问题
  17. Linux监控服务之zabbix
  18. 0811 iOS开发完整学习路线
  19. DC/DCT/DCG 差别和联系
  20. 论文翻译:2020_RNNoise:A Hybrid DSP/Deep Learning Approach to Real-Time Full-Band Speech Enhancement...

热门文章

  1. Twenty-third
  2. 小白入门:什么是CURD?
  3. 006 MySQL 监控
  4. AXI EMC使用总结
  5. 新型智慧园区规划设计方案 PPT
  6. android 学习之路线图
  7. 高精度AOA定位技术原理及市场需求-新导智能
  8. 一加8T可以升级鸿蒙吗,一加8T为什么值得购买?单凭这一点让你心动
  9. 在idea中移除子模块如何Moudle后重新导入
  10. linux下otrs安装rpm,从源码安装OTRS(Linux、Unix)