以太坊钱包地址是什么?eth钱包地址如何获得?
现在我们大家都很关注以太坊方面的问题,那么我想大家应该会很想了解一些很多关于以太坊的钱包地址都是什么?该怎么用?希望下面就让我们小编在这里为大家好好的介绍一下很多关于以太坊的钱包地址都是什么?该怎么用?希望能够帮到大家。
以太坊的客户端或图形界面帮助我们因此了底层复杂的密码实现,唯一需要我们做的就是保存好(多出备份)keystore下面的加密私钥文件和加密的密码。否则,有可能失去辛苦挖来的以太币或花钱购买来的以太币。
记住,永远不要犯的错误:丢失keystore文件或忘记密码!
以太坊创建账户
以太坊创建账户的操作非常简单,但有不同的展现形式。以geth客户端为例。
command命令方式
bogon:geth zzs$ ./geth account newYour new account is locked with a password. Please give a password. Do not forget this password.
Passphrase:Repeat passphrase:
Address: {0f7b73f3034d0d17a165e4cf50bd77051235b4e6}bogon:geth zzs$ ./geth account list
Account #0: {0f7b73f3034d0d17a165e4cf50bd77051235b4e6} keystore:///Users/zzs/Library/Ethereum/keystore/UTC--2018-02-21T02-56-46.285140000Z--0f7b73f3034d0d17a165e4cf50bd77051235b4e6bogon:geth zzs$123456789
以上操作是直接执行geth客户端的命令(command)来创建账户和展示账户私钥文件信息。创建过程中需要两次输入对私钥加密的密码。此种方式的好处是不需要单独启动geth节点即可创建完成账户。
console命令方式
此种方式需先启动geth节点,并进入console命令行交互界面。然后执行以下命令:
> personal.newAccount("123456")"0x00fe1b8a035b5c5e42249627ea62f75e5a071cb3"// 或
> personal.newAccount()Passphrase:Repeat passphrase:"0x6a787f16c2037826fbc112c337d7b571bb19c022"12345678910
通过personal角色来管理和创建新账号,并设置密码。
keystore文件
keystore文件是你独有的,用于签名交易的以太坊私钥的加密文件。一旦丢失文件或加密密码就意味着你失去了此地址发起交易、签名交易的特权,账户里面的资金将永远被锁。
keystore文件存在的价值就是以加密的方式存储密钥,同时在使用的时候只需要提供keystore文件和对应的密码即可发起交易。安全性与可用性达到了完美的平衡。
但是,我们需要注意的是一旦用密码对加密文件进行解锁之后,在有效时间内通一个客户端下,你可以发起交易,如果别人可以访问你的客户端,同样也可以发起交易。在网络安全不足的情况下,这是被盗币的场景之一。
秘钥文件内容
秘钥文件为文本文件,可以使用任何文本编辑器或浏览器打开。
bogon:keystore zzs$ cat UTC--2018-02-21T03-01-27.385349000Z--6a787f16c2037826fbc112c337d7b571bb19c022
{ "address": "6a787f16c2037826fbc112c337d7b571bb19c022", "crypto": { "cipher": "aes-128-ctr", "ciphertext": "8ed39b22ab67a787baa4ebb545382255f747328e2a3e2e74970a0f66b422d169", "cipherparams": { "iv": "8e0e0905919d6d1669957fdf65f114ce"
}, "kdf": "scrypt", "kdfparams": { "dklen": 32, "n": 262144, "p": 1, "r": 8, "salt": "a2a84d4843dbcb7c0aefa933f37ead073aefe8503ac8497b77828e85467c6822"
}, "mac": "1fc4a5d260fdd70e772fdc9a28614e82d5ff0adc6c98332f8455c5aa0a3352ad"
}, "id": "7bce1a69-79a2-429a-836c-cc2bf72c80de", "version": 3}1234567891011121314151617181920212223
通过文件中的内容,我们能看到的是一个json字符串,里面包含了此秘钥对应的地址和加密相关的一些信息。
cipher:加密算法,对称加密,AES算法,用于加密以太坊私钥;
cipherparams:cipher算法需要的参数,参数iv,是aes-128-ctr加密算法需要的初始化向量;
ciphertext:加密后的密文,aes-128-ctr函数的加密输入密文;
kdf:秘钥生成函数,用于使用密码加密keystore文件;
kdfparams:kdf算法所需要的参数;
mac:验证密码的编码;
原理解析
加密秘钥
一个以太坊账户是由一对公私钥对构成,并使用强对称算法(cipher)进行加密。
我们看一下具体的流程图《ciphertex密文的对称解密》:
客户端读取密钥文件和加密密码,对私钥进行解密,然后使用私钥对发送的交易进行签名。
密码保护
以太坊使用基于密码保护的机制来解密密钥。这样用户就不需要记住一串非用户友好的密码。为了达到此效果,以太坊使用密钥生成函数,根据输入的密码和一系列参数就能计算解密密钥。
这就涉及到kdf和kdfparams的用途:
kdf是一个密钥生成函数,根据密码计算(或者取回)解密密钥。kdf用的是scrypt算法。
kdfparams是scrypt函数需要的参数。
用kdfparams参数对scrypt函数进行调整,反馈密码中,得到解密密钥,也就是密钥生成函数的输出。
错误密码
当输入错误密码时,密码派生和解密等操作都会成功,但最终计算所得的以太坊私钥不是正确的,因此无法进行解锁账户的操作。
keystore文件中mac值起作用的地方。在密钥生成函数执行之后,它的输出(解密密钥)和ciphertext密文就被处理,并且和mac(类似于数据签名)作比较。如果结果和mac相同,那么密码就是正确的,可以开始解密操作。
在和mac进行比较之前,需要解密密钥(左起第二字节开始的16字节)要和ciphertext*密文连接在一起,并进行哈希散列(用SHA3-256的方法)。
流程回顾
输入密码,密码作为kdf密钥生成函数的输入,计算解密密钥。用解密密钥和ciphertext密文连接并进行处理,和mac比较确保密码正确。最后,通过cipher对称函数用解密密钥对ciphertext 密文解密。
上面就是关于以太坊钱包地址的相关分析,相信看到这里大家对以太坊钱包已经有了一个大概的了解。
免责声明:以上内容(如有图片或视频亦包括在内)均为平台用户上传并发布,本平台仅提供信息存储服务,对本页面内容所引致的错误、不确或遗漏,概不负任何法律责任,相关信息仅供参考。 本站尊重他人的知识产权、名誉权等法律法规所规定的合法权益!如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到qklwk88@163.com,本站相关工作人员将会进行核查处理回复
推荐阅读
-
元宇宙购物:将购物体验带入新时代
随着科技的不断发展,人们的生活方式也在不断地改变。购物这个传统的行为也在经历着颠覆性的变革。元宇宙的出现,将给我们的购物方式带来全...
-
元宇宙的交互设计:如何设计更好的用户体验?
元宇宙作为一个全新的虚拟世界,其交互设计需要考虑到用户的体验和需求。好的交互设计可以让用户在元宇宙中获得更好的体验和感受,从而更好...
-
元宇宙的科技创新:打破现实界限的无限可能
随着数字世界的发展,元宇宙已经不再是虚幻的概念,而是成为了现实中一个真实存在的概念。元宇宙是一个完全数字化的虚拟世界,它可以通过增...
-
什么是区块链(区块链是干什么的)
首先我们明确一个概念,区块链就是一个工具,它本身没有任何价值,也无所谓好坏,就像一个锄头,单独往那一放,产生不了什么价值。但是你用...
-
从区块链技术角度出发,在行业发展历程中分为哪几个阶段?
从区块链技术角度出发,在行业发展历程中分为三个阶段。第一阶段:以比特币为代表建立了一套密码学的账本,提供了一套新的记账方法,和我们...
-
区块链怎么来的?区块链的工作原理是什么?
区块链怎么来的2008年金融危机在美国爆发,并向全世界蔓延,世界各国不同程度的采取了财政政策和货币政策,这些政策受到了质疑。在此背...
-
什么是区块链?详细了解区块链
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分...
-
区块链怎么帮助艺术行业?区块链在艺术中应用有什么好处?
区块链怎么帮助艺术行业?区块链的应用在金融领域是众所周知的。这项诞生于2008年的技术可实现加密货币支付和智能合约等安全的互联...
-
什么是 SegWit 隔离见证?隔离见证SW优点是什么?
-
竞争记账是什么?竞争记账解决了什么问题?