主页 > imtoken2.0钱包下载 > 以太坊二层 深入理解Plasma(一)Plasma框架

以太坊二层 深入理解Plasma(一)Plasma框架

imtoken2.0钱包下载 2024-01-26 05:07:42

本系列文章将围绕以太坊的 layer-2 扩展框架,介绍其基本运行原理、具体运行细节、安全讨论以及未来的研究方向。 这篇文章是开头,主要目的是了解 Plasma 框架。

Plasma作为以太坊的第二层扩展框架,自2017年由Joseph Poon(闪电网络创始人)和Vitalik Buterin(以太坊创始人)提出以来,一直是区块链从业者关注的焦点[1]。 首先需要明确的是,Plasma本质上是一套框架,而不是一个单独的项目,为各种实际项目提供链下解决方案。 这也是很多人对Plasma一头雾水的重要原因,因为没有实际的应用场景很难解释清楚Plasma。

因此,理解 Plasma 是一套框架是理解 Plasma 的关键。

谈区块链扩容

在介绍 Plasma 之前,我们得先介绍一下区块链扩容。 众所周知,作为目前应用最为广泛的区块链平台,比特币(Bitcoin)和以太坊(Ethereum)面临的最大问题就是可扩展性(Scalability)。 这里需要注意的是,区块链中的可扩展性问题并不是指单一的问题,而是区块链要实现Web3.0[3]的愿景,为亿万用户提供去中心化的服务。 要克服的一系列挑战。 以太坊虽然号称“世界计算机”,但这台“计算机”是单线程的,每秒只能处理大约15笔交易,而目前主流的Visa和万事达卡每秒几万笔的吞吐量。 相比之下就相形见绌了。 因此,如何在保证区块链安全性的同时提高可扩展性,是区块链发展亟待解决的问题之一。

目前,区块链扩容有两种解决方案:Layer 1 扩容和 Layer 2 扩容[4]。 Layer 1 扩展也称为链上扩展。 顾名思义,这种类型的扩展需要改变区块链的底层协议。 但这也意味着区块链需要硬分叉。 这种扩容方案就像是把原来的单核CPU变成了多核CPU,让计算任务可以多线程处理,提高整个网络的吞吐量。

深入理解Plasma(一)Plasma 框架_区块链

目前最典型的单层扩容方案是Vitalik及其研究团队提出的“Sharding”,即把区块链分成不同的部分(分片),每个部分独立处理交易。 要了解更多关于 Sharding 的信息,可以参考官方的 Ethereum Wiki[5]。

二级扩容也叫链下扩容,也很好理解。 这种扩容方案不需要修改区块链的底层协议,而是通过将大量频繁的计算工作转移到“链下”来完成的。 并定期或在需要时将链下计算结果提交给“链上”,以确保其最终性。 二层扩容的核心思想是以底层区块链作为共识基础,通过智能合约或其他手段作为链上和链下沟通的桥梁。 一个状态。 虽然将计算转移到链下会在一段时间内失去最终性,但这个代价是值得的,因为它不仅可以大大提高区块链的灵活性和可扩展性,还可以大大降低用户的交易成本。 所需的价格。 将计算转移到链下并不意味着完全放弃安全性,因为最终的安全性还是由底层区块链来保证,所以二层扩容主要关心的是如何保证链上链下流程的切换安全。 这个想法作为比特币的扩容方案之一,首先被用在了闪电网络(Lightning Network)中,并取得了很好的效果。

深入理解Plasma(一)Plasma 框架_智能合约_02

本文要介绍的Plasma属于基于以太坊的二层扩容方案。 类似的解决方案包括 State Channels 和 Trubit。 尽管这些解决方案面临的问题不同,但基本思想都是将复杂的计算转移到链下。 那么,接下来我们就进入Plasma的世界,一起来看看吧!

了解等离子

在上一篇文章中,我们已经了解了Plasma是一个二层扩展框架以太坊二层,那么如何进一步了解什么是Plasma呢? 它与其他第 2 层扩展解决方案有何不同?

Plasma 也被称为“区块链中的区块链”。 任何人都可以在底层区块链之上创建不同的 Plasma,以支持不同的业务需求,例如分布式交易所、社交网络、游戏等。

这是一个理解等离子的例子。 假设 Penguin 创建了一个名为 Game Chain 的 Plasma Chain。 用户向Game Chain发送一些以太币换取Token,用于购买游戏中的皮肤等增值产品。 加入 Game Chain 的操作在链上进行,以太坊区块链将这部分资产锁定并转移到 Game Chain。 之后我们每次购买虚拟商品,交易都会转到链下,由企鹅保管。 这种方式和我们在现实生活中的游戏内购买体验几乎是一样的,不仅结算快,而且手续费低(相对于以太坊上需要支付给矿工的手续费)。 那么问题来了,如果企鹅人闹事,修改账本,恶意占用我们的资产怎么办? 这时候我们就可以将之前每笔交易的凭证提交到以太坊区块链中。 如果真的是企鹅人恶意篡改了账本,那么我们不仅可以顺利找回自己的资产,还可以获得企鹅人创建的Game Chain押金。 部分或全部存款。

通过上面的例子,你大概了解了 Plasma 的工作原理了吗? 但是上面的例子还是太简单了,只涉及到用户自己和企鹅。 下面我们用区块链语言来分析一下上面的例子。

首先,企鹅在以太坊主链之上创建了一系列智能合约,作为主链和子链Game Chain之间的通信媒介。 这些智能合约不仅在子链中规定了一些基本的状态转移规则(比如如何惩罚恶意节点),而且还记录了子链中的状态(子链中区块的哈希值)。 之后,企鹅可以建立自己的子链(它可以使用以太坊建立私有链)。 子链实际上是一个完全独立的区块链,可以有专门的矿工,使用不同于主链的共识算法以太坊二层,比如PoS(Proof of Stake)。

创建子链后,Penguin 可以使用 ERC721 合约创建代币作为游戏内商品(就像 Cryptokitty)。 但这里需要注意的是,所有数字资产都必须在以太坊主链上创建,并通过 Plasma 子链的智能合约转移到子链上。 用户还需要在主链上购买数字资产,转移到子链上。 在上面的例子中,Game Chain的智能合约将资产锁定在主链上,然后在子链上生成等值的资产。 之后,用户可以完全脱离主链,在子链上进行交易。 企鹅在子链上扮演着运营者的角色。 如果一切正常,子链中的矿工会正常打包区块,运营商会在需要时将区块的哈希值提交给主链作为子链的状态更新。 证明。 在此过程中,用户完全不需要与主链进行交互。

我们可以看到,将复杂的计算操作移到链下确实让整个交易过程变得更加简单。 但是没有强大的共识算法和大量的参与者,子链上的资产是非常不安全的。 Plasma 给了我们一个对冲机制,即使运营者作恶,我们也可以拿回自己的资产。 下图(来自[1])简单地说明了这个过程。 图中第4个区块的交易被篡改了。 由于 Alice 在本地保存了 Plasma 链中的所有区块数据,她可以向主链提交包含“欺诈证明”的交易。 如果证明有效,主链会将状态从区块 4 回滚到区块 3,一切恢复正常。 Plasma Chain 的参与者也可以随时提交资产证明并返回主链。

深入理解Plasma(一)Plasma 框架_智能合约_02

至此我们应该明白了,Plasma要做的不是保护子链的安全,而是在发生安全事件时,保证用户能够安全的找回自己的资产,回到主链。 并通过一系列的经济激励来减少恶事的发生。

下一篇文章将剖析 Plasma 运行过程的细节。