今日,Eth2.0团队核心开发者,Eth2.0开发负责人Carl发布了一篇解读Eth2.0中权益证明签名方案的文章。以下为文章内容整理。
每个权益证明系统的核心是签名方案。签名用于验证每个验证器的身份,从而允许将其行为(无论好坏)归因于它们。
我们可以通过查看验证者签名的消息来验证诚实,也可以通过显示违反共识规则的消息来证明恶意。
实际上,在eth2中,验证者的身份就是其公钥。具体来说,每个验证器都有两组密钥:签名密钥和提取密钥。
签名密钥
一个签名密钥是一个验证需要签上作证,并提出块的关键。由于验证者需要每个时期至少签名一次消息,因此客户端软件必须拥有密钥的保管权。
金色晚报 | 10月30日晚间重要动态一览:12:00-21:00关键词:网信办、俄罗斯央行、Cardano、华为、Zcash
1. 国家网信办发布第四批境内区块链信息服务备案编号。
2. 俄罗斯央行官员:央行CBDC将消除对加密货币的需求。
3. Cardano发布Goguen路线图并演示ERC-20转换器。
4. 华为推出首款支持数字人民币硬件钱包的智能手机。
5. 隐私项目Zcash预计将于11月18日减半。
6. 数据:近24%以太坊由交易所持有,是比特币的三倍。
7. 以太坊2.0客户端Prysm发布首个beta版本。
8. 路透分析:加密对冲基金在借贷狂潮中获得巨大收益。
9. Gazprombank瑞士子公司获FINMA批准提供加密货币托管和交易服务。[2020/10/30 11:15:43]
提款密钥
金色晨讯|7月11日隔夜重要动态一览:21:00-7:00关键词:乌克兰、标普500、以太坊2.0、Telegram
1.加密金融应用程序Plutus否认遭到黑客攻击。
2.乌克兰黑客通过出售政府数据库信息换取加密货币。
3.比特币与标普500指数的一年期相关性创历史新高。
4.V神:不认为以太坊2.0第0阶段2021年才能上线。
5.建设银行中企云链首笔“区块链再保理”落地
6.荷兰鹿特丹港试点基于区块链的海运集装箱装卸项目。
7.美国法官:Telegram败诉对Kik案没有约束力。[2020/7/11]
由于客户端软件始终连接到Internet,因此当然有可能会破坏其签名密钥。为了减少这种破坏的影响,验证者可以执行的操作被划分在两个密钥之间。
金色财经挖矿数据播报 | BCH今日全网算力下降2.12%:金色财经报道,据蜘蛛矿池数据显示:
ETH全网算力177.389TH/s,挖矿难度2184.70T,目前区块高度9951656,理论收益0.00795698/100MH/天。
BTC全网算力111.388EH/s,挖矿难度15.96T,目前区块高度627783,理论收益0.00001575/T/天。
BSV全网算力1.509EH/s,挖矿难度0.21T,目前区块高度632378,理论收益0.00059652/T/天。
BCH全网算力1.847EH/s,挖矿难度0.26T,目前区块高度632564,理论收益0.00048729/T/天。[2020/4/27]
如上所述,签名密钥用于验证程序执行其职责。另一方面,提款密钥具有控制验证者资金的权力(转移和提取ETH)。
金色财经挖矿数据播报 | ETH今日全网算力上升2.58%:金色财经报道,据蜘蛛矿池数据显示:
ETH全网算力185.898TH/s,挖矿难度2338.55T,目前区块高度9634276,理论收益0.00738919/100MH/天。
BTC全网算力121.781EH/s,挖矿难度15.49T,目前区块高度620866,理论收益0.00001623/T/天。
BSV全网算力2.722EH/s,挖矿难度0.38T,目前区块高度625395,理论收益0.00066132/T/天。[2020/3/9]
验证者在成为验证者的整个生命周期内仅需要使用其提款密钥几次。这意味着可以将它们放入冷藏库并以高度的安全性进行存储(脱机)。
此外,至少在第1阶段才能启用转账和提款。
密钥很多
如果每投入32ETH,需要保存并使用2个不相关的密钥进行存款,这中方式会很快消失。
幸运的是,我们有一个解决方案。补救措施是使用公共密钥,以便存储单个密钥可以访问多个密钥。
在eth2中,这是通过EIP 2333和2334实现的,描述取款和签名密钥之间的关系,以及如何从单个助记符派生它们。
助记符
助记符是编码机密的另一种方法,是人们存储和备份其私钥的一种简单得多的方法。
从其他键派生密钥
与钱包互动时,您可能会遇到表单的“路径” 。
根据EIP 2333,这种关系采用树结构的形式,其中密钥由熵的源(树的种子)和树路径确定。
我们使用种子来计算树的根,然后在该根的顶部分层构建树。密钥树完全是通过树中跟随的分支与树的根之间的关系定义的。
实际上,它使我们可以从树的根部开始,并在跟随的每个分支上计算中间键,直到找到感兴趣的叶子,从而在树中找到任何键。
这样做的一个奇妙结果是,我们可以从一个单一的熵源(例如助记符)开始,然后从中构建出几乎无限数量的密钥。
此外,通过仅安全地存储助记符,您可以备份验证程序使用的每个密钥。
eth2中使用了此想法,以允许单个助记符生成验证程序所需的任意多个密钥。
EIP 2334指出,验证者的签名密钥是0提取密钥的第三个子分支。实际上,这意味着遵循该标准时,如果您知道要撤消的私钥,则可以计算相应的用于签名的私钥。
要记住的重要一点是,如果您知道助记符,则可以计算出提取密钥,然后从中导出签名密钥。
存放密钥
验证程序客户端使用密钥库作为交换密钥的方法。
密钥库是包含用用户密码加密的私钥的文件。如果密码未存储在同一台计算机上,则可以在计算机之间安全地存储和传输它们。
准备开始验证时,可以为客户端提供密钥库和加密它们的密码(它需要两条信息来导入密钥)。
成为验证者
成为验证者的第一步是生成适当的密钥。一旦记下了助记符,它们就会生成。
由于第0阶段没有提款或转账,因此您不需要为提款密钥设置密钥库;安全地存储您的助记符就足够了。
由于验证者客户需要您的签名密钥,因此您将为每个验证者收到一个密钥库,用于存储这些密钥。
现在是存款时间,要成为验证者,除了包含所有验证者公共密钥的存款数据之外,每个验证者还需要发送32 ETH 。
然后将存款数据记录在eth1的存款合同中,eth2节点负责监视此合同,该节点负责复制存款数据。一旦您的存款数据被复制完,您现在正式成为验证者!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。