什么是區(qū)塊鏈Plasma鏈
Plasma的設(shè)計(jì)模型使得人們可以通過(guò)發(fā)送鏈下消息來(lái)轉(zhuǎn)移鏈上資產(chǎn)。它通過(guò)將交易吞吐量轉(zhuǎn)移到Plasma鏈上實(shí)現(xiàn)根鏈的擴(kuò)容。 你可以想象這樣一個(gè)場(chǎng)景:一位教授需要在短時(shí)間內(nèi)給許多試卷打分?jǐn)?shù)。他可以將這個(gè)工作分配給助教,由后者評(píng)閱試卷上的作答,并合計(jì)每題小分,只將最終分?jǐn)?shù)報(bào)告給教授。
每條Plasma鏈都會(huì)將有關(guān)交易順序的消息換算成一個(gè)哈希值存儲(chǔ)在根鏈上。比特幣和以太坊都屬于根鏈——這兩條區(qū)塊鏈具有很高的安全性,并且通過(guò)去中心化保證了(安全性和活性)。本文列舉的所有例子均將以太坊作為根鏈。
“Plasma不是帶有默克爾樹(shù)的中心化服務(wù)器。 —— Vitalik, 2018 年瑞士楚格 TechCrunch 。
Plasma設(shè)計(jì)模型有兩個(gè)主要的分支:Plasma MVP 和 Plasma Cash 。如果你想了解更多關(guān)于 Plasma 的研究譜系,請(qǐng)點(diǎn)擊文末鏈接。讓我們先了解一些背景知識(shí)并簡(jiǎn)要介紹使用流程,再深入探究各個(gè)部分。
知識(shí)點(diǎn)速覽
稀疏的默克爾樹(shù):大小恒定的 完美 默克爾樹(shù),之所以稱作‘稀疏’是因?yàn)槎鄶?shù)葉節(jié)點(diǎn)都是空的。
經(jīng)濟(jì)確定性:確保操作的不可撤回性,除非某一方花掉一大筆錢(qián)來(lái)產(chǎn)生另一種結(jié)果。
UTXO:unspent transaction output(未花費(fèi)的交易輸出)的縮寫(xiě)。每個(gè)交易必須從有效的 UTXO 集合中得到輸入值。每個(gè)交易的輸出值組成新的 UTXO 集合。比特幣使用的就是 UTXO 模型。
前方高能預(yù)警!
1:想要成為 Plasma 運(yùn)營(yíng)者的人(wannabe Plasma Operator)將 Plasma 合約部署到主網(wǎng)上
如果交易所之類(lèi)的實(shí)體想要實(shí)現(xiàn)高交易吞吐量和低延遲性(甚至是即時(shí)經(jīng)濟(jì)確定性),不妨運(yùn)行一條 Plasma 鏈并成為 Plasma 運(yùn)營(yíng)者。合約初始化過(guò)程中就會(huì)將合約所有者包含在內(nèi)。
2:Plasma 運(yùn)營(yíng)者打包一個(gè)塊
運(yùn)營(yíng)者具有多重身份,其中一種是將交易聚集起來(lái)并排序打包進(jìn)區(qū)塊,然后將這個(gè) Plasma 區(qū)塊的哈希值提交至根鏈。
Plasma 有多種運(yùn)行方式。不同的 Plasma 鏈可以有不同的治理規(guī)則、不同的代幣和狀態(tài)存儲(chǔ)方式等等,不過(guò)所有 Plasma 鏈會(huì)定期將哈希值提交至根鏈,以便確保與根鏈一樣的安全性。
3:新用戶 Kanye 在 Plasma 合約中質(zhì)押以太幣換取 PETH
在主要的兩個(gè) Plasma 設(shè)計(jì)模型中,你可以質(zhì)押任意類(lèi)型的代幣,該代幣會(huì)被轉(zhuǎn)化成符合 ERC20 標(biāo)準(zhǔn)的代幣,并通過(guò) Plasma 鏈返還給用戶。如果 Kanye 質(zhì)押了以太幣,他將獲得 PETH !如果他質(zhì)押了比特幣,他將獲得 PBTC ?。≒lasma Cash 技術(shù)規(guī)范更支持 CryptoKitTIes 之類(lèi)的 ERC721 資產(chǎn),不過(guò)并非所有 Plasma 技術(shù)規(guī)范都支持任意類(lèi)型代幣的質(zhì)押。)
4:Kanye 向非 Plasma 智能合約成員 Donald 匯款
Kanye 并不是只能向 Plasma 合約以內(nèi)的成員匯款!他也可以向以太幣大佬 Donald 匯款。
在 Plasma Cash 實(shí)現(xiàn)中,你質(zhì)押的每種代幣都會(huì)被分配一個(gè)特殊的 ID 。 這些特殊的 ID 都存儲(chǔ)在稀疏的默克爾樹(shù)上。代幣交易只會(huì)改變代幣所在葉節(jié)點(diǎn)的索引(index)。這就好比房屋買(mǎi)賣(mài)——在進(jìn)行交易之時(shí)房屋是不會(huì)動(dòng)的,然而房主會(huì)更換,房契會(huì)記錄交易相關(guān)方以及換手率。這極大降低了檢查代幣歷史記錄的難度,因?yàn)槟阒涝摽礃?shù)上的哪個(gè)位置!
讓我們關(guān)注一下 Kanye 發(fā)送給 Donald 的代幣的索引。Kanye 在發(fā)送代幣之時(shí)必須包括該代幣的歷史記錄。如果代幣經(jīng)歷過(guò)多次交易,就會(huì)生成龐大的歷史記錄!我們將來(lái)會(huì)設(shè)法改善這一點(diǎn)。對(duì) Donald 來(lái)說(shuō)已經(jīng)很棒了,因?yàn)樗恍柘螺d自己關(guān)心的代幣的歷史記錄。
5:Donald 有兩個(gè)選擇:是繼續(xù)花費(fèi) PETH ,還是創(chuàng)建一個(gè)“退出”交易在根鏈上換回以太幣。
如果 Donald 要將 PETH 換回以太幣,他無(wú)需像請(qǐng)求加入時(shí)那樣向運(yùn)營(yíng)者提交信息。出于匿名之需,Donald 想要立刻換回他的代幣,因此不想繼續(xù)交易 PETH 了。他取一段代幣的歷史記錄來(lái)證明所有權(quán),并將其放入退出 Plasma 合約的請(qǐng)求之中。他的“退出”交易還包括 Gas 費(fèi)和作為質(zhì)押的 保證金 。如果審核通過(guò),且沒(méi)人質(zhì)疑 Donald ,Donald 就可以在根鏈上將 PETH 換回以太幣。
太棒了!我們已經(jīng)充分解析了最佳案例的真實(shí)場(chǎng)景,下面讓我們深入研究一下各個(gè)部分吧:交易、退出機(jī)制和 Plasma 運(yùn)營(yíng)者的作用。要注意的是不同的實(shí)施方案之間存在各種規(guī)則和差異,不過(guò)你可以從下文了解一些核心的 Plasma 概念和術(shù)語(yǔ)。
交易
Kanye 在發(fā)送代幣之時(shí)必須將代幣的歷史記錄一起發(fā)送出去。Plasma Cash 的用戶只需下載并查看自己關(guān)心的代幣的歷史記錄。分片客戶端驗(yàn)證能夠減少每位用戶的數(shù)據(jù)加載量。
然而,如果一個(gè)代幣經(jīng)歷的交易次數(shù)過(guò)多,會(huì)導(dǎo)致歷史記錄過(guò)大而無(wú)法交易。我們建議可以通過(guò)設(shè)置檢查點(diǎn)來(lái)解決這一問(wèn)題。 檢查點(diǎn)(Checkpoint)會(huì)將原先線性大小的證明縮減成一個(gè)常量,一旦檢查點(diǎn)敲定后,客戶端就可以提供上面的證明。Plasma Cash 檢查點(diǎn)建立在加密經(jīng)濟(jì)聚合簽名之上,為代幣在區(qū)塊高度 Y 上由 X 所有這一紀(jì)錄提供經(jīng)濟(jì)保證。
遺憾的是,在 Plasma Cash 上發(fā)送任意小額的代幣會(huì)困難得多(Plasma Debit 或狀態(tài)通道可以解決這一問(wèn)題,詳情見(jiàn)延伸閱讀) 。用戶通過(guò)調(diào)用押金函數(shù)來(lái)指定押金金額。雖然通過(guò) Plasma Cash 發(fā)送 ERC721 代幣比較好,但是 Plasma MVP 的 UTXO 模型可以更好地處理任意金額的代幣交易。
退出機(jī)制
·可以針對(duì)滿足以下情況的退款發(fā)起退出挑戰(zhàn):
·要求退回已花費(fèi)的代幣
·要求退回已退回的代幣
·要求退回有無(wú)效歷史記錄的代幣
任何人都可以提交欺詐證明來(lái)挑戰(zhàn)退出者,一經(jīng)證實(shí)會(huì)沒(méi)收退出者的保證金。
如果遭遇攻擊怎么辦?
如果 Plasma 鏈遭受黑客攻擊,黑客必須提交”退出“交易才能成功偷走所有資金!在 Plasma Cash 上,黑客必須在“退出”交易中包括一張(作為安全保證金的)債券,他不能直接偷走所有錢(qián)。
Plasma 運(yùn)營(yíng)者
Plasma 運(yùn)營(yíng)者的主要作用是將交易聚集起來(lái)加入?yún)^(qū)塊,將每個(gè) Plasma 區(qū)塊的默克爾根發(fā)布到根鏈上。
在更復(fù)雜的設(shè)計(jì)模型中,可以由 PoS 驗(yàn)證者代替中心運(yùn)營(yíng)者,從而減輕關(guān)于交易審查的擔(dān)憂。不過(guò),中心運(yùn)營(yíng)者帶來(lái)的好處多多,而且 Plasma 運(yùn)營(yíng)者的債權(quán)有很多有趣的用處:
·即時(shí)經(jīng)濟(jì)確定性!由于運(yùn)營(yíng)者是區(qū)塊的創(chuàng)建者,他們可以提供交易打包和排序的相關(guān)保證。為防作弊,運(yùn)營(yíng)者要提供保證金;交易一經(jīng)打包,用戶便知交易已然敲定
·懲罰無(wú)效退出:如果運(yùn)營(yíng)者許可了無(wú)效的“退出”交易,我們可以予以懲罰,并沒(méi)收保證金。
·Casper 驗(yàn)證:運(yùn)營(yíng)者可以是 Casper PoS 驗(yàn)證者!
你還能想到其它用處嗎?
Plasma 的設(shè)計(jì)模型
下圖顯示得更清楚一點(diǎn):