以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 火必APP > Info

SHA:以太坊擴容終極解決方案 :Danksharding (一)

Author:

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

熟悉Vitalik(以太坊創始人)的都了解其著名的不可能三角理論,相較于傳統貨幣理論,一國無法同時實現貨幣政策的獨立性,匯率穩定和資本自由流動,最多只能同時滿足兩個目標,而不得不一定程度舍棄另一個目標,而區塊鏈所面臨的“不可能三角”則是指無法同時滿足去中心化,安全,可擴展性/效率這三項特征。其最近的文章“Endgame”則再次強調了區塊鏈的終極形態,區塊生產將由中心化的生產者主導,而區塊鏈驗證將由更多資源消耗較低,門檻較低的去中心化部署的,無需許可的節點參與(可以通過個人手機,PC等),同時實現真正的防審查的開放網絡。在之前的區塊鏈模塊化演變之路中,我們也多次強調,以太坊的愿景是成為一個以Rollups為中心的,統一的解決和數據可用性協議,通過去中心化的驗證節點,以太坊網絡獲得了較高的安全性,盡管相較于其他Layer1, Rollups的費用較高(主要是post to Layer1的費用,下文會提到解決方案),并且缺少一定靈活性,但是Rollups在享有Layer1的安全性同時,通過以太坊的結算和數據可用性獲得了一定的擴展性。?

以太坊目前采取了數據層面的分片,Rollups可以通過這種分片方式提交數據, 因而摒棄了之前的分片計劃(Sharding1.0)。通過這種分片,底層的數據容量將會提升,因此Rollups提交數據的成本將會大大降低。當然還是通過以太坊的內置執行環境實現, 但是其巨大的狀態,給其執行帶來一定的難度。我們會在Danksharding(二)中介紹弱無狀態“Weak Stateleness”和沃爾克樹“Verkle Tree”的概念,試圖解決狀態驗證和狀態存儲的問題。而Celestia通過將執行層和數據可見層分離的方式,通過引入數據可見抽樣以及輕節點的概念,極大地提升了其可擴展性。

在Sharding1.0的設計中,每個區塊有64個分片,每個分片有單獨的提議者和委員會,輪流通過節集合選舉出來。每個提議者和為委員會負責驗證自己的分片數據(1/64)。而在Sharding1.0中,以太坊并沒有采用數據可見采樣,而是通過每個分片驗證集合大多數誠實節點假設下載全部數據實現。

這個設計顯得冗余和復雜,同時存在攻擊者風險,通過分片來分配節點的方式也不妥。同時,因為信標鏈上的驗證者需要收集所有的委員會投票,這需要時間,所以保證在一個時隙內(Slot)完成投票也非常困難,除非引入額外假設(比如同步假設)。

以太坊基礎設施團隊Nimbus推出首個在DeFi金融衍生產品:8月5日消息,以太坊基礎設施團隊Nimbus宣布推出其首個DeFi結構化金融衍生產品“Smart-Stakern-NFT”。作為一個投資組合增強工具和產生收益的價格波動對沖工具,“Smart-Stakern-NFT”包括一個產生收益的機制,允許持有者從最佳Staking選項中獲得獎勵,該產品投資門檻為1BNB或200BUSD。(crypto daily)[2022/8/5 12:04:01]

而相比于Sharding1.0的設計,Danksharding的設計則引入了大區塊的設計,大區塊將信標區塊和所有分片數據結合并且實現同步確認,大區塊由專門的創建者(Builder)創建,而驗證節點通過數據可見采樣確保所有數據都是可見的。

數據可見采樣我們之前在多篇文章中已經介紹過,由于資源和成本限制,大部分節點無法下載全部的數據,如何在不下載全部數據的情況下驗證數據/交易呢?我們需要通過數據可見采樣確保數據的可見性,所以節點(即使是輕節點)可以輕松安全的在無需下載全部數據的情況下驗證數據。?

而數據可用采樣是根據長期存在的數據保護技術刪除碼(erasure coding),就是利用這個技術本身可以讓原本的數據實現擴展,比如雙倍大小, 那么原本的數據可以恢復,比如通過這些擴展數據的50%。Reed-Solomon可以將原有數據進行拓展,而拓展的數據和原有的數據則通過拉格朗日插值公式(Lagrange interpolation formula)形成多項式。多項式式中的次數是其最高指數。比如x3+x2+2x-4的次數為3. ?而多項式的一個核心特征就是任何次數為N的多項式都可以通過其上任意的N+1項恢復。比如原有數據為a?,a?,a?,a?。那么通過多項式對應的價值分別為f(0),f(1),f(2),f(3),所以f(0)=a?,f(1)=a?,f(2)=a?,f(3)=a?因而我們可以找到其對應的次數為3的多項式。同時,我們可以通過刪除碼技術,將原有數據拓展額外四項數值,我們將其記錄為c?,c?,c?,c?。f(4)) =c?,f(5)=c?,f(6)=c?,f(7)=c?因此,我們可以利用多項式的特征,通過其上的任意四個數據樣本恢復多項式,也就是50%(4/8)的數據。比如我們采樣了30次,那么當可見的數據小于50%的時候,就會受到攻擊。而這個概率只有(?)3o。

以太坊橋TVL達到206.7億美元:金色財經報道,DuneAnalytics數據顯示,以太坊橋當前TVL達到206.7億美元。其中鎖倉量最高的5個橋分別是Polygon Bridges(60.98億美元)、Avalanche Bridge(55.63億美元)、Arbitrum Bridges(40.21億美元)、Fantom AnyswapBridge(28.41億美元)、Near Raibow(15.25億美元)。[2022/4/1 14:32:04]

那么我們通過數據可見采樣實現了數據可見性(DAS),基于數據可見性,全節點可以生成欺詐證明,輕節點可以在無需下載全部數據的情況下,驗證全部數據,我們又是如何確保數據被正確的采用了刪碼技術呢?如果被額外拓展的數據是一個空集,或者是垃圾數據,那么我們如何恢復數據呢?

通常情況下,我們通過默克爾根證明某些集合中數據的存在性,而且適用于大量的數據。但是原有數據和通過刪碼技術得到的拓展數據,我們如何保證他們在同一個多項式上呢?那么我們就需要其他方法。而默克爾根無法證明。目前主要有兩個方向:

1)Celestia通過欺詐證明實現。當見證人發現數據沒有被正確采用刪碼技術,那么這個人就會將欺詐證明提交提醒其他人。但是這里需要最少誠實假設和同步假設(當有人給我發送欺詐證明的時候,我需要確保我能在一定時間內收到通知)。

2)以太坊和Polygon Avail則采用了KZG多項式承諾(KZG commitments) 的方法。這里免去了欺詐證明中的包括少數誠實假設和同步假設等的安全假設。當然,在數據恢復和重建的時候,我們不可避免地都需要引入這兩個假設(無論是Celestia還是以太坊,還是Polygon Avail)。

其他的解決方案比如Zk-proofs。但是其現有的計算瓶頸, 使得其目前并被推崇為一個可行方案,我們期待未來的技術進步,而以太坊也可能在之后引入其STARKs的技術,因為KZG多項式承諾本質并不防量子計算,而STARKs可以。?KZG多項式承諾我們可以理解為一種通過加密方式承諾價值的多項式承諾方案。

數據:以太坊鏈上NFT銷售總額突破80億美元 創歷史新高:金色財經報道,根據最新數據顯示,以太坊鏈上NFT銷售總額突破80億美元,創下歷史新高,本文撰寫時為8,041,063,403美元,鏈上交易數量為3,575,620筆。此外,NFT鏈上銷售總額突破120億美元,目前為12,146,606,738美元,同樣創下歷史新高,其中以太坊鏈上NFT銷售額最高,Ronin鏈上NFT銷售額位居第二,為2,587,527,511美元。[2021/10/22 20:48:51]

而KZG根(多項式承諾)可以理解為類似于默克爾根(向量承諾)的承諾。而我們上文也提到了原有的數據通過多項式匹配到為f(0),f(1),f(2),f(3)), 而我們將拓展的數據匹配為f(4),f(5), f(6),f(7)。而f(0)到f(7)將確保在同一個多項式上。

KZG 多項式承諾并不能保證后量子安全,同時需要可信設置-- 必須生成具有一定關系的橢圓曲線點,但不允許任何人知道它們之間的實際關系-但可以通過分發信任,允許許多人參與設置,設計為只要一個人是誠實的,它就有效;而STARKs提供了后量子安全,而且其可信設置只需要一個誠實參與者, 但是相比于欺詐證明,其無需引入同步假設和最小誠實假設,可以確保刪碼技術被正確使用,延遲性也較低。注意,這個延遲性體現在當采用數據可見采樣的時候,不同節點間需要欺詐證明實現信息互通,而這里欺詐證明會大大提升區塊間隔,而驗證者投票給錯誤編碼塊的風險性也會上升,而KZG則減少了這類問題的發生。

