分片跟側(cè)鏈和Plasma有哪些差異
前言:分片、側(cè)鏈和Plasma有什么不同?雖然它們都有類(lèi)似的Hub-and-spoke的結(jié)構(gòu),但實(shí)際上它們存在不少差異。
經(jīng)常有一個(gè)問(wèn)題會(huì)提起:分片跟側(cè)鏈或Plasma有什么不同?所有這三種體系似乎都涉及到中心輻射結(jié)構(gòu)(hub-and-spoke),其中有一條中心“主鏈”作為系統(tǒng)的共識(shí)主干,以及一組包含實(shí)際用戶(hù)級(jí)交易的“子鏈”。來(lái)自于子鏈的哈希值通常會(huì)定期發(fā)布到主鏈(理論上,沒(méi)有hub的分片鏈?zhǔn)强赡艿?,但目前為止還沒(méi)有完成;本文暫不關(guān)注它們,但基本相差無(wú)幾)。
鑒于這種基本的相似性,為什么采用一種方法而不是其他方法?
將側(cè)鏈和Plasma區(qū)分開(kāi)來(lái)很簡(jiǎn)單。
Plasma鏈?zhǔn)欠潜9芴匦缘膫?cè)鏈:如果在Plasma鏈出現(xiàn)任何錯(cuò)誤,則可以檢測(cè)到錯(cuò)誤,并且用戶(hù)可以安全地退出Plasma鏈,同時(shí)防止攻擊者制造長(zhǎng)久的損害。用戶(hù)遭受的唯一代價(jià)是他們必須等待挑戰(zhàn)期,并在主鏈上支付更高的交易費(fèi)用,且主鏈不具擴(kuò)展性。
普通的側(cè)鏈并沒(méi)有這個(gè)安全特性,所以它們沒(méi)有Plasms安全。然而,設(shè)計(jì)Plasma鏈在很多情況下更加困難。有人可能會(huì)認(rèn)為,對(duì)于很多低價(jià)值應(yīng)用而言,為了安全性并不值得增加這些復(fù)雜性。
那么如何區(qū)分Plasma和分片?
關(guān)鍵的技術(shù)差異跟緊耦合的概念相關(guān)。緊耦合是分片的屬性,但不是側(cè)鏈或Plasma的屬性,即是說(shuō),主鏈的有效性(以太坊2.0中是“信標(biāo)鏈”)與子鏈的有效性不可分割。也就是,根據(jù)定義,將無(wú)效主鏈區(qū)塊指定為依賴(lài)性的子鏈區(qū)塊無(wú)效,更重要的是,根據(jù)定義,包含無(wú)效子鏈區(qū)塊的主鏈區(qū)塊也無(wú)效。
在非分片的區(qū)塊鏈中,按照規(guī)范鏈的觀念(即每個(gè)人都接受的鏈代表“真實(shí)”歷史)定義,這些區(qū)塊是安全可用且有效。例如,就比特幣和以太坊的來(lái)說(shuō),人們通常說(shuō)的規(guī)范鏈?zhǔn)恰白铋L(zhǎng)有效鏈”。
在分片區(qū)塊鏈中,根據(jù)定義,規(guī)范鏈?zhǔn)亲钪氐挠行铱捎玫逆?,這種觀點(diǎn)也適用,其中有效性和可用性要求同時(shí)適用于主鏈或分片鏈。然而,分片系統(tǒng)面臨的新挑戰(zhàn)是用戶(hù)無(wú)法直接完全驗(yàn)證任何給定鏈的有效性和可用性,因?yàn)閿?shù)據(jù)太多。
分片鏈的工程挑戰(zhàn)是,通過(guò)為用戶(hù)提供最大限度的去信任和實(shí)用的間接方法來(lái)驗(yàn)證哪條鏈?zhǔn)峭耆捎们矣行В员阌谒麄兛纱_定哪條鏈?zhǔn)且?guī)范鏈,從而克服上述的限制。
在實(shí)踐中,這包括如下技術(shù):如委員會(huì)、SNARKs/STARKs、漁夫機(jī)制、以及欺詐和數(shù)據(jù)可用性證明等。
如果鏈結(jié)構(gòu)并無(wú)這種緊耦合屬性,那么,它就算不上是layer-1的分片方案,而是基于沒(méi)有可擴(kuò)展性的layer-1鏈基礎(chǔ)上的layer-2系統(tǒng)。
Plasma不是緊耦合系統(tǒng):無(wú)效的Plasma區(qū)塊絕對(duì)可以將其區(qū)塊頭提交到以太坊主鏈,因?yàn)橐蕴恢麈湆?duì)于它是否代表無(wú)效的Plasma區(qū)塊全然不知,甚至以太坊主鏈連它是不是Plasma區(qū)塊也不清楚。它看到的只是包含一些數(shù)據(jù)的交易。然而,單個(gè)Plasma鏈的失敗結(jié)果只會(huì)局限于Plasma鏈內(nèi)。
·分片:為確保系統(tǒng)每個(gè)部分的整體有效性和可用性而非常努力地嘗試。
·Plasma:接受本地發(fā)生的錯(cuò)誤,但試圖限制其后果。
然而,如果你試圖分析這一個(gè)過(guò)程:用戶(hù)執(zhí)行“間接驗(yàn)證”過(guò)程來(lái)確定他們所觀察的鏈?zhǔn)欠裢耆行Ш涂捎茫ㄇ也幌螺d所有數(shù)據(jù)和執(zhí)行事務(wù)),那么,在這個(gè)時(shí)候,你會(huì)發(fā)現(xiàn)它跟Plasma的工作方式有更多相似性。
例如,為防止可用性問(wèn)題,它們采用了共同的技術(shù)是漁夫方案:如果節(jié)點(diǎn)看到區(qū)塊的特定片段不可用,它可以對(duì)此發(fā)布聲明進(jìn)行挑戰(zhàn),創(chuàng)建任何人都可以發(fā)布該數(shù)據(jù)的時(shí)間段。如果區(qū)塊在足夠長(zhǎng)的時(shí)間內(nèi)沒(méi)有遭遇挑戰(zhàn),該區(qū)塊和其引用作為依賴(lài)的全部區(qū)塊可以被恢復(fù)。這看上去跟Plasma基本類(lèi)似,在Plasma中,如果區(qū)塊不可用,用戶(hù)可以向主鏈發(fā)布消息,以實(shí)現(xiàn)退出其狀態(tài)。
這兩種技術(shù)最終都會(huì)以同樣的方式承受壓力:如果在分片系統(tǒng)中有太多錯(cuò)誤方面的挑戰(zhàn),那么,用戶(hù)無(wú)法追蹤是否所有可用性挑戰(zhàn)都得到了解答。同樣,如果Plasma系統(tǒng)中有太多可用性挑戰(zhàn),那么,主鏈會(huì)不堪重負(fù),因?yàn)橥顺鰰?huì)填滿鏈的區(qū)塊。
就這兩種情況,似乎從名義上來(lái)說(shuō),系統(tǒng)有了擴(kuò)展性(O(C ^ 2),其中C是一個(gè)節(jié)點(diǎn)的計(jì)算能力),但是在發(fā)生攻擊時(shí),擴(kuò)展性降至O(C)。但是,相對(duì)來(lái)說(shuō),分片對(duì)這個(gè)問(wèn)題有更多的防御。
首先,現(xiàn)代分片設(shè)計(jì)使用隨機(jī)抽樣的委員會(huì),因此,即使一個(gè)委員會(huì)也無(wú)法輕易主導(dǎo)產(chǎn)生虛假區(qū)塊,除非誰(shuí)擁有鏈上所有驗(yàn)證者組的大部分驗(yàn)證者(或許大于1/3)。
其次,有比漁夫更好的處理數(shù)據(jù)可用性的策略:數(shù)據(jù)可用性證明。使用數(shù)據(jù)可用性證明的方案中,如果區(qū)塊不可用,那么,客戶(hù)端的數(shù)據(jù)可用性檢查將失敗,客戶(hù)端會(huì)看到區(qū)塊不可用。如果該區(qū)塊無(wú)效,那么,即使單個(gè)欺詐證明也會(huì)讓整個(gè)區(qū)塊確信這一事實(shí)。
O(1)大小的欺詐證明能讓客戶(hù)端相信O(C)大小的區(qū)塊無(wú)效性。因此,O(C) 數(shù)據(jù)足以讓客戶(hù)端確信O(C^2)數(shù)據(jù)的無(wú)效性。(這是最糟糕的情況,其中客戶(hù)端在處理N個(gè)姐妹區(qū)塊,它們?nèi)坑邢嗤母笁K,其中只有一個(gè)是有效的;在更有可能的情況下,單一欺詐證據(jù)就足以證明整個(gè)無(wú)效鏈的無(wú)效性。)因此,從理論上講,相對(duì)于Plasma鏈,分片系統(tǒng)不容易被DoS攻擊淹沒(méi)。
再次,在面臨大規(guī)模和多數(shù)攻擊者時(shí),分片鏈提供了更強(qiáng)的保證(超過(guò)1/3或甚至1/2的驗(yàn)證者)。Plasma鏈總是能被發(fā)生在主鏈的51%攻擊所成功攻擊;分片鏈則不能。這是因?yàn)椋瑪?shù)據(jù)可用性證明和欺詐證明發(fā)生在客戶(hù)端,而不是鏈上,因此,它們不能被51%的攻擊所審查。
第四,分片鏈提供的防御更容易概括;Plasma的退出模型要求將狀態(tài)分成不連續(xù)的部分,每個(gè)部分都符合單個(gè)行為者的利益,而分片鏈依賴(lài)于數(shù)據(jù)可用性證明,欺詐證明、漁夫和隨機(jī)抽樣,在理論上都是通用的。
因此,在layer2提供的有效性和有用性之間確實(shí)有很大的不同,它們有限且復(fù)雜,因?yàn)樗鼈冃枰獙?duì)激勵(lì)進(jìn)行明確的推理,并且要了解哪一方對(duì)那部分狀態(tài)有興趣,還需要保證是由承諾完全滿足它們的layer1系統(tǒng)所提供。
但是,Plasma鏈也有大的優(yōu)勢(shì)。
首先,它們可以被迭代,并且新設(shè)計(jì)能被快速實(shí)施,這是因?yàn)槊總€(gè)Plasma鏈可以單獨(dú)部署,且無(wú)需協(xié)調(diào)生態(tài)系統(tǒng)的其余部分。
其次,從本質(zhì)看,分片更脆弱。這是因?yàn)樗噲D保證一定量的數(shù)據(jù)的絕對(duì)和總體可用性和有效性,并且,必須在協(xié)議中設(shè)置該數(shù)量;太少的話,系統(tǒng)的可擴(kuò)展性比它本來(lái)應(yīng)該的要低;太多的話,整個(gè)系統(tǒng)會(huì)面臨破壞風(fēng)險(xiǎn)。
可擴(kuò)展性的最大安全級(jí)別也依賴(lài)于系統(tǒng)的用戶(hù)數(shù),這是一個(gè)不可預(yù)測(cè)的變量。另一方面,Plasma鏈允許不同的用戶(hù)在這方面做出不同的權(quán)衡,并允許用戶(hù)更靈活地調(diào)整以適應(yīng)環(huán)境的變化。
單個(gè)運(yùn)營(yíng)者Plasma鏈也能用于提供比分片系統(tǒng)更多的隱私,分片系統(tǒng)的所有數(shù)據(jù)都是公開(kāi)的。即使不需要隱私,它們也可能更高效,因?yàn)榉制到y(tǒng)的全部數(shù)據(jù)可用性要求需要額外的冗余級(jí)別作為安全余量。另一方面,每個(gè)數(shù)據(jù)片的數(shù)據(jù)要求可以最小化,從長(zhǎng)遠(yuǎn)看,每個(gè)單獨(dú)的數(shù)據(jù)片可能只需要復(fù)制幾次,而不是像分片系統(tǒng)中那樣復(fù)制一千次。
因此,從長(zhǎng)遠(yuǎn)看,一個(gè)混合系統(tǒng),它既有分片底層又有基于底層的Plasma鏈,能夠提供更多的可擴(kuò)展性,這似乎是最可能的方法,更能服務(wù)于不同群體的用戶(hù)需求,而不是單獨(dú)依賴(lài)于這種或那種策略。
遺憾的是,在足夠的推進(jìn)級(jí)別下,Plasma和分片陷入相同的設(shè)計(jì)。兩者在某些關(guān)鍵方面有不可減少的差異(例如,在分片系統(tǒng)中客戶(hù)端進(jìn)行的數(shù)據(jù)可用性檢查在Plasma中并不能移動(dòng)到主鏈,因?yàn)檫@些檢查只有在它們是主觀上完成且基于私人信息時(shí)才有效。)
但這兩種擴(kuò)展性解決方案(包括狀態(tài)通道)都有光明的前景。