比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 狗狗幣 > Info

a16z:關于數據可用性抽樣和 danksharding 的概述及改進建議_ING

Author:

Time:1900/1/1 0:00:00

原文:A16z

編譯:GWEI Research

Danksharding 是一種用于擴展未來版本以太坊鏈上數據量的方法。這次升級的目標是確保鏈上的數據在首次發布時就能被歸檔方訪問。它通過一種叫做數據可用性采樣(簡稱 DAS)的技術來實現這一目標。

在這篇文章中,我們將研究 Danksharding 中的數據可用性是如何工作的,并對底層技術提出一些修改建議。特別地,我們探討了一種可能改進數據恢復的小改動:當前的方案需要 75% 的份額來恢復一個區塊,而這項修改可能將此界限降低到 25%。

Danksharding 計劃在 Protodanksharding(EIP-4844)之后推出。Protodanksharding 將通過引入一種名為“攜帶數據塊交易”的新交易類型,使客戶端能夠將更多數據寫入區塊鏈。最初,這種新交易類型將攜帶多達四個數據塊,每個數據塊最大為 128 KB(每個 32 字節的 4096 個字段元素),每個區塊可添加多達 512 KB 的額外數據(平均目標為 256 KB),而目前以太坊的區塊大小平均為 100 KB。

這些數據塊將被處理得不同:

(一)它們只會被存儲一段有限的時間,比如 30-60 天;

(二)盡管這些數據是交易數據的一部分,但智能合約無法直接訪問這些數據。相反,智能合約只能訪問到數據塊數據的一個簡短承諾,稱為 DATAHASH。驗證者承擔的額外負擔似乎是可以接受的:驗證者目前存儲不到 100 GB 的數據以維護區塊鏈的狀態。在 protodanksharding 之后,他們將不得不額外存儲 50-100 GB 的數據。

緊接著將推出 Danksharding。它將通過增加每個區塊的數據塊數量上限,將客戶端可用的數據提高 60 倍。區塊將從每個區塊 0.5 MB 增長到 30 MB。但是,因為驗證者不能被迫存儲 60 倍的數據,數據將在它們之間分散,使得每個驗證者只存儲一小部分數據。然而,他們可以通過數據可用性采樣(DAS)協議就他們是否共同存儲所有數據達成共識。

這些數據塊的定價將通過類似于 EIP-1559 的機制進行,并且將以每字節約 1 個數據-gas 為目標。當前最便宜的替代品 Calldata 的價格為每字節 16 gas。但由于有兩個不同的費用市場,這些費用無法直接比較。Roll-up 客戶端將從這些升級中受益,因為目前超過 90% 的客戶端費用用于支付以太坊數據費。

其他項目,如 Celestia 和 EigenLayer,也采用 DAS 技術來增加可用的數據空間。這些設計比完全分片的以太坊網絡要簡單得多。

我們描述這個方案,假設采用了提議者-構建者分離(PBS)設計:

客戶端將其攜帶數據塊的交易提交給區塊構建者。

區塊構建者通過選擇 N 個客戶端數據塊來形成一個區塊 B。數據塊編號為 i,附帶一個由發送它的客戶端簽名的簡短承諾 Ci。讓 C =(C1,...,CN)是區塊 B 中所有 N 個簽名承諾的列表。

由a16z支持的Rewind推出一款應用使用戶可根據網頁瀏覽歷史進行提問:金色財經報道,由Andreessen Horowitz (a16z) 支持的個人數據記錄初創公司Rewind推出了一款iPhone應用程序,它能私下記錄用戶在Safari上的活動,以便用戶日后根據網頁瀏覽歷史提問。默認情況下,當用戶在隱身模式下瀏覽時,該應用不會記錄任何內容。[2023/7/28 16:04:57]

區塊構建者將他們提議的區塊提交給當前的區塊提議者(驗證者之一)。區塊提議者選擇其中一個區塊并將其原樣發布到網絡上。

挑戰在于確保稍后可以重建區塊B。為此,構建者將區塊在 V 個驗證者的大型網絡中進行復制。可以要求每個驗證者都存儲整個區塊,但這被認為太昂貴。相反,區塊構建者:

使用糾刪碼將區塊B編碼成更大的區塊E;

將區塊E分成V個重疊的片段P1,...,PV;

將一對(Pi,C)發送給編號為i的驗證者。

