以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 非小號 > Info

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

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推出新的加密貨幣指數,顯示采用率和創新參數:金色財經報道,Andreessen Horowitz 的 web3 投資部門 a16z Crypto 公布了其新的“加密貨幣狀態”指數,該指數描繪了比大多數價格圖表更樂觀的新興市場圖景。 該指數考慮了幾個所謂的采用和創新參數,包括活躍開發人員的數量、學術研究中對加密貨幣的提及,以及去中心化交易場所的交易量。[2023/4/11 13:57:22]

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

挑戰在于確保稍后可以重建區塊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個驗證者。如果大多數驗證者都是誠實的,他們就可以共同重建原始數據。這種技術可以防止任何一半驗證者的崩潰故障。通過在下一節中討論的多項式承諾,可以擴展以防止一半驗證者的拜占庭行為。

Character.AI以10億美元估值完成1.5億美元融資,a16z領投:3月24日消息,生成式AI初創公司Character.AI宣布以10億美元估值完成1.5億美元融資,a16z領投,GitHub前CEO Nat Friedman、Elad Gil、A Capital和SV Angel參投。

Character.AI表示新資金將使其能夠擴展“計算能力,從而產生具有高級推理和更高準確性的更復雜模型”。

此外,有消息稱Character.AI可能會探索加密(或更廣泛的Web3)和社交音頻市場,因為a16z一直是這兩個領域的重要參與者,但該公司截至目前尚未提供額外評論。(CNBC)[2023/3/24 13:23:23]

以下是擴展的詳細過程。要將數據從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個群元素。

a16z自建媒體網站Future停更兩月面臨關閉,主要編輯人員已離職:12月2日消息,著名風投a16z自建媒體網站Future面臨關閉,主要編輯人員都已經離職,包括執行主編(前CNN編輯)Maggie Leung、4年前加入a16z的總編輯Amelia Salyers、密碼學編輯(前Decrypt資深編輯)Jeff Benson以及生物學編輯Nicole Neuman。

Future于2021年6月15日上線,同時發布20多篇文章,主題從創造者經濟到加密貨幣顛覆好萊塢的潛力。其最新文章《Why Applying Machine Learning to Biology is Hard – But Worth It》發表時間為2022年10月5日,已有將近2月未發表任何文章。據Similar Web估計,Future網站今年7月的訪問量約為130萬,到9月則下降至42.3萬。[2022/12/2 21:18:45]

接下來,我們解釋區塊構建者如何編碼一個區塊并將其分成片段發送給驗證者。取某個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滿足

Kathryn Haun:將與a16z合伙人Chris Dixon在明年初推出專注于加密貨幣和web3的基金:金色財經報道,前聯邦檢察官、a16z合伙人Kathryn Haun在推特中表示,我將與a16z合伙人Chris Dixon在明年初推出自己的基金,專注于加密貨幣和web3。目前的加密貨幣基金將是我在公司的最后一個基金。今天,比以往任何時候都更明顯的是,web3將改變互聯網,a16z加密貨幣的團隊將繼續由cdixon、alive_eth、AriannaSimpson和 AAlbaneseNY領導。我依然會與他們合作,他們就像家人一樣。作為董事會合伙人,我將繼續致力于管理現有的a16z加密貨幣組合,并將保留我的董事會席位。[2021/12/16 7:42:30]

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)的所需評估證明。

這個論證表明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% - ε的區塊元素已存在,但無法重構缺失的元素。

Forta Protocol完成2300萬美元融資 A16Z領投:10月1日消息,去中心化安全協議Forta Protocol宣布完成2300萬美元融資,A16Z領投,Coinbase Ventures、True Ventures、OpenZeppelin和Blockchain Capital 跟投。

據悉,Forta Protocol 提供針對智能合約的安全服務。Forta Protocol 的核心是代理開發社區,社區成員在 Layer1、Layer2 甚至是側鏈上尋找包括網絡、財務、運營以及治理在內的風險。[2021/10/1 17:19:33]

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

所以,在最壞的情況下,不到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:INGSHAHARDANKFringe FinanceSHAB價格Hesman ShardBANKERS

非小號
DASH:AI中的明牌與暗牌

今天任何能輕易想到的idea,都是明牌,上來就攤牌比經驗值,武力值,和血條了,比如大家討論最多的AI助手,虛擬老師,AI客服,文案生成等等.

1900/1/1 0:00:00
WEB:張烽:以NFT為切入口 叩響傳統企業Web3化的大門

隨著數字時代的來臨,Web3化成為社會熱議的焦點,也是企業最希望尋求突破的一個訴求,如何擁抱Web3,借力進行數實融合,并且取得階段性的成效?圍繞這個話題,日前.

1900/1/1 0:00:00
BRC:BRC熱潮 是散戶「最后的狂歡」嗎?

撰文:Cookie 每年一度的「meme 季」它又又又又來了。這是一個充滿焦慮的「季節」。財富自由的故事似乎在不斷發生,害怕沒能「上車」的 FOMO 情緒能夠戰勝所有未知的恐懼.

1900/1/1 0:00:00
ETH:為什么 EigenLayer 讓我們興奮

地平線上似乎出現了一個新的“紀元”。在加密之旅中,每隔一段時間,開拓者就會發現一種新的原語,從而改變整個行業的格局.

1900/1/1 0:00:00
DEF:DeFi 挖礦、杠桿交易?深入挖掘加密億萬富翁和大佬們的鏈上活動

加密研究員 Hoeem 最近總結了一些加密億萬富翁和交易大佬在鏈上的活動,涉及杠桿交易、DeFi 挖礦等.

1900/1/1 0:00:00
ELAN:金色觀察 | Multicoin Capital:讀懂web3原生SQL項目Tabeland

作者:Kyle Samani,Multicoin Capital聯合創始人;翻譯:金色財經xiaozou繼比特幣之后的第一波加密創新浪潮中,很多開發人員分叉了比特幣代碼庫.

1900/1/1 0:00:00
ads