什么是 Plasma?Plasma Cash?

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

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

Plasma 不是在中心化服务器上贴上一个 Merkle 树。
——Vitalik Buterin,2018 年于 TechCrunch,瑞士 Zug

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

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

 

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

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

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

UTXO: 未消费交易输出(unspent transaction output)。每笔交易都必须具有来自有效 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!(Plasma Cash 的规范更好地支持 ERC721 资产,如加密猫,但并非所有 Plasma 规范都支持存入任何 token)。

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

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

在 Plasma Cash 规范中,你存入的每个代币都会被分配唯一的 ID。这些唯一 ID 存储在稀疏 Merkle 树中。代币有所分配的(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 的历史记录。在 Plasma Cash 中,用户只需下载他们关注的代币的交易历史。分片客户端验证允许每个用户的数据负载更轻。

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

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

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

退出

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

  1. 退出一枚已经花过的代币
  2. 双重退出代币
  3. 退出有无效历史记录的代币

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

黑客攻击怎么办?

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

Plasma 运营者

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

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

  • 即时经济最终性!由于运营者负责创建区块,因此他们可以提供有关交易包含和排序的保证。运营者会因为撒谎而付出失去保证金的代价,因此用户会立即知道他们的交易是否包括在内。
  • 无效退出处罚 : 可以惩罚运营者允许无效退出的通过,并消减其保证金中的资金。
  • Casper 验证 : 运营者可以是 Casper PoS 验证者(验证者有保证金)。
  • 你能想到其他的吗?

Plasmas 总结

 

发文时比特币价格 ¥67094.62 价格参考:Bitfinex

原文:

https://medium.com/crypto-economics/what-is-plasma-plasma-cash-6fbbef784a

https://www.chainnews.com/articles/138931952867.htm

发表评论

Bitnami