以太坊科普:Eth2验证者如何生成和保护取款密钥

以太坊 2.0 的密钥与以太坊 1.0 的密钥在生成和使用方式上大致相同,但二者并不兼容,也就是说,在以太坊 1.0 上生成的密钥不能在以太坊 2.0 上使用。

取款密钥(withdrawal key)是以太坊 2.0 中的验证者用来提现以太币的密钥 1。

以太坊 2.0 的密钥与以太坊 1.0 的密钥在生成和使用方式上大致相同,但二者并不兼容,也就是说,在以太坊 1.0 上生成的密钥不能在以太坊 2.0 上使用。

以太坊 2.0 中的密钥总是以公钥与私钥的形式成对出现。取款密钥由 权益人(staker) 自己持有,因为他们是资金的提供者,当然也想保有撤资的权利。

在以太坊 2.0 中,取款密钥的信息主要用于以下两种情况:在以太坊 1.0 中创建押金存入交易;在以太坊 2.0 中提现以太币。

当用户在以太坊 1.0 上存入押金时,取款公钥的作用是使该笔押金与取款私钥关联起来。这就是为什么以太坊 2.0 能通过取款公钥知道谁有权提款(与该取款公钥对应的取款私钥才有权提取该笔保证金)。取款公钥还用于将数据整合到以太坊的押金存入交易中,如下图所示:

以太坊科普:Eth2验证者如何生成和保护取款密钥

 图一:在存款流程中使用取款公钥

要注意的一点是,每个押金要约(deposit agreement)中都要用到取款公钥 2。

在以太坊 2.0 上提现以太币的操作细节还未确定,但无论将来采取怎么样的方式,都需要提款私钥来签名授权。

以太坊科普:Eth2验证者如何生成和保护取款密钥

 图二:提现操作框架

在上图的示例中,权益人使用提款私钥对提现操作的细节进行签名。然后,以太坊 2.0 网络就可以比较提款操作中的签名授权与存款协议中的提款身份标识(withdrawal identification)(如图一所示)。如果两者匹配,提款操作就能进行下去。

直到可以使用提款功能之前,我们都无需用到提款私钥。提款功能可能要等存入押金后一年以上才可以使用。即使功能可用后,也不一定要使用。对于那些想要长期获得奖励的权益人来说,能否提款对他们的日常操作几乎没有影响。

这就意味着,我们应该保护好自己的提款私钥,短期内不需要使用它,即使从长期来看也只需要偶尔使用它。也就是说,在平衡密钥的安全性和可用性时,安全性应该是我们更看重的。

还有一个需要回答的问题是:我们一共需要保护多少个私钥?

如果你只创建一个验证者身份,那么答案很简单:一个私钥。如果你要创建多个验证者身份,那么答案会变得复杂起来。我们可以为每个验证者身份创建一个不同的提款私钥,但这不是必须的。那么,每个验证者身份的提款私钥应该是唯一的吗?

使用多个提款私钥的理由主要有两个。第一个原因是,如果不同的验证者身份共享一个密钥,这些验证者身份之间就有了联系:显然,这些账号下的押金同属一个实体。由此,也就很容易计算出使用这个私钥可以访问的资金量,以及该实体持有的以太币总量。不过,使用不同的私钥并不能防止他人从其它渠道获取这些信息,例如,发起这些存款交易的以太坊 1.0 地址同样反映了这些信息。因此,除非我们在使用以太坊 1.0 地址时足够谨慎,否则使用多个提款私钥对安全性的提升不值一提。

第二个原因是,使用同一个私钥会让这个私钥的价值过高,也就更容易遭窃。但是,如果将不同的私钥存放在同一个地方,也会导致相同的问题。也就是说,应该从物理和逻辑上将不同的私钥分开,以减少丢失所带来的影响。

总之,如果你想防止其他人发现多个验证者身份背后的同一个实体(假设你的每笔存款来自不同的以太坊 1.0 地址),并且将你的每个提款私钥分别储存在不同地方,或者采用了不同的密钥保护机制,那么使用多个私钥会带来实质性的好处。由于普通用户一般不会这样操作,本文的余下部分只介绍了单个提款私钥是如何使用的,如有需要,本文内容也将适用于持有多个私钥的情况。

