zoukankan      html  css  js  c++  java
  • 详解私钥、密码、keystore和助记词

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

    密码

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

    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与助记词的关系

    image-20201012091537816

    如何解锁账户

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

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

    我们可以得到以下总结:

    • 通过私钥+密码可以生成keystore,即加密私钥。
    • 通过keystore+密码可以获取私钥,即解密keystore。
    • 通过助记词根据不同的路径获取不同的私钥,即使用HD钱包将助记词转化成种子来生成主私钥,然后派生海量的子私钥和地址。
  • 相关阅读:
    [转]char、varchar、nchar、nvarchar的区别
    【转】Asp.net 2.0中页的生存周期(Lifecycle)和动态控件 [.Net]
    git免登录sshkey
    ios8,xcode6 周边
    iOS 推送证书
    Lazarus中TreeView导出XML以及XML导入TreeView
    flac文件提取专辑封面手记
    Lazarus解决含中文文件名或路径的使用问题
    使用PowerShell管理Windows8应用
    thbgm拆包【in progress】
  • 原文地址:https://www.cnblogs.com/1314xf/p/13801255.html
Copyright © 2011-2022 走看看