我所知道的Plasma

Plasma是以太坊扩容的四大方案之一(另外三个分别是Casper,Sharding和Raiden Network)。前段时间调研了Plasma,看了很多Plasma相关的资料,通过这篇文章总结一下。

什么是Plasma

Plasma对以太坊主链可扩展性的提高通过将大量交易和计算“下放”到侧链来实现。Plasma本质上是一系列运行在以太坊主链上的智能合约,只需处理少量来自侧链的请求,大多数情况下,海量的交易和计算都在侧链上完成。不同于以太坊主链目前使用的POW共识算法,侧链将使用POS等TPS更高的共识机制。因此侧链提供了可扩展性,而主链保证了安全性和去中心化。形象地说,以太坊主链就像最高法院,不需要处理过多事务,而侧链就是下级法院,从最高法院获得权力。
举个例子来说明一下。去年风靡一时的区块链游戏“加密猫”(CryptoKitties)把以太坊网络拥堵成了上下班高峰的北京三环,导致gas费用也水涨船高,破坏了整个以太坊的用户体验。如果有了Plasma,这样的情况就不会发生了——因为游戏可以放在侧链上玩!用户只需要将主链上自己的加密猫(一种ERC721代币)存入到Plasma合约,与此同时侧链上会生成一个相对应的加密猫映射,各项游戏操作都在侧链上进行,侧链上的高TPS能够提供与现在的网络游戏一样流畅的用户体验,玩完之后再把加密猫转移回主链,确保代币财产的安全。

Plasma Cash

V神在2018年3月发帖提出了一种对于Plasma MVP(Minimum Viable Product)的改良实现——Plasma Cash,可以大幅降低检查每一份用户数据的复杂度。总的来说,有以下三个特点:

  1. 从主链到侧链到每一笔代币存入都有一个唯一的编号(coin ID)与之对应(顾名思义,就像cash现金一样,每一张钞票都有一个序列号),存入到侧链上的代币无法分割也无法合并;
  2. 在plasma cash侧链的区块结构中,不同于MVP中使用的UTXO模型,交易存储在简易稀疏默克尔树或帕特里夏树中,以该交易花费的coin ID作为索引(即默克尔路径是coin ID,最后的叶子节点是交易哈希,如下图所示);
  3. 当用户想从侧链上退出并把代币转移到主链时,需要提交能证明其代币所有权的最后两笔交易,其他用户可以通过前/中/后三种方式来提出质疑(challenge机制,下面会解释);

Plasma Cash侧链的退出机制

用户可以自由地从侧链把存入的代币退出并转移回主链,但不排除作恶者获取了不义之财想卷款而逃的可能性。为了保证侧链上代币的安全,Plasma Cash在退出时加入了延时和挑战机制:
我们可以把侧链上代币的状态看作一个具有四种状态的状态机:DEPOSITED(存入),EXITING(待退出),CHALLENGED(被挑战)和EXITED(已退出)。
例如,当用户U把代币T存入侧链后,代币T处于DEPOSITED状态。当用户U想退出时,他可以发起startExit并附带一笔保证金bond1,startExit操作需要引用一笔交易TxA,用以证明代币T的所有权归属于用户U,以及TxA的“直接祖先”TxB,连同这两笔交易所在的区块。startExit提交成功之后代币就进入了EXITING状态。
如果一切顺利,7天之后用户U就可以光明正大地退出,代币T转为EXITED状态。
如果中途有人质疑,即退出请求遭遇挑战,则分三种情况:

  1. challengeAfter——另一用户O发现了一笔在TxA之后的交易TxC可以证明代币T不属于用户U,用户O以此发起挑战,这种情况很容易得到验证,于是用户O赢得保证金bond1,代币T返回DEPOSITED状态;
  2. challengeBetween——用户O发现了一笔在TxA和TxB之间的交易TxC可以证明代币T不属于用户U,用户O以此发起挑战,这种情况也很容易得到验证,于是用户O赢得保证金bond1,代币T返回DEPOSITED状态;
  3. challengeBefore——用户O以一笔在TxB之前的交易TxC发起挑战,想要证明代币T不属于用户U,这种情况无法立即得到验证,所以用户O需要附加一笔保证金bond2,而且被挑战的用户U也有申诉的机会。此时代币T会进入CHALLENGED状态。如果申诉成功,保证金bond2由用户U获得,代币T回到EXITING状态。如果无法成功申诉,则退出请求失败,代币T返回初始状态DEPOSITED;

Plasma的进展

Plasma的白皮书(Plasma: Scalable Autonomous Smart Contracts)由Joseph Poon和Vitalik Buterin共同撰写,发布于2017年8月。
Plasma的最小可行产品MVP于2018年1月公布,通过了概念验证。
Plasma Cash是在2018年3月提出的一个完整的Plasma实现,主要适用于像ERC721这样的Non-Fungible Token。
Plasma Debit实现目前正在研究中,将会增加对代币分割和合并的支持。

小结

Plasma侧链方案为以太坊可扩展性的提高提供了一种可能,但同时Plasma也存在一些亟待解决的问题(比如Mass Withdrawal问题,即大量用户同时从侧链退出的情况),还需要以太坊社区进一步地验证和完善。

参考资料:

  1. Omisego Roadmap
  2. Loom Network: Plasma Cash for ERC721 Tokens
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容