深入理解Plasma(一)Plasma 框架

最新內(nèi)容會更新在主站深入淺出區(qū)塊鏈社區(qū)
原文鏈接:深入理解Plasma(一)Plasma 框架

這一系列文章將圍繞以太坊的二層擴(kuò)容框架统屈,介紹其基本運(yùn)行原理,具體操作細(xì)節(jié),安全性討論以及未來研究方向等。本篇文章作為開篇氏涩,主要目的是理解 Plasma 框架届囚。

Plasma 作為以太坊的二層擴(kuò)容框架,自從 2017 年被 Joseph Poon(Lightning Network 創(chuàng)始人)和 Vitalik Buterin (Ethereum 創(chuàng)始人)提出以來[1]是尖,一直是區(qū)塊鏈從業(yè)人員關(guān)注的焦點(diǎn)[2]意系。首先需要明確的是,Plasma 實(shí)質(zhì)上是一套框架饺汹,而不是一個(gè)單獨(dú)的項(xiàng)目蛔添,它為各種不同的項(xiàng)目實(shí)際項(xiàng)目提供鏈下(off-chain)解決方案。這也是為什么很多人對 Plasma 感到疑惑的一個(gè)重要原因首繁,因?yàn)樵谌狈?shí)際應(yīng)用場景的情況下很難將 Plasma 解釋清楚作郭。
因此陨囊,理解 Plasma 是一套框架是理解 Plasma 的關(guān)鍵弦疮。

從區(qū)塊鏈擴(kuò)容談起

在介紹 Plasma 之前,不得不先介紹區(qū)塊鏈擴(kuò)容蜘醋。我們都知道胁塞,比特幣(Bitcoin)和以太坊(Ethereum)作為目前最廣泛使用的區(qū)塊鏈平臺,面臨的最大問題就是可擴(kuò)展性(Scalability)压语。這里需要注意的是啸罢,區(qū)塊鏈中的可擴(kuò)展性問題并不是單獨(dú)特指某個(gè)問題,而是區(qū)塊鏈想要實(shí)現(xiàn) Web3.0[3] 的愿景胎食,為億萬用戶提供去中心化服務(wù)所要克服的一系列挑戰(zhàn)扰才。雖然以太坊號稱是“世界計(jì)算機(jī)”,但這臺“計(jì)算機(jī)”卻是單線程的厕怜,每秒鐘只能處理大約 15 條交易衩匣,與目前主流的 Visa 和 MasterCard 動輒每秒上萬的吞吐量相比實(shí)在相形見絀。因此如何在保證區(qū)塊鏈安全性的情況下粥航,提高可擴(kuò)展性是目前區(qū)塊鏈發(fā)展亟待解決的問題之一琅捏。

目前關(guān)于區(qū)塊鏈擴(kuò)容的解決方案無外乎兩個(gè)方向:一層(Layer 1)擴(kuò)容和二層(Layer 2)擴(kuò)容[4]。一層擴(kuò)容也被稱為鏈上(on-chain)擴(kuò)容递雀,顧名思義柄延,這類擴(kuò)容方案需要更改區(qū)塊鏈底層協(xié)議。但同時(shí)也意味著需要將區(qū)塊鏈硬分叉缀程。這類擴(kuò)容方案就像將原來的單核 CPU 改裝成多核 CPU搜吧,從而可以多線程處理計(jì)算任務(wù),提高整個(gè)網(wǎng)絡(luò)的吞吐量杨凑。

image

目前最典型的一層擴(kuò)容方案是 Vitalik 和他的研究團(tuán)隊(duì)提出的“Sharding(分片)”滤奈,也就是說將區(qū)塊鏈劃分成不同的部分(shards),每個(gè)部分獨(dú)立處理交易蠢甲。想要了解更多關(guān)于 Sharding 的信息僵刮,可以參考以太坊官方的 Wiki[5]据忘。

二層擴(kuò)容也稱鏈下(off-chain)擴(kuò)容,同樣非常好理解搞糕,這種擴(kuò)容方案不需要修改區(qū)塊鏈底層協(xié)議勇吊,而是通過將大量、頻繁的計(jì)算工作轉(zhuǎn)移到“鏈下”完成窍仰,并定期或在需要時(shí)將鏈下的計(jì)算結(jié)果提交到“鏈上”保證其最終性(finality)汉规。二層擴(kuò)容的核心思想是將底層區(qū)塊鏈作為共識基礎(chǔ),使用智能合約或者其它手段作為鏈下和鏈上溝通的橋梁驹吮,當(dāng)有欺詐行為發(fā)生時(shí)鏈下的用戶仍然可以回到鏈上的某一狀態(tài)针史。雖然將計(jì)算轉(zhuǎn)移到鏈下會在一段時(shí)間內(nèi)損失最終性,但這個(gè)代價(jià)是值得的碟狞,因?yàn)檫@樣做不止可以極大提高區(qū)塊鏈的靈活性和可擴(kuò)展性啄枕,也極大降低了用戶進(jìn)行交易所需要的代價(jià)。將計(jì)算轉(zhuǎn)移到鏈下也并不意味著完全放棄安全性族沃,因?yàn)樽罱K的安全性還是由底層所依賴的區(qū)塊鏈來保證频祝,因此二層擴(kuò)容主要關(guān)注的問題就在于如何保證鏈上鏈下切換過程的安全性。這種思想最早被用在閃電網(wǎng)絡(luò)(Lightning Network)當(dāng)中作為比特幣的其中一個(gè)擴(kuò)容方案脆淹,并取得了很好的效果常空。