每個驗證者檢查它接收到的片段Pi是否與簽名承諾列表C一致。區塊構建者為驗證者提供證明以方便這些檢查。

有了這個設置,數據可用性采樣方案有兩個協議:

采樣協議在采樣驗證者和驗證者集之間運行。采樣驗證者將列表C作為輸入,并從驗證者集合中隨機請求區塊E的元素。如果采樣驗證者收到了所有請求的元素,并且都與C一致,它將輸出成功。

重構協議在重構代理和驗證者集之間運行。重構代理將C作為輸入,從驗證者集請求區塊E的元素。一旦收集到超過75%的元素,且所有元素都有效,重構代理計算并輸出區塊B。 (我們在下面討論了一種可能減少重建所需元素數量的方法。)

要求是,如果采樣驗證者輸出成功,那么只要輸入超過四分之三的元素,重構代理將輸出區塊B。只要提供足夠的元素,即使提供的元素是對抗性選擇的,重構也應該成功。

總之,以下各方參與到Danksharding中:

客戶端:將數據塊(可以是交易或捆綁包)發送給構建者。

構建者:創建區塊并將此區塊的片段發送給驗證者。

區塊提議者(驗證者之一):將區塊發布到網絡。

采樣驗證者(任何一個驗證者):運行采樣協議,如果協議輸出成功,則對區塊頭進行簽名。

重構代理:在需要時與整個驗證者集合進行交互以重構先前發布的區塊。如果驗證者回應超過四分之三的有效元素,重構將成功。

接下來我們解釋該方案的兩個構建模塊:糾刪編碼和多項式承諾。

糾刪編碼可以追溯到20世紀60年代,它的產生是為了滿足在損耗信道上傳輸信息的需求。在danksharding中,它被用來防止驗證者丟失數據片段。該技術將數據從N個元素擴展到M個元素(M > N),以便可以從擴展數據的任何完整的N個元素中重建原始數據。想象一下,將N個元素(原始數據)編碼成M = 2N個元素,并將一個編碼元素分給2N個驗證者。如果大多數驗證者都是誠實的,他們就可以共同重建原始數據。這種技術可以防止任何一半驗證者的崩潰故障。通過在下一節中討論的多項式承諾,可以擴展以防止一半驗證者的拜占庭行為。

A16z首席法務官:分布式系統上的結算層不僅僅是一個信息通信層:金色財經報道,A16z首席法務官Jai Ramaswamy在第一天的會議“理性監管 Web3:千載難逢的機會”上發言稱,比特幣論文的原始見解指出,分布式系統上的結算層不僅僅是一個信息通信層,而是一個新穎的計算機科學概念。然而,它的含義遠不止金融,因為它允許在互聯網上創建可編程的分布式層。目前所遇到的問題是,當人們思考監管時,他們會以靜態的方式思考,而事實上,這是一個動態的概念。如果我們考慮一下今天的世界是如何被監管的。互聯網的協議層實際上是被監管的,但它們一般是由自我監管組織(SRO)監管的。而在一些自律組織之外,還有包括SEC、CFTC、FinCen等在內的監管機構,這兩類監管機構通常監管應用層。

我們今天遇到的部分問題是金融監管機構開始監管或認為他們正在監管這些基礎層或協議層,這是一個錯誤。因為監管機構和金融監管機構最沒有能力做出設計決策。行業需要仔細考慮如何通過標準制定機構的自我監管通過最佳實踐來監管基礎層。[2022/10/24 16:37:10]

以下是擴展的詳細過程。要將數據從N個字段元素d1、d2、...、dN ∈ ?p擴展到M個編碼元素e1、e2、...、eM ∈ ?p,我們對滿足p(i) = di(對于i = 1、...、N)的唯一N - 1次多項式p(x)進行插值。然后在M個點上評估多項式:ei = (i,p(i)),對于i = 1,...,M。使用拉格朗日插值從M個編碼元素中的任何N個元素重建原始多項式p(x)。這種擴展方法稱為Reed-Solomon編碼或低次多項式擴展。

多項式承諾是DAS方案的一個構建模塊。它允許方案做兩件事:

使用短承諾字符串C,承諾一個?p[X]中的有界度D的單變量多項式p。

在給定點x ∈ ?p處打開已承諾的多項式。

更準確地說,給定x,y ∈ ?p,承諾者可以創建一個簡短的證明π,證明已承諾的多項式p滿足p(x) = y,且其次數最多為D。證明π針對承諾字符串C和值x、y進行驗證。這個π被稱為評估證明。