我们已经了解了基本要求,现在来看看怎么创建并保护取款密钥。创建新密钥的步骤如下:

创建提款钱包;

创建提款账户;

记录取款公钥;

删除提款钱包;

确认提款钱包可以恢复。

我们来看一下图解:

以太坊科普:Eth2验证者如何生成和保护取款密钥

图三:创建并保护取款密钥的步骤

这些步骤必须在电脑上完成,要小心防止电脑被入侵。本文篇幅有限,不展开讨论如何防止电脑遭到入侵,但是用户至少要做到的一点是:在执行上述过程时,电脑不能联网。

本文截稿时,尚未开发出基于 BLS12-381 曲线的以太坊 2.0 密钥硬件钱包,也就是说,目前还没有可以储存以太坊 2.0 密钥的硬件钱包(编者注:在本译本出版时好像已经有了)。因此,密钥必须在软件中生成。本文以 ethdo 命令行工具为例,你也可以使用其它工具来实现。

ethdo 采用了 钱包 的概念。一个钱包可以包含一个或多个账户,而且可以从逻辑上将不同账户分隔开来(例如,将提款账户和验证账户分开)。一个账户包括私钥、公钥以及其它一些数据(如,一个好记的账户名),这样就不用直接使用公钥登陆了 3。如果要为提款账户创建钱包,请运行以下代码:

ethdo wallet create –wallet=”Staking wallet” –type=hd –walletpassphrase=secret1

这行代码会创建一个带有 助记词 的钱包。助记词由 24 个单词组成,可用来恢复之前创建的钱包和钱包内的所有账户,应该立即保护好。上述命令会输出助记词,应该离线保存好。如果输入命令后并没有显示助记词,说明钱包无法恢复,那么我们不应使用这个钱包。

保存助记词的方法有很多,如 Blockplate 和 Cryptosteel,但你也可以把它抄下来,放在一个安全(最好防火)的地方。记住,一旦助记词丢失,你就无法提款,因此要采取恰当的措施保存好助记词。

助记词保存好后,我们就可以开始创建提款账户了。

创建提款账户的命令如下:

ethdo account create –account=”Staking wallet/Withdrawal account” –walletpassphrase=secret1 –passphrase=secret2

钱包口令(walletpassphrase)必须与你在上一部分提供的口令保持一致。后面一个口令则仅仅是这个账户的口令,只在删除账户前暂时使用。

顾名思义,公钥是 公开 的,无需采取特殊的安全保护措施。运行下列代码查看公钥:

ethdo account info –account=”Staking wallet/Withdrawal account”

如果该代码没有输出取款公钥,可能说明账户创建过程出错。仔细查看之前运行的代码是否有错。

请注意,虽然公钥不是私密的,但我们应该采取合理措施保证恶意攻击者无法将你的公钥换成他们的公钥。

如果上述步骤均正确执行,我们就可以安全地删除这个提款钱包了。请运行下方代码:

ethdo wallet delete –wallet=”Staking wallet”

随后,你可以运行下方代码来访问钱包,以确认该钱包是否已经删除:

ethdo wallet info –wallet=”Staking wallet”

正常情况下,会返回一条错误消息,原因是无法找到钱包。

在用取款密钥进行任何存款前,最好先重建提款钱包。这不仅可以保证我们熟悉操作流程,还可以在你放入资金之前最后检查一遍可能出现的错误。

首先使是用助记词重建钱包。请运行下方代码:

ethdo wallet create –wallet=”Recovery wallet” –type=hd –walletpassphrase=temp1 –mnemonic=”MNEMONIC”

将上方代码中的 mnemonic 换成你的助记词。

然后运行下方代码重建提款账户:

ethdo account create –account=”Recovery wallet/Withdrawal account” –walletpassphrase=temp1 –passphrase=temp2

运行下方代码获取其公钥:

ethdo account info –account=”Recovery wallet/Withdrawal account”

这时,要注意确认该命令输出的公钥与之前抄下来的公钥一致。若一致,则表明你的助记词是正确的。

若要再次删除该钱包,请运行下方代码:

ethdo wallet delete –wallet=”Recovery wallet”

