以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

一文帶你了解數據可用性檢查_BIT:以太坊幣美元最新行情走勢圖

Author:

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

數據可用性檢查須知

本文旨在解釋數據可用性檢查,以及為什么區塊鏈的擴容方案,例如以太坊 2.0,需要它們。本文預設了讀者具有區塊鏈 (例如比特幣和以太坊) 的基本背景知識、最好對現在使用的共識算法 (工作量證明和權益證明) 也有所了解。為了簡單起見,解釋內容將建基于權益證明鏈——由所有具有相同權重的全節點運行共識協議,具有 2/3 誠實假設;但這些分析同樣適用于工作量證明和其他協議。

入門知識

想想看,區塊鏈有全節點和輕客戶端,還有一個點對點網絡,它可能對數據是有損的,但不會自適應地審查數據。相對于全節點來說,輕客戶端是一個更便宜的選擇。在傳統的區塊鏈協議里,我們假設所有客戶端都運行全節點,驗證在狀態轉換中的每一筆交易。運行一個全節點要求計算機有大量的內存、算力和帶寬。對于移動客戶端和許多資源受限的環境來說,這個成本可能太高了。

輕客戶端是只需下載每個區塊的區塊頭的節點,它們信任全節點對狀態轉換的檢查是正確的——并假設共識算法不會產生違背這點的區塊鏈。輕客戶端依賴全節點為任何相關交易提供區塊內的信息。這很可能只占鏈上所有數據很小的百分比。

為了解釋地更清楚,我介紹這里的三類角色:

全節點通過對每個區塊的共識生成一條區塊鏈,并始終下載所有數據和驗證所有狀態。每當它們看到區塊里有不一致的狀態 (例如,區塊的最終狀態與區塊內的交易不一致),它們會生成一個欺詐證明,以警告輕客戶端。

BitKeep Swap跨鏈新增支持zkSync Era:4月12日消息,Web3 多鏈錢包 BitKeep 宣布,BitKeep Swap 跨鏈已增加對 zkSync Era 的支持,通過聚合跨鏈橋 Multichain 和 SWFT 的服務,實現在 zkSync Era 與以太坊、BNB Chain、Tron、Polygon、Arbitrum、Optimism 等進行跨鏈交易。同時,SyncSwap 也將集成至 BitKeep Swap。目前,BitKeep K 線行情功能也已支持 zkSync Era 主網代幣。

BitKeep 表示,將在近期更新的版本中進一步完善對 zkSync Era 生態的支持,包括借 Gas 交易服務,支持用戶在沒有 ETH 的情況下直接進行鏈上交易。[2023/4/12 13:59:48]

輕客戶端只下載區塊頭 (非交易數據和狀態),除了它們想知道的交易和部分狀態。它們與全節點連接,以請求所需要的數據。

點對點網絡傳播區塊頭,并允許隨機訪問上傳到它的數據塊。

一個全節點具有下列安全保證:

與其他全節點形成的共識 (絕對) 多數可以構建另一條區塊鏈,從而進行雙花攻擊;更廣泛來說,它們可以任意對交易進行重新排序,創建另一個版本的交易歷史。

由于要檢查狀態,即使是其他全節點形成超級多數對不一致的狀態達成共識,也不可能讓一個誠實全節點同意這條鏈。

OpenSea Seaport交易額突破16億美元,以太坊鏈上獨立用戶量超80萬:金色財經消息,據Dune Analytics最新數據顯示,基于開源NFT協議Seaport的OpenSea總交易額已突破16億美元,本文撰寫時為1,605,368,480美元。此外,當前基于Seaport協議的OpenSea以太坊鏈上交易總量達到5,116,524筆,獨立用戶量為812,328個。[2022/10/1 22:44:06]

因此,一個全節點的安全假設是 2/3 的誠實全節點可以保證交易不會被重新排序,但正確的狀態執行是不需要任何的誠實假設來確保的 (一個全節點根本不可能被欺騙接受一個不正確的狀態轉換)。

對于輕客戶端來說,情況略有不同,因為它們不下載和驗證狀態。因此,在沒有欺詐證明 (詳見下文)的情況下,“天真” 的輕客戶端會被騙,相信由絕對多數 (2/3) 的全節點達成共識的區塊鏈是沒有問題的,即使它實際上有一個不正確的狀態轉換。