image

本文所要介紹的 Plasma 就屬于基于以太坊二層擴(kuò)容方案,類似的解決方案還有 State ChannelsTrubit盖溺。這些方案雖然面向的問題有所區(qū)別漓糙,但基本思想都是將復(fù)雜的計(jì)算轉(zhuǎn)移到鏈下進(jìn)行。那么烘嘱,接下來我們將進(jìn)入 Plasma 的世界昆禽,一窺究竟!

理解 Plasma

在前文中我們已經(jīng)明白 Plasma 是一種二層擴(kuò)容框架拙友,那么該如何進(jìn)一步理解 Plasma 是什么为狸?它區(qū)別于其它二層擴(kuò)容方案的地方在哪呢?

Plasma 也被稱為“鏈中鏈(blockchains in blockchains)”遗契。任何人都可以在底層區(qū)塊鏈之上創(chuàng)建不同的 Plasma 支持不同的業(yè)務(wù)需求辐棒,例如分布式交易所、社交網(wǎng)絡(luò)牍蜂、游戲等漾根。

<img src="https://raw.githubusercontent.com/gitferry/mastering-ethereum/master/Plasma-in-depth/images/Blockchains-of-blockchain.png" width="600" height="230" alt="Blockchains of Blockchain" />

這里可以舉一個(gè)例子來理解 Plasma。假如企鵝公司創(chuàng)建了一個(gè) Plasma Chain 叫作 Game Chain鲫竞。用戶通過向 Game Chain 發(fā)送一些以太幣換取 Token辐怕,用于購買皮膚等游戲內(nèi)的增值商品。加入 Game Chain 的操作是在鏈上進(jìn)行的从绘,以太坊區(qū)塊鏈將這部分資產(chǎn)鎖定寄疏,轉(zhuǎn)移到 Game Chain 上是牢。之后每次我們購買虛擬商品的交易就會轉(zhuǎn)移到鏈下進(jìn)行,由企鵝公司記賬陕截。這種方式幾乎跟我們現(xiàn)實(shí)生活中游戲內(nèi)購的體驗(yàn)一樣驳棱,不僅結(jié)算迅速,而且手續(xù)費(fèi)低廉(相比于以太坊之上需要給礦工支付的手續(xù)費(fèi))农曲。那么問題來了社搅,如果企鵝公司從中作祟,修改賬本乳规,惡意占有我們的資產(chǎn)怎么辦形葬?這時(shí)我們就可以提交之前每次交易的憑證到以太坊區(qū)塊鏈上,如果確實(shí)是企鵝惡意篡改了賬本暮的,那么我們不但能夠成功取回自己的資產(chǎn)笙以,還能獲得之前企鵝公司創(chuàng)建 Game Chain 存入的部分或全部押金。

通過上面這個(gè)例子是不是已經(jīng)明白 Plasma 大致是如何工作的了青扔?但上面這個(gè)例子還是過于簡單源织,只涉及用戶自己和企鵝公司翩伪。下面我們使用區(qū)塊鏈的語言對上面的例子進(jìn)行解析微猖。

首先,企鵝公司在以太坊主鏈之上創(chuàng)建了一系列智能合約作為主鏈和子鏈 Game Chain 通信的媒介缘屹。這些智能合約中不僅規(guī)定了子鏈中的一些基本的狀態(tài)轉(zhuǎn)換規(guī)則(例如如何懲罰作惡的節(jié)點(diǎn))凛剥,也記錄了子鏈中的狀態(tài)(子鏈中區(qū)塊的哈希值)。之后企鵝公司可以搭建自己的子鏈(可以用以太坊搭建一套私鏈)轻姿。子鏈實(shí)際上是一個(gè)完全獨(dú)立的區(qū)塊鏈犁珠,可以擁有專門的礦工,使用不同于主鏈的共識算法互亮,例如 PoS(Proof of Stake)等犁享。