然后运行下方代码来尝试访问钱包,确认其是否已经删除:

ethdo wallet info –wallet=”Recovery wallet”

正常情况下,会返回一条错误消息,原因是无法找到钱包。

不可以。以太坊 2.0 的验证者密钥与取款密钥在使用方式上差异很大,而且与你熟悉的绝大多数密钥都不相同。我们将在下一篇文章中细述验证者密钥,及其用法和保护措施。

注 1:取款密钥和以太坊 2.0 的其它密钥并无特殊区别,我们使用这个名字只是为了直观地表达出其用途。

注 2:如图所示,实际操作中我们只需要提款身份标识。但是,我们建议也要保存好取款公钥,因为公钥可能有其他用途(如,验证签名)。

注 3:因为公钥长这样:0xa9ca9cf7fa2d0ab1d5d52d2d8f79f68c50c5296bfce81546c254df68eaac0418717b2f9fc6655cbbddb145daeb282c00,所以会很麻烦。

以上就是以太坊科普:Eth2验证者如何生成和保护取款密钥的详细内容,更多关于以太坊2.0(Eth2)的资料请关注句子百科其它相关文章!

本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。
Tag:密钥   Eth2   以太坊  

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/huobi/350434.html

(0)
句子百科句子百科
上一篇 2023年 4月 14日 下午12:56
下一篇 2023年 4月 14日 下午3:17

相关推荐

  • 火币网用人民币购买以太坊(ETH)操作步骤教程

    推荐使用交易量最大的数字货币交易所之一火币网,火币网有直接的“闪电交易”,支持以太坊(ETH),一键买币,对于新手来说用人民币购买以太坊等数字货币非常便捷。 注册链接:https://www.sws100.com/okx.html火币网Huobi 登录后,点击火币网logo,进入火币首页,您可以直接在火币网通过闪电交易一键买ETH,如…

    2023年 3月 31日
  • tpt币能上币安吗(币安怎么查看提现记录)

    关于tpt币能上币安吗(币安怎么查看提现记录)这个问题很多人都不太了解,下面由句子百科Sws100.com小编derfy为大家详细讲解一下,大家来看下。 1.TPT币未来有价值吗? TPT币能涨到多少? TPT即TokenPocket Token,它是整个TokenPocket生态中的应用通证,在该生态项目中,TPT币就是一个重要的纽带,它的作用就是连。 2…

    2023年 3月 14日
  • ZIL币提币地址是什么

    大家好,句子百科Sws100.com小编下面围绕“ZIL币提币地址是什么”主题给大家详细介绍一下。 提币地址是用来接收数字货币资产的。这个地址非常的特殊,由34位字母和字符串组成。值得注意的是,提币地址一种是注册区块链钱包时生成的,一种是交易所为用户自动生成的。在用户想把币提出去时,需要填写提币地址,按照提。 这个就是2个钱包地址一起添加进去,前面是ETH,…

    火必交易所 2023年 3月 20日
  • 十二星座傻子排名 12星座里谁最傻

    十二星座傻子排名中,你也许会发现自己的星座没有想象中的那么聪明,而有些看起来很傻的星座,反而排名并不靠前,因为这本身就是难以预测的事情。如果你没到自己的星座上榜,那么你就属于很聪明的星座,一点都不傻。 第一名:射手座 射手座就是个乐天派,觉得天塌下来也没关系反正有个高的顶,他们懂得如何去调节自己的心态,最大的缺点就是幼稚。虽说有的时候总是傻乎乎的,那是因为他…

    火必交易所 2023年 2月 24日
  • 台湾主流虚拟货币软件有哪些 安全的虚拟货币交易app

    摘要:随着数字货币的普及,虚拟货币交易也越来越受到人们的关注。在台湾地区,虚拟货币软件也成为一种新兴的交易方式。本文将为大家介绍台湾主流虚拟货币软件有哪些,以及如何选择安全的虚拟货币交易app。什么是虚拟货币软件虚拟货币软件是一种基于互联网的电子支付方式,是用于从某个账户向另一个账户转移资金的软件。它们使用密码学方法和分布式网络来进行交易和验证交易。目前,虚…

    火必交易所 2023年 7月 21日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信