
什麼是DA 資料可用性?
數據可用性解決的問題是:這些數據已經發布了嗎?具體來說,當節點接收到一個新的即將新增到鏈上的區塊時,它會驗證資料的可用性。節點會嘗試下載新區塊的所有交易資料以確認其可用性。如果節點能夠下載所有交易數據,那麼它就成功地驗證了數據可用性,證明了區塊數據確實已經發佈到網路上。
如你所見,模塊化區塊鏈,例如Celestia (可透過此鏈接了解更多:https://docs.celestia.org/learn/how-celestia-works/data-availability-faq) 利用其他原語讓節點更有效率地驗證資料可用性。數據可用性對於任何區塊鏈的安全至關重要,因為它確保任何人都可以檢查交易帳本並進行驗證。當區塊鏈規模擴大時,數據可用性尤其成問題。隨著區塊變大,一般用戶下載所有資料變得不切實際,因此用戶無法再驗證鏈的真實性。
數據可用性的問題是什麼?
這個問題發生在新區塊的交易資料不能被網路上的節點下載和驗證。一個可能的情況是,區塊的生產者故意不公佈交易數據,這被稱為數據隱匿攻擊。如果交易資料沒有被發布,那麼網路上的節點就無法確認並接受新區塊,導致區塊鏈更新到最新狀態的過程中斷。
由於節點不能驗證新區塊的數據,這可能導致區塊鏈運行停止,或者更糟的是,攻擊者可能會利用這個漏洞來竊取資金。後果的嚴重程度將取決於區塊鏈的類型(L1 或L2)以及資料可用性是保持在鏈上還是鏈下。在Layer 2 的擴充方案中,例如rollups 和validiums,資料可用性問題特別常見。這些技術嘗試透過在鏈上擴展處理能力來提高區塊鏈的效能,但這也可能引發新的數據可用性挑戰。
在Celestia 中節點怎麼驗證資料可用性?
在大多數區塊鏈中,節點透過下載一個區塊的所有交易資料來驗證資料的可用性。如果節點能夠下載所有數據,那麼它們就驗證了數據的可用性。在Celestia 中,輕節點(light nodes)可以使用一種新的機制來驗證資料可用性,而無需下載一個區塊的所有資料。這種驗證資料可用性的新方法稱為資料可用性抽樣。
數據可用性抽樣是什麼?
資料可用性抽樣是一種使輕節點無需下載區塊的全部資料即可驗證資料可用性的機制。資料可用性抽樣(DAS)的工作原理是讓輕節點進行多輪隨機抽樣,以獲取區塊資料的小部分。隨著輕節點完成更多輪的數據抽樣,它對數據可用性的信心就會增加。一旦輕節點成功達到預定的信心水準(例如99% ),它將認為區塊資料是可用的。
想要一個更簡單的解釋嗎?查看這個討論帖子,了解數據可用性抽樣就像擲硬幣一樣。https://twitter.com/nickwh8te/status/1559977957195751424
Celestia 在資料可用性抽樣方面的一些安全假設是什麼?
Celestia 區塊鍊網絡中資料可用性抽樣(Data Availability Sampling,簡稱DAS)的兩個安全假設:
輕節點數量假設: Celestia 假定網路中存在足夠數量的輕節點,這些輕節點會對新產生的區塊進行資料可用性抽樣。這是基於對數據進行隨機樣本檢查的機制,即輕節點不需要下載整個區塊的數據,而是下載一部分數據來驗證整個區塊的數據是否可用。這個假設保證瞭如果區塊資料確實發佈到了網路上,那麼完整節點能夠透過聚合輕節點抽樣的資料部分來重構出完整的區塊。在這種假設下,對於較大的區塊,相應地需要更多的輕節點來確保資料可用性。
連接到誠實完整節點: 第二個假設是每個輕節點至少能夠連接到一個誠實的完整節點。這樣做是為了確保輕節點能夠接收到錯誤擦除編碼區塊的詐騙證明(fraud proofs)。詐騙證明是一種安全機制,用於驗證區塊資料是否已正確處理。如果輕節點在日食攻擊期間(這是網絡攻擊類型,攻擊者嘗試將目標節點隔離,讓它只能連接到惡意節點)無法連接到至少一個誠實的完整節點,它將無法驗證區塊是否不當構建,因而網路的安全性和可靠性會受到威脅。
為什麼區塊重構對安全性是必要的?
在區塊鏈中,"重構區塊"意味著如果我們沒有一次獲得整個區塊的數據,我們也能透過手中已有的數據碎片來復原完整的區塊內容。這就好比我們手上有一張撕碎了的紙,如果每一片撕碎的部分都有一些重疊,我們就有可能把整張紙拼回原樣。
在像Celestia 這樣的系統中,透過數據擦除編碼(erasure coding),即使我們沒有拿到完整的區塊數據,只要有足夠的數據片段,也可以把整個區塊的數據復原出來。資料擦除編碼會創造一些額外的資料冗餘,這樣即便部分資料遺失,剩下的資訊也足夠我們重構出完整的區塊。
為什麼這樣做對安全性很重要呢?因為這確保了即使在不完美的情況下—— 比如說有惡意節點試圖隱藏資料或網路不穩定導致資料無法完整傳輸—— 我們仍能驗證交易的完整性和正確性。如果有人試圖篡改或隱藏交易數據,只要我們能重構出區塊,就可以發現並證明這種篡改,保障整個區塊鏈的透明度和可信賴性。
什麼是資料儲存?關於資料儲存的問題是什麼?
資料儲存涉及儲存和存取過去交易資料的能力。
資料儲存和檢索需要用於多個目的,例如:
閱讀先前交易的信息
同步節點
索引和提供交易資料服務
檢索NFT 訊息
資料儲存的問題在於是否可以儲存過去的交易數據,並在以後成功地檢索。如果無法檢索歷史交易數據,可能會導致一些問題,例如用戶無法訪問他們過去交易的信息,或者節點無法從創始區塊同步數據。幸運的是,關於儲存和存取過去資料的假設要求不高。只需要能夠存取區塊鏈歷史記錄的單一副本,用戶就可以獲得歷史交易資料。換句話說,資料儲存安全是一個1 對N 誠實假設。
資料可用性和資料儲存有什麼區別?區塊鏈狀態如何融入這個問題?
數據可用性是關於驗證新區塊的交易數據是否公開可用的問題。相比之下,資料儲存涉及儲存和訪問舊區塊的過去交易資料。
到目前為止,我們討論的都是交易數據,但區塊鏈狀態是一個相關的議題。狀態與交易資料不同。具體來說,狀態就像是網路的當前快照,包括了帳戶餘額、智慧合約餘額和驗證者集合資訊等。狀態大小引起的問題在性質上與資料可用性和可檢索性問題不同。
為什麼Celestia 不鼓勵儲存歷史資料?如果沒有獎勵,誰可能儲存歷史資料?
大多數區塊鏈不鼓勵資料存儲,因為保證歷史資料永久可檢索不應該是區塊鏈的責任。此外,資料儲存問題只需要一個當事人來儲存和提供資料給用戶,這不是一個強烈的問題。因此,Celestia 的目標是提供一種安全且可擴展的方法來驗證資料的可用性。一旦資料被驗證為可用,儲存和檢索歷史資料的任務就留給了需要資料的其他實體。幸運的是,即使Celestia 本身不直接提供激勵措施(例如,通過支付代幣或其他獎勵)來鼓勵數據的存儲和檢索,還是有其他因素促使某些組織或個人出於他們自己的利益存儲歷史數據,並將其提供給需要它的用戶。
可能會儲存歷史資料的參與者有多種類型。其中一些包括:
提供對過去交易資料存取的區塊瀏覽器。
為過去的資料提供API 查詢的索引器。
需要歷史資料來進行某些處理的應用程式或Rollup。
希望保證能夠訪問其交易歷史的用戶。
區塊鏈可以做些什麼來提供更強的資料可檢索性保證?
根據節點儲存的交易資料量和它們服務的資料請求來獎勵節點(一些資料儲存區塊鏈,如Filecoin,就是這種情況)。
將交易資料發佈到激勵儲存和提供歷史資料請求服務的資料儲存區塊鏈上。
參考連結:https://docs.celestia.org/learn/how-celestia-works/data-availability-faq
閱讀更多: