比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 以太坊 > Info

ETH:干貨 | Vitalik:Eth2 分片鏈簡化提案_SHARD

Author:

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

要點提煉

永久性分片鏈的概念將不復存在,相反,每個分片區塊都直接就是一個交聯。提議人發出提案,交聯委員會負責批準,一錘定音。

分片數量從之前的1024減少到64,分片區塊大小從kB增加到kB。分片總容量為1.3-2.7MB/s,具體值取決于時隙。如果需要的話,分片數量和區塊大小可隨時間的推移而增加,比方說10年后最終達到1024個分片,以及1MB區塊。

在L1和L2層實施了諸多簡化方案:所需的分片鏈邏輯更少,因為“原生的”跨分片通信可以在1個時隙內完成,所以無需通過Layer-2為跨分片通信加速,無需通過去中心化交易所來促進跨分片交易費手續的支付,執行環境能夠進一步簡化,無需再混合序列化和哈希;

主要劣勢:信標鏈的開銷更大,分片區塊產生時間更長,對“突增性”帶寬需求更高,但對“平均”帶寬的需求更低。

序言/理念

當前的以太坊2.0架構過于復雜,尤其是在手續費市場層面,有些人就想到要用Layer-2的應變方法來解決Eth2基礎層的主要問題:雖然分片內的區塊時間是非常短的,然而分片間的基礎層通信時間特別長,需要1-16個epoch。這就亟待“樂觀”的解決方案:一個分片內的子系統通過某種次等安全的機制,“假裝”提前知道其它分片的狀態根,并使用這些不確定的狀態根來處理交易,以此來計算自己的狀態。一段時間后,一個“rear-guard”進程遍歷所有分片、檢查哪些計算使用了其他分片狀態的“正確”信息,并拋棄未使用“正確”信息的所有計算。

但這個過程是存在問題的,雖然它在很多情況下都能夠有效地模擬出超高速通信時間,但是“樂觀”ETH和“真實”ETH之間的區別衍生出了其他復雜情況。具體而言,我們不能假設區塊提議者“知道”樂觀的ETH,因此,如果分片A上的用戶向分片B上的用戶發送ETH,則分片B上的用戶要隔一段時間才能收到協議層ETH。如果想避免延遲,要么需要去中心化交易所,要么需要中繼市場。

Genesis及其主要債權人集團已同意進行為期30天的調解程序:金色財經報道,Gemini在推特上表示,加密貸款機構Genesis、其母公司數字貨幣集團(DCG)、無擔保債權人委員會(UCC)、債權人委員會和 Gemini已同意于4月28日在法庭上進行為期30天的調解程序。Gemini表示,其目標是“盡快達成最終解決方案,并“支持”調解。

據悉,Genesis計劃于5月4日在破產法庭出庭。Genesis的律師肖恩·奧尼爾4月30日在法庭上表示,希望在5月8日之前舉行兩次調解會議,調解期結束后公布交易的最終條款。(cointelegraph)[2023/5/1 14:36:57]

此外,目前的交聯機制大大增加了復雜性,實際上它需要一整套區塊鏈邏輯,包括獎懲計算、單獨存儲分片內獎勵的狀態以及分叉選擇規則等,這些都需要被納入分片鏈中作為階段1的組成部分。本文檔提出了一個大膽的替代方案,用以解決所有這些問題,使以太坊2.0能夠更快地投入使用,同時降低風險,其中還有一些折中方案。

方案細節

我們把?SHARD_COUNT?從1024減少到64,并將每個時隙處理的分片數上限從16增加到64。這意味著現在的“最優”工作流是:在每一次信標鏈生成區塊的期間,每個分片都會產生一個交聯一詞,因為并沒有“連接”到分片鏈,直接使用“分片區塊”更合適)。

請注意一個關鍵細節:現在任何分片位于時隙N+1處的區塊都可以通過一條路徑知道所有分片的在時隙N處的區塊。因此,我們現在有了一流的單時隙跨分片通信。

Kraken暫停ACH(自動清算中心)的存款和取款:金色財經報道,據Coindesk:加密貨幣交易平臺Kraken暫停所有在ACH(自動清算中心)的存款和取款。[2023/3/23 13:21:03]

-現狀-

-新提案-

