以太坊合并到Proof of Stake 即将到来,Infura的以太坊API已经准备好了。我们准备了一份关于Infura用户如何准备的指南。
以太坊合并到Proof of Stake 即将到来,Infura的以太坊API已经准备好了。我们准备了一份关于Infura用户如何准备的指南。
以太坊合并到POS 计划在总终端难度(TTD)5875000000000000000发生,这是在2022年8月18日的所有核心开发人员电话会议上正式商定的。
鉴于目前以太坊的哈希率,这估计合并将在9月15日和16日之间发生,尽管具体日期和时间将取决于达到TTD的情况。
合并是以太坊的计划升级,将现有的执行层与信标链合并,详见EIP 3675。将共识升级为权益证明(Proof-of-Stake)。
Infura 的Ethereum API 将继续像今天这样运作。对于我们的大多数用户来说,合并不会影响他们的日常运作,而且向权益证明的过渡将是无缝的。然而,需要注意的是,正如以太坊基金会在他们的升级:合并的页面,将有以下变化。
以太坊的区块结构
区块时间
操作码
链上伪随机性的来源
安全 "头和 "最终 "区块的概念(对API调用中特定参数的改变)
测试网
下面我们回顾了这些变化中的每一个,以帮助你准确地理解每个变化对你意味着什么,以及在我们的合并周研讨会上Dapp 开发者的考虑。我们还展示了如何将智能合约部署到Goerli 测试网中。
以太坊 Proof of Skate (POS) 中的区块结构
来源:https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer/
在权益证明下,以太坊的区块结构有变化,这些变化的方式是为了尽量减少对已经在以太坊上启动的现有智能合约(以及延伸的dapp)的影响。一旦合并发生,作为工作证明共识 (POW) 下区块的一部分存在的执行有效载荷将与共识层的区块结构合并,也被称为信标链;因此它被称为 "合并"。以太坊基金会的Tim Beiko 的下图最好地说明了这一点。
来源:https://tim.mirror.xyz/sR23jU02we6zXRgsF_oTUkttL83S3vyn05vJWnnp-Lc
以下作为区块一部分的字段将成为常数,如nonce。这是因为不再需要nonce了,因为不再有Ethash 函数作为共识机制 (POS) 的一部分了。
ommersHash
mixHash
nonce
ommers
关于这一点的进一步解释可以在EIP-3675中找到。将共识升级为股权证明 (POS)。额外的字段将看到变化,这将在下面的章节中讨论,即操作码变化。
块的时间安排
区块的创建将从大约每12到14秒发生一次变为持续每12秒创建一次。这种时间上的一致性意味着块的生产将比合并前略快。
操作码变化
来源:https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer/
0x44 操作码,在工作证明中被称为难度,现在将在权益证明 (POS) 中被称为PREVRANDAO。这一变化的影响是,该字段不再返回区块的难度,现在将返回一个来自共识层的输出。这将允许向后兼容那些使用0x44 作为伪随机性来源的智能合约。
链上伪随机性的来源
由于上述操作码的变化,任何打算使用该操作码进行伪随机性的智能合约开发者将需要遵守EIP-4399中列出的具体条件。用PREVRANDAO 取代DIFFICULTY 操作码,并特别遵循Ethereum改进提案4399中 "安全考虑 Security Considerations"部分的指示。
这些变化不会适用于所有智能合约开发者。然而,我们确实认为智能合约开发者值得了解这一变化,并阅读相关内容。
安全 "头和最终区块的概念。对API调用中特定参数的改变
在Infura Ethereum API JSON-RPC 方法文档中,一旦发生合并,将有新的参数可在API 调用中使用。参数 "最新的 latest "将被废弃,转而使用 "不安全的 unsafe",并将添加名为 "安全 safe"和 "最终确定 finalized "的新参数。
将区块标记为 "不安全 unsafe "头与 "安全 safe "头("安全 safe "比 "不安全 unsafe "头滞后4秒左右)与最终确定的头("最终确定 finalized "比 "不安全 unsafe "滞后一或两个纪元,64-128个区块)。
测试网络
在这之前,以下网络已经合并了。
Ropsten合并--2022年6月8日
Sepolia合并--2022年7月6日
Goerli合并--2022年8月10日
Infura 支持Goerli 和Sepolia 作为测试网。我们建议你在部署到主网之前使用Goerli 来部署和测试你的智能合约。你会看到我们所有的教程现在都会指向Goerli 作为测试网来使用。
我们的许多L2 和侧链也已经转而使用Goerli 作为他们的测试网,比如Optimism 和Arbitrum。请确保你部署到测试网的任何智能合约都部署到Goerli,而不是Rinkeby、Ropsten 或Kovan。
Infura 和更大的社区都将废弃Ropsten、Rinkeby和Kovan。Infura 将在Ethereum 合并后从我们的 Ethereum API中废除这三个网络。我们还没有宣布这样做的正式时间表,但我们将在废除它们之前至少给用户两周的时间。我们将通过 blog.infura.io 公布废弃时间表,并与所有Infura 客户沟通。由于这种废弃,不需要采取任何行动,但如果你打算在未来使用测试网,请使用Goerli。Pyrmont,一个Beacon Chain 测试网,也被废弃了,并且已经从Infura 的UI 中删除。
以太坊基金会已经宣布了Ropsten、Rinkeby 和Kovan 的废弃时间表,任何公共端点也将根据该时间表被废弃。
与Ethereum 虚拟机兼容的L2 和侧链已经采取措施,将他们的测试网转移到Goerli。如果你是一个使用Arbitrum 或Optimism 等L2的开发者,Infura 已经提供了新的Goerli 测试网的端点。如果侧链使用他们自己的特定测试网,如Polygon,则不需要采取行动。
L2 和侧链将继续在合并后的以太坊扩展中发挥重要作用。如果你看到任何关于交易你的L2 或侧链代币以确保它们在ETH 2 上运行的消息,这就是一个骗局。不要跟随它。始终与L2或侧链的特定通信渠道核实任何信息。
Infura一直在努力准备,以确保我们的Ethereum API继续成为开发者在Ethereum上构建和扩展他们的dapp 的最佳选择。为了准备合并,我们已经并将继续做以下工作。
$\circ$ 遵循我们的质量保证流程。
$\circ$ 参与Ropsten、Sepolia 和Goerli 的合并,并向Ethereum 基金会和社区提供信息反馈。
$\circ$ 确保我们的客户端软件是最新的版本。
$\circ$ 将新的方法参数应用于我们在Ethereum API 上的JSON-RPC 规范的实施。
$\circ$ 与我们的客户和社区分享信息,为合并做准备。
$\circ$ 更新我们的文档和术语,为合并后的Ethereum 做好准备。
$\circ$ 参与社区电话和协调工作。
在过去七周的 "合并周 "研讨会上,我们听到了各种各样的问题,想了解更多, 下面的链接提供最常见的问题答案。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!