買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > Gateio > Info

LOT:Vitalik:分片 數據可用性采樣_VITA

Author:

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

除了ProofofStake之外,eth2設計中的另外一個顯著改變就是分片(sharding)。本提案介紹了一種分片的有限形式,即“數據分片”(datasharding),根據"以rollup為中心的路線圖"所述:分片會存儲數據,并且證明約250kB數據的可用性。數據可用性驗證為rollups之類的二層協議提供了安全和高吞吐量的數據層。

為了免去節點親自下載全部數據的負擔,可以將這兩種技術互相疊加起來對大量數據的可用性進行驗證:1)由隨機抽樣的委員會提出證明;2)數據可用性抽樣(dataavailabilitysampling,DAS)。

白話“隨機抽樣委員會”

假設你有大量數據,例如16MB,這是eth2鏈(至少在初期)每個slot能處理的數據量。我們將這些數據表現為64個blobs,每個大小為256kB。假設我們還有一個PoS系統,驗證者數量約為6400。我們如何在1)不需要任何人下載所有數據,2)?不給運行少量驗證者的攻擊者可乘之機的前提下驗證這些數據?

第一個問題,我們可以通過分工來解決:驗證者1-100需要下載并驗證第一個blob,驗證者101-200下載并驗證第二個blob,以此類推。每個子集合(委員會)里的驗證者只需簽名證明他們已經驗證了相應的blob,然后整個網絡接收到相應委員會中大多數驗證者的簽名之后,即可接受該blob。

但這會導致一個問題:萬一攻擊者控制了連續的驗證者集合怎么辦(例如1971-2070)?如果是這樣的話,即使攻擊者僅控制了整個驗證者集合的約1.5%,他們也能夠控制單個委員會(在上述情況下,他們可以掌控委員會20中70%的驗證者2001-2100),因此攻擊者能夠將無效/不可用的blob添加到鏈上。

隨機采樣(Randomsampling)通過隨機洗牌算法組成委員會來解決這個問題。我們使用某個哈希值作為隨機數生成器的種子,然后我們使用該生成器來隨機混洗驗證者列表1-6400。混洗列表中的前100個值是第一個委員會,下100個值即為第二個委員會,依此類推。

RNG(隨機數生成器)的種子在驗證者存款之后選定,每個驗證者的索引都是固定的,因此攻擊者無法嘗試使其所有驗證者進入同一個委員會。攻擊者可能會走運,但前提是他們控制所有驗證者的1/3以上。

PeckShield:Vitalik X平臺賬戶被黑客攻擊:金色財經報道,據PeckShield監測,以太坊聯合創始人Vitalik Buterin X平臺(原推特)賬戶被黑客攻擊,并且不要點擊網絡釣魚鏈接。目前含釣魚鏈接的推文已被刪除。

Vitalik X平臺賬戶發布了一條關于Danksharding的紀念NFT免費領取鏈接。另據ZachXBT監測,目前黑客已盜走69.1萬美元。[2023/9/10 13:29:35]

白話“數據可用性抽樣”

在某些方面,數據可用性采樣是隨機抽樣委員會的鏡像。仍然會進行采樣,這是因為每個節點最終只會下載所有數據的一小部分,但采樣發生在客戶端中,并且在每個blob中進行,而不是在blob之間進行。

每個節點(包括沒有參與質押的客戶端節點)對每個blob進行檢查,他們不需要下載整個blob,而是私密地從中選擇N個隨機索引,然后嘗試在這些位置下載數據。

這么做的目的在于驗證每個blob中至少一半以上的數據是可用的。如果低于一半的數據可用,那么幾乎可以認定任何給定客戶端進行采樣的索引中至少有一個不可用,那么客戶端會拒絕接受該blob。

這個機制是高效的,因為一個客戶端只需要下載每個blob中的小部分數據以驗證其可用性。這個機制同時也是高度安全的,原因在于即使是51%攻擊者都無法欺騙客戶端接受不可用的blob。

糾刪編碼

為了避免攻擊者提供了50-99%可用數據的情況(這可能使得某些客戶端拒絕某blob之后又被其他客戶端接受),我們使用了一種叫作糾刪編碼(erasurecoding)的技術。糾刪編碼使得我們可以使用如下方式對blobs進行編碼:如果某blob中超過一半的數據已經發布,網絡中的任何人都可以對剩余數據進行重建和發布。