在這個提議中我們改變了見證消息所連接對象的結構:在原先的方案中,見證消息中包含著“交聯”,交聯中包含著以某種復雜序列化形式表示的許多分片區塊的“數據根”;但在新提案中,見證消息只包含著一個數據根,該數據根代表著一個區塊內的內容。分片區塊還將包括來自提議者的簽名。為了促進p2p網絡的穩定性,計算提議者的方式依然使用之前基于常設委員會的算法。如果沒有可用提案,交聯委員會成員也可以就“零提案”進行投票。

我們依然在狀態中存儲一個映射?latest_shard_blocks:shard->(block_hash,slot)?,不同的是參數由epoch變為時隙。在理想狀況下,我們希望每個時隙這個映射都能夠得到更新。

將?online_validators?定義為活躍驗證者的子集,活躍驗證者即在過去8個時段中至少有一個epoch包含其見證消息。只有2/3的?online_validators?都對給定分片的同一個新區塊達成共識,上述映射才會進行更新。

假設當前時隙是?n?,但對于給定分片?i,latest_shard_blocks.slot<n-1,我們則需要對該分片的見證消息來提供范圍??內所有時隙的數據根。

騰訊成立“元宇宙”金融團隊:金色財經報道,從騰訊內部獲悉,騰訊云日前成立全真互聯金融團隊。據了解,該團隊將依托騰訊云實時音視頻TRTC、AI、數智人、云渲染、數字孿生等優勢產品能力,探索新一代金融場景全真交互解決方案,推動全真互聯在金融行業落地。[2023/1/18 11:19:04]

分片區塊仍需指向“先前的分片區塊”,我們還是要強制保證一致性,因此該協議就要求多時隙的見證消息來保證一致性。委員會采用以下“分叉選擇規則”:

對于每個有效且可用的分片區塊B,計算其最新消息支持B或B的后代的驗證者總權重,暫且將該權重稱為分片區塊B的“得分”。即使是空白的分片區塊也可以有得分。

在?latest_shard_blocks.slot+1?處根據最高得分選出相應區塊

在?latest_shard_blocks.slot+k?處選擇區塊時,也根據最高得分來選,但僅考慮其父塊已在?latest_shard_blocks.slot+(k-1)?處被選擇的區塊

概述

從信標區塊N到信標區塊N+1的發布過程如下:

信標區塊N發布;

對于任何給定的分片i,分片i的提議者提議一個分片區塊。該區塊的執行過程可知信標區塊N和先前區塊的根;

被分配到分片i的見證者提交見證消息,包括其對時隙N處的信標區塊和分片i區塊的意見;

信標區塊N+1發布,其中包括對所有分片的見證消息。區塊N+1的狀態轉換函數對這些見證消息進行處理,并且更新所有分片的“最新狀態”。

Meta:明年將把20%的支出用于元宇宙項目上:金色財經報道,盡管受到外界越來越多的質疑,Meta Platforms Inc.仍表示明年將繼續把公司20%的支出用于“元宇宙”項目“Reality Labs”上。當地時間周一(12月19日),Meta首席技術官兼Reality Labs負責人Andrew Bosworth在公司官方博客上發文表示,未來Meta將延續今年三季度的支出方向——80%的投資將用于支持核心業務“應用程序家族”,而另外20%仍將用于Reality Labs。(財聯社)[2022/12/20 21:55:29]

成本分析

請注意,參與者不需要隨時主動下載分片區塊數據。相反地,提議者發布提議時,只需要在3秒內上傳上限為512kB的數據,隨后委員會驗證提議時,只需要在3秒內下載上限為512kB的數據。

請注意,此操作的要求低于目前每個驗證者的長期負載要求,即每個epoch約2MB。然而,這對“突增性”負載的要求更高:之前是3秒內上限64KB,現在3秒內上限會提高到512KB。

見證消息負載的信標鏈數據更改如下。

每條見證消息有224字節的基本開銷,再加上見證者字段需要少則32字節,多則256字節的數據。也就是說,一條見證消息需要256-280字節的開銷。一個區塊最多可以有256條見證消息,平均則是約128條,所以單個區塊的消息開銷在平均條件下是32768字節,最糟糕的情況下是122880字節。

