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