我想和大家分享一下我所认为参与以太坊2.0 质押所需的流程,当你质押32个以太坊。
我将从一般的基本流程开始之后再介绍具体方法,并在最后更多地分享一些安全方面的先进理念,这些理念可能并不适用于每个质押者。
1. 熟悉在ETH2测试网之一的存款和质押的流程和工具,比如Medalla测试网(medalla.launchpad.ethereum.org)或即将建立的测试网。这样可以减少真正涉及到利益的时候遇到问题的风险。心急吃不了热豆腐,不要急于求成。
2. 确保你从有信誉的来源获得所有需要的信息,比如Ethereum官方博客(blog.ethereum.org),Ethereum launchpad(launchpad.ethereum.org),或者从你高度信任的人那里获得,并使用官方和经过审核的工具,比如launchpad和eth-deposit cli工具来生成你的公共/私人密钥对。
3. 如果你不明白什么,不要害怕询问。Ethereum有一个伟大的支持性社区。你肯定会在r/eth质押r或eth质押r Discord服务器上得到帮助。但不要忘记:不要分享任何秘密,时刻警惕骗子或冒牌货。
既然我们已经谈到一般的准备。那么我们就来看看生成密钥对的最佳做法。
4. 我建议你在运行实时(linux)发行版/非永久系统(如Ubuntu或Tails)的机器上生成你的staking密钥对,并且在生成过程中,确保你使用非永久操作系统或硬件是打开的,你的机器是完全离线和断开连接的。
5. 使用官方工具进行密钥生成,比如Ethereum Lanchpad上概述的。如果你使用二进制文件,请检查校验和是否与发行说明中的校验和相匹配。在linux上使用sha256sum NameOfBinary查看它们是否匹配。如果你的技术很复杂,可以克隆repo,从源码中编译/构建。
6. 要么写下口令/助记词,要么将其加密保存,例如在指纹驱动器上。确保没有第三方可以知道它。确保摄像头是离线/遮挡的,麦克风是关闭的。
7. 如果你有一个用于硬件钱包的密钥,你也可以使用同样的密钥。这样你只需要保管好这一个。把这个副本存放在安全的地方。
8. 永远不要在热设备上输入助记词或私钥,尤其是与外界有(或将有)联系的设备。
9.千万不要在有自动更正功能的字段中输入密钥。不要打印密钥,因为你的打印机可能会有永久的存储。
9. 尝试从你写下的密钥中重新生成你的存款文件和keystore文件。例如,如果你使用官方的 eth-deposit-cli 工具,请使用命令 existing-mnemonic。看看生成的文件是否与原始文件一致。时间戳可能不同,所以在keystore文件中检查公钥是否匹配。这样可以确保万一入金后丢失了签名钥,可以在后期重新生成,并生成相应的取款密钥。
10. 将入金文件和签名密钥/keystore文件保存在干净的指纹驱动上。如果你使用了官方的eth2-deposit cli工具,那么keystore会用你在生成过程中选择的密码进行加密。请确保记住它。把存款文件和密钥存储放在不同的U盘上. 这样keystores只需要连接到实际的staking machine上,以后再传输签名密钥。
11. 安全销毁你可能已经创建的、不再需要的任何额外的密钥副本。
现在你已经安全地生成了你的密钥,让我们来看看存款过程中的最佳实践。
12. 让我们从一些准备工作开始,这样你就不会因为一些细小的细节翻车了。请记住,存款发生在公共区块链上。所以所有的交易都是可以追踪的。如果你不想让每个人都知道你正在运行多少和哪些验证器,请确保不要从一个可以(很容易)链接到你的身份的地址存款。
这可能包括不要从与ens名称相关联的地址或与您过去使用的地址相关联的地址存款。您可能要考虑使用混合器或将您的资金从交易所发送到一个干净的地址。例如,你可以使用tornado. cash与relayer选项 发送资金到 "干净 "的地址。
13. 如果你打算存入超过1个验证节点 ,以32个以太坊为一组,将你的资金注入不同的地址,那么你就默认愿意承担这些交易费。考虑到不同时间的交易费不同,你可以在不同时间进行质押。不过因为这些步骤,质押也会变得更加复杂。现在我们已经安全地生成了密钥,资金也准备好了,让我们来谈谈存款过程本身。
14. 如果你有一个硬件钱包,从那里发送你的存款。
15. 使用官方工具,比如Ethereum存款启动板来进行存款。
16. 确保你了解存款过程的风险是什么,以及存款过程对你的后果是什么。
17. 确保你的存款地址正确。请将您将要存入的地址与您从官方和信誉良好的来源找到的地址进行三次核对,见#2。存款合同的地址应该以8个0开头,然后是219,最后应该是5fa。但不要迷信我的话,要对照其他来源的地址进行核对。
18. 如果你打算存入很多验证节点,请确保使用适当的审核工具,比如ethdo。如果你想分批存入,比如今天存入10个,以后存入5个,注意不要不小心为同一个验证器存入两次。
19. 除了使用存款工具,如beaconcha.in或beaconscan.com和eth1 block explorer等工具来监控存款状态,例如launchpad。
现在你质押成功,让我们来谈谈质押本身。
20. 考虑运行一个非多数派ETH1节点和一个非多数派ETH2中继节点,以促进健康的客户多样性。特别是,运行一个非多数派ETH2节点还可以降低与其他网络同时发生故障的风险,而在ETH2中,风险的造成者一般会受到更强的惩罚。
21. 在genesis启动前,把你的整个设置,除了其他东西外,还包括你的ETH1节点,你的中继节点,以及你的验证客户端都提前设置好,以防万一出现什么问题或者你需要重新设置。
22. 当在家里执行staking时,考虑是否需要采取隐藏ip的预防措施。网络分析允许攻击者识别哪些验证器属于哪台机器中继节点/ip。有了ip地理定位,通常很容易找到甚至是你正在staking的位置。使用vpn服务或其他手段来隐藏你的ip。
23. 更高级的(对于 "高手"): 考虑发送已签名的短信,通过网络分析将验证者与ip/机器联系起来,通过一个轻量级ETH2网络客户端在一个独立的系统上。您可能希望使用多个轻量级网络客户端来发送签名邮件(轮流),并且/或者将它们放在不同的vpns上,轮流使用ips。这可以减少目标被攻击的风险。
24. 当从家里质押时要考虑(特别是常见的或高成本的)故障情况,如断电或断网。如果你正在运行许多验证机,可以考虑设置一个故障转移互联网连接,并考虑安装一个电池UPS。后者不仅可以帮助你在断电期间保持在线,并且通常可以保护你的硬件免受电源尖峰的影响,而且还可以降低你的验证器db在断电期间被损坏的风险。
25. 在testnet上测试从一个客户机实现到另一个客户机实现的迁移,进行练习。
26. 思考验证器db的备份程序/过程。一个实时同步备份系统可能会让你在验证器db中断的情况下免于头痛。
27. 想想你能想到的所有可能影响你的staking的鼓掌,并为至少最常见的故障和故障成本高的故障制定协议。这可能包括手头有冗余/备用硬件,有一个故障转移的互联网连接。
28. 思考如何保证操作系统的安全。设置防火墙,适当设置流量和端口规则。尽量减少公开暴露的端口数量。定期检查系统/软件更新。特别是要确保自己对ETH2相关问题的更新,如客户端更新、分叉等。
29. 当在家里staking时,请保持网络硬件的固件更新。只打开需要的端口。
20. 考虑建立一个监控系统,这样你就可以监控你的验证器和系统健康状况。设置一个适合你需求的故障事件通知系统。
31. 不仅要考虑0阶段,还要了解自己路线图是什么样的,以及你需要如何调整你的设置。
32. 找到最适合你的需求的staking解决方案。如果你认为自己staking太复杂,不方便,或者你没有资金来为一个节点staking,那么你可以了解一下现有的staking服务。
Gaurav Agrawal 作者
李翰博 翻译
Olivia 编辑