安全性保證承諾與多項式綁定,且敵手不能創建虛假證明。

這里可以使用一些實用的多項式承諾方案。Danksharding使用KZG承諾方案,該方案需要一個可信設置儀式來生成公共參數(稱為SRS),但具有常數大小的承諾和常數大小的評估證明。KZG承諾具有以下幾個特點,使其特別適合danksharding:

承諾是同態的:如果C1是對p1的承諾,C2是對p2的承諾,那么C1 + C2是對p1 + p2的承諾;

承諾是唯一的:如果兩個人獨立計算對多項式p的承諾,他們會得到相同的承諾;

評估證明是同態的:對于給定的x,如果π1是一個證明,證明p1(x) = y1,π2是一個證明,證明p2(x) = y2,那么π1 + π2就是一個證明,證明(p1 + p2)(x) = y1 + y2。

現在我們可以解釋客戶端如何承諾其數據塊。首先,客戶端將數據塊解釋為m個字段元素d1,...,dm ∈ ?p的向量,其中m ≤ 4096。接下來,它插入一個單變量多項式p ∈ ?p[X],其次數最多為m - 1,滿足p(i) = di,對于i = 1,...,m。(技術上說,danksharding使用1、ω、ω2,...、ωm-1 ∈ ?p作為評估點,其中ω ∈ ?p是m次單位根,以及一個反向位排序;這是出于效率考慮,但為了簡單起見,我們在這里不考慮。)最后,客戶端構建多項式p的KZG多項式承諾。它對承諾進行簽名,并將承諾-簽名對發送給構建者。這個過程需要公共參數(SRS),包含4096個群元素。

美眾議院副議長將于11月初加入a16z Crypto擔任政府事務主管:10月20日消息,a16z Crypto 宣布美國眾議院金融服務委員會副議長 Collin McCune 將于 11 月初加入 a16z Crypto 擔任政府事務主管,Collin 將以跨黨派的方式與政策制定者及其工作人員合作,以幫助實現全面的 Web3 立法和監管。[2022/10/20 16:32:48]

接下來,我們解釋區塊構建者如何編碼一個區塊并將其分成片段發送給驗證者。取某個256位素數p。區塊構建者執行以下操作:

輸入:一個danksharding區塊B可以包含多達256個數據塊(比protodanksharding多64倍),每個數據塊是一個?p中的4096個元素的向量。因此,我們可以將一個區塊表示為一個256 × 4096的?p元素矩陣。這個矩陣的每一行對應一個客戶端的數據塊。請注意,每個客戶端都向構建者發送一個B的行以及該行的已簽名KZG多項式承諾。構建者收集256個已簽名的多項式承諾C0,...,C255,每行一個承諾。

步驟1:構建者插入一個雙變量多項式d(X,Y),使得d(i,j) = B[i,j],對于i = 0,...,255和j = 0,...,4095。這個雙變量多項式在X方向上的次數最多為255,在Y方向上的次數最多為4095。

步驟2:構建者使用上述糾刪編碼方法將塊在每個方向上擴展兩倍。也就是說,它通過設置E[i,j] ← d(i,j)為i = 0,...,511和j = 0,...,8191,形成一個512 × 8192的字段元素矩陣E。下圖說明了這一點。

步驟3:構建者驗證每個已簽名的Ci是否是對一元多項式di(Y) := d(i,Y)的KZG承諾,對于所有i=0,...,255。注意多項式di(Y)是B的第i行的插值,因此必須與客戶端i提交的多項式相同。構建者拒絕所有Ci格式不正確的數據塊。

現在,構建者使用C = (C0, . . . , C255)作為對區塊B的承諾,或更確切地說,是對雙變量多項式d(X,Y)的承諾。

讓我們證明C = (C0, . . . , C255)確實是對多項式d(X,Y)的多項式承諾。對于給定的x,y,z ∈ ?p,讓我們構造一個評估證明,使驗證者確信d(x,y) = z相對于承諾C。由于d(X,Y)中X的次數最多為255,因此只依賴于x的常數λ0,...,λ255 ∈ ?p滿足

d(x,Y) = λ0 · d(0,Y) + . . . + λ255 · d(255,Y)。

然后,根據KZG承諾的同態性質可得

