在比特幣和以太坊等主要區(qū)塊鏈中,隨著參與者數(shù)量的增加,交易數(shù)量不斷增加,需要很長時間來驗證交易并形成共識。
這稱為可伸縮性問題,它是由可以包含在塊中的少量交易和慢塊生成時間引起的。為了將分布式游戲平臺MOLD作為未來的公共區(qū)塊鏈實際應(yīng)用,解決這個問題至關(guān)重要。因此,在構(gòu)建分布式平臺MOLD時,我們在上次使用Hyperledger Fabric和Tendermint的一致算法之前考慮了第1層的可擴展性解決方案。在這個時候,作為第2層解決方案,我將考慮吸引注意力的Plasma,并且還要驗證即使在Tendermint基礎(chǔ)上開發(fā)的MOLD也可以采用Plasma。
什么是圖層?
首先,為了理解區(qū)塊鏈的協(xié)議區(qū)域,有必要了解層次結(jié)構(gòu)。 第1層(區(qū)塊鏈的主干區(qū)域)包括一致性算法,其是用于生成和驗證諸如PoW和PoS的區(qū)塊的協(xié)議,以及擴展區(qū)塊鏈上的各種功能的虛擬機。 第2層包括用于擴展區(qū)塊鏈上的通信區(qū)域并增加處理能力的機制。 特別有望在偏離主干區(qū)塊鏈的第2層區(qū)域中解決可擴展性。 雖然不是本次的主題,但在這之上還有作為一般應(yīng)用領(lǐng)域的第3層和作為實際服務(wù)應(yīng)用領(lǐng)域的第4層。
什么是Plasma?
Plasma是一種將子區(qū)塊鏈變?yōu)闃湫危▽哟谓Y(jié)構(gòu))的想法,其中一個主要區(qū)塊鏈作為母區(qū)塊鏈,如下圖所示,Plasma區(qū)塊鏈以分層方式連接到根鏈,如Ethererm。
在每個Plasma區(qū)塊鏈中處理交易,并將結(jié)果發(fā)送到連接的母區(qū)塊鏈,以便最終將狀態(tài)記錄在根鏈(例如以太坊)中。 此時,不傳送區(qū)塊中的整個信息,而是傳送區(qū)塊頂端的哈希。 這非常有效,許多狀態(tài)更新由單個哈希(以及一些小型相關(guān)數(shù)據(jù))表示。
使用Map縮小格式處理
Plasma旨在通過Map Reduce表單中的并行計算顯著提高交易的執(zhí)行速度。
在MAP的第一階段,計算處理的作用從母區(qū)塊鏈發(fā)送到子區(qū)塊鏈。 在REDUCE的第二階段,所有子Plasma區(qū)塊鏈將計算過程的結(jié)果提交給更高層次的Plasma區(qū)塊鏈,直到它們到達Root區(qū)塊鏈。
由于這種MapReduce形式的并行計算,Plasma可以提高交易的處理速度。
存款和提款到Plasma鏈
存款代幣直接發(fā)送到根鏈上的Plasma合約。根鏈上的合同通過掌握當(dāng)前狀態(tài)(狀態(tài))和欺詐證明(如下所述)確保對無效提交的資金的處罰和取款。 在Plasma鏈中,會處理存入的代幣交易。為了提取存款代幣,存款人需要在Plasma鏈上簽署交易,并且最終可以在達成共識形成的階段退出。
關(guān)于Plasma鏈上的交易,在Plasma的白皮書當(dāng)中存在著以下的解釋。
1、Alice希望將她在Plasma鏈中的輸出用于同一Plasma鏈中的Bob(沒有在區(qū)塊鏈上提交完整的交易記錄)。 她創(chuàng)建了一個交易,將其中一個輸出花費在Plasma鏈中,對其進行簽名并廣播交易。
2、該交易由Plasma鏈的驗證器包含在區(qū)塊中。 標(biāo)題包含在母Plasma鏈或根區(qū)塊鏈中作為區(qū)塊的一部分,最終被提交并密封在根區(qū)塊鏈中。
3、Alice和Bob觀察交易并簽署確認(rèn)他已經(jīng)看到交易和阻止。 此確認(rèn)被簽名并包含在另一個Plasma區(qū)塊當(dāng)中。
第三步中的預(yù)期是確保參與者(在這種情況下是Alice和Bob)的交易的最終性。在第一步中,Alice仍然不能確定交易是否包括在塊中,并且即使在第二步中,也存在關(guān)于交易是否存儲在塊中的不確定性。因此,在沒有第三級確認(rèn)簽名的情況下,Alice甚至可以在獲得根鏈中的最終結(jié)果之前提取資金。
Plasma的優(yōu)點
Plasma最終實現(xiàn)時,預(yù)計如下。
· 存儲在根鏈中的數(shù)據(jù)大小減少了
· 交易費用減少
· 交易執(zhí)行速度(匯款速度和智能合約執(zhí)行速度)得到改善
· 可以平滑地執(zhí)行具有較大數(shù)據(jù)大小的交易
不再需要在根鏈中存儲額外數(shù)據(jù),并且通過與Plasma鏈連接,可以判斷更多交易并顯著提高計算能力。換句話說,Plasma有望顯著解決根鏈中的可擴展性問題,例如第2層中的Ethereum。
涉及Plasma的非法退出
由于Plasma判斷多個區(qū)塊鏈的交易,因此會發(fā)生雙重支付和已經(jīng)使用過的UTXO撤銷等風(fēng)險。 此外,可能會發(fā)生Plasma鏈運營商的欺詐行為(扣留攻擊問題)。因此,我們需要一個流程來持續(xù)監(jiān)控參與者是否不會造成欺詐并在發(fā)生時提交證據(jù)。
欺詐證據(jù)
Plasma塊鏈中的所有狀態(tài)均根據(jù)欺詐證據(jù)執(zhí)行,并解決諸如雙重支付問題和非法使用廢棄UTXO等問題。
由于參與者擁有所有區(qū)塊數(shù)據(jù)的副本,因此可以通過向根鏈提交區(qū)塊頂端哈希來證明。 實際上,如果證明欺詐已經(jīng)提交到根鏈,那么該區(qū)塊的創(chuàng)建者將被授予懲罰。
扣留攻擊和大規(guī)模退出
雖然人們認(rèn)為它對解決可擴展性問題有很大幫助,但在實施Plasma時,會發(fā)生一種名為“扣留攻擊”的攻擊??哿艄羰且环N攻擊,可防止Plasma塊被故意批準(zhǔn),防止提取存放在區(qū)塊中的資產(chǎn)(代幣),或批準(zhǔn)非法交易,如雙重支付交易。在Plasma鏈中,采用任何人都可以參與網(wǎng)絡(luò)的PoS,并且一個節(jié)點在一個周期內(nèi)創(chuàng)建區(qū)塊。也就是說,惡意節(jié)點有可能不生成區(qū)塊或批準(zhǔn)非法交易,這可能導(dǎo)致網(wǎng)絡(luò)延遲和欺詐性交易。此外,可能難以判斷它是惡意節(jié)點還是剛剛斷開的節(jié)點。為此,請參閱另一篇文章(關(guān)于拜占庭故障)。
當(dāng)遇到惡意的Plasma鏈操作員時,較低層的參與者可以將資產(chǎn)移動到其他Plasma鏈并留下有問題的Plasma鏈。
在未來,據(jù)說Mass Exit將作為協(xié)議/安全模型實施,以防止欺詐和延遲,例如對Plasma鏈的扣留攻擊。 它通過收集所有希望退出(撤回)的人的簽名來執(zhí)行,以保護資產(chǎn)免受惡意操作員的攻擊或阻止扣留攻擊。 由于撤銷是在優(yōu)先級隊列中執(zhí)行的(按舊UTXO的順序),非法交易或訪問之前的金額將返回給正確的所有者。 因為會產(chǎn)生用戶喪失,所以為了盡量避免大規(guī)模退出,存在著會往不出差錯的方向發(fā)展的機制。 在Maas退出之后,Plasma鏈基本上停止,因此此時會應(yīng)當(dāng)產(chǎn)生另一個鏈(在Massexit之后有可能會重新啟動同一條鏈)。
緊急補救措施
背景
Plasma鏈中的參與者需要將所有區(qū)塊數(shù)據(jù)保留在Plasma鏈中,以便在區(qū)塊操作發(fā)生欺詐時提交欺詐證據(jù)。因此,諸如用戶的數(shù)據(jù)大小之類的產(chǎn)生的負(fù)擔(dān)等問題,至今還不能說是實用的。Plasma還需要確認(rèn)簽名,并且交易利益相關(guān)者有一種機制,只有在簽署后才能獲得終結(jié),持有此確認(rèn)簽名也是一個沉重的負(fù)擔(dān)。因此,發(fā)明了一種稱為Plasma現(xiàn)金的機制來減少用戶擁有的數(shù)據(jù)。
什么是Plasma Cash?
來自根鏈的存款在Plasma鏈當(dāng)中被作為不可替代的代幣使用,如NFT(非偽造代幣)。因此,用戶僅需要對與他/她擁有的代幣的ID相對應(yīng)的merkleTree的節(jié)點感興趣?;旧嫌脩魞H只用監(jiān)視與自己的代幣ID相關(guān)的數(shù)據(jù)。
什么是Plasma XT?
為了減少用戶擁有的數(shù)據(jù)量甚至超過Plasma現(xiàn)金并防止欺詐,計劃定期記錄簽名提交狀態(tài)以及要收集的人數(shù)的位數(shù)據(jù)大小。在中間,palsma運算符組成檢查點數(shù)據(jù),并且用戶只需要在檢查點之后保存和監(jiān)視數(shù)據(jù),因此最終具有特定代幣的人的信息會被正確共享。但是,當(dāng)運營商不顯示除Mercle Root之外的交易歷史時,存在欺詐不明顯的問題,并且目前沒有呈現(xiàn)特定的檢查點設(shè)計。
Plasma Cash和Plasma XT都是如此,因為它們使用NFT代幣,因此不應(yīng)該進一步細(xì)分已發(fā)行的代幣。因此,難以適應(yīng)需要替代的應(yīng)用,例如結(jié)算和分散交換(DEX),并且使用方法受到限制。
什么是Plasma Debit?
為了實現(xiàn)所發(fā)布代幣的劃分,通過生成由Plasma現(xiàn)金鏈的運營商管理的狀態(tài)信道,在Plasma借記中生成P2P交易。通過將部分存款存入Plasma現(xiàn)金鏈給運營商,可以在狀態(tài)渠道內(nèi)以存款金額作為上限進行交易。同時,人們擔(dān)心信任運營商的必要性,運營商可能成為單點故障的可能性,以及在根鏈外進行大量脫鏈交易的重要性。
所有Plasma Cash/ TX /Debit卡技術(shù)都處于研究階段,因此預(yù)計未來會有所改進。
Plasma在模具中的可能性
在Plasma的可擴展性解決方案中,對Root鏈沒有限制,并且使用智能合約的功能,Plasma的想法也可以用于除以太坊之外的區(qū)塊鏈。 因此,即使在第1層采用一致性算法(如Tendermint)的區(qū)塊鏈中,它也可以成為一種強大的可擴展性手段。
分散式游戲平臺MOLD正在關(guān)注Plasma作為擴展解決方案。 當(dāng)實施Plasma時,可以在Root鏈之外同時并行處理,因此通過在MOLDEX中結(jié)合Plasma鏈,這是游戲內(nèi)物品分布式交換,游戲ICO系統(tǒng),游戲結(jié)算相關(guān)等,可以在每個根鏈上進行加載擴展。
此外,例如即使使用像Plasma現(xiàn)金這樣的NFT代幣,也不需要在已經(jīng)決定了MOLD中的發(fā)行數(shù)量的項目代幣的交易中進行劃分,因此有效使用Plasma現(xiàn)金的可能性很高。
對于MOLD,首先要解決實現(xiàn)使用基于Tendermint的EVM虛擬機和ABCI協(xié)議來決定對于第1層一致性算法,但由于在第2階段中像Plasma這樣的可擴展性解決方案依然帶來了利用價值,所以Plasma今后的發(fā)展還是值得我們來一同關(guān)注的。