一旦重新發布的數據廣播完畢,起初拒絕該blob的客戶端會收斂為接受(注意,接受blob沒有時間限制,每當客戶端收到對其所有抽樣索引的響應時,它就會接受可用的blob)。

理解糾刪編碼最簡單的數學概念類比是“兩個點總是足以恢復一條線”:如果我以四個點的形式((1,4),(2,7),(3,10),(4,13))建立“文件”,每個點都在一條線上,那么只要有其中兩個點的坐標,你就能重構這條線,并且將??剩下的兩個點計算出來(我們假設x坐標1,2,3,4是系統的固定參數,而非文件創建者的選擇)。

Vitalik Buterin:中心化的任何東西都是有風險的:金色財經報道,以太坊創始人Vitalik Buterin在社交媒體上稱,“默認情況下,中心化的任何東西都是有風險的,使用“DeFi和自我托管的精神”在本周表現非常好,但請記住它也有風險,智能合約代碼中的錯誤。”

Vitalik表示“重要的是要防范它,保持代碼簡單、審計、形式驗證等、深度防御。我最擔心的是,如果我們在兩年后的ZK-rollup中擁有100億美元,并且由于電路約束代碼或其周圍的EVM封裝器中的錯誤而被黑掉。對于后者,保持簡單并進行形式驗證。”[2022/11/16 13:13:32]

使用高階多項式,我們可以擴展此思想,創建6個文件中的3個文件,8個文件中的4個文件,或者通常來說2n個文件中的n個文件,如果你有文件中的n個點,則可以計算出2n中剩余的點。

默認情況下,一個攻擊者也有可能使得沒有區塊是可用的,并且有選擇性地針對其收到的請求發布信息,但這種行為只能欺騙很小一部分客戶端,因為攻擊者會需要發布一半區塊以上來回應所有的請求(我們假設客戶端重新公開廣播他們收到的回應)。

我們使用多項式承諾(polynomialcommitments),具體來說是Kate承諾而非默克爾根作為數據blobs的printers,因為多項式承諾能夠使我們輕易證明一個給定的值實際上是對特定次n多項式在所需坐標處的正確估值。不然的話,我們將不得不(例如使用SNARKs)證明默克爾根編碼一個低次多項式,或者依賴于欺詐證明在編碼不正確的情況下進行廣播(這增加了高復雜度以及更多的同步假設)。

有了委員會機制還需要數據可用性抽樣嗎?

如果只借助委員會的,可能有以下幾個劣勢:

發生51%攻擊的時候防御力度較弱。在當前(不可擴容)的區塊鏈上,51%攻擊只能回滾交易或是進行審查,并不能向鏈上添加無效區塊。基于委員會的系統會丟失這個保障。

更甚者,要對51%攻擊者進行有效的懲罰難度會很大,因為他們只有極少量的存款(參與該特定委員會的存款)會被證明與惡意行為有關,并在此基礎上進行懲罰。

區塊鏈健康數據平臺DEVITA與Polygon達成合作:金色財經消息,區塊鏈健康數據平臺DEVITA與Polygon達成合作,通過Polygon的網絡,DEVITA可以利用快速數據傳輸和超低的交易成本,為其用戶提供更公平的醫療保健和個人數據管理機會。

據悉,DEVITA 是一個基于區塊鏈的健康數據平臺,旨在通過去中心化識別 (DID) 和不可替代令牌 (NFT) 技術的最新創新來優化傳統醫療流程和運營,該平臺即將Polygon上線。(blog.polygon.technology)[2022/4/14 14:24:17]

需要一定門檻(委員會中證明該blob的人數達到什么比例才足以將其添加到鏈上?)如果這個門檻很高,那么在只有非常少數驗證者在線的時候分片的功能會停滯。如果這個門檻過低(或是某種動態機制,例如按照最近在線驗證者數量的比例),那么攻擊者可以嘗試迫使節點下線來提高他們自己所占的在線驗證者比例,從而進行攻擊行為。

在抗量子攻擊方面,DAS比委員會機制稍容易些(可能需要后量子聚合簽名)。

有了數據可用性抽樣還需要委員會機制嗎?

如果只借助DAS可能又會產生以下幾個問題:

DAS是一個尚未經過測試的新技術,其核心部分(參見此處)其實去年才開發完成。因此在DAS崩壞或是開發時間意外延長,使用委員會提供保障是可取的。

DAS的延遲比委員會高。

DAS的極端情況更多,委員會可以協助解決。一個例子就是在僅使用DAS機制的系統中,很難避免信標區塊提議者最早發起DAS請求以驗證blob的可用性。

這會增加攻擊者發布不可用blob并僅對提議者的請求進行合響應的風險。這不會導致網絡的其他節點接受不可用的blob,但可能會使得其他攻擊更為容易,使誠實提議者構建的信標區塊被拒絕并從主鏈上被分叉出去。委員會可以對這一點進行補救。

委員會機制的向前兼容性更強,使得在將來能在分片中加入執行功能。

數據可用性的重要性?挑戰又何在?

Vitalik Buterin登上《時代》周刊封面:金色財經消息,據《時代》周刊雜志官方公布,以太坊創始人Vitalik Buterin成為《時代》周刊封面人物。

此外,《時代》周刊發文表示,以太坊已成為僅次于比特幣的第二大加密貨幣,為與Visa相媲美的萬億美元生態系統提供動力。以太坊已將全球數千名無銀行賬戶的人帶入金融系統,允許資本不受阻礙地跨境流動,并為企業家提供基礎設施,以構建各種新產品。[2022/3/18 14:05:24]

這已經在別處討論過了,篇幅有限我就不貼到此處,但我建議閱讀:

Anoteondataavailabilityanderasurecoding(對數據可用性最初的介紹)

AlbertoSonnino、MustafaAl-Bassam和VitalikButerin聯合發表的論文對相關概念進行了擴展

TheDawnofHybridLayer2Protocols對數據可用性中的博弈論進行了論述

BaseLayersandFunctionalityEscapeVelocity,基于上述概念對數據擴容性部分進行了描述

TheDataAvailabilityProblem(EthereumSiliconValleyMeetup),以視頻形式對數據可用性問題進行了討論

有一點需要明確,BitTorrent和IPFS以及類似的系統并沒有解決數據可用性問題。盡管BitTorrent是很好的可擴容的數據發布技術,但它不能就是否有可用的數據達成共識,這為一種“極端案例”攻擊提供了可能性,在某條數據發布時,節點之間可能發生分歧,使得混合型二層協議無法發揮效用。為了就數據可用性達成共識,需要使用本文檔中描述的更強大的技術。

分片如何在P2P層上運作?

為了達到分片的擴容性目的,我們需要一個P2P系統,這樣就無需每個節點都下載所有數據。所幸我們在階段0已經有了一種P2P層分片形式。具體來說,有64個子集已經用于證明聚合。每個驗證者只需要存在于主要的“整體子網”(globalsubnet)和他們自己的證明聚合子網,而無需從其他63個聚合證明子集獲取任何數據。

以太坊創始人Vitalik公布以太坊2.0路線圖:以太坊創始人Vitalik公布以太坊2.0路線圖,分片機制作為協議提升的核心。在以太坊2.0中,二進制Merkle樹,更快的以太坊虛擬機(EVM),更好的可平行性以及無國界的客戶端都是計劃內的更改。開發將會分為兩層,第一層將會引入安全和保守的更新,而第二層將會實現迅速開發,也就是當分片系統通過驗證處理者合約被引入時。關于分片的一些初步工作已經可以在GitHub上查看,同時Vitalik的完整講話也能夠在YouTube上進行觀看。[2017/11/29]

在委員會DAS型分片中,我們將其擴展為“網格”架構,有2048個水平子集子網(horizontalsubnets),即每epoch的每個分片-slot對中存在一個子集,以及2048個垂直子網(verticalsubnets),即每個blob中的每個索引存在一個子集。

在每個slot中,我們每個分片都會選出一個提議者。每個提議者都有權提議一個blob:一個最大為512kB的任意數據塊(我們可以將其理解為約512字節的“樣本”集合),以及糾刪編碼擴展和額外的證明,以便對blob中的每個部分進行獨立驗證。

Structureofablobblob的結構

一個blob的“主體”結構包括原始數據、擴展數據以及證明(如果需要的話,為了提高數據效率,可以省略擴展數據,因為接收blob的每個節點重建它的速度都相對較快)。

Blob的“頭部”包含其相應的Kate承諾,以及其他一些數據(slot、分片和長度證明)以及提議者的簽名。