每個分片狀態更新消息需要:區塊體chunk數據根,每128kB的區塊數據就需要一個數據根,所以平均需要48字節,最大需要128字節;分片狀態根,128字節;區塊體長度,8字節;custodybits,少則32字節,多則256字節。因此,平均來看需要216字節,最大需要520字節。單個區塊最多可以有256條分片狀態更新消息,平均是64條。因此平均需要13824字節,最大需要133120字節。

WTI原油日內大漲3.00%:行情顯示,WTI原油日內大漲3.00%,現報94.32美元/桶;布倫特原油漲2.68%,報99.60美元/桶。[2022/8/12 12:19:44]

每個證明有大約300字節的固定數據,加上一個位字段,即每個epoch400萬bit,每個時隙8192字節。因此,目前方案的最大負載為128*300+8192=46592,平均情況中的負載可能更接近32*300+8192=17792,即使這樣還可以通過壓縮證明中的冗余信息來降低負載。

出于效率考量,在一個區塊中我們僅包含勝出見證消息中的分片狀態更新數據;對所有其它見證消息中的分片狀態更新數據都僅保存其哈希值作為替代。這樣就可以大幅節省數據開銷。

還要注意的是,見證聚合在每個分片中每個時隙的成本為65536*300/64=307200字節。這對運行節點提出了一個天然的系統需求門檻,因此要再壓縮區塊數據的話也沒有什么意義。

從計算層面來說,唯一大幅增加的花銷是需要更多的配對,每個區塊的上限從128增加到192,而這將使得區塊處理時間延長200ms。

“基礎操作系統”分片

每個分片都有一個狀態,就是一個?ExecEnvID->(state_hash,balance)?的映射。一個分片區塊被分成一組chunk,每個chunk指定一個執行環境。一個chunk的執行依靠狀態根和chunk的內容作為輸入,并輸出??元組的一個列表,每個分片最多擁有一個?EE_id。我們也會從該EE的余額中減去value的總數。

在分片區塊頭里,我們放置了一個“收據根”,里面包含了一個映射:?shard->…]?。

在分片i上的一個分片區塊,應有一個默克爾分支,包含所有其它分片的收據,而這棵默克爾分支就是由其它分片的收據根生成的。收到的價值會被分配到其EE,且EE可以訪問?msg_has?。

這就使得不同的分片可以在EE間實現即時的ETH轉移,此時每個區塊的開銷為(32*log(64)+48)*64=15360字節。msg_hash?可以被用于減少伴隨ETH轉移所傳遞的跨分片信息見證內容的大小,因此在一個高度活躍的系統里,15360字節數據是必不可少的。

主要益處:更簡單的費用市場

我們可以接著修改執行環境系統:每個分片都有一個狀態,該狀態包含狀態根和執行環境的余額。執行環境將能夠發送收據,向其它分片的同一EE直接發送貨幣。這個過程將使用默克爾分支處理機制來完成,每個分片的EE狀態儲存著一個其余每個分片的nonce,用以抵御重放攻擊。EE也可以用來直接向區塊提交者支付費用。

這提供了足夠強大的功能性,使得EE能夠建立在這樣的基礎之上:允許用戶在分片上存幣,并將其用于支付交易手續費;在分片間轉移幣就如在同一分片內進行操作一樣簡便,從而消除了對中繼市場需求的緊迫性,也不需要讓EE來承擔實現optimistic跨分片狀態的負擔。

完全的和壓縮后的見證消息

出于對效率問題的考量,我們還進行了以下的優化。如前所述,指向時隙n的見證消息可完整地包含在時隙n+1中。但是,如果此種見證消息需要被包含在后續的時隙中,則必須以“精簡形式”進行嵌套,僅包含信標區塊,而不包含任何交聯數據。

這不僅起到了裁減數據的效用,更重要的是,通過強制“舊見證消息”保存相同數據,可以減少用于驗證見證消息所需的配對數:在大多數情況下,所有來自相同時隙的舊見證消息都可以經由單一配對驗證。如果鏈不分叉,那么在最壞的情況下,用以驗證舊見證消息所需的配對數會被限制在epoch長度的2倍。如果鏈確實分叉,則要包含所有見證消息的能力就得依賴于一個更高的誠實提議者比例,并且要將更早的證明也包含進去。

保證輕客戶端的參與

每天,我們隨機選擇一個由大約256個驗證者組成的委員會,這個委員會可以在每個區塊上進行簽名,其中簽名被包含的驗證者便可以在區塊n+1中獲得獎勵。這樣做的目的是允許計算能力不高的輕客戶端參與。