但是在區塊數據恢復的過程中,我們仍然需要用到上述兩個假設:

1)我們需要足夠多的節點(輕節點或者全節點)去采集足夠多的數據樣本,從而恢復數據,這里需要最小誠實假設,一個全節點可以通過數據可見,生成欺詐證明。

2)當數據可見后,不同節點需要在某時間段內溝通并且將數據重新組合,比如當區塊數據不完整,部分可見的時候,全節點必須其他節點溝通,將數據拼起來。

動態 | 以太坊未確認交易35535筆:據Etherscan.io數據顯示,以太坊未確認交易35535筆。當前挖礦難度2511.39 TH,交易處理能力6.2 TPS。截至目前以太坊全球均價為153.03美元,最近24小時漲幅為3.04%。[2019/11/28]

POW中的礦工以及合并后的驗證者都承擔著類似的角色,他們負責提議,投票和出塊。POW中礦工通過哈希算法計算的形式參與,而合并后,驗證節點直接在區塊鏈上投票。而PBS創建了全新的創建者角色,負責生成包含信標鏈和分片數據的大區塊,同時以向驗證者競價的形式,提交區塊。和Vitalik中endgame的愿景相一致,在PBS中,一個誠實的創建者就可以保證網絡的安全以及抗審查性, 而驗證節點則需要大多數誠實假設。?

創建者的收益主要來自于優先小費(來自于searcher)以及可提取的礦工價值(MEV)。在充分競爭的市場中,創建者競價的價值會等同于其可見利潤(其可提取的MEV總價值-硬件成本等費用)(這等同于只有一個最高利潤的創建者能夠勝出,而其他創建者最終的競價都是一個收支平衡點)而所有的價值都會給到驗證節點集合,因為驗證者將無條件獲得競價金額。

首先,創建者提交區塊頭信息,這里包含執行區塊哈希,競價以及簽名;之后信標鏈提議者選出獲勝區塊頭,并且無條件獲得全部競價金額(不管是否順利出塊,如果沒有出塊,創建者仍然需要支付這些金額),而這個無條件支付方式解決了提議者對于創建者的信任問題;委員會成員確定獲勝區塊頭并且簽名,創建者展現區塊身,以及其他相關證明,剩余的委員會將認證獲勝區塊身。

這里我們為什么需要先提交區塊頭,確認之后再展現區塊身體?這里采用了承諾—揭示機制。如果一開始提交大量區塊身體,會造成大量的帶寬擁堵,同時其他的創建者也可以發現其策略,進行MEV攻擊,即使對于一些提議者來說,他們也可以復制這些策略,而并不給創建者任何獎勵和激勵,而MEV攻擊會逐步讓創建者和提議者的角色逐步融合,給整個生態帶來巨大傷害。

動態 | 以太坊未確認交易80257筆:根據etherscan.io數據顯示,目前以太坊的網絡未確認交易筆數為80257筆,相較此前網絡擁堵更為嚴重。[2018/11/24]

當然這里的問題是一個雙時隙的延遲問題,在PBS中整個區塊時間為2個時隙。比如合并后的出塊時間為12秒,而這里在不引入其他假設的情況下應該為24秒。當然我們最終采用8秒/16秒的折中算法。

PBS的設計在一定程度上解決了驗證節點去中心化的問題,同時雖然大區塊需要消耗相當多的資源,比較難創建,但是驗證相對容易,這也和Endgame的理念相一致。所以將創建者和提議者分開,本質上是處理大量資源,數據,難度的機構可以參與搭建,而提議者可以是驗證者。這種設計本質上讓MEV擴展到數以萬計的驗證者身上。

當然這里和MEV問題中一樣,創建者和驗證者一樣,會利用自己的權利進行交易的審查,比如優先自己的交易,比如屏蔽其他人的交易等等。這里我們是如何解決的呢?以太坊采用了防審查的列表,提議者將他看到的所有交易都放在這個列表中,所以創建者必須將所有的交易都包含進去(除非區塊已滿)。這里的過程類似于PBS的過程,創建者首先需要提交包含所有交易的列表及概述,而后創建者創建區塊身,競價,并且包含交易列表的相應哈希,提議者選擇獲勝的競價和區塊頭。之后創建者展示區塊身并且證明他們已經囊括了所有列表上的交易,或者證明區塊已滿。委員會證明區塊身的有效性。

