plasma学习

plasma 实现

原理

Plasma对以太坊主链可扩展性的提高通过将大量交易和计算“下放”到侧链来实现。Plasma本质上是一系列运行在以太坊主链上的智能合约,只需处理少量来自侧链的请求,大多数情况下,海量的交易和计算都在侧链上完成。不同于以太坊主链目前使用的POW共识算法,侧链将使用POS等TPS更高的共识机制。因此侧链提供了可扩展性,而主链保证了安全性和去中心化。形象地说,以太坊主链就像最高法院,不需要处理过多事务,而侧链就是下级法院,从最高法院获得权力。

用户只需要将主链上自己的加密猫(一种ERC721代币)存入到Plasma合约,与此同时侧链上会生成一个相对应的加密猫映射,各项游戏操作都在侧链上进行,侧链上的高TPS能够提供与现在的网络游戏一样流畅的用户体验,玩完之后再把加密猫转移回主链,确保代币财产的安全。

Plasma Cash(进化版mvp)

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

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

实现

https://news.huoxing24.com/20190627154632769055.html]

  • https://juejin.im/post/5be84f966fb9a049ed30620e

    • https://www.learnplasma.org/en/learn/debit.html
      • learn plasma

代码
https://github.com/omisego/plasma-mvp/blob/master/plasma/root_chain/contracts/RootChain.sol
好文
虫洞代码解析:https://blog.51cto.com/13980151/2178938
推荐链接:
https://ethereum.stackexchange.com/questions/41226/is-there-an-implementation-of-the-minimal-viable-plasma-concept-as-proposed-by-v

Plasma MVP

plasma的最小实现版本,给予UTXO模型,只支持转账不支持智能合约的执行,侧链采用POA

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值