Plasma 是以太坊扩容的方案之一。2017年八月,Vitalik 和 Joseph Poon 发布 Plasma 项目的初稿。加密货币要想在现实商业中得到应用,那么以现在以太坊或者比特币主链的处理速度是远远不行的,所以扩容是必须的。下面咱们一起看看到底什么是 Plasma 。

什么是 Plasma ?

一句话概括,Plasma 是一套链下( Off-chain )扩容方案。

Plasma 可以让以太坊每秒钟处理更多的交易。它是一套链下处理交易的技术,安全性是通过底层的以太坊区块链来保证的。类似的链下技术还包括状态通道和 Truebit ,它们的思路都是把操作从以太坊主链上拿出来,放到链下来执行。同时,这些技术也都能通过跟主链的有效配合,来保证足够的安全性。Plasma 技术可以在以太坊主链之上,创建子链。子链本身还可以创建自己的子链,子链还可以再有子链,所以 Plasma 就是很多连结到同一个区块链上的区块链之树。

现在我们有了主链之上的子链,或者叫 Plasma 链,上面可以运行智能合约,而且大部分的运算都会发生在子链上,只有最重要的数据才会阶段性的保存到主链上。因为大部分操作不需要在整个以太坊公链上运行,所以这条 Plasma 链可以比主链运行速度更快而且费用更低。

总之,Plasma 就是让我们可以在链下处理交易同时借助以太坊主链来保证安全性的技术。

Plasma 是如何工作的?

来通过一个实际例子,理解一下 Plasma 是如何工作的。

比如我们要在以太坊上创建一个类似于加密猫那样的数字收藏品游戏。每个藏品其实就是一个 ERC721 不可替代代币 https://zhuanlan.zhihu.com/p/47365445 ,每个藏品都有自己的一些独特属性,这样大家就可以一起来玩了。这样的复杂操作如果在以太坊主链上运行就会非常昂贵,所以我们决定使用 Plasma 来开发。首先在以太坊主链上创建必要的智能合约,这些智能合约就是 Plasma 链的的根,或者叫做 Plasam Root 。有了 Plasam Root 后主链上就包含了子链运行的一些基本规则。子链上运行不断产生数据,数据的哈希会随时保存到主链上,便于通过主链保证整个应用运行的安全防止有人作恶。同时,用户也可以在主链和子链之间直接转移资产,具体来讲就是可以把代币安全的存储到子链上,同时又要能在游戏结束或者有人作恶的时候安全的把资产从主链上取回到主链上。任何人都可以自定义一个 Plasma 链拥有运行面向不同业务的只能合约。

子链可以有自己的共识算法,这个算法最重要的是保证性能,例如我们可以使用 POS https://zhuanlan.zhihu.com/p/46457855 ,或者 POA https://en.wikipedia.org/wiki/Proof-of-authority 。子链创建完毕之后,就可以来设置游戏的基本规则了。游戏的智能合约是在子链上部署的,里面包含所有的游戏规则和逻辑。藏品本身是以太坊主链上的 ERC721 币,但是通过 Plasma Root 可以转移到子链上来。子链运行起来之后,子链的区块创建者会阶段性的把验证信息写入到主链之上,证明子链的当前状态是符合共识规则的。

当用户玩游戏的时候,他们其实并不是直接跟主链通信的。这就是 Plasma 运行的基本逻辑了。

Plasma 有哪些优点

最后来聊聊 Plasma 技术都有哪些优点。

先来说优点。

第一个是安全,即使子链完全被一个人所控制,并且真的作恶,资产安全转移回主链也是没有问题的。当大家发现有人作恶的时候,就可以发起一个“退出交易”来把资产转移回主链。

第二个高效,很多运算任务很重的应用现在也可以运行起来了,这是应用 Plasma 的最重要的目的。

第三个是廉价。因为子链的运行不需要很多人的参与,所以交易手续费会很低。

第四个是兼容,Plasma 和很多其他扩容方案,例如 sharding 分片,以及改变区块大小等等方案可以一同工作。

以上就是 Plasma 的主要的优点。但是需要提一下的是,考虑到一些极端情况,Plasma 也有一些安全性问题是需要慢慢验证的。

总结

这就是关于 Plasma 技术的简单的介绍了。总结起来说,Plasma 就是一套链下扩容方案,通过底层链来保证整个系统的安全性。Plasma 条件下,主要的智能合约运算都放到了子链上运行,主链上定期的存放一些关键运行状态数据,以便保证最终的安全。Plasma 有非常多的优点,例如安全高效廉价和兼容。

参考: