header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

如何區分側鏈、Plasma 和分片?

閱讀本文需 16 分鐘
分片跟側鍊或 Plasma 有什麼不同?

原文標題:《如何區分側鏈、Plasma 和分片? 》

原文作者:Vitalik Buterin(譯:UH)

原文來源:藍狐筆記

經常有一個問題會提起:分片跟側鍊或Plasma 有什麼不同?這三種體系似乎都涉及中心輻射結構(hub-and-spoke),其中有一條中心「主鏈」作為系統的共識主幹,以及一組包含實際用戶級交易的「子鏈」。來自於子鏈的雜湊值通常會定期發佈到主鏈(理論上,沒有 hub 的分片鏈是可能的,但目前為止還沒有完成;本文暫不關注它們,但基本上相差無幾)。

鑑於這種基本的相似性,為什麼採用一種方法而不是其他方法?

將側鍊和Plasma 區分開來很簡單。

Plasma 鍊是非保管特性的側鏈:如果在Plasma 鏈中出現任何錯誤,則可以偵測到錯誤,並且使用者可以安全地退出Plasma 鏈,同時防止攻擊者製造長久的損害。用戶遭受的唯一代價是他們必須等待挑戰期,並在主鏈上支付更高的交易費用,且主鏈不具擴展性。

普通的側鏈並沒有這個安全特性,所以它們沒有Plasms 安全。然而,設計 Plasma 鏈在許多情況下更加困難。有人可能會認為,對於許多低價值應用而言,為了安全性並不值得增加這些複雜性。

那麼如何區分Plasma 和分片?

關鍵的技術差異跟緊耦合的概念相關。緊密耦合是分片的屬性,但不是側鍊或 Plasma 的屬性,即是說,主鏈的有效性(以太坊 2.0 中是「信標鏈」)與子鏈的有效性不可分割。也就是,根據定義,將無效主鏈區塊指定為依賴性的子鏈區塊無效,更重要的是,根據定義,包含無效子鏈區塊的主鏈區塊也無效。

在非分片的區塊鏈中,依照規範鏈的觀念(即每個人都接受的鏈代表「真實」歷史)定義,這些區塊是安全可用且有效。例如,就比特幣和以太坊的來說,人們通常說的規範鍊是「最長有效鏈」。

在分片區塊鏈中,根據定義,規範鍊是最重的有效且可用的鏈,這種觀點也適用,其中有效性和可用性要求同時適用於主鍊或分片鏈。然而,分片系統面臨的新挑戰是使用者無法直接完全驗證任何給定鏈的有效性和可用性,因為數據太多。

分片鏈的工程挑戰是,透過為使用者提供最大限度的去信任和實用的間接方法來驗證哪條鍊是完全可用且有效,以便於他們可確定哪條鍊是規範鏈,從而克服上述的限制。

在實踐中,這包括以下技術:如委員會、SNARKs/STARKs、漁夫機制、以及詐欺和資料可用性證明等。

如果鏈結構並無這種緊密耦合屬性,那麼,它就算不上是layer-1 的分片方案,而是基於沒有可擴展性的layer-1 鏈基礎上的layer-2 系統。 Plasma 不是緊耦合系統:無效的Plasma 區塊絕對可以將其區塊頭提交到以太坊主鏈,因為以太坊主鏈對於它是否代表無效的Plasma 區塊全然不知,甚至以太坊主鏈連它是不是Plasma 區塊也不清楚。它看到的只是包含一些數據的交易。然而,單一 Plasma 鏈的失敗結果只會局限於 Plasma 鏈內。

l 分片:為確保系統每個部分的整體有效性和可用性而非常努力地嘗試。

l Plasma:接受本地發生的錯誤,但試圖限制其後果。

然而,如果你試圖分析這個過程:使用者執行「間接驗證」過程來確定他們所觀察的鍊是否完全有效和可用(且不下載所有資料和執行事務),那麼,在這個時候,你會發現它跟Plasma 的工作方式有更多相似性。

例如,為防止可用性問題,它們採用了共同的技術是漁夫方案:如果節點看到區塊的特定片段不可用,它可以對此發布聲明進行挑戰,創建任何人都可以發布該數據的時間段。如果區塊在足夠長的時間內沒有遭遇挑戰,該區塊和其引用作為依賴的全部區塊可以恢復。這看起來跟 Plasma 基本上類似,在 Plasma 中,如果區塊不可用,用戶可以向主鏈發布訊息,以實現退出其狀態。

這兩種技術最終都會以同樣的方式承受壓力:如果在分片系統中有太多錯誤方面的挑戰,那麼,用戶無法追蹤是否所有可用性挑戰都得到了解答。同樣,如果 Plasma 系統中有太多可用性挑戰,那麼,主鏈會不堪重負,因為退出會填滿鏈的區塊。

就這兩種情況,似乎從名義上來說,系統有了擴展性(O(C ^ 2),其中C 是一個節點的計算能力),但是在發生攻擊時,擴展性降至O(C) 。但是,相對來說,分片對這個問題有更多的防禦。

首先,現代分片設計使用隨機抽樣的委員會,因此,即使一個委員會也無法輕易主導產生虛假區塊,除非誰擁有鏈上所有驗證者組的大部分驗證者(或許大於1/3)。

其次,有比漁夫更好的處理資料可用性的策略:資料可用性證明。在使用數據可用性證明的方案中,如果區塊不可用,那麼,客戶端的數據可用性檢查將失敗,客戶端會看到區塊不可用。如果該區塊無效,那麼,即使單一詐欺證明也會讓整個區塊確信這一事實。

O(1) 大小的詐欺證明能讓客戶端相信O(C) 大小的區塊無效性。因此,O(C) 資料足以讓客戶端確信 O(C^2) 資料的無效性。 (這是最糟糕的情況,其中客戶端在處理N 個姐妹區塊,它們全部有相同的父區塊,其中只有一個是有效的;在更有可能的情況下,單一詐欺證據就足以證明整個無效鏈的無效性。

再次,在面臨大規模和多數攻擊者時,分片鏈提供了更強的保證(超過1/3 或甚至1/2 的驗證者)。 Plasma 鏈總是能被發生在主鏈的 51% 攻擊所成功攻擊;分片鏈則不能。這是因為,資料可用性證明和詐欺證明發生在客戶端,而不是鏈上,因此,它們不能被 51% 的攻擊所審查。

第四,分片鏈提供的防禦更容易概括;Plasma 的退出模型要求將狀態分成不連續的部分,每個部分都符合單一行為者的利益,而分片鏈依賴於資料可用性證明,詐欺證明、漁夫和隨機抽樣,理論上都是通用的。

因此,在layer2 提供的有效性和有用性之間確實有很大的不同,它們有限且複雜,因為它們需要對激勵進行明確的推理,並且要了解哪一方對那部分狀態有興趣,還需要保證是由承諾完全滿足它們的layer1 系統所提供。

但是,Plasma 鏈也有大的優勢。

首先,它們可以被迭代,並且新設計能被快速實施,這是因為每個Plasma 鏈可以單獨部署,且無需協調生態系統的其餘部分。

其次,從本質來看,分片更脆弱。這是因為它試圖保證一定量的數據的絕對和總體可用性和有效性,並且,必須在協議中設置該數量;太少的話,系統的可擴展性比它本來應該的要低;太多的話,整個系統會面臨破壞風險。

可擴展性的最大安全性等級也依賴系統的使用者數,這是一個不可預測的變數。另一方面,Plasma 鏈允許不同的使用者在這方面做出不同的權衡,並允許使用者更靈活地調整以適應環境的變化。

單一運營商Plasma 鏈也能用於提供比分片系統更多的隱私,分片系統的所有資料都是公開的。即使不需要隱私,它們也可能更有效率,因為分片系統的全部資料可用性要求需要額外的冗餘等級作為安全餘裕。另一方面,每個資料片的資料要求可以最小化,從長遠看,每個單獨的資料片可能只需要複製幾次,而不是像分片系統中那樣複製一千次。

因此,從長遠看,一個混合系統,它既有分片底層又有基於底層的Plasma 鏈,能夠提供更多的可擴展性,這似乎是最可能的方法,更能服務於不同群體的用戶需求,而不是單獨依賴於此種或那種策略。

遺憾的是,在足夠的推進等級下,Plasma 和分片陷入相同的設計。兩者在某些關鍵方面有不可減少的差異(例如,在分片系統中客戶端進行的數據可用性檢查在Plasma 中並不能移動到主鏈,因為這些檢查只有在它們是主觀上完成且基於私人訊息時才有效。 0, 0);">但這兩種擴展性解決方案(包括狀態通道)都有光明的前景。 (作者特別感謝 Jinglan Wang 的評審與回饋)


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交