美文网首页图解区块链
以太坊账户安全说明

以太坊账户安全说明

作者: 张_a1d6 | 来源:发表于2018-03-07 12:47 被阅读0次

明文私钥:

明文私钥是由64位十六进制的字符组成,长得像这样,比如:27308ed8fb682dffc4b612312353506e9850266537a829221a3343b05821b181。

明文私钥的生成方式是完全随机的,随机生成这样的字符串就会有16的64次方种可能,即:2的256次方。

明文私钥的本质就是个随机数。只不过这个数字是固定长度的,且是16进制的表现形式。


地址:

大家都知道,公钥跟私钥是成对的,公钥由私钥计算而来,地址则通过公钥进一步计算而来。要注意:地址不是公钥,不要混淆概念。总之,有了私钥,就可以推导出它的公钥以及地址,地址一般长这样:0x71436f27C1DFf0e6464967F9a07625583996694d,以0X开头的42位的哈希值(16进制)字符串,由私钥可以根据算法推导出地址,但有地址不能逆推出私钥。

所以,地址可以随便公开,而私钥则万万不能公开。


助记词:

由于私钥64位,长得太难看,没有可读性,而私钥的备份在电脑上复制起来容易,手抄下来就比较麻烦,但私钥保存在联网的电脑上毕竟不安全,有被其他人看到的风险,于是有了助记词工具,利用某种算法可以将64位私钥转换成12(或者 15/18/21)英文单词,这些单词都来源于一个固定词库,根据一定算法得来。私钥与助记词之间的转换是互通的,助记词只是你的私钥的另一种外貌体现

助记词一般会在你创建新钱包的时候出现一次,后面就再也不会出现了,所以一定要保存好。

简而言之:助记词就等于私钥,私钥就是钱,都千万不能见光。


钱包:

钱包是密钥(公钥和私钥)的管理工具,它只包含密钥而不是确切的某一个代币。钱包中包含成对的私钥和公钥。用户

用私钥来签名交易,从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。


Keystore:

Keystore不是私钥,一般你创建以太坊钱包后,会让你备份Keystore, 它是一串代码,你可以自己保存为文本或者json格式,日后都可以用任何以太坊钱包打开它。Keystore的本质是加密后的私钥,Keystore必须配合你的钱包密码来使用,所以说,光备份了Keystore但忘记了钱包密码也是然并软了。

直接使用以太坊钱包,很少会直接看到自己的私钥,而是让你备份Keystore, 配合钱包密码来使用。即使黑客获取了你的Keystore, 还要破解钱包密码也还是有一定难度的,当然钱包密码也别设太简单。

{

"crypto" :{

"cipher" : "aes-128-ctr", //对称AES算法名称

"cipherparams" :{

"iv" : "83dbcc02d8ccb40e466191a123791e0e"

},  //cipher算法所需的参数

"ciphertext" : "d172bf743a674da9cdad04534d56926ef8358534d458fffccd4e6ad2fbde479c", //以太坊私钥经过cipher算法加密

"kdf" : "scrypt",// 密钥生成函数,用于让你用密码加密 keystore 文件;

"kdfparams" : {

"dklen" : 32,

"n" : 262144,

"r" : 1, "p" : 8,

"salt" : "ab0c7876052600dd703518d6fc3fe8984592145b591fc8fb5c6d43190334ba19"

},//上述kdf密钥生成函数所需参数

"mac" : "2103ac29920d71da29f15d75b4a16dbe95cfd7ff8faea1056c33131d846e3097" }, //用户验证密码的代码

"id" : "3198bc9c-6672-5ab3-d995-4942343ae5b6",

"version" : 3

}

keystore解密过程:

首先,你输入了创建账户时所设置的密码,这个密码作为 kdf 密钥生成函数的输入,来计算解密密钥。然后,刚刚计算出的解密密钥和 ciphertext 密文连接并进行哈希散列(用SHA3-256的方法) ,和 mac 比较来确保密码是正确的。最后,通过 cipher 对称函数用解密密钥对 ciphertext 密文解密。


相关文章

  • 以太坊账户安全说明

    明文私钥: 明文私钥是由64位十六进制的字符组成,长得像这样,比如:27308ed8fb682dffc4b6123...

  • OKEx以太坊合约精英账户多空持仓差距明显缩小。你怎么看?

    OKEx以太坊合约精英账户多空持仓差距明显缩小。你怎么看? 个人认为,开多和开空的账户持仓差距缩小说明大家对以太坊...

  • 二、环境配置

    Xcode集成 1 集成说明 由于HPB主网账户底层算法和以太坊相同,因此我们可以采用以太坊的底层算法对接HPB。...

  • 区块链Solidity安全-重入漏洞

    重入漏洞说明 以太坊智能合约的特点之一是合约之间可以进行相互间的外部调用。同时,以太坊的转账不仅局限于外部账户,合...

  • 以太坊中如何判断一个地址为合约账户地址

    0x01 以太坊中的两类账户 对以太坊稍微了解一些朋友,应该知道,以太坊中有两类账户,一类是普通的由私钥控制的外部...

  • 【知识】以太坊中如何判断一个地址为合约账户地址

    0x01 以太坊中的两类账户 对以太坊稍微了解一些朋友,应该知道,以太坊中有两类账户,一类是普通的由私钥控制的外部...

  • 以太坊的工作原理

    概览 以太坊(Ethereum)是一个去中心化的平台,可以在上面部署Dapp 以太坊账户 以太坊使用椭圆曲线加密算...

  • 以太坊账户

    以太坊的账户包含四个部分: 随机数,用于确定每笔交易只能被处理一次的计数器 账户目前的以太币余额 账户的合约代码,...

  • 以太坊账户

    以太坊本质 作者-磨链社区出品 以太坊的本质就是一个基于交易的状态机(transaction-based stat...

  • 以太坊账户

    以一个账户举例: 路径: m/44'/60'/0'/0 助记词: 私钥: 公钥: 地址: 以太坊钱包使用户用来管理...

网友评论

    本文标题:以太坊账户安全说明

    本文链接:https://www.haomeiwen.com/subject/qmrjfftx.html