欺詐證明

欺詐證明能是給輕客戶端一個更好的安全模型,使其安全性接近于全節點。其目的是,只要至少有一個誠實的全節點 (比 2/3 多數假設弱得多),輕客戶端也可以被保護,免受無效鏈的影響。

欺詐證明是如何實現這點的?假設區塊鏈執行區塊 B 內的交易 t1,…,tn,且區塊頭為 H。如果我們增加一個執行跟蹤,用來存儲每筆交易前和后的狀態的默克爾根,我們把它叫做 s0,…,sn,如果有任何交易被錯誤執行(即其結果沒有正確應用于狀態)就可以構建一個虛假證明:如果說交易 ti?是有問題的交易,給出三元組 (si?1,ti,si),再加上在區塊頭 H 里顯示已被打包的默克爾證明,這將構成一個欺詐證明。事實上,我們僅需要打包 ti?需要和影響到的 si-1 和 si。這個欺詐證明的大小比原來的區塊 B 要小得多,因此容易在網絡里廣播,警告輕客戶端不要跟隨這條鏈。

數據:名人單個NFT購買前5名總計花費近1000萬美元:金色財經報道,根據blockchaincenter披露的名人NFT購買數據顯示,購買的單個NFT花費金額最高的5個人,總花費金額已經達到了9,873,500美元,其中排名第一的是Gary Vaynerchuck,他花費了3,764,500 美元購買CryptoPunk #2140,其次是NFL球員Odell Beckham Jr 購買的CryptoPunk #3365,價格為 217萬美元,美國說唱歌手 Snoop Dogg 以 210 萬美元位居第三。賈斯汀·比伯以 130 萬美元價格購買的 Bored Ape Yacht Club #3001排名第四,而內馬爾則以 539,000 美元的價格購買了BAYC #5269,排名前五。[2022/9/24 7:17:36]

所以,現在輕客戶端的安全假設就比之前的要強很多了:

2/3 的不誠實全節點可以構建另一條鏈,從而改變交易歷史或給交易重新排序 (例如,發起雙花攻擊)。

但是為了防止出現不正確的狀態轉換,現在的假設是至少有一個誠實全節點 (它可以創建欺詐證明),且網絡是同步的 (這樣你就能即使接受到欺詐證明)。

數據可用性問題

用欺詐證明保護輕客戶端不受錯誤狀態轉換影響這個方法其實有一個缺口。如果絕對多數的全節點都已經對一個區塊頭簽名了,但不發布部分數據 (特別是,這可能是欺詐性交易,它們將晚點發布,以騙過別人接受印出來的或偷來的錢)?顯然,誠實全節點將不會跟隨這條鏈,因為它們不會下載該數據。但輕客戶端不會知道數據是否可用,因為它們只下載區塊頭,不下載數據。因此,現在的情況是誠實全節點知道有貓膩,但它們無法警告輕客戶端,因為它們缺少可能需要用來創建欺詐證明的數據。

標普500指數期貨跌幅擴大至1%,納指期貨跌1.21%:行情顯示,標普500指數期貨跌幅擴大至1%,納指期貨跌1.21%,道指期貨跌0.86%。[2022/6/7 4:08:37]

難道它們就不能用其他信息警告輕客戶端,告訴它們:“嘿,小心,這個區塊的數據不可用。”嗎?是的,但問題在于它們無法證明——不存在數據不可用的證明,所以上述的簡單欺詐證明機制是不起作用的。

更糟糕的是,這不是可歸責的問題。有些數據可能因為網絡條件不好而丟失了,而這些數據可能在以后再次出現。因此,如果你是一個誠實節點,看到數據不可用的警報,然后檢查發現數據實際上在那里,你不能確定是誰出錯了:可能是出塊者沒有在開始時上傳數據,而是在警報產生后才上傳 (出塊者的錯),或者這是一個錯誤的警報。

由于這不是可歸責的問題,我們不能因為警報的結果懲罰出塊者或挑戰者。這很煩人,因為這基本上意味著增加這個功能會增加一個 DOS 向量 (Vitalik 的這篇文章對這個問題進行了非常好的說明。)

解決方案:用糾刪碼進行數據可用性檢查

要解決這個難題,就要確保輕客戶端可以知道數據是否真的可用。因為如果它們知道這個數據是可用的,它們也就知道很可能有一個誠實全節點看到并檢查了該數據——如果該數據是不正確的或是欺詐性的,誠實全節點就會廣播一個欺詐證明。

Hoo AMM流動池新增GameStarter:據官方消息,Hoo官方宣布已于2022年06月02日15:00(東八時間)在AMM池中新增GameStarter(GAME), 支持用戶通過添加流動性的方式成為流動性提供者,按池占比獲得AMM自動做市的手續費收益。

據悉,Gamestarter是一個基于區塊鏈網絡的游戲眾籌平臺,提供類似Kickstarter的商業模式,通過NFT的形式預售游戲資產,幫助獨立游戲開發團隊籌集資金。同時還為已成功發布的游戲提供游戲資產的交易。[2022/6/2 3:58:27]

當然我們不想要輕客戶端必須下載整條區塊鏈和狀態來實現這點——因為這樣它們就不再是輕客戶端了。因此,我們將讓它們下載隨機的數據塊,并檢查它們是否可用。如果你嘗試下載 100 個不同的數據塊,并全部都獲取了,你就可以很確定大部分的數據都是可用的 (例如,如果少于 50% 的數據是可用的,你能成功下載 100 個數據塊的概率是 2-100≈10-3,這是一個非常小的數字)。

然而,這只能證明大多數的數據是可用的——比方說,10 兆字節的數據塊中僅有 100 字節丟失了,在這種情況下,你對那一點數據發出請求的可能性非常低。而 100 字節足以為作惡交易作掩護,躲過誠實的欺詐證明者。

因此,我們需要對這些數據做一些處理,以確保那些檢查切實保證所有的數據都將是可用的。我們可以用糾刪碼 (erasure code) 實現這點。一個糾刪碼以更大量的數據 E 取代區塊數據 B,其特性是某固定百分比 q<1 將總足以重構整個數據。因此,即使有些數據丟失了,只要輕客戶端確保足夠大部分數據是可用的,它們就知道區塊數據 B 是可被重構的。

現在,我們準備定義輕客戶端在數據可用性檢查中的行為。對于每個它們下載的區塊頭,它們將嘗試下載數據 E 中 k 個隨機數據塊,以評估數據是否實際可用。如果它們可以下載全部的數據塊,那么,在網絡里有實際上足夠的數據重構整個區塊的概率是 1- qk。

使用這個機制就無須全節點警告輕客戶端數據是否可用了。只需要下載少量數據,輕客戶端就可以自行測試并知道答案了。

糾刪碼實例: RS 碼

我們實際上是如何構建糾刪碼的呢?一個簡單且為人熟知的實例是 Reed-Solomon codes (縮寫為 RS 碼)。它們是基于這樣一個簡單的事實:在一個域里,任何次數是 d 的多項式都僅由其在 d+1 點的估值確定。例如,多項式的次數為 1 (即一條線),然后只需要知道多項式兩個點的值就足以知道整個多項式了 (只有一條線穿過兩個不同的點)。

我們必須在一個有限閾里解多項式,否則系數和估值都會變得任意大。幸運的是,有大小為 2m 的域可用 (即所謂的二進制域或伽羅瓦域 F2) ,這樣我們就不需要研究素域 Fp(盡管我們可能在一定方案里因為其他原因需要)。

因此,假設我們有 n 個數據塊 d0,…,dn?1,我們想對其進行糾刪編碼。為了用一個 RS 碼來實現,我們將插值一個多項式

次數為 d=n-1,估值 d0 在 0,即 f(0)=d0、 f(1)=d1,這樣下去。我們知道有這樣的多項式存在,事實上拉格朗日插值多項式 (Lagrange interpolation polynomials) 給了我們建構它的明確方法(盡管還有更高效的方法)。

