Polygon鏈下擴展和數據可用性問題
議程表
鏈下擴容問題
擴展性技術
鏈下移動計算
數據可用性問題
經典區塊鏈設計
冗余的作用
編碼欺詐性證明
欺詐性證明權衡
規避欺詐性證明
展望
問題所在
以太坊等公共區塊鏈上的每筆交易都需要由網絡中的每個節點處理
那么交易吞吐量不能高於單個節點可以處理的數量
如果我們增加每個單獨節點的處理工作量——例如增加塊大小,並容納更多交易——那么功能較弱的計算機可能無法參與運行區塊鏈,導致礦工集中化
更大的區塊也意味着更高的傳播延遲——導致中心化
這導致去中心化的缺失和潛在的區塊鏈審查問題
擴展性技術-鏈上-鏈外
鏈上(Layer 1)
分片
區塊鏈分為不同的部分
每個節點不必處理所有交易
鏈上計算(Layer 2)
鏈下移動計算
基於欺詐證明的安全性
執行交易並在鏈上提交斷言 - 有挑战期
任何人都可以在挑战期內挑战斷言
鏈上爭議判決以確定正確的狀態
惡意行為者不愿意提供錯誤的斷言或挑战
基於有效性證明的安全性
生成關於執行正確性的有效性證明——鏈上提交
鏈上合約真實性證明
有效性證明的穩健性能夠保證執行的正確性,如果證明已驗證
數據可用性問題
鏈上解決方案的兩種範式都需要提供交易數據。
如果數據不可用怎么辦?
基於欺詐證明的解決方案:如果數據丟失,任何參與者都無法計算狀態——因此無法生成欺詐證明——這意味着他們無法質疑錯誤的斷言。如果數據不可用,安全就會受到損害。
基於有效性證明的解決方案:如果數據丟失,參與者可以凍結余額,因為缺少見證人來訪問該余額。僅僅知曉哪些被正確計算的余額是不夠的。
提交所有交易數據作為以太坊上的調用數據。
可擴展性的上限——因為多個Rollups解決方案會出現爭奪相同的塊空間的情況。此外,提交 calldata 將變得昂貴。
經典區塊鏈設計
區塊鏈具有三種類型的節點:
驗證節點:參與共識並產生區塊。
全節點:同步整個區塊,但不參與共識。
輕客戶端:僅同步標頭,偶爾向全節點索取交易包含證明。
但是,經典區塊鏈無法為輕客戶端提供良好的 DA 保證。為什么?
如果區塊生產者隱藏了區塊的一小部分,使用隨機抽樣方案的輕客戶端很難知道被隱藏的區塊。
全節點無能為力,因為數據不可用是一個不可避免的錯誤。
冗余的作用
如果塊生產者隱藏了塊的 n 個塊中的 1 個,輕客戶端以概率 1/n 隨機抽樣捕獲。
如果我們使用糾刪碼將 n 個塊編碼為 2n 個塊,使得 2n 個塊中的任何 n 個足以重建整個塊,則:
塊生產者需要隱藏(n+1 ) 個塊以隱藏單個原始塊。
輕客戶端隨機抽樣發現數據丟失的可能性要高得多。
因此需要在塊內引入冗余。
輕客戶端獨立知道數據可能丟失。
編碼欺詐性證明
問題:修改塊編碼和引入冗余會有所幫助。但是如果編碼本身是錯誤的呢?
示例:塊生產者對塊進行擦除編碼——但如果擦除編碼計算錯誤怎么辦?
解決方案:同步整個區塊的全節點可以檢查和驗證編碼是否正確完成,如果沒有可以生成欺詐證明。
欺詐證據可以傳播給可以驗證的輕客戶端。
欺詐性證明權衡
假設:
全節點不斷檢查錯誤。
輕節點至少有一個誠實的全節點鄰居。
如果欺詐證明編碼無誤,證明可以是一個完整的塊大小——輕客戶端是資源受限的。
如果花費資源來驗證欺詐證明,還不如充當全節點。
編碼技術可以減少欺詐證明的大小——但輕客戶端無法確定數據是否可用或欺詐證據是否尚未到達。
P2P 網絡+ 欺詐證明仍然有效。
規避欺詐性證明
使用 KZG 多項式承諾 - 只有有效的編碼才能被提交到區塊頭。
輕客戶端要求提供數據證明——綁定屬性確保區塊生產者不能僞造證明。
大小恆定的證明格式,便於輕客戶端進行驗證。
冗余迫使生產者隱藏區塊的大部分,只隱藏一小塊——使他們容易被抓住。
展望
如果我們構建一個以 DA 為中心的區塊鏈,我們能實現什么?
鏈上擴展解決方案、側鏈或獨立鏈等應用程序可以在以 DA 為重點的區塊鏈上提交數據。
應用程序無需托管完整節點即可使用以 DA 為重點的區塊鏈。托管一個輕客戶端就足夠了 - 花費非常低的資源。
獲得對數據可用性的高度信心並獲取與其應用程序相關的所有事務。輕客戶端所需的信任級別最低。
托管以 DA 為重點的區塊鏈的驗證者和完整節點可以隨着參與者的增加而擴展區塊。
展望更多
這對獨立鏈意味着什么?
任何具有自定義邏輯的獨立鏈都可以使用以DA為重點的鏈來確保可用性。
所有參與者都可以隨意獲取交易數據並應用自定義代碼來確定應用程序狀態。
新的獨立鏈面臨驗證節點引導和以DA為重點的鏈上托管數據問題,從而避免了這種麻煩。
這對鏈上擴容解決方案意味着什么?
-
計算可以在鏈上完成,驗證可以在像以太坊一樣在 Layer1 上進行,以DA為重點的鏈上可以實現可用性。
官網:https://polygon.technology/
推特:https://twitter.com/0xPolygon
Github:https://github.com/maticnetwork
官方電報群:https://t.me/polygonofficial
官方中文電報群:
https://t.me/maticnetwork_china
公告頻道:
https://t.me/PolygonAnnouncements
Polygon基礎介紹和使用教程:
https://shimo.im/docs/zdkyBE9KxJfWgaA6/read
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。