Cx := λ0 · C0 + . . . + λ255 · C255

是對一元多項式dx(Y) := d(x,Y)的KZG承諾。因此,驗證者可以從C中自行構建Cx。讓π成為多項式dx(Y)的KZG評估證明,使驗證者確信在承諾Cx下,dx(y) = z。這個π是在點(x,y)處對d(X,Y)的所需評估證明。

Web開發人員管理平臺Convex完成2600萬美元融資,a16z領投:金色財經報道,Web 開發人員管理平臺 Convex 宣布完成 2600 萬美元 A 輪融資,本輪融資由 a16z 領投,a16z 普通合伙人 Martin Casado 將加入 Convex 董事會。天使投資人包括 GitHub 前 CEO Nat Friedman、Alphabet 董事會成員 Ram Shriram,以及 Creative Artists Agency 創始人 Michael Ovitz 等。Convex 預計將在接下來幾周時間內向更多開發者開放測試版。

Convex 是面向 Web 開發人員的全球狀態管理平臺,旨在讓世界各地的開發人員無需任何后端工程即可構建復雜、動態、全局狀態的應用程序。[2022/4/28 2:35:09]

這個論證表明C是對d(X,Y)的多項式承諾。值得注意的是,雖然每個客戶端獨立于其他客戶端簽名B的一行,但所有客戶端簽名的集合充當了對d(X,Y)多項式承諾的簽名。

步驟4:在這個DAS方案中,通信的最小單位是一個樣本,它是一個16元素的行向量。將512 × 8192元素的矩陣E視為512 × 512樣本的方陣。設V為驗證者的數量。然后,區塊構建者將矩陣E分解為V個重疊片段P1,...,PV,其中Pi包含E中恰好兩行兩列的樣本,這些樣本是從512行和512列的樣本中隨機選擇的。因此,Pi包含2 × 512 × 16 + 2 × 8192 = 9216個?p中的字段元素。這比完整的區塊B小得多,B大約有一百萬個字段元素。以太坊的驗證者數量最少為128(目前約為500,000),因此存在足夠的驗證者確保整個區塊得到充分覆蓋。

步驟5:區塊構建者將三元組(Pi, C, πi)發送給驗證者i,其中πi是Pi中所有元素的評估證明列表:Pi中兩行和兩列樣本中每個單元格d(x,y)的一個證明。πi中的證明使驗證者能夠驗證Pi中的每個字段元素與承諾C一致。

在danksharding中,驗證者的數量可以大大超過區塊中的列或行的數量。因此,某些列和行可能由多個驗證者存儲。因此,danksharding使用復制和Reed-Solomon糾刪編碼確保數據可以重構。

當重構代理需要重構整個區塊時,它擁有C,并要求驗證者集合將其片段發送給它。作為回應,誠實的驗證者i發送(Pi, πi)。重構代理檢查πi中的開放證明,如果有效,它接受Pi中的值。因此,拜占庭式驗證者無法發送虛假數據。然而,拜占庭式驗證者可能拒絕發送他們的數據,不回應重構代理。

當某些數據丟失時,danksharding需要至少75%的矩陣E來重構區塊。由于驗證者僅存儲完整的行和列,最壞的情況是以下情況,即75% - ε的區塊元素已存在,但無法重構缺失的元素。

要理解為什么在這種情況下數據無法重構,請注意存在一個非零的雙變量多項式δ(X,Y),它在整個“存在”的區域上的取值為零,并且在X和Y上具有所需的度限制。因此,在重構過程中,無法判斷缺失的白色區域是來自正確的多項式d(X,Y)還是多項式d(X,Y) + δ(X,Y);兩個多項式在現有數據上一致。因此,當缺失的數據遵循這種模式(最多到行和列的排列)時,無法重構缺失的數據。請注意,如果驗證者刪除了部分數據,從而成為“拜占庭式”,它會刪除所有數據,包括兩行和兩列。

鏈游《王國聯盟》完成300萬美元融資,A16z參投:12月17日消息,策略鏈游League of Kingdoms Arena(《王國聯盟》)宣布完成300萬美元種子輪融資,投資者包括Andreessen Horowitz (a16z Crypto), Binance Labs, 紅杉資本印度(Sequoia Capital India), BlockTower Capital, 以及戰略投資者Sky Vision Capital, Yield Guild Games (YGG),和韓國區塊鏈生態創建者 DeSpread。這筆資金將用于為玩家擁有的《王國聯盟》治理和增強的世界中的“Play-to-Earn”經濟建立基礎設施,同時加速已擁有超過 200,000 名活躍游戲玩家的全球社區的發展。[2021/12/17 7:45:21]

