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