題外話:數據可用性根

證明一個128kB數據的可用性的操作是多余的,幾乎沒有價值。與此相反,有意義的是:要求一個區塊能夠提供該區塊接受并組合在一起的所有分片區塊數據的串聯根。然后可以根據此數據創建單個數據可用性根。請注意,創建這些根可能要花費比一個時隙更長的時間,因此,最好用于檢查一個epoch前的數據的可用性。

其他可能方案

時隙n的分片區塊必須引用時隙n-1的信標鏈區塊,而不是時隙n處的信標鏈區塊。此種措施將允許以時隙為單位的循環并行發生,而不是串聯發生,從而減少時隙時間,這樣做的代價是導致跨分片通信時間從1個時隙上升到2個時隙。

如果一個區塊提議者試圖將區塊大小擴大到64KB以上,他需要首先生成64kB的數據,然后讓交聯委員會對其進行簽名,接著,他們可以添加一個引用第一個簽名的64kB數據,以此類推。這將鼓勵區塊創建者每隔幾秒提交他們區塊的部分完成版本,從而創建一種預先確認的機制。

加快秘密領導人選舉的發展。

與其使用“強制嵌入”機制,我們不如尋求一個更簡單的替代方案:每個分片為其余的每個分片維護一個“inboundnonce”和一個“outboundnonce”,一個分片制造的收據將需要手動進行添加,并由接收的分片按順序進行處理。收據生成將受限于每個區塊每個目標分片的少數收據,以確保一個分片能夠處理所有傳入的收據,即使是所有分片同時向它分送收據。

原文鏈接:?

https://notes.ethereum.org/@vbuterin/HkiULaluS?from=groupmessage&isappinstalled=0

作者:?Vitalik

本文由?ECN以太坊中國?社區翻譯,EthFans經授權使用譯本。再出版時,根據原文的改動更新了譯本。

Tags:ETHHARDSHASHARDEthsidechainCrypto Gladiator ShardsStarSharks SEAHesman Shard

以太坊
區塊鏈:“國家隊”打造的區塊鏈基礎設施,會讓區塊鏈變得觸手可及嗎?_bsn幣未來價格

2019年10月15日,國家信息中心、中國移動通信集團公司、中國銀聯等六家機構共同研發的區塊鏈服務網絡正式開啟內測,BSN致力于打造行業一致認可、共同使用的區塊鏈底層技術服務平臺.

1900/1/1 0:00:00
區塊鏈:新華社:我國區塊鏈行業發展具有廣闊前景_比特幣

新華社杭州10月26日電區塊鏈技術正在引領全球新一輪技術變革和產業變革,推動“信息互聯網”向“價值互聯網”變遷.

1900/1/1 0:00:00
區塊鏈:朱嘉明:中央提倡區塊鏈,將科學技術元素納入治國理念, 其歷史意義不可低估_數字貨幣

本文旨在傳遞更多市場信息,不構成任何投資建議。11月4日下午2點,許久不見的王峰十問再度“開炮”,圍繞眼下火熱的區塊鏈大潮以及背后的深入思考,首度尖峰對話經濟學家朱嘉明.

1900/1/1 0:00:00
加密貨幣:幣安將添加法幣交易對,首個支持的法幣為俄羅斯盧布_BCH

幣幣交易所幣安很快將添加法幣交易對,率先支持的法幣為俄羅斯盧布。 幣安將于明日調整多個幣本位永續和交割合約的杠桿與保證金階梯:5月31日消息,據官方公告,幣安合約將于2023年06月01日20:.

1900/1/1 0:00:00
ETP:德意志證交所、德國商業銀行利用DLT技術結算代幣化證券_比特幣

據Cointelegraph10月23日報道,德意志證券交易所和德國商業銀行利用數字貨幣和分布式分類賬技術,聯合完成了盤后證券的交易結算試點.

1900/1/1 0:00:00
GAS:科普 | 提高以太坊的區塊Gas Limit會加速狀態數據增長嗎?_IMI

我發現之前生成圖表的代碼中有漏洞,現已重新生成并發布了圖表。現在你可以看到,提高區塊gaslimit之后,狀態增長情況確實有所減緩,隨后又有了回升,但是沒有回到之前的水平.

1900/1/1 0:00:00
ads