Blob的廣播過程

當一個blob被廣播時,其頭部會被廣播到整體子網(globalsubnet),主體部分則會被廣播到相應slot和分片ID的水平子網。

在實際情況中,會存在2048個水平子網,以使每個epoch中的每個分片-slot對存在對應的一個水平子網。這樣做是為了確保每個驗證者都可以加入一個水平子網,他們將僅接收到到其所處委員會的相應的blob(不包括他們參與抽樣的少量垂直子網)。

每個驗證者都需要加入以下子網:

整體子網(Globalsubnet)

水平子網(horizontalsubnet),對應其所處的分片-slot對(即委員會)

垂直子網(verticalsubnet),對應其分配到的索引(每個驗證者使用私密種子進行計算)

廣播區塊

Blob提議者可以將樣本分發到所有子網,但不必成為子網的一部分。此過程如下:

發布:提議者在正確的水平子網中發布blob,每個樣本附帶一個證明

直接樣本分發:水平子網中的其他參與者將區塊發布到他們所在的每個垂直子網中

間接樣本分發:提議者向對等節點公布幾個其所在的垂直子網。因此,水平子網中的每個參與者還可以查看其對等節點所在的垂直子網,并向這些對等節點廣播相應的區塊

假設數據塊大小為512字節,且數據blob最大為512kB(除去糾刪編碼),在包含糾刪編碼時約為1MB,因此存在2048個垂直子網。如果每個節點存在于15個私密的垂直子網,5個公共垂直子網并且有50個對等節點,假設在最壞情況下每個水平子網(僅委員會)中有128個成員,則單單是子網成員將直接分發到128*20=2560個子網(除去冗余發布后約為1461),如果加上對等節點,將增加到128*4*50=25600個子網。

請注意,從理論上講,惡意區塊提議者有可能在不發布完整區塊的情況下將樣本發布到垂直子網。為了解決這種情況,我們補充了一個過程,其中未完整發布的區塊(意味著50%及以上可用,但不是100%可用)能夠進行“自我修復”。該過程包括三個基本步驟:

1.反向分發:與上述分發過程相同,只是在這種情況下,垂直子網上的對等節點將樣本從該垂直子網上傳播到與該樣本所屬blob相對應的水平子網。

2.重構:如果水平子網中有1024及以上個樣本(或者通常來說樣本總量的一半),任何人都可以重構整個blob,然后向水平子網發布其重構后的blob。

3.分發:重復上述的分發步驟

信標鏈如何工作?

在每個slot中,我們為64個分片中的每個分片隨機選擇一個提議者。提議者有權創建一個分片blob,并通過上述過程對其進行廣播,并且將該blob的ShardHeader廣播到全局子網。ShardHeader能夠被打包到信標鏈上的同個slot中,也可以包含在同個/下個epoch中的任何后續slot中。

信標鏈會跟蹤PendingShardHeader的對象列表。PendingShardHeader會存儲:1)ShardHeader中的關鍵信息(分片和slot,該blob的承諾及其長度);2)追蹤隨機選擇的委員會中哪些驗證者在blob中簽名的位域(實際上就是階段0已經引進的委員會)。AttestationData結構擴展為包含一個shard_header_root,即選定驗證者進行投票的ShardHeader的根哈希。如果證明者看不到已分配給他們的分片-slot對的有效且可用的分片blob,則他們也可以對空的根哈希進行投票。

如果ShardHeader得到了委員會中2/3驗證者的證明,就會立即得到確認。如果在下一個epoch結束時,ShardHeader得到委員會的支持比其他任何ShardHeader更多的支持,則在該epoch結束時進行確認。

分叉選擇規則

分叉選擇規則發生了改變,以便僅在該區塊中確認所有blob或其祖先都通過了可用性檢查的情況下,該區塊才有效。這稱為緊密耦合(tightcoupling):如果一條鏈指向(已確認)某個無效blob,則整條鏈都被視為無效。這是與“側鏈”結構的主要區別:在側鏈中,側鏈可能會失效,而主鏈仍然有效。

這里有對緊密耦合的進一步探索,以及為什么它是有價值。

驗證者數量較低的情況

