上一篇文章讨论了如何保护 ETH 2.0 的取款密钥 (withdrawal key) ,并总的介绍了 ETH 2.0 验证者所使用的几个密钥对 。在阅读本文之前,建议先阅读一下这篇文章。同样地,我们预设读者对验证者有最基本的了解,包括但不限于 “验证者是什么”,“他们为什么需要密钥”,以及 “他们通常需要什么操作” 等概念。

什么是验证者密钥?

在 ETH 2.0 中,验证者密钥被用来确定相关消息是哪位验证者发出的 。验证者要发送这些消息才能获得奖励(并避免遭受惩罚)。

验证者密钥的风险很难衡量:验证者密钥本身无法用来访问资产。因此,即使攻击者获得了你的验证者密钥,也无法直接盗取资产。但是,他们可以通过敲诈勒索?1?等方式间接获利,更有甚者,比起自己获利,他们更想让你蒙受损失?2?。因此,我们通常认为验证者密钥的安全需求很高。

-图 1 :验证者的安全需求-但是,不像取款密钥那样 (你可以离线保存起来),验证者密钥要能够随取随用 ,因为验证者在每个 epoch (大约 6.5 分钟)都要签署多个消息。因此,验证者密钥的访问需求也很高。

-图 2 :验证者密钥的访问需求-因此,我们发现自己陷入了两难困境:从传统上来说,同时满足安全性和可访问性需求是很难实现的,因为提高安全性往往会降低可访问性,反之亦然。

-图 3 :验证者密钥的双重需求-为满足对安全性和可访问性的双重需求,我们需要采取更高级的措施,在不作重大妥协的前提 下,较高程度地满足这两方面的需求。这可以通过分层来实现。本文的目的是探究每一层所提供的功能,并了解哪些功能适用于或不适用于验证者设置。

Eth2 中的密钥对都有一把公钥和一把私钥。出于本文的写作目的,全篇所用的 “key(密钥)” 一词指代的都是通常叫做私钥的那把;如果指代的是公钥,会有明确的说明。

(译者注:validator key 和 withdrawel key 都是密钥对,都分公钥和私钥。公钥是用来在 Eth1 链上注册的,可公开;私钥则是验证者自己实际使用的,不可公开,公开则自己的资产和验证者都完全被他人掌控了。)

目标和分层

首先,我们需要定义攻击者和用户的目标。在知道为什么要保护验证者密钥之后,我们就可以思考每个功能可以在多大程度上实现这一目标。首先, 攻击者的目标可以被定义成: 欢迎转载,本文标题:科普 | ETH 2.0如何保护验证者密钥?,转载请注明原文网址:http://www.jing-100.com/zx/22683.html