現在以太坊 1.0 處理速度很慢;整個網絡每秒僅能處理 15 筆交易,而且,通過這些交易進行任何複雜的操作都會帶來極其高昂的成本。相比之下,Visa (總部位於美國的支付服務提供商)每秒能處理上千筆交易。
以太坊的效率為何如此低下?使用成本為何如此高昂呢?
一言以蔽之,去中心化在創造巨大價值的同時也會帶來極高的成本(至少現在是如此)。實現去中心化的成本之所以如此之高,是因為與如今大多數區塊鏈一樣,以太坊上的每個節點(即,連接至以太坊網絡的計算機,例如,運行以太坊軟體的筆記本電腦)都必須各自執行記載到區塊中的每一個計算,以確保所有參與者都遵守規則。這個過程要耗費能源和計算機資源。
此外還有時間上的耗費。以太坊節點遍布世界各地——畢竟這是一個給參與者提供激勵的公開網絡——不同節點之間存在較高的網絡通信延遲,計算能力也各不同。以太坊網絡必須能夠容忍比較長的網絡延遲(即出塊時間不能縮得太短),以便網速較慢的節點能夠與網絡保持同步,並參與去中心化投票機制。
就當前架構下的以太坊網絡而言,如果要其在很短時間內處理過多數據,筆記本電腦和個人伺服器等消費級硬體就無法與網絡保持同步,只有大型數據中心才能在這個網絡中充當節點之用。這就會極大地降低以太坊的去中心化程度,因為數據中心節點很容易就能形成壟斷,進而控制整個網絡,或是對網絡進行審查。實際上,一些區塊鏈網絡(如 EOS)現在就面臨著這樣的問題。
對於公有鏈來說,維持足夠的去中心化水平是非常重要的。如果沒有去中心化,那麼使用區塊鏈就沒多大意義,因為中心化的區塊鏈很容易就能審查人們的交易,而且相比一般的分布式資料庫來說,使用效率還要低得多。如果你對區塊鏈了解不深的話,不妨跟我一起回憶一下,在中本聰通過比特幣開創新型去中心化治理模式之前,任何一個系統都不可能實現免信任型治理——其中,所有參與者都有權控制決策,但是沒有人掌握全部(或多數)控制權。Vitalik (以太坊的創建者)在回應關於去中心化和性能之間的權衡問題時,打了一個非常有名的比喻:任何人都可以創建出一個類似於 「垃圾集中處理場」 的高 TPS 系統。
有沒有可能創建一條區塊鏈,讓每個節點都只需處理部分,而無需處理全部交易呢?這樣一來,每個節點都只需處理網絡中很少一部分交易,從而降低通信成本。
那就是以太坊 2.0 。
以太坊 2.0 就是新一代以太坊,我們甚至不該稱之為以太坊。以太坊 2.0 是一個完全不同的項目,在區塊鏈的架構上採用了全新的思路。以太坊 2.0 的目標是提高以太坊的可擴展性、安全性和可編程性。不同於以太坊 1.0 只能達到 15 TPS 的吞吐量,以太坊 2.0 每秒可處理上千至上萬筆交易(甚至更多),同時不用降低其去中心化程度。實際上,以太坊 2.0 想引入一種經濟安全性更強的共識機制,叫作權益證明(PoS),而不是沿用比特幣和以太坊 1.0 所用的工作量證明(PoW)。
在傳統的 PoW 區塊鏈(如比特幣)中,一些個人和機構會充當礦工的角色,利用價格高昂的硬體來解決數學難題,從而鑄造新的比特幣,並處理交易。礦工通過維護網絡安全性來獲得增發的比特幣和交易費。相比之下,在(以太坊 2.0 等)PoS 區塊鏈中,驗證者通過鎖定以太幣來為網絡提供安全性,從而鑄造新的以太幣,並處理交易。那麼實際上,驗證者提供的安全性取決於網絡本身的價值。如果有驗證者作惡(例如,投票通過惡意交易),其鎖定的以太幣就會被 罰沒 。罰沒機制會激勵驗證者遵守協議規則。
PoS 之所以具有較高的安全性,一個很大的原因是 PoW 系統容易遭受 「蹲點(spawn camping)」 攻擊。如果作惡者所掌握的挖礦硬體足以攻擊比特幣等 PoW 區塊鏈,比特幣便無力阻止後續攻擊,因為網絡會不斷發生 重組/分叉,然後又會被同一幫挖礦硬體攻擊,如此無休止地循環下去。相比之下,以太坊 2.0 抵禦蹲點攻擊的能力要強得多——以太坊 2.0 可以分叉並罰沒攻擊者的押金。這就好比摧毀了攻擊者的比特幣礦場。
此外,以太坊 2.0 能讓開發者創建自己的交易處理方法,即,執行環境,以便其在以太坊網絡內使用其它區塊鏈的規則。用極度簡化的說法來說明 「執行環境」 就是:以太坊 2.0 可以讓人們使用比特幣、ZCash、以太坊 1.0 的交易規則,以及其它想得到的規則集合,其規模比目前以太坊 1.0 所能達到的規模高出了幾個數量級,均由同一組繳納了押金的驗證者保護其安全性。以太坊 2.0 通過分片實現了這一點:在以太坊 2.0 中,每一條分片鏈都有各自專屬的出塊者和驗證者,而且這些分片鏈彼此之間聯繫緊密,可以互相通信,因此形成了一個大型分片鏈網絡。因此,以太坊 2.0 的驗證者無需處理整個網絡內的所有交易,只需處理並驗證某條分片鏈上的交易。通過這一創新技術,使用消費級硬體的人也能夠參與以太坊 2.0 網絡,為其做出貢獻。
要注意的是,在以太坊 2.0 中,每條分片鏈都具備相同的安全性。要想破壞某條分片鏈的話,必須破壞整個系統。這一安全性模型相比 Cosmos 等平臺提供了更高的安全保障。在 Cosmos 等平臺的模型下,每條鏈都獨善其身,導致整個網絡分片化,且容易遭受攻擊。因此,若想攻擊以太坊 2.0 ,攻擊者必須購買並質押價值數十億美元的以太幣(如果以太幣的價格上漲,質押金的美元價值也會隨之上漲)。
下圖顯示了傳統區塊鏈網絡的形態 —— 一條由數據區塊組成的 「鏈」。不了解什麼是區塊頭(block header)和交易列表(transaction list)也沒關係,下圖僅作說明之用:
下圖顯示了以太坊 2.0 的形態,區別在於不只有 2 條分片鏈,而是有 64 條分片鏈,均由信標鏈進行協調。再強調一遍,先不要考慮技術細節:
以太坊 2.0 由 9 個不同的工程團隊構建。這些團隊均由以太坊基金會撥款資助,且獲得了以太坊社區的支持。這些團隊正在開發 客戶端 —— 客戶端就類似於 Chrome 和 Firefox 瀏覽器,只不過不是用來訪問網站的,而是用來訪問並參與以太坊網絡的。客戶端多樣性是以太坊的核心原則 —— 如果有一個或兩個客戶端遭到破壞或是存在漏洞,整個網絡不會因此而奔潰。每個客戶端都各有針對性的用例,但是它們都能完全參與到該網絡中。例如,一個客戶端針對智慧型手機進行了優化,而另一個客戶端是專為企業構建的。工程團隊正在根據一個由高級研究人員(多數都是計算機系博士及同等層次的人才)所創建的規範來開發客戶端。
此外,很多研究工作都是在一個叫作 ethresear.ch 的網站上以開源的方式進行的,全世界任何一個人都可以將自己的技術想法、建議或批評發布到這個網站上。經過數年的迭代之後,以太坊 2.0 的規範才達到了當前的狀態 —— 研究人員有好幾次認為自己已經創建了一個合理的設計,但是之後會發現一些缺陷,必須要重新設計部分或整個系統才行。在整個區塊鏈領域,以太坊 2.0 研究團隊是經驗最豐富且最有才華的協議設計團隊,這並非誇大其詞。
下面是參與開發以太坊 2.0 的團隊名單(排名不分先後):
ChainSafe Systems
是一家位於安大略省多倫多的公司,員工人數達 30 人以上,其中有 5 位開發者從事以太坊 2.0 客戶端的開發工作開發人員在多倫多舉辦的以太坊開發者聚會上面基用 JavaScript 語言開發著一個名為 Lodestar 的客戶端PegaSys
以太坊生態系統中最大的公司 ConsenSys 旗下的一個 50 人團隊,其成員分布於世界各地搭建了一個名為 Pantheon 的企業友好型以太坊 1.0 客戶端有一個主攻以太坊 2.0 規範的研究團隊開發著一個名為 Artemis 的 Java 客戶端,針對企業使用進行了優化Harmony
位於俄羅斯的 4 人團隊開發著一個 Java 以太坊客戶端尚無很多公開信息有可能與 PegaSys/Artemis 進行整合Parity Technologies
位於柏林的公司,有一個超過 60 人的大型遠程辦公團隊(並非所有人都在從事以太坊 2.0 的相關工作)從以太坊基金會獲得了 500 萬美元的資金,來開發名為 Substrate Shasper 的以太坊 2.0 客戶端也在開發支持互操作性的區塊鏈項目 Polkadot 。該項目被認為是以太坊的勁敵。開發並維護著第二流行的以太坊 1.0 客戶端,同樣叫作 Parity 。Prysmatic Labs
一個 6 人團隊,其成員分散於美國境內會在博客上主動發布更新,可以通過其博客來了解並跟進以太坊 2.0 的進展搭建了一個名為 Prysm 的客戶端,與以太坊 1.0 的 Geth 類似,都是為了滿足主流應用的多樣場景Sigma Prime
位於澳大利亞雪梨的 4 人團隊聚集了擁有很強 學術/軟體開發 背景的網絡安全專家搭建了一個名為 Lighthouse 的客戶端,適應主要的使用場景Status
一個 8 人團隊,成員分散於歐洲各地致力於打造名為 Nimbus 的輕客戶端,即,可在智慧型手機等 「輕」 環境下運行Trinity
與以太坊基金會籤約的一個 4 人團隊搭建了一個輕客戶端,充當更高級實現的原型Nethermind
位於倫敦和波蘭的 7 人團隊在 .NET 上搭建了一個 Windows 客戶端以太坊 2.0 的發布被分為多個階段,但其中最重要的是前面三個階段。這幾個階段錯開推出以太坊 2.0 的各種組件,一方面是因為需要很長時間才能開發完成,另一方面是因為採用循序漸進的方式會降低技術風險。對於這樣一個價值數十億美元的密碼學貨幣網絡來說,「快速行動、打破常規」 的理念並不適用。不同於可以快速修復問題的中心化科技公司,密碼學貨幣網絡如果存在嚴重的客戶端漏洞,將造成遺患久遠的巨大破壞,因為該網絡的參與者都要手動更新到新的客戶端版本。在最糟糕的情況下(例如,攻擊者成功發動雙花攻擊),必須回滾多個交易,才能保障網絡的安全性。這會造成極大的聲譽影響,就像 2016 年的 The DAO 被黑事件那樣,一部分以太坊開發者和用戶分叉出了另一條名為 Ethereum Classic 的鏈。
Phase 0 可能在 2020 年第二季度末或第三季度初交付。該階段會引入信標鏈,將其作為整個以太坊 2.0 網絡的 「命令和控制」 中心。信標鏈會將驗證者組織到一起,並將他們分配到不同的分片鏈上處理交易;一段時間之後,所有驗證者都會被重新 「洗牌」 並隨機分配到另一條分片鏈上。「重新洗牌」 是以太坊 2.0 安全性的關鍵部分,如果沒有這一設定的話,就有可能會出現一小部分驗證者受賄或幹涉以太坊 2.0 運行的情況。信標鏈會驗證各分片鏈所生成的區塊的有效性,以便以太幣、代幣和數據在各分片鏈之間交換。用 20 世紀 70 年代加利福尼亞人的語氣來說:信標鏈就是一條可以管理其他區塊鏈的區塊鏈,maaaaaan。(譯者註:這個 「maaaaaan」 應該就是拖長音的 「man」,增強語氣的意思,作者想搞一個小幽默吧。)
如果說信標鏈是 「命令和控制」 中心,那麼驗證者就屬於實操人員。驗證者是 PoS 網絡上的參與者,負責處理該網絡上的交易並對其進行排序,並將這些交易轉發給其他參與者。驗證者會因此獲得交易費和增發代幣(通脹)作為回報。驗證者在密碼學貨幣網絡中發揮了最重要的作用,而以太坊 2.0 正試圖解決的一大核心挑戰是,如何通過設計激勵機制來讓驗證者遵守協議並作出有利於網絡的行動。 信標鏈還將負責 罰沒 作惡驗證者的押金。
以太坊 2.0 的 Phase 1 預計於 2021 年交付,將推出分片鏈,但是無法處理或結構化分片鏈上的數據。數據會以原始形式存在於分片鏈上(即,「數據 Blob」),主要是為了確保分片鏈彼此之間以及與信標鏈之間能夠進行良好通信。分片鏈無法對數據進行任何計算。乍聽起來,Phase 1 像是一個功能有限的優化測試網,但這一說法並不完全正確。新的 DApp 和現有 DApp 可以利用該數據存儲來增強其可擴展性。例如,一個去中心化的 Twitter DApp 可以將數據存儲在分片鏈上,並將大量計算工作放到鏈下完成、利用以太坊 1.0 來提供高水平的安全保障。在 Phase 1 期間,以太坊 1.0 依然會正常運行,以太坊 1.0 與以太坊 2.0 這兩條鏈將並行。
在 2019 年 12 月末,Vitalik 提議加快將以太坊 1.0 轉移到信標鏈的進程,以便以太坊實現 PoS 的優點,並加快其與以太坊 2.0 的整合進程。最開始的時候,以太坊 1.0 將成為一條特殊的分片鏈(而非執行環境),但它最終將在 Phase 2 轉變成執行環境。 目前尚未提議具體的時間線,但是這一過程似乎會在 Phase 1 發生。
Phase 2 預計於 2021 或 2022 年上線,將實現以太坊 2.0 的真正願景。屆時,分片鏈就能處理交易,而以太坊 2.0 網絡上就能搭建真正的商業應用。在 Phase 2,分片鏈上將引入智能合約,以及運行這些智能合約的執行環境。正如上文所述,執行環境能讓開發者任意創建規則集,以此規定交易的處理方式。這就意味著,協議開發者將能創建出執行環境,來模擬比特幣、Zcash、以太坊 1.0 的規則,或是以幾乎任何可以想像得到的方法來計算區塊鏈交易。就像以太坊 1.0 通過抽象化比特幣的方式在區塊鏈上實現智能合約那樣,以太坊 2.0 將通過抽象以太坊 1.0 來重新定義區塊鏈計算的本質。
關於以太坊 2.0 的一些組成部分,依然存在一些研究問題還未得到最終解決。例如,如何以去中心化的方式提供並存儲數據(以免少部分數據提供商壟斷整個網絡),跨分片交易如何運作,以及執行環境治理等問題。然而,關於這些方面的研究依然在迅速推進中。
下面再重申一下以太坊 2.0 的三個階段:
Phase 0
估計於 2020 年 第二季度末/第三季度初 交付發布信標鏈並在信標鏈上實行 PoS 驗證以太坊 1.0 將繼續正常運行Phase 1
預計將於 2021 年交付發布分片鏈並允許數據存儲在這些分片鏈上,但是不在分片鏈上處理交易以太坊 1.0 可能會繼續正常運行,也可能會作為特殊的分片鏈整合進以太坊 2.0Phase 2
預計將於 2021 年末/ 2022 年初交付允許在分片鏈上處理交易在一段時間之後,以太坊 1.0 將作為執行環境過渡到以太坊 2.0 上。以太坊將在 Phase 2 之後繼續發展,但是之後的發展藍圖尚不明晰。……
從我的角度來看,以太坊的未來一片光明。沒有哪個智能合約區塊鏈像以太坊這樣擁有這麼多研究人員、開發人員、用戶和項目,現在正是加入以太坊的良機。以太坊即將迎來一場非常重要的大型升級,如果成功實現的話,將為這個世界創造巨大價值。
特別感謝來自 ConsenSys R&D 的 Robert Drost 、來自 Prysmatic Labs 的 Terence Tsao 、James Fickel 和 Carrie Krabes 對本文的幫助。
原文連結:https://medium.com/@chromaticcapital/eth2-for-dummies-11ff9b11509f作者: Grant Hummer翻譯&校對: 閔敏 & 阿劍