PLA:什么是Plasma?Plasma Cash?

前言:我们知道Plasma是以太坊扩容方案之一,那么,到底什么是Plasma?什么是PlasmaCash?本文给我们一些简要的说明。本文作者JinglanWang,由蓝狐笔记社群的“Cipher”翻译。

Plasma是一种设计模式,它允许链外消息驱动链上资产的转移。它通过将交易吞吐量转移到Plasma链来实现对根链的扩展。你可以把它看作是一个教授需要在短时间内批改许多考卷。教授可以将这项工作委托给助教,他们查看考卷上的每个问题并计算对应的分数,但只向教授报告总分。

每个Plasma链将交易排序的信息压缩到单个哈希,并存储在根链上。像比特币和以太坊这样的就是根链——这些区块链具有更强的安全性和去中性化保证(安全性和活性)。本篇文章将使用以太坊作为根链例子贯穿全文。

“Plasma不是在中心化服务器上贴上一个Merkle树。”

——VitalikButerin,2018年于TechCrunch,瑞士Zug

Plasma设计的两个主要分支称为PlasmaMVP和PlasmaCash。首先,让我们了解一下背景信息,从宏观角度了解下简单的用户流,之后再更深入地探讨每个部分。

在开始之前,让我们先快速了解一下基本概念:

稀疏的Merkle树,来自:https://doi.org/10.1007/978-3-319-47560-8_13

稀疏Merkle树:一种大小不变的完美Merkle树,之所以称之为"稀疏",是因为大部分叶子是空的。

经济最终性:保证操作永远不会逆转,除非提供最终结果的一方将一大笔钱烧毁。

UTXO:未消费交易输出。每笔交易都必须具有来自有效UTXO集的输入。每笔交易的输出将成为新的UTXO集的一部分。比特币就使用UTXO模型。

现在开始阐述Plasma。

1:运营者将Plasma合约部署到主网

像交易所这样的实体,如希望拥有高交易吞吐量和低延迟(甚至实现即时的经济最终性)的实体将受益于运行Plasma链并成为运营者。合约所有者包含在合同的初始化中。

2:Plasma运营者创建区块

运营者的众多角色之一是聚合和排序交易,并将其打包到区块中,然后将Plasma区块的哈希提交到根链。

实现Plasma的方法有很多种。不同的Plasma链可以有不同的治理规则、不同的token、存储状态的方法等,但所有Plasma链会定期向根链提交哈希,以便继承根链的安全性。

3:Kanye是一个新用户,将ETH存入Plasma合同,并分配返回PETH

图片由阿里·格雷厄姆提供

在两种主要的Plasma设计中,你可以将任何token存入Plasma链并接收到与之相对应的token。所以,如果Kanye存入ETH,他会得到PETH!如果他存入BTC,他就会得到PBTC!(PlasmaCash的规范更好地支持ERC721资产,如加密猫,但并非所有Plasma规范都支持存入任何token)。

4:Kanye向Donald汇款,但Donald还不在Plasma智能合约中

Kanye并不仅限于汇款给那些已经是Plasma合约成员的人!他也可以汇款给Donald这样的以太坊巨鲸。

在"PlasmaCash"规范中,你存入的每个代币都会被分配唯一的ID。这些唯一ID存储在稀疏Merkle树中。代币有所分配的叶子的索引,而这些索引是这些代币可用于交易的唯一位置。

想想买卖房产——当你交易房子时,房子不会移动,但拥有房子钥匙的人会改变,房子的契据是当事人的记录以及所有权易手的频率。这使得它非常容易检查token的历史记录,因为你能够轻易的在Merkle树中查找到这些记录!

图片由亚当·埃利斯提供

在这里,我们具体看Kanye发送给Donald的token的索引。Kanye在发送token时必须包含token的历史记录。如果token被多次交易,其历史记录可能会变得非常冗长!稍后我们将讨论如何改善这种情况。但就目前而言,这对Donald来说可以接受,他只需要下载他关心的代币交易历史。

5:Donald有两种选择:继续花费PETH或创建退出交易以在根链上兑换出ETH

Donald不需要向运营者提交消息成为Plasma合约会员,以实现退出PETH并赎回ETH。Donald想立即换掉代币以保持匿名,所以他不想继续使用他的PETH。

他拿到了token的历史记录,以证明所有权,并将记录放入提交到Plasma合约的退出请求中。他的退出交易还包括gas费和作为抵押的保证金。当一切停当,如果没有人挑战Donald,他能在根链上用PETH赎回ETH。

棒极了!我们已经在宏观上阐述了一个理想的场景,因此让我们深入探讨这一工作流中的每个部分:交易、退出和Plasma运营者的角色。请务必注意,它存在多种规范,不同执行方案的规范之间存在差异,但以下内容会让你熟悉一些核心的Plasma概念和词汇。

交易

每当Kanye发送token时,他还必须同时发送该token的历史记录。在PlasmaCash中,用户只需下载他们关注的代币的交易历史。分片客户端验证允许每个用户的数据负载更轻。

但是,如果一枚代币被花了很多很多次,那么该代币的历史就会变得很长并难以在交易中传输。解决这一问题的一种提议是引入检查点。一旦检查点最终确定,客户只需提供从该检查点开始的证明,这样可以将证明的大小变成常数,而不是线性增长。

PlasmaCash检查点基于加密经济聚合签名,为在Y区块高度的用户X对代币的所有权提供了经济保证。

遗憾的是,在PlasmaCash中发送任意小面额的代币更加困难(Plasma借记或状态通道是对这一缺陷的改进方案)。当调用存款函数时,用户指定其存款的面额,这一方案使得PlasmaCash适合发送ERC721非同质token,而PlasmaMVP的UTXO模型更适合处理任意面额交易。

退出

当提款被认为是如下情况,退出就产生了挑战:

1.退出一枚已经花过的代币

2.双重退出代币

3.退出有无效历史记录的代币

任何人都可以提交欺诈证明来挑战退出者,如果他们在撒谎,他们将失去他们的保证金。

黑客攻击怎么办?

Plasma链安全保证与根链一样好。如果Plasma链被黑客攻击,黑客必须提交退出交易,以得到他想窃取的所有资金!在PlasmaCash中,黑客必须在他的退出交易中包括保证金,他不能带着所有窃取的资金潜逃。

Plasma运营者

Plasma运营者的主要作用是将交易聚合到区块中,并将每个Plasma区块的Merkle树发布到根链。

在更复杂的设计中,中心运营者可以由PoS验证者取代,从而缓解对交易审查的担忧。然而,拥有中心运营商有很多好处,而且我们可以用Plasma运营者的保证金做很多有趣的事情:

·即时经济最终性!由于运营者负责创建区块,因此他们可以提供有关交易包含和排序的保证。运营者会因为撒谎而付出失去保证金的代价,因此用户会立即知道他们的交易是否包括在内。

·无效退出处罚:可以惩罚运营者允许无效退出的通过,并消减其保证金中的资金。

·Casper验证:运营者可以是CasperPoS验证者

·你能想到其他的吗?

Plasmas总结

图片由海登·亚当斯提供

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:662ms