本指南將介紹以太坊擴展解決方案,並解釋它們如何工作以及它們為什麼非常重要。
以太坊著重強調兩點:去中心化和安全性,這使得它處理交易的速度很慢。進而影響了其網絡吞吐量,去中心化應用程序(dApp)的擴展能力。
人們想出了許多不同的設計來解決以太坊的可擴展性問題,每種設計都有不同的優點。本指南將介紹以太坊擴展解決方案,並解釋它們如何工作以及它們為什麼非常重要。
可擴展性是什麼?
可擴展性是指系統在不犧牲功能的情況下,處理指數級增長的使用量的能力。在區塊鏈技術中,可擴展性是指區塊鏈在不影響功能的情況下,支持增加的交易量的能力。
目前,以太坊處理交易的能力被限制在每秒處理7-15筆交易(TPS)。相反,傳統的中心化數據庫(如Oracle Database和Microsoft SQL server)每秒可以處理數千筆交易。
以太坊設計影響可擴展性的兩種方式
以太坊吞吐量低、處理速度慢,是因為它優先考慮去中心化和安全性,而不是可擴展性(可擴展性三難困境)。
以下是以太坊設計影響可擴展性的一些方面:
-
以太坊的共識算法按順序處理交易
以太坊使用工作證明(PoW),這意味著網絡上的交易必須被所有節點接受和驗證。這鼓勵了去中心化,也保障了安全性。
缺點是按順序執行交易會影響交易的最終(確認交易所需的時間)。這進一步導致以太坊無法支持高TPS率。
-
以太坊將區塊大小限制為1MB
以太坊限制了一個區塊可以保存的數據量(1MB),因為限制區塊大小可以提高去中心化,具體方法是通過使節點更有效地存儲區塊鏈歷史。更大的區塊規模會使人們難以運行完整的節點,進而損害去中心化。
然而,1MB的區塊大小限制降低了礦工可以放入一個區塊中的交易數據,從而影響網絡吞吐量。較小的區塊大小也會影響gas的成本,即在以太坊虛擬機中執行操作所需的計算資源。
由於礦工的計算能力有限,它們往往被迫優先考慮費用較高的交易。這在以太坊用戶之間造成了一場競價戰爭,並迫使交易費用大幅增加。
什麼是以太坊擴展解決方案?
以太坊擴展解決方案是專門為改善以太坊網絡上的交易執行而設計的平台。以太坊的擴展解決方案,如第二層Rollup和側鏈,是使用不同機制來增加網絡吞吐量的協議。
第一層vs 第二層擴展解決方案
擴展解決方案可以大致分為兩類,“鏈上”和“鏈下”,其實就是根據其執行點進行區分的。
第一層擴展解決方案
第一層擴展包括更改區塊鍊網絡和重寫基礎層。 “鏈上”,從字面意義上就意味著對以太坊的可擴展升級是在區塊鏈本身上執行的。
第一層可以通過增加區塊大小進行擴展
一種潛在的第一層擴展改進是增加區塊的大小。如果以太坊的1MB區塊大小變大,礦工將有更多的空間在區塊中包含更多的交易數據。
雖然增加以太坊的區塊大小會導致TPS速率的增加,但其副作用卻是讓其向中心化緩慢發展,因為隨著區塊大小的增加,區塊鏈的大小也會增加——這使得運行完整節點變得困難(除非你有一台超級計算機)。由於這個原因,以太坊社區已經排除了用改變區塊大小來進行擴展的方式。
通過使用區塊鏈分片來並行處理交易,以實現第一層擴展
區塊鏈分片是一種對可擴展性的改進,它引入了交易的並行執行,取代了以太坊使用的默認順序執行模型。在分片中,區塊鏈被分為更小的鏈(分片),這些鏈驗證和處理獨立的交易。
考慮一下以太坊目前的工作方式:
交易被廣播到整個網絡,直到它們可以被驗證。分片不需要所有節點都批准交易。相反,每個分片都有用於審批交易的驗證者(稱為collator)。
每個序列(分片鏈上的交易集合)必須由三分之二的collator簽名。此外,在實現最終結果之前,被提議的序列必須添加到主鏈。這些措施有助於確保系統的安全性。
通過分片,以太坊可以在不犧牲去中心化或安全性的情況下提高TPS。隨著分片鏈同時處理不同的交易,網絡的整體處理能力會提高。此外,網絡參與者仍然可以通過密碼證明來證明分片序列的有效性。
第二層擴展解決方案
之所以被叫做第二層(L2)擴展,是因為它們是在主鏈(第一層)外執行的。第二層擴展也被稱為“鏈下”解決方案,在一個獨立的網絡上處理交易,但依賴於主鏈的安全性。
L2解決方案在設計時通常強調交易速度和可擴展性——這裡不太關注去中心化和安全性。因為它們會將交易數據發佈到以太坊主網層,L2可以從主網的去中心化和安全性中受益。另外,由於L2解決方案是建立在以太坊之上的,它們不需要自己的原生代幣。
這些鏈下協議可以將多個交易整合為一個交易,並添加到主鏈。這減少了對網絡的壓力,並提高了dApp的可擴展潛力。
第二層擴展解決方案包括:
-
Rollup
-
State channel
-
Plasma
-
Validium
第二層vs 側鏈
側鍊是一個獨立的區塊鏈,它與以太坊主網進行交互,但不依賴於它的安全性。側鏈通過跨鏈橋與以太坊連接,使資產在兩個鏈之間轉移。
側鏈有利於可擴展性,因為它們被設計成具有不同的質量集,以支持高吞吐量。例如,Polygon側鏈使用權益證明(PoS)共識算法來實現更快的交易。
第二層解決方案和側鏈的主要區別在於它們的安全保證。 L2網絡享有以太坊的安全保證,但側鏈卻沒有。
側鏈由其自己的共識機制來提供保護,而L2受益於以太坊的共識。這就是為什麼許多人認為L2比側鏈更安全。
為什麼可擴展性解決方案對以太坊是必要的?
好的以太坊擴展解決方案有助於為web3開發人員和用戶提供更低的gas費用和更快的交易,同時也保持交易的安全性。
以下是為什麼可擴展性解決方案對以太坊是必要的:
-
降低交易費用
以太坊的gas費用已經成為眾所周知的麻煩。擴展可以減少網絡擁塞,並會使得交易成本顯著下降。
更低的gas費意味著更好的用戶體驗和更高的dapp使用率。用戶將不必處理失敗的交易或支付過高的gas費。
-
更快的交易
許多可擴展性的解決方案是專門為提高以太坊在更短時間內處理更多交易的能力而創建的。
例如,Rollup可以批量處理數千個鏈下交易到單個鏈上交易。
這些改進的最終結果是每秒交易(TPS)速率的提高。儘管估量各不相同,但許多人預計L2和分片將推動以太坊的TPS達到數千。
-
改進的安全性
L2非常適合在不降低網絡安全性的情況下擴展以太坊。與鏈上擴展不同,鏈下擴展項目不會影響以太坊的去中心化。
儘管這些L2是獨立的鏈,但它們的安全性與以太坊區塊鏈緊密相連。這意味著用戶可以安全地與這些項目進行交互,享受可擴展性帶來的好處,而無需擔心資產安全。
五種最受歡迎的以太坊擴展解決方案
五種最流行的以太坊擴展解決方案是:Rollup、側鏈、state channel、plasma 和Validium。
-
Rollup
Rollup是把鏈下執行的多個交易合併或“卷”成一個批處理,並將其傳到主鏈上。單個Rollup可以包含數百(如果不是數千)個交易,它們通過壓縮來減少主鏈必須處理的交易量。
除了提高可擴展性之外,Rollup還提供了類似以太坊本身的安全級別,因為Rollup中的交易錨定在L1鏈上,這保證了交易的完成。
有兩種主要類型的Rollup:Optimistic Rollup和ZK-Rollup,它們是根據交易計算和發佈到以太坊的方式來區分的。
ZK-Rollup執行鏈下計算,並生成一個名為Succinct Non-Interactive Argument of Knowledge(SNARK)或Succinct Transparent Argument of Knowledge(STARK)的密碼證明。這些“有效性證明”保證了主鏈上節點的批量交易的有效性。
Optimistic Rollup假定交易在默認情況下是有效的,並且不會為每個交易包生成有效性證明。然而,Optimistic Rollup中交易的有效性可能會受到欺詐證明的質疑。
ZK-Rollup更安全,因為它們生成有效性證明,但是,這使得它們比Optimistic Rollup慢。
ZK-Rollup是一種複雜的機制,因此很難將EVM兼容性編程到它們當中。因此,與Optimistic Rollup相比,ZK-Rollup的功能有限。
Polygon正在致力於零知識EVM (zkEVM),以增加零知識聚合到以太坊網絡的功能,併計劃Hermez 2.0。
使用Optimistic Rollup的以太坊L2:
-
Optimism
-
Arbitrum
-
Boba Network
-
Immutable X
使用ZK-Rollup的以太坊L2:
-
zkSYNC
-
Loopring
-
dYdX
-
StarkNet
作為一名開發人員,我們可以將Rollup集成到dApp中,以提高交易的最終性和可擴展性。通過這種方式,我們的用戶就不必支付高昂的gas費、體驗中斷的交易和緩慢的處理速度——這些在以太坊中經常發生。
-
側鏈
側鍊是一種第二層解決方案,它是一個獨立的區塊鏈,與以太坊主網並行運行。它們之間的差異可以是加密經濟激勵機制、共識機制等。
專門為以太坊設計的側鏈具有以太坊虛擬機(EVM)兼容性,可以支持智能合約。這意味著我們可以在側鏈上部署項目,並利用它們對dapp的可擴展性進行改進。
跨鏈橋是將側鏈連接到以太坊智能合約平台的必要條件。顧名思義,區塊鏈橋為用戶在主鍊和側鏈之間移動資產提供了一個網關。
要使用橋,就必須在原始鏈上鎖定一些資產。之後,會有等量的資產在側鏈上產生並存入到我們的錢包當中。
我們可以在側鏈上自由交易,利用其優越的交易處理能力。如前所述,側鍊是為提供可擴展性而設計的,並使用不同的機制來實現這一點。
以太坊側鏈:
-
Polygon
-
xDAI
-
SKALE
其他替代的第一層(L1)區塊鏈也可以作為以太坊側鏈,特別是與EVM兼容的區塊鏈。這些L1通常提供更低的gas費用,更好的交易最終性,以及在某些特定情況下更豐富的功能。
兼容EVM的L1:
-
Avalanche
-
Fantom
-
Binance Smart Chain
-
State channel 擴展解決方案
State channel是鏈下的擴展解決方案,在不需要主鏈驗證每筆交易的情況下,允許雙方進行交易。 State channel本質上是一個多重簽名的智能合約,它只在需要的各方同意的情況下執行。
State channel 如何運作?
-
Alice和Bob開一個State channel,Bob每天早上都賣她咖啡。讓我們假設她在channel中存入了0.4 ETH,這筆交易在主網上發布。
-
在開始交易之後,只要他們願意,Alice和Bob可以在鏈下執行交易。唯一需要注意的是,雙方都必須簽署交易,這意味著Alice和Bob必須批准每筆咖啡付款。
-
如果Alice用光了她的存款,她可以在主鏈上發布退出交易。該交易將為channel的最後一個已知狀態,然後記錄該狀態以確定是否結束。 Alice和Bob可能已經進行了十幾次交易,但以太坊網絡只記錄了兩筆交易——進入和退出交易。
State channel允許各方進行安全的鏈下交易,而不必經歷漫長的等待時間和高額的交易費用。它還提高了可擴展性,因為礦工需要處理的交易更少,工作速度更快。
使用State channel的以太坊擴展解決方案:
-
Raiden Network
-
Connext Network
-
Celer Network
-
Plasma鏈
Plasma的白皮書引入了“子鏈”的概念,它起源於主區塊鍊或“根鏈”。雖然Plasma鏈可以驗證交易,但它們依賴於根鏈的安全性。為了證明交易的有效性,子鏈向根鏈提交密碼證明。
Plasma鏈與側鏈類似,因為它們通過智能合約與以太坊區塊鏈連接。使用Plasma鏈需要在子鏈上獲得代幣之前,將ETH鎖在根鏈上的智能合約中。
Plasma被認為是一種L2擴展解決方案,因為它直接從以太坊的基礎層獲得安全性。這就是為什麼它們比側鏈更安全。
Plasma為以太坊主鏈上的每個區塊發布Merkle根。區塊根是我們可以用來驗證交易信息的小塊信息。如果攻擊發生在Plasma鏈上,用戶可以安全退出主鏈,並使用證明提取他們的資金。
使用Plasma的以太坊擴展解決方案:
-
OMG Plasma
-
Gluon Network
-
Validium
Validium類似於ZK-Rollup,在主以太坊層外執行計算,它們之間主要的區別是Validium使用“鏈下數據可用性”,而不是像ZK-Rollup那樣在主鏈上發布壓縮數據。
Validium通過數據供應者在鏈下存儲數據,使它們在某種程度上具有託管性。然而,像StarkWare這樣的一些解決方案使用數據可用性委員會(Data Availability committee, dac)來確保數據提供者行為誠實。
Validium的費用很低,交易速度快(高達100,000 tps)。然而,它們比其他擴展解決方案(如ZK-Rollup)更可信。
使用Validium的以太坊擴展解決方案:
-
DiversiFi
-
Immutable X
可擴展性解決方案有哪些缺點?
以太坊擴展解決方案的兩個缺點:
-
複雜性
許多可擴展解決方案實現起來很複雜,這可能會影響它們的功能。例如,以太坊開發團隊一直在推遲分片的發布日期,因為升級需要大量的工作。
-
較低的安全保障
雖然許多L2和L1擴展解決方案在安全性上依賴以太坊,但它們不能像前者那樣安全。每一種可擴展的解決方案都會以一些元素(如去中心化和安全性)來換取速度。用戶在使用這些平台之前必須充分意識到這些風險。
結論
本指南中涉及的可擴展性項目可能會在以太坊實現可擴展性的過程中發揮重要作用。不過,這是否足以保證長期規模仍有待觀察。
Source:https://www.web3.university/article/a-developers-guide-to-ethereum-scaling-solutions
展開全文打開碳鏈價值APP 查看更多精彩資訊