撰文:以太坊基金會
編譯:隔夜的粥
編者註:近日,以太坊基金會啟動了一個KZG 儀式,它將開啟以太坊可擴展性的下一章,在為期大約60 天的貢獻期內,以太坊生態的參與者們都可以為這一儀式貢獻自己的秘密值。而對於眾多L2 網絡而言,這次活動也具有非常大的意義。
Proto-danksharding(又名EIP-4844)是對以太坊協議的計劃更改,它引入了臨時數據存儲。因為數據不需要永久存儲在網絡中,所以使用起來比鏈上存儲(即CALLDATA)更便宜。 Rollups(L2)可以使用此存儲將交易數據或證明發布回第1 層(主網)。這樣做的好處是L2 的交易費用更低,可擴展性更強,更多人可以更容易訪問!
然而,Proto-danksharding 需要一個新的密碼學方案:KZG 承諾。該儀式有時稱為“可信設置”,它將生成承諾工作所需的結構化引用字符串(SRS)。只要儀式中的一名參與者成功地隱藏了他們的秘密,SRS 就是安全的。
這是一個多方參與的儀式:每個貢獻者創建一個秘密,並運行一次計算,將其與之前的貢獻混合在一起。然後,輸出被公開並傳遞給下一個貢獻者。為了防止有人試圖破壞儀式,參與者需要一個以太坊地址或GitHub 賬戶,並有一定的交易歷史記錄才能參加。該儀式的最終輸出將包含在未來的升級中,以幫助擴展以太坊網絡。
FAQ
1、什麼是EIP-4844(又名Proto-Danksharding),它與擴容以太坊有何關係?
以太坊社區正在通過二層網絡(L2) 擴展到全球可訪問性。 L2 增加了用戶可用的總區塊空間,同時仍保持以太坊一層網絡(L1) 提供的安全性。
L2 網絡需要在以太坊上發布大量數據,而L1 網絡目前為此收取很高的費用。為了解決這個問題,以太坊將創建一個新的數據層,通常稱為分片(sharding)。這為L2 用戶提供了所謂的“數據可用性”(DA)保證。 L1 只在有限的時間內保存數據,這意味著我們可以在不犧牲較小L1 節點運營商的去中心化的情況下擴展區塊鏈。
目前這方面的領先設計被稱為Danksharding。這項功能的推出將分幾個步驟進行,而第一步是EIP-4844,也被稱為Proto-Danksharding。
2、什麼是召喚儀式?
儀式使用秘密輸入來產生輸出,這種方式使逆向工程和發現最初的秘密變得不可能。
以下是它們如何工作的的簡要總結:
參與者1 選擇一個隨機數(例如5),然後對其進行計算。該計算的輸出被傳遞給參與者2,在那裡他們用自己的秘密輸入(例如3)重複步驟1,並將其與第一個參與者的輸出(例如5×3=15)混合。
重複這個過程,直到有足夠數量的參與者,此時序列中的最後一個輸出就成為最終輸出。
儀式也被稱為“可信設置”,最著名的是Zcash 用來引導他們的隱私功能。然而,它也可以用於添加可擴展性機制,就像以太坊正在做的那樣。
Carl Beekhuizen 有關於這個儀式的Devcon 演講,其簡單而深入地解釋了這個儀式是如何以及為什麼起作用的。或者,你可以探索儀式規範來真正深入了解細節,並可能編寫自己的實現。
3、為什麼(Proto)-Danksharding 需要一個儀式?
(Proto)-Danksharding 需要一個能夠快速證明和驗證底層數據的承諾方案,同時承諾大小較小。而最符合數據可用性抽樣(DAS)標準的多項式承諾方案是KZG 承諾(KZG commitments)。
KZG 方案通過以秘密值(特別是橢圓曲線點)對其進行評估來提交多項式。這個儀式的目的,在於以一種沒有人知道這個秘密是什麼的方式來構建這個秘密值,並且以一種很多人確信即使在很多年之後也沒有人知道的方式來實現。
4、我如何為儀式做貢獻?
就在這個網站上,你可以使用自己的以太坊地址或Github 帳戶登錄參與。
如果你想要此界面的替代方案,可以使用其他幾個CLI 和網頁(鏈接+ IPFS)。在這個公共貢獻期之後,我們將接受來自定制實現或獨特隨機生成的特殊貢獻。這兩項都有資金支持,更多信息將在未來幾週內分享。
5、KZG 代表什麼?
KZG 來自Kate, Zaverucha 和Goldberg。他們是論文“常數大小多項式及其應用”中的作者,這篇論文概述了EIP-4844 計劃使用的底層密碼學機制。
要深入研究KZG 承諾的密碼學,Dankrad Feist 的博客文章是一個很好的起點。
6、在這個儀式上要做什麼?
該界面將引導你完成以下步驟:
1、你提供來自三個不同來源的隨機輸入。
2、使用以太坊錢包或Github 賬戶登錄以防止垃圾信息。
3、詢問Sequencer(排序器)你是否可以參加。輪到你的時候,排序器會給你發送“Powers of Tau”數據。
4、你的計算機會將你的隨機性混合到Powers of Tau 中,完成後,將其發送回Sequencer(排序器)。
5、排序器將驗證你的計算機是否正確執行了所有操作,並將Powers of Tau 傳遞給下一個參與者。
儀式結束後,你應返回以核實你的貢獻是否確實包含在最終報告單中。
7、Powers of Tau 是什麼?
“Powers of Tau”這個名稱來自關於可信設置和SRS 的密碼學文獻。
“Tau”來自希臘字母τ,是本文檔中提到的“秘密”的簡寫。
“Powers” 是指我們不僅需要秘密,還需要秘密的連續冪(乘方)。 (即
)
值得注意的是,Powers of Tau 不是原始數字,而是被編碼為“加密”的橢圓曲線點,因此隱藏了它們。
8、什麼是Sequencer(排序器),它有什麼作用?
Sequencer (排序器)是由以太坊基金會託管的服務器,用於協調貢獻。它跟踪誰在嘗試貢獻,為他們提供下載所需的數據,並在將數據發送給下一個參與者之前驗證每個貢獻。
你不必相信排序器會產生有偏差或無效的最終輸出。報告單提供了所有隨機性貢獻的可驗證記錄,你可以自己驗證。
9、不能使用另一種沒有“可信設置”的承諾方案嗎?
使用KZG 以外的任何東西(例如IPA 或SHA256)會使分片路線圖變得更加困難。從Vitalik 的Proto-Danksharding 常見問題解答中,你可以了解更多信息。
10、需要出什麼差錯才能破壞儀式的安全性?
這個儀式有一個“1-of-N”的信任假設,這意味著整個儀式中需要有一個參與者沒有洩露秘密輸入,那麼一切都是安全的。
這意味著每個參與者都必須分解他們用於貢獻的軟件,讓軟件為他們提供秘密,然後與每個其他參與者合謀重建最終的秘密。
更現實的故障模式是一個常見的錯誤,它會洩露隨機性。為了解決這個問題,這個站點已經經過了審計,並且有構建在完全不同的軟件堆棧上的貢獻軟件的替代實現。
這就是為什麼會有成千上萬的參與者在不同的操作系統上使用不同的軟件,來幫助防止人員和硬件/軟件中的單點故障。
11、在這種情況下可能會發生什麼攻擊?
如果以某種方式從Powers of Tau 中提取秘密,攻擊者將能夠對EIP-4844 中的數據做出任意聲明。這將有效地破壞依賴於EIP-4844 blob 數據的所有服務和應用。
12、參與貢獻需要多長時間?
這取決於在同一時間有多少人試圖參與,你可能要等待一段時間。一旦輪到你,在標準筆記本電腦和互聯網連接的情況下,完成貢獻應該只需要不到3 分鐘的時間。
13、為什麼我需要登錄以太坊或GitHub?
為了減少針對儀式的女巫攻擊,排序器需要驗證你是一個(有點)獨特的人,否則一個人可能會提交許多不同的貢獻,從而阻止其他人做出貢獻。
1、使用以太坊錢包登錄-這是首選的選擇,因為它是所有以太坊社區成員都應該已經擁有的東西,並且它允許簽名,以便以後驗證貢獻。每個賬戶必鬚髮送至少3 筆交易,以防止參與者為這個儀式創建新的賬戶。
2、用GitHub 登錄——這個選項是為那些距離社區較遠,但仍想參與的人提供的替代選擇。
14、我如何知道我的貢獻被納入了?
當這個儀式結束時,你應該查看一下儀式的記錄(將在本網站上託管,並在互聯網上廣泛傳播)。這份記錄將包含所有必要的數據,以核實誰參加了。
如果你使用以太坊錢包地址登錄,那麼你將通過來自錢包帳戶的簽名消息獲得你參與的密碼學證明。
15、我如何驗證最終的儀式輸出?
儀式結束後,社區驗證儀式是否正確運行是很重要的,這包括兩個部分:
1、通過檢查記錄中出現的身份,來驗證你或足夠多你信任的人是否真的參加了儀式。
2、驗證記錄是正確構建的,包括所有witness(正確貢獻的證明)以及Powers of Tau。
在貢獻結束時下載你的收據,以檢查它是否由sequencer(排序器)地址簽名。你可以查看這些說明。
16、為什麼我不能在移動設備上參與貢獻?
雖然一些移動設備的處理能力足以參與這個儀式,但很多移動瀏覽器不能很好地處理WASM,在計算完成之前鎖定屏幕或降頻CPU,而且通常設備之間存在很大差異,這很難解釋。