所以,在最壞的情況下,不到75%的區塊是不夠的。然而,當75%或更多的區塊存在時,通過簡單的貪婪算法保證重構成功。

重構算法:重構通過迭代地找到一個具有至少50%可用元素的不完整行(或列),并使用單變量插值來重構行(或列)的缺失元素。要了解為什么這個過程最終會重構整個區塊,讓我們假設區塊仍然缺少一些元素,但我們找不到可以重構的行或列。這意味著每行和每列要么具有<50%的可用元素,要么已滿(具有100%的可用元素)。讓我們選擇任何不完整的行;它具有>50%的不可用元素,通過這些元素的列也必須具有>50%的不可用元素,這立即意味著區塊>25%的不可用,這與原始假設相矛盾。

為了使一個區塊無法重構,對手需要攻擊至少15/16的驗證者集。在這種情況下,攻擊者會選擇要擦除的象限,并攻擊那些在該象限中至少有一個行或一個列的驗證者。

假設一個誠實的驗證者i崩潰并丟失了其數據。當它重新上線時,它希望重構其兩行和兩列Pi以及開放證明πi。Danksharding允許驗證者在不重構整個區塊的情況下執行此操作。驗證者可以從存儲相同確切點集的另一個驗證者那里下載其數據,或者從其他驗證者那里獲取其行(或列)的50%元素,并通過單變量插值重構剩余的行。這個過程不需要進行完整的重構。

例如,假設一個驗證者存儲了至少50%的第42列,但不到100%,它需要重構缺失的元素。也就是說,驗證者持有對(i,42) ∈ (?, ?)的所有i ∈ S的配對(E(i,42), πi),其中S是一個集合,滿足256 ≤ |S| < 512。為了重構缺失的配對,驗證者執行以下操作:

在?域上使用拉格朗日插值構造一個多項式p(x),其次數為255,使得對于所有i ∈ S,p(i) = E(i,42)。

評估多項式以獲得缺失的元素:對于所有i ∈ {0..511}\S,E(i,42) := p(i)。請注意,這些點保證位于一個255度的多項式上,因為驗證者已經根據承諾C檢查過它們。

通過在指數上進行多項式插值,用多重取冪獲得缺失的證明:對于{0..511}\S中的所有i,計算πi := ∑j∈S πj · Λj,S(i),其中Λj,S(i)是拉格朗日系數Λj,S(i) := ∏k∈S,k≠j(i – k)/(j – k)。

步驟3利用了KZG多項式承諾具有同態證明的事實。據我們所知,KZG是唯一具有此屬性的多項式承諾方案。

為了確定擴展區塊E中是否有足夠的數據可用于重構原始區塊B,抽樣客戶端查詢E的隨機樣本。對于每個查詢,它得到一個樣本(16個元素的行向量)和一個評估證明,以根據承諾C檢查樣本。如果所有查詢都成功回答,客戶端將接受數據作為可用。如果客戶端總共進行了Q次查詢,那么它錯誤地接受不可用的數據的概率為(3/4)^Q,隨著查詢次數Q的增加,這個概率呈指數級下降。比率3/4對應于上一節中的75%重構閾值。

在以太坊網絡中,將由三種類型的參與者進行抽樣:(i) 無法承擔全部存儲blob數據的完整節點,(ii) 輕客戶端,以及 (iii) 驗證者本身。驗證者在投票確認區塊及其前驅之前,必須證明數據是可用的。每個時代都有固定的驗證者集,它們被隨機地分成32個委員會。每個委員會被分配到一個時代的12秒時段(每個時代有32個時段)。預計每個時段會確認一個區塊。每個驗證者都會收到每個區塊的片段(2行和2列的樣本),即使在驗證者不是證明委員會成員的區塊上也是如此。此外,每個驗證者都會對當前區塊和所有之前的區塊進行抽樣,以確保所有區塊在選擇一個區塊進行依據分叉選擇規則的證明之前都是有效的且可用的。

協議保證數據在一個32個時段的時代內,即6分鐘內可用。其他方法,如可檢索性證明或激勵機制,可以幫助確保數據在更長的時間內可用,例如,在blob數據過期之前應該保持可用的30-60天內。

