Plasma白皮书由以太坊创始人Vitalik Buterin和闪电网络白皮书联合创始人Joseph Poon联合编写。Plasma旨在解决以太坊网络目前面临的扩展性问题,是一种线下扩容方案。
白皮书地址:
https://plasma.io
运行原理:
Plasma 与其他侧链/链外技术的基本扩展概念都一样,交易节点在主链外有另行通道,在另行通道完成的交易不用每笔都需经过链上网路全节点共识,而是批次性的上传写入主链帐本中,因此可达到高并发。
Plasma 为了确保运作侧链的节点有持续动力可自动自发的维持与主链链上的连接,将导入奖励机制让节点可被激励来建立自己的 Plasma 链。
任何人都可以在以太坊主链上创建个人化的 Plasma 智能合约,这些部署在以太坊主链上的 Plasma 智能合约就为 Plasma 的根链 root chain,这些 Plasma root chain 以树状的结构管理着 Plasma 的子链 child chain。
Plasma侧链通过智能合约与以太坊主链相连,ETH可以在主链与侧链之间流动。侧链可以有自己的共识机制等独立的设计,但当有ETH想要从侧链返回主链时,必须发出一个声明并附带赏金。一旦有反对证据证明该账户有不当行为,赏金就会被触发。
Plasma 链上的交易都以哈希值的形式纪录在子链的区块头 (block head),广播交易纪录写为主链帐本时,主链会审核从子链提交哈希区块头,当主链判定交易有诈欺嫌疑时,随时有权力将交易退回并惩罚区块的创建者。所有在 Plasma 链上的交易完成都是依靠加密签章,不需要经过主链的共识,经过一段时间后才批次性的广播并写入主链中。大幅度降低区块链膨胀问题。
Plasma也是锚定在以太坊网络上的第二层解决方案,区别在于,Plasma允许构建依附于以太坊上的子链,其本身可以衍生出新的子链,如此一直延续下去。理论上子链的数量没有限制,所以Plasma能实现几乎无限的扩展能力。每个子链通过智能合约创建,依其定义的规则进行管理。如果子链上存在恶意节点,交易甚至可以被取消。
Plasma 设计模型有两个主要的分支:Plasma MVP 和 Plasma Cash 。
Plasma Cash
区块链可扩展性解决方案,又称Plasma Cash,用户可以在交易过程中随时通过Plasma退出程序,取出现金。
本质上来说,Plasma Cash是具有一个以下修改的Plasma版本
detail:
https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298
每一单笔存入都相对应有一个唯一的币ID;代币无法分割也无法合并。
我们不是按照txindex的顺序将交易存储在二进制Merkle树中,而是要求它们存储在稀疏简单的Merkle树或Patricia树中,索引是所用币的ID。
Plasma XT
是Plasma Cash的改进版,主要是在安全方面做了改进。它提出了一个Plasma Cash可能的潜在双花问题的解决方案。
more detail:
https://ethresear.ch/t/plasma-xt-plasma-cash-with-much-less-per-user-data-checking/1926
落地应用:
OmiseGo是Plasma的第一个实现应用。因为在OMG想要在支付领域取得建树,必须具有强大的处理海量交易的能力。区块链上能支持全球范围内的大量的去中心化金融应用。
他们做了Plasma mvp的模型
https://github.com/omisego/plasma-mvp
还有个是opporty,他们也做了一个plasma cash的模型
https://github.com/opporty-com/Plasma-Cash