現在,我們通過對多項式在更多的點上估值來拓展數據——比方是 n 多個點,如果我們想把比率設為 q=0.5。那么就會有 dn=f(n), dn+1=f(n+1)..., d2n?1=f(2n?1)。由此我們得出它的一個特性,即任何 n 個點將足以重構這個多項式——如果我們有多項式 f(x),我們也可以輕易對它在 0,...,n-1 進行估值,得到我們的原始數據。

就這些內容了!RS 碼不過是一些多項式插值。這實際上就解決了數據可用性問題了,因為它們在編碼效率上是最優的,除了一個小問題——欺詐事件可以以另一種方式發生,即產生錯誤的編碼。而對于 RS 碼,為了證明編碼是錯誤的,你必須提供 n 個數據塊,并足以用一個多項式對其中的 n-1 插值,并顯示最后一個不在這個多項式上。這就是為什么我們現在做大量的研究,旨在找出避免必須做這些不正確編碼證明或使它們盡可能小的方法。

在分片上的應用

數據可用性檢查對于許多不同區塊鏈擴容方案是很重要的,因為即使節點不能檢查所有或甚至下載所有數據,它也能給這些節點提供安全。由于這是區塊鏈的一個根本性瓶頸 (共識節點必須下載所有數據),這是一個重要的擴容要求。

例如,在以太坊 2.0 里,驗證者只需對信標鏈上的數據進行完全驗證,分片上的驗證工作由委員會負責。這個結構旨在減輕驗證者必須驗證所有數據的負擔。但是,這意味著驗證者在多數分片上實際上是輕客戶端 (除了活躍驗證者)。因此,數據可用性檢查是需要的。在這種情況下,以太坊 2.0 的驗證者實際上同時是“全節點”和輕客戶端。那些下載并檢查所有分片數據的節點是“超級節點 (supernodes)"——這些節點可能只會由組織或做了大量質押的人來運行,他們會驗證所有分片。我們當然不會想要只是信任這一小部分人是誠實的來運行以太坊 2.0。

因此,有數據可用性檢查和欺詐證明是絕對必要的,這樣一般人都可以運行驗證者節點。

來源 |?dankradfeist.de

作者 |?Dankrad Feist

Tags:區塊鏈以太坊BITSEA區塊鏈專業方向好就業嗎以太坊幣美元最新行情走勢圖bitstamp交易平臺下載Helper Search Token

芝麻開門交易所
獨家 | 跨鏈攻擊給業界帶來了新的安全挑戰_Chain:wienchain

從6月底到現在,一個月不到的時間,業界發生了多起較為重大的攻擊事件:6月29日,THORChain受到惡意攻擊,損失估計達14萬美元.

1900/1/1 0:00:00
《How to DeFi:Advanced》:去中心化指數_INDEX:ODEX幣

注:《How to DeFi:Advanced》是CoinGecko今年7月出版的DeFi經典讀物《How to DeFi》的進階版.

1900/1/1 0:00:00
一文了解贏得Kusama前5個插槽的波卡生態項目_KUS:Kusa Inu

距離Kusama正式開啟插槽拍賣已經過去了1個月整,而在7月20日下午,Kusama網絡的第五個平行鏈插槽拍賣正式宣告結束.

1900/1/1 0:00:00
短期看跌中期看漲 DeFi 協議正適應新常態?_DEF:DEFI

隨著 DeFi 繼續下行,市場可能會進入一個短期看跌但中期看漲的狀態。加密貨幣市場仍然在持續走低,7月20日,比特幣交易價格跌破 30,000 美元,以太坊也隨之下挫,一度跌破 2,000 美元.

1900/1/1 0:00:00
Facebook加密貨幣項目公布新計劃 推出重新命名的數字錢包Novi_CEB:Quantbook

據Facebook官網公布,它旗下數字錢包產品已從Calibra更名為Novi,并已開放注冊。作為其子公司Novi Financial的第一款產品,Novi是基于區塊鏈技術打造的全新支付系統,它.

1900/1/1 0:00:00
證監會科技局姚前:基于區塊鏈的OTC衍生品金融基礎設施_NBS:區塊鏈

為了支持高效的場外衍生品交易匹配、確認、執行、清算和報告等,需要在現有標準化工作的基礎上,進一步構建一個可自動化執行的統一、開放、高效、合規、穩健的場外衍生品基礎設施平臺.

1900/1/1 0:00:00
ads