一個25%重建的提案 在本節中,我們解釋如何在只有25%的數據可用的情況下實現重建(與上文中解釋的當前danksharding的75%相比)。

當可用點的分數低于75%時,貪婪的按列和按行的一元插值可能會失敗。相反,我們建議通過雙變量多項式插值直接進行重建。在這種情況下,即使E的點只有25%可用,也可以實現完全重建。然而,這需要對驗證器分配片段的方式進行一些修改。我們建議讓每個驗證器分配存儲:

一個完整的行(512個樣本),一個完整的列(512個樣本),以及 一個隨機(或偽隨機)分布在矩陣E周圍的1024個樣本的集合。 每個驗證器的總存儲需求保持不變,但現在即使少于75%的樣本可用,也可以進行重建。此外,多個驗證器存儲相同的點集,因此,如果任何驗證器需要重建其片段,它可以向存儲完全相同片段的任何其他驗證器請求。如果沒有這樣的驗證器可用,它可以進行局部或完全重建以獲取其片段。

這種混合方案在比辛特驗證器數量較少的情況下允許便宜的重建,使得E的樣本超過75%可用。在不愉快的情況下,當拜占庭驗證器的數量變得過高時,由于樣本在矩陣E中的隨機分散,可以從只有25%的樣本中使用完全雙變量插值進行數據重建。

雙變量插值可以簡單地通過求解多項式系數上的線性方程組來實現。這種簡單方法需要構建一個220 × 220場元素的插值矩陣(32TB)。這相當大,但并非不可行。然而,還有更好的方法可以使用。(例如,參見P.J.Olver-2016的調查報告。)雖然雙變量插值的成本不菲,但它只在恢復點的分數低于75%時需要,可以作為一種安全措施。為了啟用此安全措施,danksharding需要稍微修改以按照上述方式將片段分配給驗證器。

前述構造的主要缺點是KZG多項式承諾方案需要可信設置。否則,該方案非常快速。然而,可信設置通常需要大量的工作和協調(我們關于鏈上KZG設置的工作可以幫助簡化未來項目的儀式)。一些其他多項式承諾方案不需要可信設置(例如Bulletproofs),盡管它們沒有用于驗證器在重建其需要存儲的數據時的效率所需的同態證明(正如Vitalik所指出的)。

然而,可以修改構造,以避免同態證明的需求并仍然具有輕量級驗證器。高層次的思路是讓區塊構建者計算區塊矩陣E的列的承諾。通過這種方法,驗證器不需要重建列證明;他們只需自己完全重建列,然后根據列承諾從頭開始重新計算證明。通過共識,驗證器將確保他們在相同的列承諾集上達成一致。

具體而言,步驟1-4與上文中解釋的danksharding相同。然而,步驟5是不同的。

步驟5:區塊構建者計算B的列的多項式承諾:將它們表示為T =(T0,T1,...,T4095),每個Tj都是對d(X,j)的承諾(具體來說,它可以是Pedersen向量承諾,針對d(X,j)的系數向量)。接下來,它創建一個證明,證明C和T承諾了相同的矩陣,方法如下。區塊構建者選擇一個(偽)隨機點(x?,?),使用承諾的同構性來插值計算列承諾T?,得到一元多項式d(X,?)以及行承諾Cx?,得到一元多項式d(x?,Y),并創建兩個證明:πx? - 針對Cx?的d(x?,?)的多項式求值證明,以及π? - 針對T?的d(x?,?)的多項式求值證明。點(x?,?)對所有驗證器是通用的,可以從隨機信標輸出中獲得,或者用Fiat-Shamir變換生成偽隨機。然后,區塊構建者向驗證器i發送(Pi,C,T,πx?,π?,d(x?,?)),其中Pi是E的兩行和兩列。在此構造中,構建者不計算任何證明。

驗證器驗證證明πx?,π?,以捕獲惡意區塊構建者生成錯誤的列承諾T。然后,驗證器重新提交Pi中的兩行和兩列,并驗證它們是否與C和T中的相應元素匹配。如果Pi中的行(表示為x)位于原始矩陣B的范圍內:x ∈ {0..255},驗證器只需驗證承諾是否與C中的相應元素Cx匹配;但是,如果行位于擴展部分:x ∈ 256..511,驗證器首先通過C中的承諾插值以獲得Cx:

