ConsenSys:一文速覽以太坊測試網簡史

從Olympic 到Gorli,每個測試網絡都試圖解決特定的歷史遺留問題。

原文標題:《The History of Ethereum Testnets》

測試網絡是模擬區塊鍊主網的替代網絡,其創建目的是為了測試和試驗主網區塊鏈的功能,以減少實際運行式產生的錯誤,例如真實資金的損失。這些區塊鏈測試網可以比作傳統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 網絡已被以太坊團隊放棄,但它仍然活躍在Ethereum Classic 社區中,並更名為Morden Classic 測試網絡。

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 秒。該測試網絡沒有獲得一些主要的以太坊客戶端(例如Geth)的支持,並且不能完全再現當前的生產環境(PoW 主網)。

儘管Kovan 測試網絡與Ropsten 測試網絡相比是一個更穩定、更快速的測試環境,因為不需要CPU 密集型挖礦來維持網絡,但業內許多人仍然認為它是:

  1. 一個不優雅的解決方案,因為以太坊應該有一個動態的區塊限制。

  2. 不可移植,因為其他客戶端需要自己實現新的分叉邏輯。

  3. 與同步模式不兼容

Kovan 網絡今天仍然活躍,並且仍然是社區中許多團隊最喜歡的測試網。

Rinkeby 測試網- 2017 年4 月

由於Kovan 測試網絡是因為Ropsten 攻擊而迅速啟動,以太坊團隊創建了 Rinkeby 測試網作為長期解決方案,該解決方案使用 Clique POA(權威證明)。

該網絡也是以斯德哥爾摩的一個地鐵站命名的,網絡ID 為4,出快間隔時間為15 秒。

新的權威證明網絡易於實施並嵌入到任何的以太坊客戶端中。它還允許使用現有的同步技術,如 Fast、Light 和Warp,而無需客戶端開發人員向應用添加自定義邏輯。

它將通過以下方式維護隨時間變化的受信任簽名者列表:

  1. 首先,將區塊頭中的32 字節「extra-data」字段重新用於保存secp256k1 簽名的65 字節字段,允許任何獲得區塊的人根據授權簽名者列表對其進行驗證。這意味著區塊頭的「miner」部分已經過時。

  2. 然後,重新利用剛過時的「miner」字段和權威證明過時的「nonce」字段,在常規區塊中創建投票協議。這兩個字段初始值設置為零,但如果簽名者希望對授權簽名者列表進行更改,他們必須將「miner」字段設置為他們希望投票的簽名者,並將「nonce」設置為0 或’0xff…f」 以表示投票贊成添加或踢出簽名者。

在區塊處理過程中,任何同步鏈的客戶端都可以計票,從而通過大眾投票維護動態變化的授權簽名者列表。

儘管以太坊團隊努力創建標準的權威證明協議,但Rinkeby 僅得到Geth 以太坊客戶端的支持,這為創建另一個所有主要客戶端都支持的測試網絡留出了空間。

Gorli 測試網– 2018 年9 月

該測試網絡作為一個黑客馬拉松項目,由Chainsafe 團隊在ETHBerli 上啟動。它試圖通過Go 語言重寫 Parity 的Aura Proof-of-Authority 共識機制(主要用Rust 編寫)的方式來實現其功能。

當Afri Scohedon 與Chainsafe 團隊一起創建「下一代」PoA 公共測試網絡時,它成為了一個官方項目。該網絡與所有主要的以太坊客戶端兼容,包括Geth、Parity、Hyperledger Besu、Nethermind 等。

團隊採取的早期步驟包括:

  1. 在以太坊改進提案(EIP-225) 中充分指定權威證明引擎,例如Aura 或Clique。

  2. 在不同的客戶端上實施這些引擎中的一個或多個。

  3. 基於模擬主網絡可用實現條件,引入一個簡單的新權威證明測試網絡。

通過這些步驟,Gorli 網絡在2019 年初成功啟動。至今它仍然是唯一能夠保證一致可用性的權威證明網絡。

Gorli 網絡的網絡ID 為5,鏈ID 為5,平均出塊時間為15 秒。它的狀態指示板和資源管理器可以在鏈接中查看。

關於測試網歷史的最終想法

今天有許多可用的以太坊測試網絡,每個都試圖解決歷史遺留的獨特問題。本文僅涉及最流行和使用最廣泛的測試網絡,目前還有一些其他具備獨特性質的網絡,例如 Sokol。

在部署到主網之前,有人可能會問哪個選項是測試應用程序的最佳選項。答案是沒有一個「最佳選擇」,因為這實際上取決於團隊想要測試的功能,以及他們需要測試網絡與以太坊主網絡的相似程度。作為其開發過程的一部分,大多數軟件團隊會選擇並堅持使用其中一個或多個網絡。

撰文:Kingsley Arinze

編譯:Aididiao

Total
0
Shares
Related Posts