以太坊最近的日子可謂不好過。隨著EOS節點競選熱一浪高過一浪,國內到處都充滿著EOS將會取代以太坊的聲音。與此同時,Blockone又不斷從EOS的眾籌賬戶中提現,在幣價方面也不斷對以太坊造成利空。再加上以太坊自身開發進度緩慢,提升TPS的方案也是只聞其聲不見其蹤,隨處可見“以太坊的唯一用處就是發幣”的聲音,似乎以太坊的末日已來。
終於,以太坊創始人V神(Vitalik Buterin)昨天發了一條推特“Sharding is coming”,稱推出“最小分片協議”計劃,並給出了github上關於Sharding的代碼庫。這條消息也算是近半年來以太坊在開發和自我進化上的最大新聞了。
TPS危機以及分片技術
以太坊的交易數量在過去幾年持續大幅增加。去年底的以太貓事件則直接暴露並放大了這個問題——每秒20筆的交易速度已遠遠不能滿足用戶的需求。
眼下EOS主網即將上線,“公鏈之王”的地位之爭也馬上開始,網路低吞吐量將會是個致命缺陷。我們做一個假設:有任何人想要讓以太坊癱瘓,只需要在以太坊網路上同時發起幾萬筆小額轉賬,且轉賬費略高於平均水平,以太貓事件就會再次發生,使真正用戶的交易請求無限拖延,最終放棄使用以太坊。雖然以太坊在設計之初為了避免此現象設計了GAS費用,但事實上,仔細算一筆賬,讓以太坊網路擁堵一個月或更久,所花費掉的ETH還真不見得會有多少,相比目前一些項目龐大的融資額來說,這些費用完全可以負擔得起。
提高區塊鏈TPS的方法有兩種,適當中心化和並行化。其中並行化的一個思路即分片“Sharding”。關於以太坊上分片技術的細節我們不展開,大家可以把他理解為原以太坊網路只有單一主鏈,主鏈上的各種交易和處理請求必須按順序排隊進行。現在將主鏈劃分成若干組件式網路,同時進行交易處理,提高單位時間處理速度。簡單的比喻,分片即將原有單車道的馬路拓寬成為多車道的馬路。
實施進度
Buterin在本月早些時候就宣布將“最小分片協議”作為新的開發目標,並在4月29日發布了最新更新“交叉鏈接”的進度,旨在將以太坊主鏈與分片鏈接起來,使分片實現並行處理網路給定的任務,加快了任務處理效率。
其實在基本的分片模型中,鏈接可以簡單的直線執行,那為什麼V神提出了交叉鏈接呢?根據V神的說法,直線執行可能會妨礙分片整理時間。V神提出的交叉鏈接,可以使分片在被納入主鍊和下一個週期開始之間的時間內被處理掉。
V神接著指出,分片規格將會是最小化分片協議進程中一項非常重要的工作,關於這個話題在推特上和大家進行了不少互動。
以太坊可擴展性的未來
對於以太坊的開發團隊技術實力,大毛一直很看好,從Github 上也可以看到,關於這次最小分片協議代碼正在快速更新,短期內實現的可能性很大。除了分片之外,V神最近還在3月9日在巴黎的以太坊社區會議上為以太坊智能合約項目Plasma提供了一個新的縮放解決方案(詳情見鏈接),足可見團隊對於以太坊TPS以及可擴展性的重視。
再聯想到以太坊共識機制POW轉POS的代碼已經完成,並提交為以太坊改進提案(EIP)1011或混合Casper FFG。大毛有預感,以太坊網路在不久的將來將進行重大升級,屆時EOS主網也已上線,肯定發生更多有意思的事情發生,讓我們共同期待。