請注意,插值是可能的,因為IPA承諾(盡管它們的證明不是)是同態的。驗證器以類似的方式針對T驗證Pi的列,并在需要時進行插值。

在此構造中,區塊構建者無需為驗證器計算證明。驗證器可以自己計算所有證明。然而,找出一種高效算法一次計算大量證明(類似于KZG的方式,或使用Vitalik的IPA思想)是一個有趣的研究問題。

正如我們所看到的,這種方法的主要瓶頸是對采樣客戶端的效率損失,因為基于IPA方案的證明大小是對數的(與KZG的常數大小相反)。此外,采樣客戶端可能需要下載列承諾,除了行承諾之外,導致通信開銷。然而,我們認為這是一個值得進一步探索的有前景的方向。

使用Merkle承諾的Danksharding Vitalik最近探討的另一種可行方法是使用Merkle承諾而不是多項式承諾來避免可信設置。Merkle承諾不是多項式承諾方案,因此與擦除編碼一起使用更具挑戰性。區塊構建者將擦除編碼數據,并通過Merkle樹根對擴展數據進行承諾。主要挑戰是在不下載全部數據的情況下檢測錯誤擴展的數據。欺詐證明可用于解決這個問題,但這依賴于一個客戶端能下載全部數據,檢查它是否正確擦除編碼并正確承諾,并在發現問題時通過提供欺詐證明發出警報。

或者,可以使用FRI證明來檢查Merkle樹的葉子是否接近Reed-Solomon碼字(即檢查Merkle承諾基礎數據是否正確擦除編碼)。采樣客戶端將檢查FRI證明,并通過請求它們的Merk爾證明來對足夠比例的葉子進行采樣,以確保數據可用且可以重建。

數據可用性采樣及其具體實例danksharding將降低數據存儲成本,從而實現更具可擴展性和更便宜的區塊鏈。DAS的編碼方面是一個潛在的研究豐富領域,有許多可能的探索方向。我們提出了一種可能的途徑:改進重建協議以使用較少的樣本(25%而不是75%)。另一個令人興奮的方向是探索不需要可信設置的替代承諾方案。

DeFi之道

個人專欄

閱讀更多

金色薦讀

金色財經 善歐巴

Chainlink預言機

區塊律動BlockBeats

白話區塊鏈

金色早8點

Odaily星球日報

歐科云鏈

深潮TechFlow

MarsBit

Tags:SHAINGSHARDDINPEPEDASHAI幣TKING價格Almace ShardsDinoStep

狗狗幣
以太坊誕生之初的“中國故事”_區塊鏈

以下內容為香港 Web3 嘉年華速記Jerry Liu,水滴資本聯合創始人杜宇,萬向區塊鏈實驗室負責人Roland Sub.

1900/1/1 0:00:00
一文探討美聯儲的全球困境_LOC

原文作者:CONCODA原文編譯:Block unicorn 銀行恐慌已經接近尾聲,但美聯儲已經重新開始實行緊縮政策,這不僅會導致不可避免的破產和隨后的救助,還會增強美國中央銀行的全球影響力.

1900/1/1 0:00:00
加密巨頭為何紛紛布局Layer2?一文解讀Base和Linea的誕生、機制和運營策略_OIN

原文:《解讀 Base 和 Linea:為何 Coinbase、ConsenSys 等加密巨頭紛紛布局 Layer2?》作者:餅干.

1900/1/1 0:00:00
從媒體到風投 Bankless Ventures如何讓10億人使用加密技術_ESS

自成立 Bankless 以來,Ryan(全名:Ryan Sean Adams)和我一直懷著崇高而獨特的抱負打造它:讓 10 億人使用加密技術.

1900/1/1 0:00:00
淺談Layer3的潛在優勢及應用鏈的未來發展_ROLL

Layer 3 (L3) 和應用鏈解決方案的興起為以太坊生態系統帶來了新的可能性。雖然通過"Rollup 套 Rollup"實現指數級擴展可能是不可行的,但專注于 L3 以獲.

1900/1/1 0:00:00
一文淺析如何抓住“地域概念幣”的新機會_TER

理解加密貨幣中的地域性可以幫助您在市場中占得先機。大多數投資者都專注于美國市場,但其實一些最好的投資機會來自國際市場。介紹一下“地域概念幣”的概念,以及如何利用它來獲得巨大收益.

1900/1/1 0:00:00
ads