當(dāng)子鏈創(chuàng)建完畢后,企鵝公司可以使用 ERC721 合約創(chuàng)建 token 作為游戲內(nèi)的商品(就像 Cryptokitty)豹休。但這里需要注意的是炊昆,所有數(shù)字資產(chǎn)必須在以太坊主鏈上創(chuàng)建,并通過 Plasma 子鏈的智能合約轉(zhuǎn)移到子鏈中威根。用戶也需要在主鏈上購買數(shù)字資產(chǎn)后轉(zhuǎn)移到子鏈上凤巨。在上面這個(gè)例子中,Game Chain 的智能合約將主鏈上的資產(chǎn)鎖定洛搀,之后在子鏈上生成等值的資產(chǎn)敢茁。之后用戶就可以完全脫離主鏈,在子鏈上進(jìn)行交易留美。企鵝公司在子鏈上扮演 operator 的角色彰檬,如果一切運(yùn)行正常伸刃,子鏈中的礦工會正常打包區(qū)塊,并在需要時(shí)由 operator 將區(qū)塊的哈希值提交到主鏈作為子鏈的狀態(tài)更新證明逢倍。在這個(gè)過程中奕枝,用戶完全不需要和主鏈交互。

我們可以看到瓶堕,將復(fù)雜的計(jì)算操作轉(zhuǎn)移到鏈下確實(shí)使得整個(gè)交易過程變得簡單隘道。但沒有強(qiáng)大的共識算法和龐大的參與者,資產(chǎn)在子鏈上是很不安全的郎笆。Plasma 給了我們一種避險(xiǎn)機(jī)制谭梗,即使 operator 作惡,我們也能取回屬于自己的資產(chǎn)宛蚓。下圖(來源自[1])簡單說明了這個(gè)過程激捏。圖中,在第 4 個(gè)區(qū)塊中的交易被篡改凄吏。由于 Alice 本地保存有 Plasma Chain 中所有的區(qū)塊數(shù)據(jù)远舅,因此她可以向主鏈提交一個(gè)含有“防偽證明(Fraud Proof)”的交易。如果證明生效痕钢,那么主鏈將狀態(tài)從 4 號區(qū)塊回滾到 3 號區(qū)塊图柏,一切恢復(fù)正常。Plasmas Chain 中的參與者也可以隨時(shí)提交資產(chǎn)證明任连,返回到主鏈蚤吹。

image

到這里我們應(yīng)該已經(jīng)理解了,Plasma 所要做的工作并不是保護(hù)子鏈的安全随抠,而是當(dāng)有安全事故發(fā)生時(shí)裁着,保證用戶可以安全地取回自己的資產(chǎn),并返回到主鏈上拱她。并且采用一系列經(jīng)濟(jì)激勵(lì)的方式減少作惡情況的發(fā)生二驰。

下一篇文章將對 Plasma 運(yùn)行過程的細(xì)節(jié)進(jìn)行剖析。

相關(guān)資源

  1. https://plasma.io/
  2. https://ethresear.ch/c/plasma
  3. https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae
  4. https://blog.ethereum.org/2018/01/02/ethereum-scalability-research-development-subsidy-programs/
  5. https://github.com/ethereum/wiki/wiki/Sharding-FAQs
  6. https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4
  7. https://medium.com/@argongroup/ethereum-plasma-explained-608720d3c60e

本文的作者是蓋蓋秉沼,他的微信公眾號: chainlab

深入淺出區(qū)塊鏈 - 系統(tǒng)學(xué)習(xí)區(qū)塊鏈桶雀,打造最好的區(qū)塊鏈技術(shù)博客。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末氧猬,一起剝皮案震驚了整個(gè)濱河市背犯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盅抚,老刑警劉巖漠魏,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妄均,居然都是意外死亡柱锹,警方通過查閱死者的電腦和手機(jī)哪自,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禁熏,“玉大人壤巷,你說我怎么就攤上這事∏票校” “怎么了胧华?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宙彪。 經(jīng)常有香客問我矩动,道長,這世上最難降的妖魔是什么释漆? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任悲没,我火速辦了婚禮,結(jié)果婚禮上男图,老公的妹妹穿的比我還像新娘示姿。我一直安慰自己,他們只是感情好逊笆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布栈戳。 她就那樣靜靜地躺著,像睡著了一般览露。 火紅的嫁衣襯著肌膚如雪荧琼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天差牛,我揣著相機(jī)與錄音,去河邊找鬼堰乔。 笑死偏化,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的镐侯。 我是一名探鬼主播侦讨,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼苟翻!你這毒婦竟也來了韵卤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤崇猫,失蹤者是張志新(化名)和其女友劉穎沈条,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诅炉,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜡歹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年屋厘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片月而。...
    茶點(diǎn)故事閱讀 39,727評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汗洒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出父款,到底是詐尸還是另有隱情溢谤,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布憨攒,位于F島的核電站溯香,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏浓恶。R本人自食惡果不足惜玫坛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望包晰。 院中可真熱鬧湿镀,春花似錦、人聲如沸伐憾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽树肃。三九已至蒸矛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胸嘴,已是汗流浹背雏掠。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留劣像,地道東北人乡话。 一個(gè)月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像耳奕,于是被迫代替她去往敵國和親绑青。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內(nèi)容