如果驗證者少于262144個,那么我們不再為所有分片選擇一個提議者,而是為一個有限的子集選擇一個提議者,循環遍歷這些分片。比如說,如果有32*128*50個驗證者,在slotN的起始分片為0,則slotN將為分片0-49分配一個提議者,slotN1將為分片50-63和0-35分配一個提議者,slotN2將為分片36-63和0-21分配提議者,依此類推。這樣做是為了確保即使在參與度較低的情況下,委員會的規模仍然足夠。

分片數據的gas費

添加了一種類似于EIP-1559的機制,按字節計費分片數據,并對價格進行了調整:如果區塊的平均容量超過了50%,則提升費用,反之則降低。因此,指標是50%的平均區塊大小。

安全假設

僅支持數據blob的分片之所以強大,是因為與其他分片方案相比,它對安全性假設的依賴性很低。尤其是它避免了誠實的大多數假設(因為DAS可以檢測到由大多數發布的不可用blob)和時間假設(與早期的DAS機制不同,其使用的是Kate承諾而非欺詐證明,因此不依賴于欺詐證明需要極快被廣播的假設)。

惡意的51%聯盟可以對blob進行審查,但是在非分片鏈中也可以進行51%審查。

主要的新假設是“誠實的少數DAS假設”:存在足夠多的節點樣本,攻擊者必須要發布區塊中一半以上的內容。如果一個blob中有2048個樣本,則需要恢復1024個樣本(考慮到某些客戶端將對相同的點進行抽樣,因此2048*ln~=1419),并且每個客戶端都進行20個采樣,則如果每個分片有約超過70個客戶端在進行抽樣的話就可以認定系統是安全的。

向前兼容性

僅支持數據blob的分片設計與以后在分片中添加執行的許多方案具有向前兼容性。特別是我們可以對該方案進行修改以使blob包含前狀態和后狀態根,我們還可以使用欺詐證明或ZK-SNARK來驗證blob中的狀態轉換是否正確。注意,無論選擇哪種方法,確保分片執行的正確性都不依賴于任何誠實大多數假設。

GithubPR鏈接

https://github.com/ethereum/eth2.0-specs/pull/2146

Tags:BLOLOTVITAITAblockchain手機客戶端AgrolotVITA幣AKITA價格

Gateio
比特幣:炒幣教父1.11:先進場為鐮刀 后進場為韭菜_比特幣以太坊最新消息分析

今天的行情著實讓很多朋友心臟驟停,就午間行情來說的話,教父認為技術面已經無法表達更為清晰,而是韭菜與莊家的微妙關系來形容得會更加貼切.

1900/1/1 0:00:00
DYDX:關于WBF上線TRU的公告_HTT

尊敬的用戶: TRU將在WBFDefi區上線TRU/USDT交易對,具體時間安排如下:充值時間:2021-1-1215:00提幣時間:2021-1-1215:00交易時間:2021-1-1215.

1900/1/1 0:00:00
比特幣:唐思哲:BTC回踩是為了更好的反彈,ETH下方關注1140_ETH

  年底了,金融市場異常火爆,都是大起大落的,這幾天比特幣走勢也牽動了很多人的心,但是投資市場上永遠遵循的是二八定律,有人虧有人賺很正常,我們不要求暴富,每天積累一點就可以,心態一定要擺正.

1900/1/1 0:00:00
BTC:老山說幣:比特幣破4w,后市能否到達5w?_Synth sDASH

各位朋友們,你們好,我是老山說幣。在這個市場,如果你處于一直虧損的狀態,不如換個環境。也許正是你的一次改變,會給你帶來不一樣的結果.

1900/1/1 0:00:00
區塊鏈游戲:鏈游說第五十五期:區塊鏈有哪些特征?_區塊鏈游戲幣拍賣

嗨,大家好,歡迎來到第五十五期的鏈游說,我是你們的好朋友——鏈游小熊。區塊鏈本質上是一個去中心化的數據庫。是指通過去中心化和去信任的方式集體維護一個可靠數據庫的技術方案.

1900/1/1 0:00:00
TER:聚焦器可以消除干擾,讓您像機器一樣完成任務_區塊鏈存證

我們所有人都一直在插入該區域深處的一個項目-只是突然出現電話,電子郵件或其他干擾因素,使我們完全脫離了當下。失去焦點不僅會影響您所做的工作,還會使您的生產力遭受更大的破壞.

1900/1/1 0:00:00
ads