今天主要是從一個自上而下結合時間發展的視角整理了以太坊擴容方案,內容涵蓋了一些市場如今已經不再提及的舊方案,有些可能大家聽都沒聽說過。但我認為把大框架和相互邏輯理清楚是非常重要的,這有助于我們理解擴容的發展經歷了哪些創新和組合,遇到了哪些問題,不同時期市場的關注點是什么,以及為何目前Rollup方案勝出。這些也都有助于我們看清大方向。
個人在做research的時候,發現網上基本沒太多文章從這個角度來全面的匯總和對比。我最初純粹是因為完全不了解擴容,感覺方案很多,各有利弊,有些還很相似,也想不明白為什么,所以花了大量的時間挖不同時期的文章。但這兩周下來,我意識到結合了時間角度的整理對我的幫助特別大。不過今天信息量應該會很大,因為不可避免地會涉及很多的技術和概念,如果能耐心讀完,相信對構建整個擴容賽道的大框架和邏輯梳理很有幫助。
一、起因
在第一層以太坊區塊鏈上,不斷增長的網絡使用需求,導致了網絡擁堵,推高了交易成本。提高存儲、網絡速度和吞吐量是有意義地大規模采用以太坊的基礎。
因此,需要進行擴容。
二、目的
擴容的核心目的便是在保持去中心化和安全性的前提下,提升交易速度和交易吞吐量。
三、擴容方案
擴容方案:可以分為兩大類——On-Chain和Off-Chain
On-chain,鏈上擴容
對區塊鏈本身的性能提升,這需要對第一層主網/以太坊協議進行變更:這就涉及到了“Layer1”。Layer1網絡是底層區塊鏈的別稱。那除了以太坊(ETH),比特幣(BTC)、Solana、Polkadot、Near、Cosmos、Aptos、Sui等都屬于layer1協議,因為它們是所在生態系統中的主要網絡。Layer1協議能夠在自身的區塊鏈上處理并完成交易,同時自帶用于支付交易費用的原生通證。
On-ChainLayer1擴容的可選方案包括:
a.更改共識機制。以太坊升級就采用了這一方案。幾周其前的beacon信標鏈和主網成功合并就是完成了共識機制從pow到pos的轉換。
b.實施分片sharding。分片是一種常見的Layer1擴展解決方案,主要是用于增加交易的吞吐量。這是計算機學中的一種數據庫分割技術,網絡連同上面的節點一起被分割成不同的分片,來平攤工作量并提升交易速度。每個分片處理整個網絡的一部分活動,即每個分片都有自己負責的交易、自己的節點和獨立的區塊。
分片還可以減輕每位驗證者的負擔。每個節點會將完成的工作寫入主鏈,實時共享本地數據。這是之前eth2.0原升級計劃涉及到的的擴容方案,現已被danksharding所取代。
c.擴大區塊規模。使每個區塊能夠處理更多交易。
Layer1擴容需要大費周折。很多情況下,不是所有網絡用戶都會同意這樣的變更。從而可能會導致社區分裂,甚至發生硬分叉。
Off-chain,鏈下擴容
所有的鏈下擴容都是與第一層主網分開實施,無需更改現有以太坊協議。Rollup大致上可以分為兩大類:Ⅰ.側鏈;Ⅱ.layer2二層解決方案。
Ⅰ.側鏈
側鏈是獨立運行的區塊鏈,其安全性全靠自身協議機制。這也是側鏈和目前主流鏈下擴容方案layer2二層擴容最大的區別。
而側鏈作為一條獨立的鏈和一些layer1公鏈相比,區別在于側鏈專門用于處理以太坊的過剩容量,而不是與整個以太坊競爭。這些生態系統與以太坊社區緊密結合,以互補的方式托管以太坊應用。
關于這部分分類,我發現網上很多文章都比較混亂,會把側鏈歸類在layer2中。這部分我主要是參考了以太坊基金會和側鏈白皮書對側鏈的定義。
https://ethereum.org/en/developers/docs/scaling/sidechains/
第二類鏈下擴容是剛才提到的也是大家常聽說的layer2二層解決方案:基本想法是鏈下計算/執行,結果上鏈;離線批量處理。直接從第一層以太坊共識中獲得安全性。那不同的layer2方案會在安全性、擴容效率、去中心化程度、通用性之間尋找平衡。
先來說說側鏈:
側鏈SideChains是一個獨立的區塊鏈,與以太坊主網并行且獨立地運行。
它們通常是為高效處理交易而設計的。與第二層擴容方案最大的不同在于側鏈不會將狀態更改和交易數據發布回以太坊主網,這也是為什么它們并不繼承以太坊的安全屬性。
側鏈通常是選擇犧牲了一些去中心化或安全性來實現高吞吐量。
側鏈主要是通過雙向錨定的跨鏈橋來實現與主網的鏈接、以及互相操作。而這里所謂的雙向錨定式主要是指支持資產的雙向錨定,即資產在主鏈與側鏈之間的互轉。不過這里需要注意一下,實際上資產并非實現真正意義上的轉移,只是通過”一條鏈鎖定,另一條鏈鑄造相同面額資產“的方式來進行”跨鏈“。但凡是架設雙向錨定跨鏈橋的項目都可以被視為側鏈。
我們先來了解一下什么是雙向錨定的跨鏈橋:
這個概念是BlockStream在2014年發表的側鏈白皮書中提出的。雙向錨定是指把主鏈上某筆資產比如10eth鎖定到一個特定地址;同時,在側鏈上提供這筆“鎖定交易”發生的證據,等量的數字資產以wrappedtoken的形式就會在側鏈上被鑄造比如側鏈上mint出了10weth,現在這10weth便可以在側鏈上進行交易了。反之亦然,用戶想在主鏈取出eth時,在側鏈上銷毀同面額的剩余的wrappedeth就可以。
在主鏈鎖定token,在側鏈鑄造token。在側鏈銷毀/燃燒token,在主鏈提取token。
https://medium.com/techskill-brew/layer-2-blockchain-scaling-solutions-channels-sidechains-rollups-and-plasma-part-16-79819e058ef6
側鏈的工作環境和主鏈相同,同樣基于EVM。但側鏈有自己的賬本系統、共識算法腳本合約等。但為了實現各種不同的目標,它們獲得安全性的方式也有所不同。
這里舉幾個例子:
單一托管模式Centralized(basicthirdpartyauthority):這是現階段最簡單的在區塊鏈之間轉移數字資產的方式——將主鏈上的資產發送到一個單一托管方(比如交易平臺),托管方收到這筆資產后,在側鏈上激活等額資產,這筆資產就能在側鏈上流通了。這種方式最大的缺點是過于中心化。
聯盟模式Federation-multisigfederation:聯盟模式是使用公證人聯盟來取代單一的保管方,利用公證人聯盟的多重簽名對側鏈的數字資產流動進行確認。在這種模式中,如果要想盜竊主鏈上凍結的數字資產就需要突破更多的機構,但是側鏈安全仍然取決于公證人聯盟的誠實度。這種方式還是中心化的。
Rodeo攻擊者將200.8枚ETH轉入Tornado Cash:8月27日消息,據CertiK監測,0x2f378開頭EOA地址將200.8枚ETH轉入Tornado Cash,約合33.1萬美元。該筆資金可追溯至7月11日Rodeo Finance的價格操縱攻擊事件。[2023/8/27 12:59:08]
SPV(simplepaymentverification)模式:以上兩種方案都是通過中間人來保證安全的,都屬于中心化的。
SPV(SimplifiedPaymentVerification),即簡單支付驗證則是安全性更高的去中心化方式。
SPV是Nakamoto在《比特幣白皮書》中提到的概念。這也是比特幣底層技術中很重要的一個概念。
SPV是一種用于證明交易存在的方法,它的特點是只需通過少量數據就可以驗證某個特定區塊中交易是否存在。在SPV模式中:
1.用戶在主鏈上將資產發送到主鏈的一個特殊的地址,來鎖定主鏈的該資產。
2.在主鏈上等待一個確認期,是指幣在轉移至側鏈之前,在父鏈上必須被鎖定的期間。此確認期目的是生成足夠多的工作量,讓下一個等待期內的拒絕服務攻擊變得更困難。典型的確認期的量級可以是一或兩天。
當父鏈上生成了特殊輸出后,用戶等待確認期結束,然后在側鏈上生成一個引用該輸出的交易,提供出一個它已被創建并在父鏈上被足夠工作量覆蓋的SPV證明,確認期是一個依側鏈而定的安全參數,要在跨鏈交易速度和安全性間做權衡。
3.主鏈確認期結束資產確定被鎖定后,會創建一個SPV證明并發送到側鏈上。然后一個對應的帶有此SPV證明的交易會出現在側鏈上,這筆交易就在側鏈上生成了相同價值的側鏈代幣資產。
4.生成的側鏈資產先處于鎖定狀態,接下來,用戶必須等待一個競賽期。這個期間,新轉移過來的幣不能在側鏈上花費。競賽期的目的是防止重組時出現雙花,在重組期間轉走先前鎖定的幣。在這個延遲期內的任何時刻,如果有一個新的工作證明發布出來,對應的有著更多累計工作量的鏈中沒有包含那個生成鎖定輸出的區塊,那么該轉換將被追溯為失效。我們稱此為重組證明,需要等待一個競爭期來防止雙花。如果在競爭期內,用戶把主鏈上鎖定的幣轉走,其他用戶可以用最新的SPV證明此事,則側鏈鑄幣交易失效,稱此證明為重組證明。
只要有可能,所有側鏈上的用戶都會有動力來制發重組證明,因為對不良證明的承認會稀釋所有幣的價值。
5.典型的競賽期也是一或兩天。競爭期結束后,側鏈代幣生成,可以在側鏈內自由轉移,不需要與父鏈進一步交互。不過,它仍保留著父鏈幣的身份,僅能轉回到它所來的那一條鏈上。
6.當用戶想把幣從側鏈上轉回父鏈時,流程重復上述步驟:在側鏈上將幣發送至一個SPV鎖定的輸出,產生一個充分的SPV證明來表明該輸出已完成,使用這個證明來解鎖父鏈上先前被鎖定的那個等面值的輸出。
驅動鏈模式Drivechain:驅動鏈概念是由BitcoinHivemind創始人PaulSztorc提出的。在驅動鏈中,礦工作為‘算法代理監護人’,對側鏈當前的狀態進行檢測。礦工相當于資金的托管方,驅動鏈將被鎖定資產的監管權發放到礦工手上,并且允許礦工們投票何時解和將解鎖的資產發送到何處。礦工觀察側鏈的狀態,當他們收到來自側鏈的要求時,他們會執行協調協議以確保他們對要求的真實性達成一致。誠實礦工在驅動鏈中的參與程度越高,整體系統安全性也就越大。
混合模式:驅動鏈+公證人/側鏈而混合模式則是將上述獲得雙向錨定的方法進行有效的結合的模式。由于主鏈與側鏈在實現機制存在本質的不同,所以對稱的雙向錨定模型可能是不夠完善的。混合模式是在主鏈和側鏈使用不同的解鎖方法,例如在側鏈上使用SPV模式,而在主鏈網絡上則使用驅動鏈模式。
數據可用性:
在數據有效性方面,因為側鏈說把數據存儲在側鏈上,并不錨定回,所以只能由側鏈自己的的validator來保證,安全性就弱了很多。
側鏈項目:
Polygon-項目范圍從單一的Layer2plasma解決方案,最終擴展為目前的一種擴容框架,可用于創建與以太坊兼容的區塊鏈網絡和擴展解決方案。其目標是為圍繞以太坊打造一個像多邊形一樣的多鏈網絡現在正在開發7種擴容方案。其中PolygonPOS側鏈算是賽道龍頭。Polygon團隊認為,在未來,以太坊仍然是高價值交易和價值存儲的主導區塊鏈,而日常交易將轉移到Polygon的低成本區塊鏈。所以polygonpos側鏈是通過協助以太坊擴容提供價值,而非直接和以太坊主網競爭搶奪市場。
GnosisChain-前身是xDai側鏈,后與Gnosis合并開發的GnosisChain。低成本和以太坊兼容是gnosischain兩個主要的賣點。
Skale-定位賽作為以太坊的“彈性側鏈網絡”,能夠支持成千上萬個獨立區塊鏈、側鏈、存儲鏈和其他類型子鏈。這些區塊鏈都與以太坊主網相連接,并且完全兼容以太坊生態。
Palm-以太坊聯創JosephLubin、ConsenSys創始人、電影制片人兼HeydayFilms所有者DavidHeyman,藝術科技集團HENIGroup創始人JoeHage。這是一個允許用戶建立NFT的以太坊側鏈。
Ronin-由鏈游AxieInfinity開發商SkyMavis推出的以鏈游為主的側鏈。由于游戲需要快速交互和低手續費,以擴展和促進每天發生的成千上萬甚至數百萬的交易活動。用戶體驗必須是友好絲滑的。所以團隊干脆自己動手上。
分片鏈-在原eth升級方案中的分片鏈,也屬于eth自己的側鏈變體。
優缺點:
+ve:
1)側鏈的兼容性是非常好的,支持通用計算,EVM兼容,可以支持智能合約。
2)涉及到大規模復雜的交易,側鏈的tps可以達到非常高。比較側鏈的設計本就是犧牲了一些去中心化或安全措施來實現高吞吐量。
3)側鏈的設局主要是為了減少了主鏈上的擁堵,降低了每個人的成本,增加了以太坊生態系統的可用性和可擴展性。
4)開發人員還可以使用側鏈來探索和測試主鏈上不可用的新特性和用例。比如最早側鏈的概念是怎么出現的?就是2012年,當時比特幣的核心開發團隊正在考慮如何可以安全的升級比特幣協議,以增加新的功能,但是擔心直接在比特幣區塊鏈上進行功能添加比較危險,因為如果新功能在實踐中發生軟件故障,會對現有的比特幣網絡造成嚴重影響。另外,由于比特幣的網絡結構特性,如果進行較大規模的改動,還需要獲得多數比特幣礦工的支持。這時,比特幣核心開發者便提出了側鏈方案。
所以最早側鏈本就是允許開發人員探索性質地將新功能附加在其他的區塊鏈,再將這些側鏈附著在現有比特幣區塊鏈上。以保護比特幣父鏈網絡。
-ve:
1)側鏈和以rollup和channel之間的主要區別在于,rollup和channel都繼承了以太坊主網絡的安全性,但側鏈因為采用自己的的共識機制,通常是為特定類型的交易設計的,這也意味著它們通常不會繼承以太坊的安全屬性。從技術上而言,側鏈方案不屬于layer2。
A股收盤:深證區塊鏈50指數下跌1.48%:金色財經消息,A股收盤,上證指數報3312.63點,收盤上漲0%,深證成指報11866.31點,收盤上漲0.06%,深證區塊鏈50指數報3592.84點,收盤下跌1.48%。區塊鏈板塊收盤下跌1.24%,數字貨幣板塊收盤下跌1.12%。[2023/4/6 13:48:17]
2)去中心化程度低。
3)和通道方案比起來,側鏈的隱私性弱一些,因為在側鏈上,每筆交易都會發布到側鏈上,無論是否跟側鏈上的所有參與者交互,交易都會被側鏈上每個參與者接收。
Ⅱ.Layer2二層解決方案
基本想法是鏈下計算/執行,結果上鏈;數據離線批量處理。這種方式是直接從第一層以太坊共識中獲得安全性,方案包括:
A.Channel通道
這是一個非常早期、存在已久的區塊鏈擴展方案,他最出名的應用是比特幣的閃電網絡。更注重安全性,而非可用性。
參與者必須將以太坊的一部分狀態,如ETH存款,鎖定在一個多簽合約中。鎖定初始狀態是第一個交易,并打開了通道。然后參與者可以在鏈下快速自由地進行交易。當互動結束后,把最終狀態提交上鏈,關閉通道。
這邊可以再細分為兩種支付通道PaymentChannel和狀態通道StateChannel:
PaymentChannel:現在主鏈上建一個多簽合約地址,比如,A和B創建了這樣的多簽合約,資金只有經過他倆共同同意才能轉移。把各自的錢存進去,假設A和B各存10eth,這個初始狀態就相當于是打開了一個支付通道。然后在鏈下他們之間進行了幾十甚至上千筆交易,每筆交易雙方都需要簽名和蓋時間戳。最后A有5ethB有15eth。但他們不需在區塊鏈上記錄這么多筆交易,只用記錄兩筆——初始資金交易和所有交易結束后的最終余額分配。當他們把最終余額上傳到主鏈,相當于關閉了這個支付通道。
對于A和B來說鏈下的那些交易沒有手續費并且幾乎即時成交。雙方無需支付礦工費用,也不必等待區塊確認。
StateChannel:這其實是對PaymentChannel的一種衍生,從名字就可以判斷,這種方案是圍繞“狀態”,也就是說不僅僅是交易狀態,也可以是游戲狀態、獲活動狀態等。舉個例子,開始一場五子棋游戲,他們需要先創建一個新的“評判”程序,并為其提供初始投注,這樣就算開啟狀態通道了。他們走棋的過程不會作為交易提交給區塊鏈。但每走一步雙方都需要簽名且附上時間戳,然后再走下一步。只有當程序根據規則判定一方勝出時,結束游戲,a和b簽署一個狀態更新,根據游戲的結局簡單地分配投注。這就相當于狀態通道關閉了。
數據可用性DataAvailability:
所有的數據存在Layer2,由Channel雙方保證DA
狀態有效性StateValidity:
Channel結束后任何一方都可以提交最終狀態到Layer1,但是Layer1不驗證,而是會先要求提交者質押。然后會有一周的時間進行FraudProof,任何一個人可以對著筆結算疑然后提交證明。這個質疑是可驗證的。剛才提到了,每一筆線下轉賬和行為都需要雙方簽名,并且附加上時間戳。所以但凡質疑者提供的欺詐證明顯示是簽過名且**時間比之前的更新,**這就是一個可驗證的欺詐證明。這個證明就會成為最新狀態,同時先前提交狀態的那個人質押的幣會被扣除。
Channel項目:
BTC的閃電網絡lighteningnetwork
優缺點:
+ve:
1)通道主要面向高頻、小額支付。
2)節省了大量交易時間和費用。尤其是交易費用方面,創建通道有初始成本。但是一旦部署了,通道內部每個狀態的更新都非常便宜。鏈上實際只記錄兩筆交易。
3)狀態有效性SV可以通過欺詐證明得到很好的保證。
4)狀態通道有很強的隱私性能-因為任何事情都是發生在通道中的,而不是公開廣播并且記錄在鏈上。只有打開和關閉轉賬必須是公開的。但是在側鏈系統中,每筆轉賬都是發布在側鏈上的,然后側鏈上的每個參與者都會收到,
5)狀態通道有即時的最終確定性-也就是說只要兩方簽署了狀態更新,就能認為狀態結束了。
-ve:
1)提幣慢,還需要1周時間進行欺詐證明才能提幣
2)對于偶爾轉賬給對方的用戶來說,創建和結算通道的時間和經濟成本都比較高,不太友好。因為你還需要創建多簽合約,簽名,設計評判程序…
3)不支持開放式參與。通道不能用于向尚未參與的人發送鏈下資金
4)TPS一般,更適合少數參與者,如果是大規模的復雜的交易性能就跟不太上。
5)不支持智能合約,畢竟不是一個鏈。
6)狀態通道需要所有參與者100%的在線,如果參與者中途離開也會被扣除質押代幣。
7)通道不能用于表示沒有明確邏輯所有者的對象。所以說通道只通道不能用于表示沒有明確邏輯所有者的對象適合用于有已定義好參與者集的應用,雖然說可以添加和移除參與者,但是需要每次都對合約進行改變。
B.Plasma
由于Channel“無法支撐大規模、大資金和復雜交易”的局限性,Plasma方案應運而生。其結合了側鏈的一些設計,解決了將資產發送給任意目標人的問題,同時也能夠確保TPS的提升。事實上在開發者們研究Layer2解決方案的開始很長一段時間里,Plasma一度被認為就是“therightone”。
但隨著后來因為一些硬傷被Layer2取代了,這邊來簡單給大家說說:
Plasma是一條獨立的區塊鏈,最初的設計也是想保留側鏈的主要用途,可以通過鏈下交易來擴容,同時能一定程度解決側鏈自身的安全性問題因此在取舍后放棄了側鏈的一些性能,卻通過區塊錨定回主網來增加安全性。他和側鏈最大的2點不同在于:
1)側鏈使用橋的方式來和主鏈交互資產,但側鏈的安全性依靠自身的共識機制。而且側鏈往往比主網小很多。但plasma將自身的每一個區塊的狀態信息以區塊根的形式發布到以太坊主網。因此在以太坊主網上是可以確認到plasma鏈上的狀態信息的。因此Plasma鏈也被稱為"子"鏈,因為它們本質上是“父鏈”以太坊鏈的較小復制。這意味著它繼承了主鏈的部分安全性,所以也屬于layer2的方案。
2)plasma上是不支持智能合約的,僅支持基本的代幣轉移、交換和其他一些交易類型。
無限創建“鏈中鏈”:
每一條Plasma可以無限創建更多的子鏈,以減輕父鏈的工作量,每條子鏈都有一個叫做“Operator”的角色。
運營商周期性的“狀態承諾”:
所有鏈下交易會先匯總到子鏈的運營商,然后運營商周期性地把子鏈計算結果匯總,通過默克爾樹的形式打包壓縮成一個區塊根,最后將區塊跟提交回主鏈做狀態記錄。也就是所謂的周期性的提交”狀態承諾“。通過這樣的方式,無論在兩次提交期間,子鏈上發生了多少筆交易,子鏈只需要將交易執行造成的狀態信息提交到主鏈上即可。而交易的數據是不會提交給主鏈的。
CZ:Binance AI產品Bicasso Beta版本現已上線:3月1日消息,CZ 在社交媒體上宣布 Binance AI 產品 Bicasso Beta 版本現已上線。Bicasso 可利用 AI 技術將用戶的創意設想生成 NFT,鑄造上限為 1 萬枚。[2023/3/1 12:36:41]
入口——主網合約:
像側鏈一樣,Plasma使用在以太坊上運行的主合約來處理用戶的進入和退出。用戶必須在主合約中存入ETH或任何ERC-20代幣。監視合約存款的Plasma運營商重新創建與戶的初始存款相等的金額,并將其釋放到用戶在Plasma鏈上的地址。
退出——欺詐證明:
然后在推出plasma鏈,也就是取款的時候,plasma引入了之前提到的“挑戰期”,通過欺詐證明的方式來懲罰不誠實行為、保證狀態有效性。該主合約還負責跟蹤狀態承諾并通過欺詐證明懲罰不誠實行為。「欺詐證明」意味著任何人在這段挑戰期內,都可以通過默克爾樹校驗的方式來提交證明用戶資產的退出是不合法的。
DrawnbyRJ
狀態根StateRoot:
首先剛才提到了Plasma在主鏈上擁有一個(或者一系列相互關聯的)合約,用來維護plasma子鏈中的狀態記錄,這個狀態記錄實際上是一棵默克爾樹的根節點存儲的哈希值,這個哈希值被稱為stateroot。
具體解釋:默克爾樹,在二叉樹的葉子節點上記錄著當前rollup層賬戶的狀態信息。
對于每兩個狀態信息(例如State1/State2),我們可以根據某種哈希公式計算出一個唯一的哈希值(eg:Hash(1,2))來作為這兩個葉子節點的父親節點,依次一層一層往上類推,最終得到一個哈希值存儲在根節點中:你不需要知道怎樣計算哈希值,你只需要記住幾件事情。
1)任何一個狀態的變化都會導致Roothash發生變化。
2)如果兩棵樹的根哈希值相同,那說明他們的葉子結點存儲的信息完全一致。
3)根據根節點的哈希值和下載相鄰哈希值,我們可以確認某一個狀態信息存在于這棵哈希樹中。
DrawnbyRJ
當rollup上發生交易的時候,會產生新的stateroot。任何子鏈的用戶這時候都可以根據自己在子鏈上下載記錄的交易信息來對比、證明新的狀態根是否正確。(因為剛才提了,但凡記錄的交易/葉子節點上完全一致的,根哈希值一定會相同。
為了保證他們的資金完全安全,用戶需要每隔一段時間觀察一次等離子鏈,去記錄鏈上的交易信息。這包括運行一個自動同步等離子鏈并確保一切按預期運行的軟件。用戶應至少每隔幾天運行一次該軟件,但具體時間取決于PlasmaMVP智能合約設置的參數。
如果等離子鏈運行正常,那么用戶不需要做任何其他事情。但是,如果出現不可逆轉的錯誤,那么用戶的錢包將自動開始從Plasma鏈中提取資金。這種自動取款保證了用戶資金的安全,即使在最壞的情況下,當惡意運營商試圖竊取資金時也是如此。
數據不可用:
但Plasma有一個很大的問題,就是數據的不可用性。欺詐證明有效預防了用戶作惡,也能保證只要有還有哪怕一個誠實節點,就能保證鏈的安全性。但如果是運營商作惡,同時用戶/驗證者沒有可以證明真實性的相關交易信息呢?由于用戶可以提交欺詐證明的前提是用戶自行記錄了子鏈上的交易數據+運營商將所有真實交易數據打包上主鏈,所以當運營商作惡提交無效數據時,只要將防欺詐所需的相關信息隱藏,網絡中的用戶便無法拿到真實信息來證明交易是無效的。
大規模退出:
由于“運營商作惡”這個問題在plasma方案中無法有效預防,只能想解決辦法。plasma就設計了一套“大規模退出”“massexit“方案,但這個方案又有可能引發以太坊本身的全網擁塞…
Plasma項目:
Matic最早期就是使用plasma,區塊鏈研究人員此后不久發現了數據可用性問題,導致Plasma被其他解決方案棄用。改名后,polygon項目就轉為全方面,全站式擴容方案。
優缺點:
+ve:
1)提供高吞吐量和
2)每筆交易的低成本。
3)適用于任意用戶之間的交易。使用的人可以將資產發送給plasma以外的人,收款者可以在任何時間點,回到plasma只要拿著收款證明,去兌現就可以。而如果兩者都建立在等離子鏈上,則每個用戶對沒有開銷。所以plasma也可以適應與主鏈無關的特定用例。包括企業在內的任何人都可以定制Plasma智能合約,以提供可在不同環境中工作的可擴展基礎設施。
4)不需要像channel去提前鎖定資金.
5)安全性高,plasma的安全性某種程度上依賴于主網。側鏈的validator定期將狀態樹根stateroot傳到主鏈,但主鏈不去驗證,允許任何人在一周內提交質疑,和欺詐證明。以此來保證sv狀態有效性。
-ve:
1)無法運行智能合約。plasma僅支持基本的代幣轉移、交換和其他一些交易類型。
2)固定提交周期,如果在這個周期內去支付,支付是不會被確認,需要等周期到了才可以。
3)提款慢,通常需要等7天,以允許提交質疑和欺詐證明。
4)需要定期觀察網絡或將此責任委托給其他人以確保資金安全
5)依靠一個或多個運營商來存儲數據并根據要求提供服務。
6)如果太多用戶試圖同時退出,以太坊主網可能會變得擁擠。
所以這邊可以看出來,Plasma和Channel通道對比,核心優勢在于:用戶可以將資產發送給從未參與過系統的參與者,并且資本要求要低得多。但代價是:Channel通道不需要任何數據在鏈上運行,但Plasma要求每條鏈定期發布一個哈希值。此外,Plasma轉賬不是即時的:用戶必須等待挑戰權結束。
但plasma自身最核心的問題是,Plasma子鏈為了提升效率,只會定期提交其狀態結果上主鏈,而非所有交易數據。但是這樣做的代價是Plasma無法建立和以太坊主鏈同一級別的信任,因為確保”數據有效性“的重任就落到了”運營商“身上,而非以太坊主網。但運營商是存在動機去作惡的。
于是乎,就有了roll-up方案…
C.Roll-Up:
Rollup是目前最主流的擴容方案,可以算是原始主鏈處理方式和Plasma方式的折中:他和plasma一樣在以太坊主鏈之外執行交易,然后將多個交易成批處理在一起,最后將它們的狀態發送回以太坊主網絡。但是不同之處在于,1)roll-up也會將交易數據提交給主鏈,2)rollup會最大限度壓縮這些交易數據,同時基于Rollup本身的特性適當刪除和縮減一部分數據,只要保證最終的提交能夠上主鏈從而供任何人驗證即可。
礦企Cleanspark:哈希率現已超過每秒 5 exahash(EH/s):10月26日消息,比特幣礦企Cleanspark宣布,該公司的哈希率現已超過每秒5 exahash(EH/s),比公司最初的年終目標提前了兩個多月。
此外,Cleanspark還表示,目前的目標是通過將礦工的哈希率目標提高10%,到年底超過5.5EH/s。[2022/10/26 16:39:32]
因此,Rollup的安全性要比Plasma高。而他的核心優勢也就是同時保證了狀態有效性+數據可用性。
Roll-up具體上怎么實現的呢?
StateRoot(先前提到過):
首先Rollup在主鏈上擁有一個(或者一系列相互關聯的)合約,用來維護Rollup層中的狀態記錄,這個狀態記錄實際上是一棵默克爾樹的根節點存儲的哈希值,這個哈希值被稱為stateroot。
具體解釋:默克爾樹,在二叉樹的葉子節點上記錄著當前rollup層賬戶的狀態信息。
對于每兩個狀態信息(例如State1/State2),我們可以根據某種哈希公式計算出一個唯一的哈希值(eg:Hash(1,2))來作為這兩個葉子節點的父親節點,依次一層一層往上類推,最終得到一個哈希值存儲在根節點中:咱不需要知道怎樣計算哈希值,咱們只需要記住幾件事情。
1.任何一個狀態的變化都會導致Roothash發生變化;
2.如果兩棵樹的根哈希值相同,那說明他們的葉子結點存儲的信息完全一致(因此只需要對比兩個根節點哈希值就可以確認底層狀態信息的一致性;
3.根據根節點的哈希值和下載相鄰哈希值,我們可以確認某一個狀態信息存在于這顆哈希樹中。
DrawnbyRJ
Batch:
當rollup上發生交易的時候,會產生新的stateroot。
但是如果每發生一筆交易就簽名并在主鏈更新一次stateroot,產生的成本反而會比將這些交易在Layer1上執行還要高。
所以rollup中產生的交易就被按批次打包匯總,同時根據這批交易全部執行完成后的狀態,會產生一個新的stateroot。無論是誰將交易打包提交給主鏈上的智能合約,他都需要計算這個新的stateroot,并將其和上一個stateroot以及交易數據一并提交。
這一部分的打包被稱為一個”batch”,運營商將batch提交給Rollup合約后,主鏈會去驗證新的stateroot是否正確,如果通過驗證,則將stateroot更新為最新提交的stateroot,并最終完成一次rollup內的狀態轉移確認。
所以,Rollup的實質是將一大筆實際產生的交易匯總成一筆主鏈上的交易,這些交易由Rollup鏈來執行和計算,但會將數據提交給主鏈。這樣既利用了主鏈的共識和安全性,同時提升了實際上的交易效率,降低了交易成本。
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
壓縮:
這兩種技術方案能夠做到擴容,核心都是交易數據的壓縮和打包。這是因為以太坊的區塊gaslimit是有上限的,壓縮后的交易越小,一次能提交給主鏈的交易就越多,平攤的費用越低。那么如何做到這一點呢?
以下是Vitalik在其文章中描述的一種zk的壓縮模式,作為例子幫我們理解:
以太坊主鏈上一筆簡單的交易通常消耗約112字節。然而,在zk-Rollup上發送ETH可以縮減到約12字節。
https://vitalik.ca/general/2021/01/05/rollup.html
達到這樣的壓縮效果,一方面是采用了更簡單高級編碼,另一方面,還有一些巧妙的壓縮技巧。
這個圖表很有意思,不考慮rollup,一般在以太坊網絡上交易會涉及到這些參數:
Nonce:此參數的目的是防止重放。如果一個賬戶的當前nonce是5,那么來自該賬戶的下一筆交易處理后,賬戶中的nonce將增加到6。nonce一般來說可以到幾千幾萬,但它是通過rlp編碼可以動態縮短字節,所以以太坊網上的nonce大約是在3字節左右
Gasprice:是以10的負18次方為單位的一個數,也是rl編碼,大概是8字節
Gas:這邊指的是你愿意付出的gas個數,一般都不多。一般以太坊一個block的gas上限是允許2千萬個gas。一般一個轉賬交易gas差不多是2萬,調個合約差不多是10萬-20萬,頂多幾十萬。所以這邊平均差不多3個字節
To:以太坊上一個地址差不多是21個字節,而且以太坊地址范圍很大
Value:指的是轉賬時的錢數,很多時候調合約value都是0,因為你不需要往合約里轉賬。但比如我轉5eth給你,那value就有個值。單位也是10的負18次方,rlp編碼,9個字節差不多
Signature:簽名就比較固定差不多68個字節
所以這樣算下來,一個eth交易差不多112個。因為roll-up是往L2發,所以只要能表達出完整信息,L2方案是可以自定義格式的。但是這些信息他可以挑選,和壓縮。比如:
Nonce:在rollup中可以完全省略nonce。因為完全可以從pre-state中恢復nonce。
GasPrice:可以在每批中設置一個固定的費用水平,或者甚至將gas支付完全移到匯總協議之外,并讓交易者通過渠道向批次創建者支付費用。
Gas:可以在batch層面設置gas限制,選擇一些特定的值,
To:可以通過默克爾樹上的索引來替換20字節的地址(例如,如果地址是添加到樹中的第4527個地址,我們只需使用索引“4527”來引用它。就可以限制到4個字節
Value:錢數把單位改一下,或者用其他技術法來存儲。
Signature:使用BLS聚合簽名,將多個簽名整合為一個。然后可以一次性地針對整個消息批次“batch”驗證簽名。因為每個區塊中可驗證的聚合的簽名數量上限是100,所以即使包含100筆簽名的大批次也能聚合成一筆簽名。
最后省下來差不多12個字節。其實相當于限制了精度,但信息范圍不變,依舊幾乎表達了完整的信息。這就是rollup為什么能擴容的重點。但這擴容的原因主要是因為在主鏈上,calldate是有限制的,因為calldate它每個字節都會消耗主網上的一點gas,而主鏈上一個blcok的總gas數上有限制的。所以就限制了calldata能包括的字節的總數。
STEPN注冊用戶總數達472萬,累計運動里程6700萬英里:9月23日消息,基于Solana的Move To Earn應用STEPN周四發布關鍵數據,用戶在該應用程序上記錄超過6700萬英里(108,017,738公里)的運動里程,在2022年6月2日達到100萬用戶的歷史新高,注冊用戶總數達到472萬。(The Block)[2022/9/23 7:16:19]
這些壓縮技巧是rollup擴容的關鍵,如果我們不對交易數據進行壓縮,rollup或許只能在主鏈的基礎上的有大約10倍的提升效率,但有了這些壓縮技巧,才能做到100倍甚至更高的壓縮效率。
Dataavailability:
如何驗證提交的信息是正確可用的?
Roll-up和plasma的一大不同在于它也提交了交易數據上主鏈,來保證任何人可以驗證。那現在就涉及到了如何驗證提交的信息是正確可用的?
對于這一問題,大體上有兩種解決方案,而根據解決方案的不同,rollup也被分成了兩類:Optimisticrollup樂觀卷疊和Zero-knowledge(ZK)rollup零知識證明卷疊。
a)Optimisticrollup顧名思義,它們樂觀地假設所有交易都是有效的,并在沒有任何初始證明的情況下提交批次。任何人可以在挑戰期內,檢測并證明有數據是虛假的。
DrawnbyRJ
如果批處理被證明是有欺詐性的,那么Optimisticrollps會執行欺詐證明,并使用以太坊主鏈上的可用數據運行正確的交易計算。
還可以用剛才這個圖來解釋optimisticroll-up中的欺詐證明構建:
batch所包含的信息包括了pre-stateroot,poststateroot,和交易信息。
根據pre-stateroot這一部分能夠構建完整的默克爾樹。
根據交易信息,我們可以模擬執行batch中提交的交易,從而得到了新的賬戶狀態,得到新的默克爾樹,得到新的stateroot。
將上一步得到的stateroot和batch中的stateroot進行比對從而驗證batch中的是否正確。
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
https://vitalik.ca/general/2021/01/05/rollup.html
為了威懾提交者不作惡,提交者往往需要質押資金,當他的提交被驗證為錯誤時,一部分質押資金將會被扣除作為懲罰。同時,提交了相應欺詐證明的驗證者會得到被扣除的押金,以此來激勵監測和提交欺詐證明的行為。
如果我們將OR和Plasma進行比對,我們會發現一些相似性,例如他們都使用了欺詐證明機制,需要有一個驗證者的角色來監測OR給主鏈的提交。但由于OR同時向主鏈提交了交易數據,所以OR上的驗證者不需要在自己去保存記錄OR上的交易。
DrawnbyRJ
優缺點:
+ve:
1)提供高吞吐量
2)和低交易成本
3)roll-up交易數據存儲在第1層鏈上,提高了透明度、安全性、抗審查性和去中心化性。在不犧牲安全性或不信任的情況下提供可擴展性的巨大改進。
4)optimisticrollup的欺詐證明保證了去信任的最終性,狀態的有效性,而且并允許誠實的少數人保護鏈
5)optimisticrollup也通過將交易數據上主網保證了數據的可用性。
6)與EVM和Solidity的兼容性允許開發人員將以太坊原生智能合約移植到匯總或使用現有工具來創建新的dapp。
-ve:
1)提款慢,通常需要等7天,以允許提交質疑和欺詐證明
2)安全模型依賴于至少一個誠實節點執行匯總交易并提交欺詐證明來挑戰無效狀態轉換。
3)Optimisticroll-up必須在鏈上發布所有交易數據,也需一定的成本。
OptimisticRollup項目:
b)另一類Roll-up解決方案是Zero-Knowledgerollup(ZKrollup)
先來說說什么是零知識證明ZKP?
零知識證明是現代密碼學的一個重要組成部分,它指的是證明者能夠在不向驗證者提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
證明者向驗證者證明并使其相信自己知道或擁有某一消息,但證明過程不能向驗證者泄漏任何關于被證明消息的信息。通俗的來講就是:
既證明了自己想證明的事情,同時透露給驗證者的信息為"零"。eg數獨
完備性
可靠性
零知識性
與OptimisticRollup不同,ZKRollup要求提交者在提交batch(zkrollup也是將交易捆綁成批次,鏈下執行,一同上鏈)時除了交易數據以及post/previousstateroot之外,還要攜帶一個“有效性證明”。有效性證明被提交到主網的roll-up合約后,任何人都可以使用它來驗證zkRollup層中特定batch的交易是否正確。證明可以在提交batch幾分鐘后完成,驗證成功后主鏈rollup合約會將Stateroot更新為提交的最新數據。這基本等同于省略了驗證人的工作,在提交的同時完成驗證。
這意味著:1.zkRol-Up省略掉了驗證者保存數據,在挑戰期提交欺詐證明的環節;2.也不再需要在提交后再等待7-14天來做驗證。所以交易速度也比其他L2方案快很多。
DrawnbyRJ
目前市面上有兩種零知識證明的解決方案:
zk-SNARK是簡潔非交互式知識論證的縮寫。該種方案的特性是簡潔的,即驗證過程不涉及大量數據傳輸以及驗證算法簡單,這就意味著驗證時間不會隨著運算吞吐量而成倍增長。
zk-STARK是可擴展的透明知識論證,是作為SNARK的替代版本而創建的。與SNARK的Succinct的“S”不同,STARK的“S”代表的是Scalable,主要表現在STARK生成證明時間復雜度近似于計算的復雜度,而驗證證明的時間復雜度遠小于計算的復雜度。也就是說隨著STARK擴展性提高,STARK的證明復雜度并沒有相應增加。
但由于零知識證明這部分涉及到很復雜的底層技術和密碼學概念,所以這個日后可以單拎出來再做個分享。今天這邊就簡單說一下,不進入具體細節。
總之,我們知道ZKrollups特有的幾個重要壓縮技巧是:
1.生成的證明體積遠遠小于證明內容的體積。
2.如果事務的一部分僅用于驗證,并且與狀態更新無關,那么該部分可以下鏈,從而減少字節。但這不能在optimisticroll-up中完成,因為該數據仍然需要包含在鏈上,以防以后需要在欺詐證明中進行檢查。
但zk的挑戰在于生成、以及驗證一個zk證明本身需要非常非常大量且復雜的計算,這也是為什么目前ZK-Rollup研發進度和實際應用都非常慢的原因之一。而且正因為其技術上的復雜性,并不是隨便一種語言,編譯環境,虛擬機,指令集都能夠無縫支持完成以上提到的過程,需要做額外的適配,這導致zk項目天生就很難兼容evm。
這邊是@W3.Hitchhiker團隊做的一個不同方案的費用和TPS對比:
https://w3hitchhiker.mirror.xyz/7dwD76ZZIlR7ep731K6y9vTTuXGHOojxWSnkXKzqPzI
優缺點:
+ve:
1)有效性證明確保鏈下交易的正確性。
2)由于省略了驗證者的工作和挑戰期這個概念,一旦在L1上驗證了有效性證明,就會批準狀態更新,從而提供更快的交易最終確定性。
3)OR的數據可用性來自于經濟學。為了能夠良好的運轉,OR必須設計合理的激勵機制驅使一批主鏈上的驗證人隨時監測提交者,并準備提交欺詐證明,而zk的數據可用性依賴于密碼學和代碼。
4)安全性依賴于主網的安全性和共識。因為恢復鏈下狀態所需的數據都存儲在L1上,從而保證安全性、抗審查性和去中心化。
5)更好的數據壓縮有助于降低calldata在以太坊上發布的成本,并最大限度地減少用戶的匯總費用。屬于目前壓縮能力最強,效率最高的方案
6)所以用戶交易費用也低。
-ve:
1)由于其有效證明所需計算量大,復雜度高,所以開發速度慢
2)因此應用不廣泛。不像op有那么多的應該和迭代
3)目前很難支持以太坊虛擬機,使其難以運行智能合約、DeFi協議等去中心化應用程序。
4)硬件方面的中心化風險。生成有效性證明需要專門的硬件,硬件壟斷有可能會導致對鏈進行集中控制。
ZKRoll-Up項目:
datafromhttps://l2beat.com/scaling/tvl/,22/09/2022
Rollup小總結:
現在就能明白為什么Roll-Up方案能夠取代Plasma方案:
1)效率-zk-rollup會生成鏈下交易處理的有效性證明。直接省略了運營商打包數據、發布“狀態承諾”和用戶欺詐證明提交的環節,從而消除挑戰期和退出機制的需要。這也意味著用戶不必定期觀察鏈來保護他們的資金。
2)支持智能合約-Plasma的另一個問題是無法支持以太坊智能合約的執行。Optimisticroll-up與以太坊虛擬機兼容,甚至現在不少zk項目也在推進zkEVM的實現。使其成為更理想的、即安全又有用的去中心化擴容方案。
數據不可用-如前所述,Plasma存在數據可用性問題。如果惡意運營商在Plasma鏈上提交了無效數據,用戶將無法質疑并提交欺詐證明。Rollups通過強制運營商在以太坊上發布交易數據來解決這個問題,允許任何人驗證鏈的狀態并在必要時創建欺詐證明。
3)大規模退出問題-ZK-rollups和OptimisticRollups都以不同的方式解決了Plasma的大規模退出問題。例如,ZK-rollup的加密機制確保運營商在任何情況下都無法竊取用戶資金。
同樣,optimisticrollup對提款施加了延遲期,在此期間任何人都可以發起挑戰并防止惡意提款請求。雖然這類似于Plasma,但不同之處在于驗證者可以訪問創建欺詐證明所需的數據。因此,roll-up方案不會涉及到有可能損害主網絡的“大規模推出”。
V神這幾年也強調了未來以太坊的發展路線將是以rollup為中心,底層鏈為區塊的數據可用性提供保證,而Rollup為區塊的擴容和有效性提供保證。
然而…
隨著向layer2大規模遷移的推進,即便是壓縮能力強的rollups,最終還是會回歸到相同的擴容問題——因為rollup交易數據仍必須傳播到所有完整節點,其擴容程度依舊受到以太坊的數據處理能力的限制。
與主網相比,Optimisticrollup可以實現25倍的可擴展性升級,zkrollup可以實現100倍,約3000TPS。
可以說Rollup方案們在擴容方面提供的是線性增長,而非指數級的。那有沒有可能夠既保證性能,又提供指數級的擴容增長?
于是StarkWare團隊又首創了Validium方案,一個有可能達到2-3萬tps的鏈下擴容方案…
D.Validium鏈
它的運行方式類似于ZKrollup,也通過發布零知識證明來驗證以太坊的鏈下交易,但是最主要的區別在于Validiums的數據可用性是鏈下的。因為這樣吞吐量不受以太坊數據處理能力的限制,從而提高擴展性、交易速度、降低用戶費用等目的。
存款和取款:
存款和取款也和rollup類似,用戶的存款和取款由以太坊上的智能合約控制。用戶通過在以太坊主鏈合約中存入ETH,在validium鏈上鑄造出與其存款相等金額的代幣。
取款的話,validium用戶將其提款交易提交給運營商。用戶在validium鏈上的資產在退出系統前也會被銷毀。一但批次的有效性證明得到驗證,用戶就可以通過提供merkle證明來調用主合約進行提款。所以和zk-rollup一樣,Validiums提供近乎即時的提款。
Batch批次:
和rollup類似,用戶向運營商提交交易,運營商將交易打包成批次然后提交上主鏈。批次中包括狀態根stateroot/merkleroot和有效性證明。要執行狀態更新,運營商必須計算一個新的狀態根并將其提交給主鏈上的合約。如果有效性證明通過,將切換到新的狀態根。
與ZK-rollup不同,validium上的運營商不需要發布交易數據。這使得validium成為一個純粹的鏈下擴展協議。
DrawnbyRJ
Validium的鏈下數據存儲主要好處是進一步提高可擴展性、提高交易速度、降低用戶費用、以及保護隱私,因為公眾無法在鏈上訪問交易數據。
數據可用性:
然而,鏈下數據的可用性帶來了一個問題——如果運營商作惡向用戶隱瞞鏈下狀態數據,同時用戶無法訪問交易數據,那么用戶就無法計算執行提款所需的Merkle證明,用戶的資金就會被凍結。
如下圖所示:如果運營者更改了trasaction6,則交易transaction1的所有者將無法證明其帳戶所有權,因為丟失了證明過程中所需的節點hash的信息。
DrawnbyRJ
因此,Validium有必要采用額外的鏈下數據管理機制,以便確保用戶在需要時可以訪問到鏈下交易數據。
Validiums的鏈下數據可用性管理方法可以分為兩大類:一些依賴受信任方來存儲鏈下數據;而另一些則使用隨機分配的驗證者來完成任務。
第一類:數據可用性委員會DataAvailabilityCommittee(DAC)
為了解決這個問題,StarkWare提出了數據可用性委員會的概念,以消除用戶對運營商的信任依賴。
通過指定一組受信任的實體來存儲鏈下數據副本并在運營商不為用戶的提款請求提供服務的緊急情況下將其變為公開可訪問。由于成員較少,DAC更容易實施并且需要較少的協調。但伴隨的是集中化風險。
直接退出,無需通過運營商。
在緊急情況下,主網上應用程序智能合約將不再接受新的狀態更新,而是只允許能夠為最新狀態提供merkle證明的用戶直接提取資金。也就是說這種情況下用戶可以無需通過運營商,直接調用主合約的提款功能,將他們的資金提回。
由于其仍使用零知識證明,所以不存在廣播不正確狀態的危險。
但是,用戶必須信任DAC以在需要時提供數據。數據可用性委員會的成員有可能受到惡意行為者的損害,然后惡意行為者可以扣留鏈下數據。
第二類:綁定數據可用性BoundedDataAvailability
這種是通過經濟激勵機制和去中心化的形式來保證鏈下數據的可用性。此方案要求負責存儲離線數據的參與者在擔任其角色之前在智能合約中質押代幣。這種代幣作為一種“紐帶”來保證數據可用性管理者之間的誠實行為并減少信任假設。如果這些參與者未能證明數據可用性,則保證金將被削減。
在綁定的數據可用性方案中,一旦質押所需的代幣,任何人都可以被分配存儲鏈下數據。這擴大了符合條件的數據可用性管理人員的數量,減少了影響數據可用性委員會(DAC)的集中化風險。更重要的是,這種方法依賴于加密經濟激勵措施來防止惡意活動,比指定受信任方來保護離線數據更安全。
Validium的優缺點:
+ve:zkroll-up的很多優勢和劣勢validium也有:
1)有效性證明強制鏈下交易的完整性,并防止運營商用無效狀態來更新
2)交易速度快。將資金撤回以太坊時不會出現延遲
3)適用于特定用例,例如優先考慮隱私&可擴展性的交易或區塊鏈游戲。(比如DeversiFi是一個使用第二層網絡(Validium)實現隱私交易和可擴容的去中心化*交易所。*的DEXV1.0選擇鏈下數據解決方案的主要原因之一,是因為他們的客戶——專業交易者——不能將他們的交易歷史記錄在鏈上,因為這會將他們的策略暴露給競爭對手。
4)鏈下數據可用性提供更高水平的吞吐量。
5)通過不將交易數據發布到以太坊主網來降低用戶的gasfee
6)指數級的可擴展性增長將承載更高的流動性,這會是新興DEX的一個重要屬性
-ve:
1)由于其有效證明所需計算量大,復雜度高,所以開發速度慢。對于低吞吐量的應用程序不具有成本效益。
2)因此應用不廣泛。不像op有那么多的應用和迭代
3)目前很難支持以太坊虛擬機,使其難以運行智能合約、DeFi協議等去中心化應用程序。
4)硬件方面的中心化風險。生成有效性證明需要專門的硬件,硬件壟斷有可能會導致對鏈進行集中控制。
5)模型依賴于信任假設和加密經濟激勵,不像ZK-rollups純粹依賴加密密碼學安全機制。
6)鏈下數據的可用性的問題:創建或驗證Merkle證明所需的數據可能不可用。這意味著如果運營商作惡,用戶可能無法從鏈上合約中提取資金。即時有數據可用性委員會,依舊存在中心化的風險。
Validium項目:
fromhttps://l2beat.com/scaling/tvl/,22/09/2022
E.Volition
這邊可以多提一個混合方案——StarkWare創立的volition的概念:結合了ZK-rollup和validium,并允許用戶在兩種擴展解決方案之間切換。通過Volition,用戶可以利用validium的鏈下數據可用性進行某些交易,同時保留在需要時切換到鏈上數據可用性解決方案的自由。這實質上使用戶可以根據他們的獨特情況自由選擇權衡取舍。
https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb
例子:在zkSync2.0中,就用到了volition的概念。他們L2狀態分為2個方面:具有鏈上數據可用性的zkRollup和具有鏈下數據可用性的zkPorter。這兩部分將是可組合和可互操作的。
四、總結:
各類方案對比,rollup有效地保證了狀態有效性+數據可用性,保留了先前方案的優勢,同時解決了他們的局限性。從而成為目前擴容領域的的龍頭。
在roll-up方案中,短期來看,optimisticrollup技術更加成熟、運用更廣泛,oproll-up可能會在通用EVM計算中勝出,而ZKroll-up可能會在簡單的支付、交換和其他特定于應用程序的用例中勝出。
但從長遠來看,而ZKRollup的弱點基本都屬于技術問題,隨著大量優秀的開發人員投入到相關研究,ZKRollup在未來會是更優的擴容方案。ZK-Rollup技術的基本原理將使其能夠取代OptimisticRollups,有能力達到更快的速度、更高的安全性,更全的性能,從而帶來更加廣泛的采用。目前已經有不少像Scroll、zkSync和Polygon這樣的Layer2項目已經在嘗試引入zk-EVM的計算環境,這將使ZK-Rollups能夠獨立運行所有類型的通用智能合約。
未來會有更多融合。從擴容方案發展過程來看,以太坊的擴容并不是某個單一方案能夠一勞永逸的。很多解決方案提供商也都在多條路徑上進行著探索和布局。個人相信這也勢必會產生更多融合方案
讀完本文應該能很直觀地感受到:擴容方案的發展迭代,往往是意識到一個解決方案存在的局限性后,用另一種更好的方案來盡可能地保留優點,解決缺點,突破局限。就像當初很長一段時間開發人員都認為Plasma就是“therightone”,直到意識到它的局限性無法被突破,從而探索出了roll-up;目前roll-up看起來好像就是大家公認的答案了,但也許隨著探索的深入,還會出現顛覆roll-up的更優的解決方案?
最后就是我整理完感覺這些擴容方案目前有無數種走向,對于我這種二級投資的個體戶感覺可以慢慢來,等項目跑出來做右側交易,因為變化太快,可能好不容易搞明白了,他們發現走不通,改方向了。然后判斷出一個大趨勢廣撒網,廣押寶也許是笨但比較有效的辦法哈哈。但這是二級思路不適用于一級,一級最后還是看團隊、看項目背后的網絡、資源。
Tags:以太坊區塊鏈比特幣以太坊幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢
自比特幣誕生以來,我們見證了“L1戰爭”,這推動了開發尖端技術來解決區塊鏈三難問題。對高度可擴展解決方案的需求一直存在,因為沒有單一解決方案能夠滿足行業的需求同時確保頂級安全性.
1900/1/1 0:00:002022年第三季度就這么安靜地過去了,是加密貨幣一個非常不錯的季度。總體而言,加密貨幣整體上漲了10%,其中許多單項資產的漲幅大幅上升.
1900/1/1 0:00:00刷推特、看研報累不累?脫水大字報幫你篩選和梳理每日重要市場觀點和研報。該內容由幾位交易員和分析師志愿者利用業余時間完成,請大家關注點贊給予鼓勵,歡迎留言互動,申請入群一起交流.
1900/1/1 0:00:00Web3技術——包括虛擬現實和增強現實、機器學習、人工智能、區塊鏈、智能合約等——將解決Web2時代創作者遇到的問題,徹底改變創建內容、聲明所有權和獲得報酬的方式.
1900/1/1 0:00:00以太坊需要遵守OFAC的規定嗎?以太坊被認為是所有加密貨幣中最去中心化的Layer1區塊鏈。然而,美國財政部海外資產控制辦公室最近的進展可能會破壞以太坊抗審查的完整性.
1900/1/1 0:00:00宇宙向北反彈 ATOM/USD價格分析11月11日買家勢頭的進一步增加可能會突破12美元的阻力位,Cosmos可能會上漲至13美元和14美元的阻力位.
1900/1/1 0:00:00