作者是以太坊基金會下屬機構Robust Incentives Group的科學家Barnabé Monnot。大量的圖保證了文章的友好,作者的背景保證了嚴謹。最近DeFi的主要項目都在密集的發布2.0版本的消息,仔細看過升級的細節就會發現,這些DeFi應用的升級在倒逼基礎公鏈提速。想提前佈局的投資者,得看懂Layer2,要不然接下來除了追熱度,都不知道咋投項目。
這是通往以太坊的道路。今天的以太坊就是eth2開發者所稱的“eth1”,這是大家都知道並喜歡的當前工作證明(PoW)鏈。明天的以太坊不是eth1,也不是eth2,它只是……以太坊:eth2在今天的執行層上部署權益證明(PoS)和分片的綜合成果。
今天讓我們回溯一下。
用戶想要做一些交易,所以他們把自己的交易發送給礦工,他們把它們打包成區塊,並把他們的區塊添加到一個不斷增長的鏈中。礦工運行PoW共識機制1來決定下一個添加區塊的對象,並執行區塊中包含的事務,以確保它們是有效的。
PoW需要大量的硬件來運行密集的計算,這導致了過高的能耗。我們不會像大多數加密貨幣評論家所希望的的那樣討論浪費(“為什麼我們需要一個使用
因此,進入權益證明(PoS),用一個smol服務器替換大量的採礦設備,用驗證者替換礦工。
如果他們不完成第二步,他們也會失去硬幣。
沒錯。那麼第二步是什麼?驗證器到底在驗證什麼?
共識層確保每個人都同意正確的數據。執行層實際上是解釋了這些數據,使其有意義。 “數據”是與區塊鏈的任意類型的交互,例如,部署合約,在交易所進行交易,發送付款等等。
區塊鏈的心跳來自於在鏈中引入一個新的區塊。當這種情況發生時,在新區塊之前的狀態和之後的狀態之間存在狀態轉換。狀態總結了之前在區塊0到區塊N=之間的所有數據。
例如,如果有一個狀態包含Alice和Bob餘額的分類賬,並且新的區塊包含了Bob向Alice支付的10個幣,則該區塊之後的狀態將擁有新的餘額。 “N+1區塊塊後的狀態”氣泡右側的虛線顯示,一個新的區塊可能會修改現有狀態(例如,Alice和Bob的餘額)或創建新狀態(部署新合約,或將Carol添加到分類賬中…
rollps和eth2工作的要點是解決第1點。我們的計劃,不涉及共識和執行。那麼會如何呢?
從2020年12月以來,我們有兩家並行運作的鏈條:
在頂部,權益證明(PoS)-共識鏈(又稱“信標鏈”)。在最底層,Ol'的可靠的PoW -共識+執行鏈(也稱為。“eth1”)。
它們平行運行,但它們也相互溝通。好吧,現在還是一邊倒…
為了成為PoS-共識鏈上的驗證者,PoW -共識鏈+執行鏈上的用戶鎖定了存款合約中的32個ETH,這將自動轉換為PoS-共識鏈。一旦驗證者被激活,他們就可以開始驗證並接受獎勵。
這種一邊倒的談話希望不會持續太久。合併永久地連接了PoS-共識鍊和PoW -共識鏈+執行鏈之間的鴻溝,允許驗證者為執行層生成區塊。因此,在合併之後,我們有兩個鏈:
相同的PoS-共識鏈PoS支持的執行鏈(fka,“eth1”)
當這種情況發生時,PoS -共識鏈的驗證者最終將能夠贖回和提取其收益和存款,並將它們發送回PoS支持的執行鏈。
所有這些本身就讓我們從PoW環境轉移到一個完全成熟的PoS環境。但是請注意,它並沒有完全增加鏈的帶寬--一個區塊的執行量是多少--這是分片的目標。在討論這個問題之前,我們先來討論一下如果只有一個執行鏈,那麼擴展執行的其他方法都有什麼。
顏色:一致=紫色,執行=綠色,數據=黃色
rollup是眾多可用的解決擴展方案之一,但從協議設計的角度來看,它可能提供了最佳的折衷方案。其方法很簡單:通過在鏈上提交重建狀態轉換執行所需的數據來合成狀態轉換,並將執行推到鏈下。如果有人對執行結果有質疑,或者有人忘記了在第一時間執行,那麼所有人都可以處理該數據。無需權限!
更準確地說,執行所需的數據(事務輸入)與它的容器(事務)分離,並以節省空間的方式“綁定”。同時,rollup在執行鏈之外運行,提交數據並執行它。
為了“進行rollup”,用戶將資產存放在rollup合約中的執行鏈(“eth1”)上,然後他們在rollup上做一些事情,比如在其他rollup上進行資產交易。一旦完成,用戶就會從rollup中將資產撤回到執行鏈上。
什麼是rollups的替代方案?如果不是這些垂直的黃色鏈,而是一堆平行的紅色鏈呢?例如,如果eth1鍊是“複製的”,並且幾個實例同時運行會怎樣?
在這裡是我們如何處理幾個並行運行的多個執行鏈的問題。如果鏈條上發生了什麼事需要別人知道怎麼辦?這是一個非常棘手的分片問題,也就是在多個鏈之間怎麼劃分執行的問題。
你會說“rollups也沒什麼不同!”,實際上這也是真的。當用戶想從一個rollup對另一個rollup進行操作時,也會出現同樣棘手的問題。然而,關鍵是存在一些rollup的設計,其解決方案的空間廣闊,而且大多數還未被開發。那麼,在將一種方法納入協議級別之前,為什麼不讓rollup引導實驗呢?
這就把我們帶到了......
你聽說過區塊空間短缺嗎?rollup確實需要發布它們的數據,而eth1區塊空間非常少! 而且我們說過,交叉分片很難。因此,為了用我們的檸檬做檸檬汁,為什麼不使用分片來保存需要發布的rollup數據呢?使用64個分片,這是現在可用帶寬的64倍,而且可能更多,因為一個分片區塊可能會比eth1鏈區塊當前能夠容納的數據量高得多。
應該強調的是,這並不意味著在分片級別的執行永遠是被排除在外。以rollup為中心的以太坊是一個短期到中期的發展方向,直到(例如)找到更好的加密原語來保證跨多個鏈的正確執行。這一切都非常迷人,應該會讓很多人忙上很長一段時間。與此同時,rollup也是一個解決方案之一。
在這方面還有很多工作要做!首先,不要忘記Merge和數據分片是非常複雜的工作,目前有多個團隊正在處理其中一個或兩個。但即使在rollup方面,仍然有一些非常有趣的問題有待探索,而這些只是少數。
用戶在rollps之間的大規模遷移是一個非常酷的概念。如果以足夠多的公共交通工具來往於第一層(eth1)和第二層(rollps)之間,為什麼你還要自己開車去呢?這有什麼經濟學意義嗎?如果我想在鄰近的rollup上做一些事情,因為他們有一些很酷的東西,而我的rollup沒有,那我是否從我自己的rollup到L1,然後從L1到鄰近的rollup?這似乎相當浪費。對於當前的操作來說,rollup是一個巨大的帶寬改進,這是毫無疑問的,然而rollup並不是無限高速公路用戶所期望的,但仍然有很多人想要做很多事情,有時甚至是在同一瞬間!因此,rollps自然要處理擁塞問題,但是它與L1協議(即將發布的eip1559)所規定的擁塞市場相反,rollps有更大的設計空間可以探索。說到擁塞,這是更特定於協議的,但我們還會看到EIP1559扮演交通警察的角色,來調節每個數據分片上發布的數據量,以確保驗證者能夠應付的數量。如果用戶認為一種eip1559機制很酷,那麼請等到有64種機制在運行時再考慮。那麼,rollups應該在哪裡發布數據呢?在一個分片上只是使其可訪問而無需為正在聽的人跳分片?在多個分片上,要利用分片交錯計劃,分片依次發布一個新區塊,這樣我們距離新區塊發布數據的時間就不會超過幾百毫秒,難道這不是快速終結應用程序的理想選擇嗎?