Plasma —— 以太坊擴容新方案


相關(guān)工作

Plasma: Scalable Autonomous Smart Contracts -- [Article]


Plasma 背景

隨著區(qū)塊鏈技術(shù)的發(fā)展跷究,主鏈需要非常巨大的計算能力才能完成工作證明。如果采用集中式計算杂瘸,需要耗費相當長的時間來完成鳖目,大大降低了區(qū)塊鏈系統(tǒng)的執(zhí)行效率仪媒,以太坊的擴容問題亟待解決。分布式計算下方中央的工作藤树,將該應用分解成許多小的部分浴滴,分配給多臺計算機進行處理。這樣可以節(jié)約整體計算時間岁钓,大大提高計算效率升略。

Plasma 應運而生。作為一種以太坊擴容方案屡限,對以太坊主鏈可擴展性的提高通過將大量交易和計算下放到側(cè)鏈來實現(xiàn)品嚣。其基本思想是將所有交易都被觸及的共享賬簿區(qū)塊鏈,轉(zhuǎn)換成一個用戶可以私下交換消息的模型钧大;使用 P2P 支付渠道和 Ethereum 的存款網(wǎng)絡來保存來自區(qū)塊鏈系統(tǒng)的擔保翰撑;節(jié)點之間通信以促進傳輸,與 Ethereum 區(qū)塊鏈通信以管理存款啊央。Plasma 本質(zhì)上是一系列運行在以太坊主鏈上的智能合約眶诈,只需處理少量來自側(cè)鏈的請求,海量的交易和計算都在側(cè)鏈上完成瓜饥。不同于以太坊主鏈目前使用的 POW 共識算法逝撬,側(cè)鏈將使用 POS 等更高的共識機制。因此乓土,側(cè)鏈提供了可擴展性宪潮,而主鏈保證了安全性和去中心化。


Plasma 架構(gòu)

類似哈希表,Plasma實際上用一個“鏈中鏈”來支撐分布式擴容坎炼、以太坊的中央工作卸載。

image

如圖是 Plasma 架構(gòu)拦键,最底層是主區(qū)塊鏈谣光,是合約和支付的判決層,合約本身在主鏈上芬为。Plasma 鏈上包含了當前賬本的狀態(tài)萄金,可以在主鏈上清算和贖回(如果存在欺詐將允許資金的贖回)。Plasma 提供了一種鏈嵌套的結(jié)構(gòu)媚朦,實現(xiàn)資金的可擴容的存取氧敢。閃電網(wǎng)絡又基于其上,支持即時支付询张。

image

更詳細來說:節(jié)點自身被激勵去運行一個鏈孙乖;每個節(jié)點都可以創(chuàng)建一個自定義的 Plasma 鏈;Plasma 是一系列的智能合約份氧,允許在主鏈里有許多的區(qū)塊鏈唯袄;主鏈可以強制 Plasma 鏈中的狀態(tài),是全局計算的強制檢查者蜗帜,計算和懲罰那些存在欺詐的行為恋拷;許多的 Plasma 的區(qū)塊鏈可以并存,且有他們獨自的商業(yè)邏輯和合約術(shù)語厅缺;Plasma 將會由 EVM 智能合約組成蔬顾,并直接在以太坊上運行;Plasma 執(zhí)行次數(shù)不多湘捎,卻能代表大量計算得到的金融賬本實體诀豁。

Plasma 的核心部分由以下幾部分構(gòu)成::

  • 激勵層——用于持續(xù)以優(yōu)化的價格執(zhí)行合約,樹形地組織子鏈來提高效率
  • MapReduce框架——構(gòu)建一個狀態(tài)轉(zhuǎn)換的的欺詐證明
  • 共識機制——嘗試構(gòu)建一個和比特幣的共識激勵類似的機制
  • UTXO提交位圖——保證在主鏈下的確定的狀態(tài)轉(zhuǎn)換消痛,同時盡可能降低退出費用且叁,允許在數(shù)據(jù)不可用或者其它Byzantine行為時可以退出。

Plasma 區(qū)塊鏈

多方通道可以代表他人持有某個狀態(tài)秩伞,這個框架被稱為一個 Plasma 區(qū)塊鏈逞带。Plasma 鏈支持存取資金,通過在欺詐證明中提供狀態(tài)轉(zhuǎn)換證明纱新。

  • image
    Alice 的1 以太幣被Plasma的一個區(qū)塊捕捉展氓,送到了根鏈。
  • image
    區(qū)塊 4 被檢查出有欺騙行為了脸爱,因此 Alice 的錢被直接提交到了主鏈上遇汞。

