以太坊是目前最多人使用的一條公鏈,隨著項目越來越多,問題也漸漸浮現。手續費持續高漲,尤其是目前 DeFi 的蓬勃發展,高昂的手續費讓不管是DeFi 或是區塊鏈遊戲,都變成了大資產用戶的遊樂場,以太坊的擴容明顯是當務之急。
目錄
1. 為什麼需要擴容?
2. 以太坊的擴容方案
為什麼需要擴容?
講到擴容,就不得不提到 Vitalik 提出的區塊鏈的三角難題,文中提到
The trilemma claims that blockchain systems can only at most have two of the following three properties : Decentralization, Scalability and Security
也就是說,去中心化、安全性和可擴展性,三者只能滿足其中兩者,但對於區塊鏈來說,最重要的就是去中心化及安全性,所以暫時犧牲擴容是必要之惡。
目前的以太坊的效能尚未準備好滿足這麼大量的交易,擴容的目標是通過簡化用戶與去中心化世界之間的互動來改變這種狀況。希望與分散式生態系統的交互變得如此輕鬆,以至於任何人都可以這樣做而不必擔心系統的複雜性。
以太坊的本身和 Layer2 擴容正在同時發展中,但要完成以太坊本身的擴容,至少還需要等待兩三年的時間,所以目前 Layer2 的發展還是值得關注。
目前的擴容方案
目前主要有幾種擴容方式,可以打造新的區塊鏈協議如 Avalanche,但是當區塊容量越大時,這類區塊鏈將更難以驗證,而一般電腦無法支援這麼龐大的運算,有變得更中心化的可能。
也可以像以太坊2.0 使用分片(Sharding)技術,創建專用於特定交易的處理區域。這樣能夠將驗證任務分發出來,驗證者就只需要驗證他們關心的交易。
還有像是鏈下的解決方案,不必將所有交易放在區塊鏈上,而是可以通過 Layer2 協議在鏈下執行大部分交易。鏈上的智能合約只需執行兩個任務:處理存取款和驗證鏈下交易的有效性。由此減輕鏈上負擔,提高交易處理效率。
Layer2 的擴容方案
目前 Layer2 的擴容技術大概可以分為狀態通道 State Channels、Plasma 、側鏈 Sidechain、Rollup 等等。
State Channels 狀態通道
通道是最早被廣泛討論的解決方案之一,類似比特幣的閃電網路,允許參與者在鏈下交易,而只向基礎層提交兩個事務。
儘管狀態通道具有輕鬆處理每秒數千筆交易的潛力,但它們也有一些缺點。必須先知道參與者,而且使用者必須將其資金鎖定在多簽合約裡面,也不適用於所有智能合約的使用場景。
Plasma
Plasma是由 Joseph Poon 和 Vitalik Buterin 提出 Layer2 解決方案。
Plasma 利用智能合約和 Merkle 樹的使用來創建依附於「主」以太坊區塊鏈的「子」區塊鏈。這些子鏈又可以循序產生它們自己的子鏈,並能依次循環往復,把交易從以太坊主鏈轉移到子鏈可以達成快速而便宜的交易。
Plasma 的缺點之一是,使用者如果想要從子鏈提取資金的等待時間較長,與狀態通道類似,Plasma 無法用於擴展通用智能合約。
OMG 和 Matic 都是使用 Plasma 技術的 Layer2 項目,OMG 建立在他們自己的Plasma技術上,叫做 MoreViable Plasma。 而 Matic Network 則是使用改編版的 Plasma 框架。
Sidechain 側鏈
側鏈是與以太坊兼容的獨立區塊鏈,具有自己的共識模型和區塊參數。
通過使用相同的以太坊虛擬機,可以與以太坊實現互操作,因此可以直接將之前部署到以太坊主鏈的合約直接部署到側鏈上,對開發者來說非常友善。
xDai 是使用側鏈的一個 Layer2 項目。
Rollup
Rollup 技術通過將側鏈交易簡化或匯總成單個交易並產生加密證明,也稱為 SNARK(succinct non-interactive argument of knowledge)來提供擴容,並把這個證明提供給基礎層。
通過 Rollup,所有交易狀態和執行都在側鏈中執行,以太坊主鏈只儲存交易數據。目前有兩種 Rollup,分別是 ZK Rollup 及 Optimistic Rollup。
目前打造 Rollup 技術的 Layer2 項目有 Loopring, zk sync 和 Optimsm。
有興趣可以參考最近 Vitalik 寫的一篇 An Incomplete Guide to Rollups。
儘管有上述這麼多種的 Layer2 方案,以太坊社群還是決定以 Rollup 系列為主,再加上 Eth2.0 的分片做為目前的擴容方向。那麼 NFT 的生態系呢?有哪些產品或服務採用這些技術呢?待我們下篇介紹!