Plasma链0x1的构造
本文由幣乎社區(qū)(bihu.com)內(nèi)容支持計(jì)劃獎(jiǎng)勵(lì)。
Plasma是一個(gè)由Joseph Poon和Vitalik Buterin設(shè)計(jì)的區(qū)塊鏈擴(kuò)展解決方案,它使用子鏈向根鏈(即以太坊)報(bào)告的方式來增加交易吞吐量,這樣就不用擔(dān)心通常情況下使用小一點(diǎn)的鏈而產(chǎn)生的安全問題。OMG(OmiseGO)去中心化交易所是期待Plasma而進(jìn)行設(shè)計(jì)的。我們將會(huì)使用Plasma來支持可擴(kuò)展性,完全的鏈上交易而不用犧牲安全。在這篇文章中我將會(huì)講述我們?nèi)绾谓⒁粋€(gè)Plasma。
目標(biāo):創(chuàng)建一個(gè)不需要依靠自身來確保安全的區(qū)塊鏈
我們通過要求用戶在出現(xiàn)錯(cuò)誤的時(shí)候退出子鏈而達(dá)到這一點(diǎn)。下面是運(yùn)作方式:
責(zé)任分解
存款
為了使用Plasma鏈,用戶必須要將他們的資產(chǎn)(即以太幣或其他代幣)從父鏈轉(zhuǎn)移到子鏈上。要移動(dòng)存款,用戶通過將資產(chǎn)移動(dòng)到在以太坊上相應(yīng)的Plasma智能合約上從父鏈移到子鏈上。
MVP的存款處理已經(jīng)簡(jiǎn)化了在Plasma白皮書中指定的處理過程,降低了復(fù)雜性。存入Plasma鏈的存款會(huì)被立即包含到子鏈的父鏈記錄中,并且無法取消存款。想要取消存款,用戶可以立即撤回它們的資產(chǎn)。
存款人沒有額外的風(fēng)險(xiǎn)。一旦轉(zhuǎn)移資產(chǎn)到智能合約的交易被確認(rèn),它們可以被撤回。即使子鏈沒有相應(yīng)存款的映射,存款人可以依然撤回他們的資產(chǎn)。
撤回
要將資產(chǎn)轉(zhuǎn)移回父鏈,用戶可以發(fā)起一個(gè)撤回。用戶發(fā)起撤回可以只是簡(jiǎn)單的為了將資產(chǎn)移回到父鏈并將資存在父鏈。當(dāng)檢測(cè)到一個(gè)錯(cuò)誤性的Plasma鏈用戶必須發(fā)起一個(gè)撤回;如果用戶沒有及時(shí)撤回,那么他們可能存在丟失資產(chǎn)的危險(xiǎn)。
有兩種類型的撤回。第一種是“簡(jiǎn)單撤回”,這是單方從子鏈撤回自己的資產(chǎn)。第二種是“大量撤回”,當(dāng)多方一起從子鏈撤回他們的資產(chǎn)。大量撤回顯然更加的復(fù)雜,將會(huì)在未來的文章中進(jìn)行討論。
當(dāng)用戶從Plasma子鏈撤回資產(chǎn),是按照退出交易被創(chuàng)建的順序進(jìn)行處理的(前面的先處理)。在挑戰(zhàn)期結(jié)束之后撤回會(huì)最終化。在挑戰(zhàn)期間任何人可以提供詐騙性行為的證據(jù)。
簡(jiǎn)單撤回
簡(jiǎn)單撤回包含四步:
最終化
有兩種類型的最終化:
子鏈的最終化和安全性取決于根鏈。Plasma提供的所有安全保證都假設(shè)以太坊正常運(yùn)行。
關(guān)于Plasma MVP該記住的事情
Plasma MVP是朝著下面兩點(diǎn)邁出的一步:(i)通過擴(kuò)展以太坊主網(wǎng)來激發(fā)以太坊的潛力,(ii)構(gòu)建一個(gè)OMG去中心化的交易所,為主流金融的使用做好準(zhǔn)備。隨著OmiseGO更進(jìn)一步參與到Plasma開發(fā)中,設(shè)計(jì)將會(huì)發(fā)展到Plasma和OmiseGO白皮書中描述的其他特征中。
我要特別感謝Joseph Poon,Vitalik Buterin和Karl Floersch的時(shí)間和洞察力,這對(duì)于將全局的區(qū)塊鏈縮放解決方案轉(zhuǎn)化為我們正在實(shí)施的MVP技術(shù)規(guī)范是非常有價(jià)值的。 所有的錯(cuò)誤都是我自己的。
翻譯作者: 許莉
原文地址: Construction of a Plasma Chain 0x1
作者:Lilymoana
鏈接:https://www.jianshu.com/p/408b4228562a
來源:簡(jiǎn)書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的Plasma链0x1的构造的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个更优的零知识证明:Bulletpro
- 下一篇: 使用Go语言从零编写PoS区块链(译)