分片、側鏈和 Plasma 有什麼不同?雖然它們都有類似的 Hub-and-spoke 的結構,但實際上它們存在不少差異。本文轉自《Sidechains vs Plasma vs Sharding》,作者為以太坊共同創造者 Vitalik Buterin,由藍狐筆記翻譯。
經常有一個問題會提起:分片跟側鏈或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個姐妹區塊,它們全部有相同的父塊,其中只有一個是有效的;在更有可能的情況下,單一欺詐證據就足以證明整個無效鏈的無效性。)因此,從理論上講,相對於Plasma鏈,分片系統不容易被DoS攻擊淹沒。
再次,在面臨大規模和多數攻擊者時,分片鏈提供了更強的保證(超過1/3或甚至1/2的驗證者)。Plasma鏈總是能被發生在主鏈的51%攻擊所成功攻擊;分片鏈則不能。這是因為,數據可用性證明和欺詐證明發生在客戶端,而不是鏈上,因此,它們不能被51%的攻擊所審查。
第四,分片鏈提供的防禦更容易概括;Plasma的退出模型要求將狀態分成不連續的部分,每個部分都符合單個行為者的利益,而分片鏈依賴於數據可用性證明,欺詐證明、漁夫和隨機抽樣,在理論上都是通用的。
因此,在layer2提供的有效性和有用性之間確實有很大的不同,它們有限且複雜,因為它們需要對激勵進行明確的推理,並且要了解哪一方對那部分狀態有興趣,還需要保證是由承諾完全滿足它們的layer1系統所提供。
但是,Plasma鏈也有大的優勢。
首先,它們可以被迭代,並且新設計能被快速實施,這是因為每個Plasma鏈可以單獨部署,且無需協調生態系統的其餘部分。
其次,從本質看,分片更脆弱。這是因為它試圖保證一定量的數據的絕對和總體可用性和有效性,並且,必須在協議中設置該數量;太少的話,系統的可擴展性比它本來應該的要低;太多的話,整個系統會面臨破壞風險。
可擴展性的最大安全級別也依賴於系統的用戶數,這是一個不可預測的變量。另一方面,Plasma鏈允許不同的用戶在這方面做出不同的權衡,並允許用戶更靈活地調整以適應環境的變化。
單個運營者Plasma鏈也能用於提供比分片系統更多的隱私,分片系統的所有數據都是公開的。即使不需要隱私,它們也可能更高效,因為分片系統的全部數據可用性要求需要額外的冗餘級別作為安全餘量。另一方面,每個數據片的數據要求可以最小化,從長遠看,每個單獨的數據片可能只需要復制幾次,而不是像分片系統中那樣複製一千次。
因此,從長遠看,一個混合系統,它既有分片底層又有基於底層的Plasma鏈,能夠提供更多的可擴展性,這似乎是最可能的方法,更能服務於不同群體的用戶需求,而不是單獨依賴於這種或那種策略。
遺憾的是,在足夠的推進級別下,Plasma和分片陷入相同的設計。兩者在某些關鍵方面有不可減少的差異(例如,在分片系統中客戶端進行的數據可用性檢查在Plasma中並不能移動到主鏈,因為這些檢查只有在它們是主觀上完成且基於私人信息時才有效。)
但這兩種擴展性解決方案(包括狀態通道)都有光明的前景。
?相關報導?
以太坊創辦人 Vitalik 在台北分享「哈伯格稅法」與以太坊域名應用
以太坊創辦人 Vitalik 最喜歡的 Dapp 開始內測了,但它有似乎有點「黑」
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!