鏈中鏈

Plasma 是一系列運行在根區(qū)塊鏈(Mainnet Ethereum區(qū)塊鏈)之上的契約。根網(wǎng)絡契約只處理來自子區(qū)塊鏈的少量提交,而子區(qū)塊鏈在大多數(shù)情況下都能進行非常大的計算空入。子鏈門會把自己的提交定期地根區(qū)塊鏈廣播络它。根區(qū)塊鏈就如同是最高法院,所有下級法院都要從它那里獲得權(quán)力歪赢。并非所有數(shù)據(jù)都傳播給所有各方化戳,各方負責定期監(jiān)控他們感興趣的特定鏈,并懲罰欺詐行為埋凯。在發(fā)生攻擊時点楼,參與者可以迅速而廉價地從子鏈大量退出到根鏈。

Plasma區(qū)塊鏈層級排布在樹中白对,將會最大化數(shù)據(jù)可用性掠廓、安全性,并可以最小化成本甩恼。挖掘只在根上進行蟀瞧,并且具有充分的安全性,安全性和證明從根鏈流動条摸。

image

每個子區(qū)塊鏈都有它的 token 作為驗證激勵黄橘,并在其受欺詐時用做保護。一旦發(fā)現(xiàn)欺詐屈溉,就會失去其保證金塞关。

image

區(qū)塊轉(zhuǎn)移圖:如圖為Plasma的層級排布。參與者可以集體將其資金到其他鏈上子巾,以免其父鏈是一個欺詐鏈帆赢。當出現(xiàn)攻擊行為的時候,子區(qū)塊的提交被廣播至父鏈或者根鏈线梗。


權(quán)益證明 PoS

當我們發(fā)現(xiàn)一個區(qū)塊時椰于,我們很自然地會覺得他是最長的那條鏈,但也不是非常確定它是不是最長的仪搔。為保證它是最長的瘾婿,我們要附加自己的塊并廣播給網(wǎng)絡中的參與者,來增大它的機率烤咧。區(qū)塊扣留攻擊在這種機制中的問題被無限放大偏陪。關(guān)于區(qū)塊扣留問題的可以參考我博客的這個文章或者論文“Proof-of-Work ” Proves Not to Work version 0.2Majority Is Not Enough: Bitcoin Mining Is Vulnerable

文章中提供的解決方案是允許權(quán)益所有者在主鏈或父Plasma鏈中發(fā)布一個新區(qū)塊的提交哈希煮嫌。

  • 驗證者僅會在他們完全驗證過的節(jié)點上建新的區(qū)塊笛谦,為了鼓勵最大化的信息共享,他們可以并行創(chuàng)建區(qū)塊昌阿。
  • 設計了一個驗證者激勵饥脑,來讓最近100個塊與他們的當前的權(quán)益成正比(比如恳邀,如果一個節(jié)點的權(quán)益占3成,那么過去的100個塊也需要占3成)灶轰。
  • 超出的費用將會進入一個池在將來支付費用谣沸。在每個塊里存在一個包含最近的100個塊(和一個nonce)的提交。
  • 正確的鏈將是總權(quán)重最高的鏈笋颤,一段時間后整個鏈將會確定下來(finalize)鳄抒。
image

MapReduce 分治

之所以我把 Plasma 視作是一個分布式區(qū)塊鏈,主要原因還是說到了 MapReduce椰弊。我在大二云計算課上實現(xiàn)了一個關(guān)于 PageRank 算法的 Hadoop 程序,發(fā)現(xiàn)這個思想跟 MapReduce 分治如出一轍瓤鼻。

MapReduce 是一種編程模型秉版,用于大規(guī)模數(shù)據(jù)集的并行運算。概念"Map"和"Reduce"茬祷,是它們的主要思想清焕,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性祭犯。它極大地方便了編程人員在不會分布式并行編程的情況下秸妥,將自己的程序運行在分布式系統(tǒng)上。下圖為 Plasma 的 MapReduce 模型沃粗。

image
左側(cè)藍色虛線是 Plasma 從父節(jié)點傳遞到子節(jié)點的消息粥惧。子節(jié)點必須在
n
個節(jié)點內(nèi)提交到父節(jié)點,否則鏈將暫停最盅。向子鏈通過數(shù)據(jù)分發(fā)工作突雪,子鏈提交工作證明。上圖中涡贱,第三級的子節(jié)點完成這些計算咏删,并返回一個字典表。結(jié)果字典表會做為提交的一部分被返回回來问词,字典表在子鏈中被組合并提交到父節(jié)點督函,最終完成一個全局的字典。這使在大規(guī)模情況下強制計算執(zhí)行成為可能激挪。

