ETH 2.0 测试网验证节点质押流程体验 August 24, 2020 ## 0 概述 本文记录了 ETH 2.0 测试网验证节点质押流程。 Launch Pad 地址:https://medalla.launchpad.ethereum.org/overview ## 1 验证节点说明 • eth2 phase 0 使用 proof-of-stake 网络验证,因此需要质押 ETH 成为验证节点,诚实的验证节点将会受到奖励,相反,捣乱者将会受到处罚 • 每个验证节点需要质押 32 个 ETH,且质押的过程是不可逆的 • 只有积极参与共识的验证节点才会得到奖励,离线的节点会受到惩罚,离线的惩罚等于积极参与的奖励 • 恶意验证节点 或 违反规范的验证节点很可能被砍掉 (损失巨大) • 需要保存好 seed 或者助记词,后续只能通过 seed 或者助记词取出 ETH • 至少在 phase 1 之前,验证节点之间是无法进行转账的,只有等到 phase 2 (大约 2 年时间),验证节点才可以提款到 ETH 2.0 的指定分片 • 验证节点需要长期参与,phase 1 之前中途无法退出 • 一个新网络启动之初,软件难免存在潜在 BUG,如果遇到 BUG 造成资产损失要自行承担 • In order to become a validator, you will generate your new eth2 key pairs. To do this and to install the validator software you need to be technically capable of running commands in a terminal on a computer. ![](/images/2020/08/2239454216.png) ## 2 生成验证节点 KeyPair 界面中提示输入要运行的验证节点个数,然后计算出需要的 ETH: ![](/images/2020/08/2483893869.png) 官方提供了 eth2.0-deposit-cli 命令行工具,由于选择了要运行 2 个验证节点,所以命令行参数为: ```basg ./deposit.sh --num_validators 2 --chain medalla ``` 命令行生成助记词,然后提示输入进行验证,之后生成了 2 个 keystore 文件: ![](/images/2020/08/2120257385.png) ## 3 上传公钥文件 ![](/images/2020/08/4034613281.png) 将第 2 步中生成第公钥文件 deposite_data-time.json 文件上传。 ## 4 连接钱包 ![](/images/2020/08/2474766895.png) 连接钱包时,钱包需要选择 Goerli 测试网,连接后: ![](/images/2020/08/332636901.png) ## 5 准备支付 由于选择启动 2 个验证节点,所以提示需要 64 ETH: ![](/images/2020/08/665146581.png) ## 6 发起质押交易 ![](/images/2020/08/1045894906.png) 质押交易将 32 ETH 锁定在合约 https://goerli.etherscan.io/address/0x07b39f4fde4a38bace212b546dac87c58dfe3fdc#code 中,ETH 2.0 信标链会解析 ETH 1.0 质押合约的质押事件,完成验证者质押,验证者质押完成后,验证者节点方可启动。 ## 7 完成质押 至此,完成了质押操作,接下来,提示可以运行验证节点: ![](/images/2020/08/3084155526.png) 可以看到,官方推荐了 4 中 ETH 2.0 验证节点程序,接下来需要使用上述质押 ETH 的验证者公钥启动验证节点。 ## 8 总结 官方 Launch Pad 主要完成了 ETH 2.0 质押风险提示、用户指引、验证节点公私钥生成、ETH 1.0 主网上 ETH 质押 以及 验证节点配置指引。 在操作流程中,用户手动生成 ETH 2.0 验证者公私钥对和取款私钥对,Launch Pad 帮用户完成了 ETH 1.0 合约交互操作,即将验证者公钥、取款公钥对哈希以及 32 ETH 存储在 ETH 1.0 合约上。