翻譯:洒脫喜
北京時間2月14日情人節當晚,以太坊創始人Vitalik Buterin聯合以太坊基金會(EF)研究人員Dankrad Feist一起舉辦了一場關於擴容解決方案「Danksharding」的教育研討會,如果你想了解區塊鏈如何在增加「去中心化」和「安全性」屬性的同時大規模實現擴容,那麼這場研討會就是一個好的切入點。
註:關於「Danksharding」對以太坊的意義,建議讀者先閱讀一下《一文了解以太坊的「擴容殺手鐧」danksharding》這篇文章。
以下內容來自Dankrad Feist提供的《Dude, what』s the Danksharding situation?》PPT,如果你想觀看完整的研討會視頻,可以訪問以太坊基金會的官方youtube頻道。
概述
1、什麼是舊的:
(1)數據分片;
(2)使用KZG 承諾的數據可用性;
(3)使用分離分片方案進行原始數據分片;
2、什麼是新的:
(1)提議者-構建者(數據生成者)分離 (PBS);
(2)crList;
(3)2D方案;
(4)建議的架構
3、總結優點和缺點
一、什麼是舊的
1、1 數據分片
1、為Rollup和其他擴容解決方案提供數據可用性(DA);
2、數據的含義由應用層定義;
(1)以太坊基礎共識(全節點和驗證者)除了確保數據可用外不承擔任何責任;
(2)為什麼沒有執行分片?與原生執行相比,rollup二層網路的效率要高100 倍,很難看出執行分片會有什麼需求;
3、目標:提供約 1.3 MB/s 的數據可用性層和完整的分片功能(目前最大數據容量的10倍,平常容量的200倍);
4、自2019年底以來,數據分片一直是以太坊的目標;
1、2 數據可用性採樣(DA sampling)
1、想知道通過 O(1) 工作獲得的O(n) 數據是可用的;
2、思路:將數據分布到 n 個chunk分塊中;
3、每個節點下載 k 個(隨機選擇的)chunk分塊;
1、3 糾刪碼(Erasure coding)
1、使用 Reed-Solomon 編碼(多項式插值)擴展數據;
2、例如,在編碼率 r=0.5 時,這意味著任何 50% 的區塊(d0 到 e4)都足以重建整個數據;
3、現在採樣變得高效(例如,查詢30個隨機區塊,如果全部可用,超過 50%不可用的概率為2 ^ (-30))
4、但是,我們需要確保編碼是正確的;
1、4 KZG承諾(KZG Commitments)
1、多項式
2、承諾 C(f)
3、評估 y = f(z)
(1)證明者可以計算證明 π(f,z)
(2)使用C(f), π(f,z), y 以及 z,驗證者可以確認f(z) = y
4、C(f)以及 π(f,z) 是一個橢圓曲線元素(每個48 位元組)
1、5 KZG 承諾作為數據可用性根
1、將「KZG 根」想像成類似於 Merkle 根的東西;
2、不同之處在於「KZG 根」承諾了一個「多項式」(所有點都保證在同一個多項式上,而Merkle根不能保證這一點);
1、6 分離分片提案
二、 什麼是新的
2、1 提議者-構建者(數據生成者)分離 (PBS)
1、被發明用來對抗 MEV 導致的中心化趨勢;
2、MEV意味著更成熟的參與者可以比普通驗證者提取更多的價值,這對大型礦池而言意味著優勢;
3、PBS 在一個獨立的角色中「包含」了這種複雜性/中心化,並具有誠實的少數假設;
(1)提議者(Proposer)= 驗證者,誠實的多數假設意味著高度的去中心化要求;
(2)數據生成者(Builder)= 單獨的角色,誠實的少數假設,意味著去中心化只需要確保一個誠實(非審查)的數據生成者;
2、2 審查阻力方案 – crList
1、PBS的危險之處:一個高效的構建者(Builder)可以(以一定的經濟成本)永久審查一些交易;
2、[註:在今天的賄賂模型中, 審查一筆交易的成本是永久賄賂所有提議人而不將這筆交易納入的成本;]
3、crLists允許提議者指定構建者必須包含的tx列表,從而恢復舊的平衡;
crList(「混合 PBS」設計)
2、3 KZG 2d 方案
1、為什麼不在 KZG 承諾中編碼所有內容?
(1)需要一個超級節點(「構建者」)來構建和重建以防失敗的情況;
(2)我們希望避免這種假設的有效性;
2、目標:在 d 個KZG 承諾中編碼 m 個分片 blob;
(1)如果我們天真地去這樣做,那就需要m * k個樣本,這樣數據就太多了;
(2)相反,我們可以再次使用 Reed-Solomon編碼將 m 個承諾擴展到 2* m 個承諾;
2、4 KZG 2d 方案屬性
1、所有樣本都可以直接根據承諾進行驗證(沒有欺詐證明!);
2、恆定數量的樣本確保概率數據可用性;
3、如果 75%+1 的樣本可用:
(1)所有數據都可用;
(2)它可以從只觀察行和列的驗證器中重構;
(3)不需要節點觀察所有的情況;
三、組合在一起就是Danksharding
1、執行區塊和分片區塊是一起構建的;
(1)我們以前需要分片委員會,因為每個分片 blob可能無法單獨使用;
(2)現在,數據生成者的責任是使執行區塊有效,並且所有分片 blob 都可用;
2、⇒ 驗證可以是聚合的;
3、1 Danksharding 誠實多數驗證
1、每個驗證者選擇 s = 2 隨機行和列;
2、僅證明分配的行/列是否可用於整個epoch時期;
3、一個不可用的區塊(<75% 可用)不能獲得超過 2^(-2s) = 1/16 的證明;
3、2 Danksharding 重構
1、每個驗證者都應該重構他們遇到的任何不完整的行/列;
2、這樣做時,他們應該將丟失的樣本轉移到正交線;
3、每個驗證器可以在行/列之間傳輸4個缺失的樣本(大約 55,000 個在線驗證器可保證完全重構)
3、3 Danksharding DA 採樣(惡意多數安全)
1、未來升級
2、每個全節點檢查方塊矩陣上的 75 個隨機樣本;
3、這確保了不可用區塊通過的概率< 2 ^(-30);
4、帶寬 75*512 B / 16s = 2.5 kb/s;
四、總結優點和缺點
優點:
1、簡單的設計:
(1)不需要分片委員會基礎設施;
(2)不需要跟蹤分片 blob 確認;
(3)沒有額外的構建者基礎設施(來自執行層的同步支付取代了這一點)
(4)可以使用現有的執行層費用市場基礎設施;
2、執行鏈和分片之間的緊密耦合:
(1)使得rollup設計更簡單;
(2)zkRollup 和執行鏈之間的同步調用是可能的;
3、分片不需要單獨的 PBS;
4、隨著數據立即被驗證者集的 1/32(而不是舊分片方案中的 1/2048)確認,並在一個epoch時期內增加到完整的驗證者集,抗賄賂的能力增強了;
5、得益於2d方案,全節點(無需運行驗證器)將能通過75 個樣本(2.5 kb/s)確保數據可用性,而不是 30*64=1920 個樣本(60 kb/s);
新的挑戰:
1、增加了數據生成者要求:
(1)構建32MB數據的KZG證明(需要100核,但目前正在研究CPU實現)
(2)需要2.5 GBit/s的互聯網連接來分發樣本;
2、為數據生成者提供了更多權力,因為他們充當了執行+數據層服務提供商;
(1)需要通過crList緩解;
冷萃財經原創,作者:awing,轉載請註明出處:https://www.lccjd.top/2022/02/16/vitalik-%e7%a7%91%e6%99%ae%e7%9a%84danksharding%e5%88%b0%e5%ba%95%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f/?variant=zh-tw
文章評論