在以太坊中,一個KZG多項式承諾并不能解決所有數據問題,通常一個區塊有很多KZG承諾。在恢復區塊的過程中,我們需要很多低能源消耗的節點參與,所以相對應的KZG承諾也需要進行相應劃分。而為了讓恢復過程更為簡單,這里每個區塊中在m個KZG承諾中編碼m個數據碎片, 而這個需要在每個數據碎片上進行數據可見采樣。因此,以太坊再次利用Reed-Solomon技術,將m個承諾擴展至2m。

在Danksharding中,每個區塊中最多有256個數據碎片(目標為128個)。KZG承諾0代表的是數據碎片0相對應的原有數據和拓展數據。而和之前1D的承諾一樣,我們能確保0-511的承諾都在同一個多項式上。而至此,我們可以基于此進行數據可見采樣,確保所有分片中的數據可見性。

在1D方案中,我們需要50%的數據恢復所有數據,而在2D中,我們需要75%的數據才可以恢復,因此我們需要采集更多的樣本數據。這里需要強調的是,在1D的方案中,我們得出結論,我們需要采集30個樣本,而數據不可見的概率為(?)3o, ?而要達到相同的概率, 在2D的方案中我們需要采集75個樣本。讓我們通過帶寬理解2D方案是如何提升效率的:

在Sharding1.0方案中(1D)30個采集樣本,需要采集64個分片,所以如果需要檢查所有數據可見性,需要512B*64分片*30樣本/16秒 = 60KB/秒 帶寬 (基于一個數據碎片容量為1bytes假設)。而在2D方案中,我們可以將其考慮為一個區塊,所以需要512B*1*75樣本/16秒=2.5KB/秒帶寬Danksharding (DS)

DS設計基于PBS,其中在特定時間由一個創建者,一個提議者以及一個投票委員會組成。一般的驗證節點無法處理這么大量的帶寬,所以需要引入PBS。在DS中,每個區塊的數據存儲量有多少呢?我們可以計算下,每個數據碎片字段元素*32字節*256數據碎片=32MB。在DS的設計中,由于我們引入了大區塊的概念,盡管數據仍然需要分片,但是整體上你可以理解為一個統一區塊,并且在上進行數據可見采樣。

在DS中,每個時段都被分為32個時隙,因此每個時隙將匹配1/32節點進行驗證。每個節點在制定時隙驗證相應的2行2列,同時需要下載其他時隙區塊上的該行該列。比如,我需要認證時段2時隙26上對應的2行2列,因此我要確保從上一次我認證的區塊開始(時段1時隙26)到現在,所有時隙(區塊)上,我需要認證的行列信息都可見。所以DS中需要基于大多數誠實節點假設,確保數據可見性以及負責數據恢復。這個和上文提到的低能源消耗的采集75個樣本的輕節點(個人節點)不是一個概念。上文可以稱為私人隨機抽樣。

恢復/重建過程中我們需要再此引入最小誠實假設和同步假設。而通過測算,我們需要64,000節點。但是實際情況下,這個數據會大大減少。64, 000的節點數量是基于同樣的驗證節點不同時運行多個節點的假設,但這顯然與現實不符,因為以太坊單個節點的質押數量限制為32個,所以很多大戶將倉位分散到多個節點上。如果你采集的數據超過2行2列,那么你會大大提升概率,因為這里面會有很多交集,因此64, 000數量要求將會大幅減少。

一旦采用了私人隨機抽樣,任何節點可以采集任意的數據樣本,即使當有惡意多數提醒數據可見(當數據不可見)的情況下,可以通過私人隨機抽樣高概率的證明數據可見,而上文提到驗證節點的行列數據采樣是基于多數誠實驗證節點的假設

這里私人很重要,如果攻擊者攻擊了匿名性,他們可以賄賂少部分采樣節點,根據你的請求提交數據并且隱瞞其他數據,因為根據你的采樣數據,你無法證明數據可見。

相比于Sharding1.0 我們看到了Danksharding的極大進展,1)委員會的功能被弱化了,他們只需要投票,這個減少了受賄的風險。原來的分片設計中,驗證者每個時間段需要投票,但是每個分片都有自己的提議者和委員會會,所以每個時隙需要1/32*64=1/2-0-4-8的節點集合。而在DS中,驗證者也同樣每個時間段需要投票,而每個時隙需要1/32的節點集合投票。

