從 Olympic 到 Gorli,每個測試網絡都試圖解決特定的歷史遺留問題。
原文標題:《The History of Ethereum Testnets》
測試網絡是模擬區塊鏈主網的替代網絡,其創建目的是爲了測試和試驗主網區塊鏈的功能,以減少實際運行式產生的錯誤,例如真實資金的損失。 這些區塊鏈測試網可以比作傳統 Web 开發中的「模擬環境」,开發人員可以在測試網中調試協議升級和智能合約,然後再部署到主網。
根據這些網絡跟主網之間的相似程度,一些測試網絡使用與主網絡相同的底層技術和共識機制,而一些測試網絡使用與主網不同的技術和共識機制。 需要注意的一個重要區別是,從測試網絡獲得的代幣沒有經濟價值。
有史以來第一個公共以太坊測試網絡被稱爲 Olympic,並在以太坊主網正式啓動之前發布。 Olympic 測試網是一個工作量證明測試網絡,是爲了在以太坊主網絡正式公开發布之前,進行第九次也是最後一次測試。
Olympic 測試網通過激勵應用程序开發人員、數據提供商和交易所發送高負荷交易,對網絡進行壓力測試,嘗試將測試網絡推向極限狀態。
Olympic 測試網絡被稱爲以太坊 0.9,網絡 ID 爲 0。在以太坊主網絡成功公开發布後,它於 2015 年 7 月停止。
在以太坊公共主網啓動後,需要一個新的公共測試網絡與主網攜手並進。 於是 Morden 測試網,另一個工作量證明測試網絡誕生了。
該網絡的 ID 爲 2,在 2016 年 11 月被棄用之前的一年多的時間裏,它是唯一的以太坊測試網絡。Morden 測試網主要用於測試兩個最主要的以太坊客戶端 Geth 和 Parity 之間的垃圾數據和一些僅測試網的共識問題 。
雖然 Morden 網絡已被以太坊團隊放棄,但它仍然活躍在 Ethereum Classic 社區中,並更名爲 Morden Classic 測試網絡。
Ropsten 是以太坊的第三個也是最後一個工作量證明測試網絡。它在主網升級後推出,這個新的測試網絡是以瑞典斯德哥爾摩的一個地鐵站命名。
Ropsten 測試網絡支持所有主要的以太坊客戶端,並且是唯一可用的工作證明共識機制測試網絡。
2017 年 2 月,Ropsten 測試網絡遭受了一次嚴重的拒絕服務攻擊。 這次攻擊導致網絡速度減慢並消耗過多的磁盤空間,使得以太坊客戶端很難與 Ropsten 網絡同步。 同時逐漸將 Gas 限制從 470 萬增加到大約 90 億,每當發送大筆交易時都會使網絡癱瘓並產生大量垃圾區塊。
Ropsten 團隊在 2017 年 3 月通過社區捐贈的 GPU 哈希算力成功地恢復了網絡,清除了因攻擊而積累的所有垃圾區塊。
2017 年 2 月對 Ropsten 測試網絡的攻擊導致了其他幾個測試網絡的誕生。
Kovan 測試網由 Parity 團隊創建。 Kovan 和攻擊後啓動的其他測試網絡一樣,主要爲了滿足开發人員測試其應用程序的穩定且與客戶端兼容的測試網絡的需求而誕生的。
Kovan 測試網絡使用權威證明共識機制,爲了保證安全,該機制通過維護一小部分受信任的籤名者和驗證者而犧牲了去中心化。這些籤名者和驗證者通過質押他們的聲譽來在網絡中創建新區塊。
由於這些驗證者的身份是已知的,爲了保護他們的聲譽,他們會積極維護網絡。
與 Ropsten 一樣,Kovan 測試網絡是以新加坡的一個地鐵站命名的。它的網絡 ID 爲 42,創建一個新塊大約需要 4 秒。該測試網絡沒有獲得一些主要的以太坊客戶端(例如 Geth)的支持,並且不能完全再現當前的生產環境(PoW 主網)。
盡管 Kovan 測試網絡與 Ropsten 測試網絡相比是一個更穩定、更快速的測試環境,因爲不需要 CPU 密集型挖礦來維持網絡,但業內許多人仍然認爲它是:
一個不優雅的解決方案,因爲以太坊應該有一個動態的區塊限制。
不可移植,因爲其他客戶端需要自己實現新的分叉邏輯。
與同步模式不兼容
Kovan 網絡今天仍然活躍,並且仍然是社區中許多團隊最喜歡的測試網。
由於 Kovan 測試網絡是因爲 Ropsten 攻擊而迅速啓動,以太坊團隊創建了 Rinkeby 測試網作爲長期解決方案,該解決方案使用 Clique POA(權威證明)。
該網絡也是以斯德哥爾摩的一個地鐵站命名的,網絡 ID 爲 4,出快間隔時間爲 15 秒。
新的權威證明網絡易於實施並嵌入到任何的以太坊客戶端中。它還允許使用現有的同步技術,如 Fast、Light 和 Warp,而無需客戶端开發人員向應用添加自定義邏輯。
它將通過以下方式維護隨時間變化的受信任籤名者列表:
首先,將區塊頭中的 32 字節「extra-data」字段重新用於保存 secp256k1 籤名的 65 字節字段,允許任何獲得區塊的人根據授權籤名者列表對其進行驗證。這意味着區塊頭的「miner」部分已經過時。
然後,重新利用剛過時的「miner」字段和權威證明過時的「nonce」字段,在常規區塊中創建投票協議。 這兩個字段初始值設置爲零,但如果籤名者希望對授權籤名者列表進行更改,他們必須將「miner」字段設置爲他們希望投票的籤名者,並將「nonce」設置爲 0 或 '0xff...f」 以表示投票贊成添加或踢出籤名者。
在區塊處理過程中,任何同步鏈的客戶端都可以計票,從而通過大衆投票維護動態變化的授權籤名者列表。
盡管以太坊團隊努力創建標准的權威證明協議,但 Rinkeby 僅得到 Geth 以太坊客戶端的支持,這爲創建另一個所有主要客戶端都支持的測試網絡留出了空間。
該測試網絡作爲一個黑客馬拉松項目,由 Chainsafe 團隊在 ETHBerli 上啓動。 它試圖通過 Go 語言重寫 Parity 的 Aura Proof-of-Authority 共識機制(主要用 Rust 編寫)的方式來實現其功能。
當 Afri Scohedon 與 Chainsafe 團隊一起創建「下一代」PoA 公共測試網絡時,它成爲了一個官方項目。該網絡與所有主要的以太坊客戶端兼容,包括 Geth、Parity、Hyperledger Besu、Nethermind 等。
團隊採取的早期步驟包括:
在以太坊改進提案 (EIP-225) 中充分指定權威證明引擎,例如 Aura 或 Clique。
在不同的客戶端上實施這些引擎中的一個或多個。
基於模擬主網絡可用實現條件,引入一個簡單的新權威證明測試網絡。
通過這些步驟,Gorli 網絡在 2019 年初成功啓動。至今它仍然是唯一能夠保證一致可用性的權威證明網絡。
Gorli 網絡的網絡 ID 爲 5,鏈 ID 爲 5,平均出塊時間爲 15 秒。它的狀態指示板和資源管理器可以在鏈接中查看。
今天有許多可用的以太坊測試網絡,每個都試圖解決歷史遺留的獨特問題。本文僅涉及最流行和使用最廣泛的測試網絡,目前還有一些其他具備獨特性質的網絡,例如 Sokol。
在部署到主網之前,有人可能會問哪個選項是測試應用程序的最佳選項。 答案是沒有一個「最佳選擇」,因爲這實際上取決於團隊想要測試的功能,以及他們需要測試網絡與以太坊主網絡的相似程度。 作爲其开發過程的一部分,大多數軟件團隊會選擇並堅持使用其中一個或多個網絡。
撰文:Kingsley Arinze
編譯:Aididiao
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
標題:ConsenSys:一文速覽以太坊測試網簡史
地址:https://www.torrentbusiness.com/article/2323.html
標籤: