STE:ConsenSys:以太坊测试网简史_OPS

测试网络是模拟区块链主网的替代网络,其创建目的是为了测试和试验主网区块链的功能,以减少实际运行式产生的错误,例如真实资金的损失。这些区块链测试网可以比作传统Web开发中的「模拟环境」,开发人员可以在测试网中调试协议升级和智能合约,然后再部署到主网。根据这些网络跟主网之间的相似程度,一些测试网络使用与主网络相同的底层技术和共识机制,而一些测试网络使用与主网不同的技术和共识机制。需要注意的一个重要区别是,从测试网络获得的代币没有经济价值。Olympic测试网–2015年初

有史以来第一个公共以太坊测试网络被称为Olympic,并在以太坊主网正式启动之前发布。Olympic测试网是一个工作量证明测试网络,是为了在以太坊主网络正式公开发布之前,进行第九次也是最后一次测试。Olympic测试网通过激励应用程序开发人员、数据提供商和交易所发送高负荷交易,对网络进行压力测试,尝试将测试网络推向极限状态。Olympic测试网络被称为以太坊0.9,网络ID为0。在以太坊主网络成功公开发布后,它于2015年7月停止。Morden测试网——2015年7月

在以太坊公共主网启动后,需要一个新的公共测试网络与主网携手并进。于是Morden测试网,另一个工作量证明测试网络诞生了。该网络的ID为2,在2016年11月被弃用之前的一年多的时间里,它是唯一的以太坊测试网络。Morden测试网主要用于测试两个最主要的以太坊客户端Geth和Parity之间的垃圾数据和一些仅测试网的共识问题。虽然Morden网络已被以太坊团队放弃,但它仍然活跃在EthereumClassic社区中,并更名为MordenClassic测试网络。Ropsten测试网-2016年11月

Ropsten是以太坊的第三个也是最后一个工作量证明测试网络。它在主网升级后推出,这个新的测试网络是以瑞典斯德哥尔摩的一个地铁站命名。Ropsten测试网络支持所有主要的以太坊客户端,并且是唯一可用的工作证明共识机制测试网络。2017年2月,Ropsten测试网络遭受了一次严重的拒绝服务攻击。这次攻击导致网络速度减慢并消耗过多的磁盘空间,使得以太坊客户端很难与Ropsten网络同步。同时逐渐将Gas限制从470万增加到大约90亿,每当发送大笔交易时都会使网络瘫痪并产生大量垃圾区块。Ropsten团队在2017年3月通过社区捐赠的GPU哈希算力成功地恢复了网络,清除了因攻击而积累的所有垃圾区块。Kovan测试网-2017年3月

2017年2月对Ropsten测试网络的攻击导致了其他几个测试网络的诞生。Kovan测试网由Parity团队创建。Kovan和攻击后启动的其他测试网络一样,主要为了满足开发人员测试其应用程序的稳定且与客户端兼容的测试网络的需求而诞生的。Kovan测试网络使用权威证明共识机制,为了保证安全,该机制通过维护一小部分受信任的签名者和验证者而牺牲了去中心化。这些签名者和验证者通过质押他们的声誉来在网络中创建新区块。由于这些验证者的身份是已知的,为了保护他们的声誉,他们会积极维护网络。与Ropsten一样,Kovan测试网络是以新加坡的一个地铁站命名的。它的网络ID为42,创建一个新块大约需要4秒。该测试网络没有获得一些主要的以太坊客户端的支持,并且不能完全再现当前的生产环境。尽管Kovan测试网络与Ropsten测试网络相比是一个更稳定、更快速的测试环境,因为不需要CPU密集型挖矿来维持网络,但业内许多人仍然认为它是:一个不优雅的解决方案,因为以太坊应该有一个动态的区块限制。不可移植,因为其他客户端需要自己实现新的分叉逻辑。与同步模式不兼容Kovan网络今天仍然活跃,并且仍然是社区中许多团队最喜欢的测试网。Rinkeby测试网-2017年4月

由于Kovan测试网络是因为Ropsten攻击而迅速启动,以太坊团队创建了Rinkeby测试网作为长期解决方案,该解决方案使用CliquePOA。该网络也是以斯德哥尔摩的一个地铁站命名的,网络ID为4,出快间隔时间为15秒。新的权威证明网络易于实施并嵌入到任何的以太坊客户端中。它还允许使用现有的同步技术,如Fast、Light和Warp,而无需客户端开发人员向应用添加自定义逻辑。它将通过以下方式维护随时间变化的受信任签名者列表:首先,将区块头中的32字节「extra-data」字段重新用于保存secp256k1签名的65字节字段,允许任何获得区块的人根据授权签名者列表对其进行验证。这意味着区块头的「miner」部分已经过时。然后,重新利用刚过时的「miner」字段和权威证明过时的「nonce」字段,在常规区块中创建投票协议。这两个字段初始值设置为零,但如果签名者希望对授权签名者列表进行更改,他们必须将「miner」字段设置为他们希望投票的签名者,并将「nonce」设置为0或'0xff...f」以表示投票赞成添加或踢出签名者。在区块处理过程中,任何同步链的客户端都可以计票,从而通过大众投票维护动态变化的授权签名者列表。尽管以太坊团队努力创建标准的权威证明协议,但Rinkeby仅得到Geth以太坊客户端的支持,这为创建另一个所有主要客户端都支持的测试网络留出了空间。Gorli测试网–2018年9月

该测试网络作为一个黑客马拉松项目,由Chainsafe团队在ETHBerli上启动。它试图通过Go语言重写Parity的AuraProof-of-Authority共识机制的方式来实现其功能。当AfriScohedon与Chainsafe团队一起创建「下一代」PoA公共测试网络时,它成为了一个官方项目。该网络与所有主要的以太坊客户端兼容,包括Geth、Parity、HyperledgerBesu、Nethermind等。团队采取的早期步骤包括:在以太坊改进提案(EIP-225)中充分指定权威证明引擎,例如Aura或Clique。在不同的客户端上实施这些引擎中的一个或多个。基于模拟主网络可用实现条件,引入一个简单的新权威证明测试网络。通过这些步骤,Gorli网络在2019年初成功启动。至今它仍然是唯一能够保证一致可用性的权威证明网络。Gorli网络的网络ID为5,链ID为5,平均出块时间为15秒。它的状态指示板和资源管理器可以在链接中查看。关于测试网历史的最终想法

今天有许多可用的以太坊测试网络,每个都试图解决历史遗留的独特问题。本文仅涉及最流行和使用最广泛的测试网络,目前还有一些其他具备独特性质的网络,例如Sokol。在部署到主网之前,有人可能会问哪个选项是测试应用程序的最佳选项。答案是没有一个「最佳选择」,因为这实际上取决于团队想要测试的功能,以及他们需要测试网络与以太坊主网络的相似程度。作为其开发过程的一部分,大多数软件团队会选择并坚持使用其中一个或多个网络。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-3:231ms