2)數據碎片的確認不再是單獨的,而是和主鏈同步確認,這確保了rollups和以太坊執行環境中的同步互操作性,我們知道波卡等設計都一定程度上犧牲了可擴展性,而實現同步互操作性,而以太坊的這個設計,在實現分片(可擴展)的同時,確保數據碎片的交易可以立即被確認,同時上傳至L1。這個也將衍生出更多的類似于Cosmos上的互操作性設計,比如共享流動性,比如Superfliod 質押,跨鏈安全性和跨鏈賬戶等設計,我們將持續關注。

3)同時我們也在上文提到了帶寬的提升,通過大區塊的設計以及2D KZG承諾,我們發現Sharding1.0中60KB/S的帶寬要求,而在DS中只需要2.5KB/S。

而在可擴展性層面,在模塊化的設計理念中,比如Celestia的設計理念,當輕節點數量越來越多時,我們可以發現區塊容量也越來越大,數據吞吐量也越來越高(TPS/秒),所以本質上去中心化促使了擴展性。當然盡管我們看到了擴展性的提高,但是仍然會有一些trade off。除了安全可擴展的,允許更多生態搭建的底層以外,我們需要在數據存儲和帶寬上進行提升。?

數據存儲主要包含數據可見和數據可檢索性,而公式層需要保證在足夠的時間段內,任何人在滿足安全假設的基礎上,可以下載相應的數據,之后再存儲至任何地方(這是基于1/N信任假設,只要有一個誠實者存儲數據就可以)。當吞吐量指數級上升時,這些假設可能就不成立了。

數據可見采樣中需要足夠的節點數據足夠多的數據,當然如果有惡意節點存在,數據樣本不夠的情況下,就無法恢復原有數據。因此當吞吐量指數級上升時,我們需要越來越多的數據樣本采集節點加入,同時也需要提高帶寬要求。所以對于32MB的KZG 證明,需要較好的GPU,CPU,同時至少2.5GBit/s帶寬。

所以我們看到DS是一種簡化為數據分片的新型分片形式,ETH提供了不可擴展的數據,而Rollups將其轉為可擴展的計算,其設計更為簡單,減少了協議本身需要完成的事情,而更專注于與L2s的協作。同時也為EVM的執行分片埋下了伏筆,但是即使在EVM沒有執行分片的情況下,以太坊也是可擴展的。

來源:0xf1E2

Tags:以太坊INGDINSHA以太坊交易軟件VIKING價格DINNER價格SHARO價格

火必APP
BLO:Celsius和三箭之后 BlockFi是否已處于暴雷前夜

今日早間,加密貨幣分析師 Otteroooo 于個人推特發布了一篇關于 CeFi (中心化金融服務機構)巨頭 BlockFi 資金狀況的詳盡調查.

1900/1/1 0:00:00
加密貨幣:谷歌用戶認為BTC已死 本周需要了解的5件事

文:WILLIAM SUBERG?由于宏觀因素的觸發,交易員們準備迎接7月的焰火,而比特幣價格走勢有望以低于200周移動平均線的歷史性月收盤價收盤.

1900/1/1 0:00:00
ORM:a16z被懟名場面 問題句句直戳web3命門

作者:Charlie Warzel轉自公號:老雅痞(laoyapi)a16z 的 Marc Andreessen 和Packy McCormick 未能連貫地解釋 web3 用例表明該市場的空洞.

1900/1/1 0:00:00
ROLL:Rollup 生態系統中的可組合性

Rollup中最常見的評論之一是,它們 "破壞了可組合性"。這一直是大多數單體鏈多數派成員的主要爭論點。然而,"一鏈治百病 "是不可能的。因此,一個多鏈的生態系統是唯一的出路.

1900/1/1 0:00:00
Chain:Chainalysis:Decentralize 的 DAO 其實沒那么去中心化

撰文:Chainalysis 編譯:Aididiao 去中心化自治組織(DAO)是 Web3 時代的主要組織運行模式.

1900/1/1 0:00:00
ORD:NFT 借貸平臺 XCarnival 被盜3000 ETH 事件分析

NFT借貸平臺@XCarnival_Lab大約7個小時之前被黑了,至少有3000個$ETH (約380萬美元)被盜.

1900/1/1 0:00:00
ads