image

節(jié)點僅僅需要關(guān)注那些它希望執(zhí)行的數(shù)據(jù)辰狡。如果經(jīng)濟行為或者計算發(fā)生在其它的 Plasma 鏈上,它不需要執(zhí)行垄分。


欺詐證明

欺詐證明(智能契約邏輯)強制執(zhí)行搓译,檢查子區(qū)塊鏈中的所有狀態(tài)。欺詐證明確保了所有狀態(tài)轉(zhuǎn)換都是有效的锋喜。此外些己,這些欺詐證明還強制執(zhí)行了一個交互式協(xié)議的資金提取豌鸡。

image

區(qū)塊4通過前一個塊的數(shù)據(jù)和第4個塊中的Merkel證明是欺詐的。

image

Alice 有所有區(qū)塊的數(shù)據(jù)段标,所以在主鏈上提交了一個欺詐證明涯冠。第4個區(qū)塊從而變得無效并回滾,無效區(qū)塊提交者失去了在智能合約中的押金從而得到了懲罰逼庞。在某些設置的時間以后蛇更,區(qū)塊將確定下來。應該通過完整的校驗區(qū)塊確保在沒有欺詐的區(qū)塊上繼續(xù)建立區(qū)塊赛糟。


Plasma 資金變動

  • Plasma 鏈上的存款

    • image
      Alice 有一個1 ETH 的賬戶鲤看。她想將之發(fā)送到子 Plasma 鏈。她將它發(fā)送到 Plasma 合約笼平。需要經(jīng)歷以下步驟:
      1. 將貨幣或代幣發(fā)送到主鏈的 Plasma 合約立镶。
      2. Plasma 區(qū)塊鏈引入了一個即將到來的交易證明。
      3. 存款者在子 Plasma 鏈上簽名一個交易司倚,激活交易豆混。
    • image
      Alice 現(xiàn)在在 Plasma 區(qū)塊鏈中有1ETH。資金由主鏈上的智能合約持有动知,但賬本記錄在某個特定的Plasma 區(qū)塊鏈上皿伺。
  • Plasma 鏈上的狀態(tài)轉(zhuǎn)換

    1. Alice 希望在 Plasma 鏈上轉(zhuǎn)移他的資金給 Bob(不需要將完整的記錄提交到區(qū)塊鏈上)。她創(chuàng)建了一個交易盒粮,在 Plasma 鏈上花費她的支出鸵鸥、簽名,并廣播這個交易丹皱。
    2. 這個交易被 Plasma 鏈的驗證者校驗后脂男,頭部的信息會作為區(qū)塊的一部分放入父 Plasma 鏈或者主鏈,最終會被提交并打包到主鏈中种呐。
    3. AliceBob 觀察到了這個交易宰翅,簽名確認他們看到了這個交易和區(qū)塊。確認需要簽名同時被包含進另一個 Plasma 區(qū)塊中爽室。
  • Plasma 鏈上的取款

    • Plasma 鏈上的一般取款

      1. 一個簽名的取款交易被提交到根鏈或父Plasma鏈汁讼;
      2. 存在一個預定義超時周期用于調(diào)解糾紛;
      3. 存在第二個延遲來等待任何由較低的區(qū)塊確認高度的取款請求阔墩;
      4. (如果取款是正常行為)取款者可以在根鏈或父鏈上贖回資金嘿架。
    • Plasma 鏈上的快速取款

      • 快速取款與簡單取款的構(gòu)建方式類似,但資金會發(fā)送到一個合約以進行原子交換啸箫。根鏈上被交換的資金會存在高低時間鎖耸彪。
      1. Alice 愿付出時間價值獲得快速取款,流動性供應商提供這個服務并與 Alice 協(xié)調(diào)一致在根鏈上進行一個取款忘苛。
      2. 資金被鎖定在 Plasma 特定輸出的某個合約上蝉娜。
      3. 雙方廣播一個在 Plasma 鏈上的交易唱较。
      4. 合約的條款是如果確定,那么支付就可以在 Plasma 鏈上進行召川;反之南缓,Alice 贖回自己的資金。
      5. 上述 Plasma 塊確定后荧呐,流動性供應商創(chuàng)建了一個鏈上合約汉形,向 Alice 收取服務收費。
    • Plasma 鏈上的大量取款(一般在退出時候發(fā)生

      • Plasma 需要用戶通過區(qū)塊扣留來檢測拜占庭行為倍阐,用戶也有責任及時的退出不正確的 Plasma 鏈概疆。主鏈上不可能探測某個區(qū)塊是否處于區(qū)塊扣留的狀態(tài),狀態(tài)轉(zhuǎn)換對于非常大的區(qū)塊和是十分昂貴的峰搪。批量退出保證了 Plasma 鏈的拜占庭行為在某個時間和鏈暫停期間岔冀,不會影響大家的資金。
      1. Alice 與其它人協(xié)調(diào)一致以實現(xiàn)在 Plasma 鏈上的批量退出罢艾。
      2. 退出的執(zhí)行者協(xié)調(diào)資金要發(fā)送到的目標鏈,且自動承諾承認資金在批量退出后尽纽,在新鏈上的資金可用性咐蚯。
      3. 退出的執(zhí)行者驗證了到數(shù)據(jù)還可用時的鏈數(shù)據(jù)。
      4. 用戶在下載所有簽名后對這個大量取款再簽一次名弄贿。
      5. 退出的執(zhí)行者然后會關(guān)注當前是否有其它退出交易春锋,同時移除那些可能的重復,然后簽名這個退出交易差凹,廣播交易到根鏈或者父 Plasma 鏈期奔。
      6. 如果出現(xiàn)重復的取款,退出的執(zhí)行者可以一個較短的寬限期內(nèi)更新位圖和余額危尿。
      7. 任何網(wǎng)絡中的參與者可以通過 DMET 挑戰(zhàn) MEIT 中的數(shù)據(jù)呐萌。
      8. 如果沒有挑戰(zhàn),那么在前述的 MEIT 的確定時間后谊娇,用戶將收到他們的資金肺孤。

總結(jié)與感想

隨著一些其他的以太坊擴容問題的發(fā)現(xiàn),許多方案應運而生济欢,如 Casper赠堵、Sharding、Raiden Network法褥。作為一個新穎的以太坊擴容方案茫叭,一些公司已經(jīng)宣布他們將使用 Plasma。讀完 Plasma 白皮書半等,十分佩服這個團隊的能力揍愁,同時也質(zhì)疑這個框架的“大眾友好性”呐萨,編寫一個安全可靠的智能合約將是一個艱巨的任務。

新技術(shù)帶了新挑戰(zhàn)吗垮,“鏈中鏈”這個新形式的產(chǎn)生勢必帶來很多新問題垛吗,同時推動區(qū)塊鏈技術(shù)的研究,以太坊技術(shù)問題的領(lǐng)域也將更加浩渺烁登。


參考資料

喝水不忘挖井人”怯屉,這里感謝為我?guī)盱`感的參考


更多資源

您可以從這些地方獲得在線資源和我其他關(guān)于 Plasma 的工作:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市饵沧,隨后出現(xiàn)的幾起案子锨络,更是在濱河造成了極大的恐慌,老刑警劉巖狼牺,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件羡儿,死亡現(xiàn)場離奇詭異,居然都是意外死亡是钥,警方通過查閱死者的電腦和手機掠归,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悄泥,“玉大人虏冻,你說我怎么就攤上這事〉簦” “怎么了厨相?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鸥鹉。 經(jīng)常有香客問我蛮穿,道長,這世上最難降的妖魔是什么毁渗? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任践磅,我火速辦了婚禮,結(jié)果婚禮上灸异,老公的妹妹穿的比我還像新娘音诈。我一直安慰自己,他們只是感情好绎狭,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布细溅。 她就那樣靜靜地躺著,像睡著了一般儡嘶。 火紅的嫁衣襯著肌膚如雪喇聊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天蹦狂,我揣著相機與錄音誓篱,去河邊找鬼朋贬。 笑死,一個胖子當著我的面吹牛窜骄,可吹牛的內(nèi)容都是我干的锦募。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼邻遏,長吁一口氣:“原來是場噩夢啊……” “哼糠亩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起准验,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赎线,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糊饱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垂寥,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年另锋,在試婚紗的時候發(fā)現(xiàn)自己被綠了滞项。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡夭坪,死狀恐怖文判,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情台舱,我是刑警寧澤律杠,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布潭流,位于F島的核電站竞惋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏灰嫉。R本人自食惡果不足惜拆宛,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望讼撒。 院中可真熱鬧浑厚,春花似錦、人聲如沸根盒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炎滞。三九已至敢艰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間册赛,已是汗流浹背钠导。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工震嫉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牡属。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓票堵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逮栅。 傳聞我的和親對象是個殘疾皇子悴势,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

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