如何正确的理解Plasma和Plasma Cash的基础概念

前言:我们知道plasma是以太坊扩容方案之一,那么,到底什么是plasma?什么是plasma cash?本文给我们一些简要的说明。
plasma是一种设计模式,它允许链外消息驱动链上资产的转移。它通过将交易吞吐量转移到plasma链来实现对根链的扩展。你可以把它看作是一个教授需要在短时间内批改许多考卷。教授可以将这项工作委托给助教,他们查看考卷上的每个问题并计算对应的分数,但只向教授报告总分。
每个plasma链将交易排序的信息压缩到单个哈希,并存储在根链上。像比特币和以太坊这样的就是根链——这些区块链具有更强的安全性和去中性化保证(安全性和活性)。本篇文章将使用以太坊作为根链例子贯穿全文。
“plasma 不是在中心化服务器上贴上一个merkle树。”——vitalik buterin,2018年于techcrunch,瑞士zug
plasma设计的两个主要分支称为plasma mvp 和plasma cash。首先,让我们了解一下背景信息,从宏观角度了解下简单的用户流,之后再更深入地探讨每个部分。
在开始之前,让我们先快速了解一下基本概念:
稀疏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总结

T1/E1/J1单片收发器
储能还未真正进入商业化运行阶段
寻址方式与内存计算的详细说明
智能灯泡为你的房间进行二次“装修”
18年电感厂家告教你插件共模电感如何选型
如何正确的理解Plasma和Plasma Cash的基础概念
74hc595通过ULN2003驱动8*8LED点阵屏
骁龙875和麒麟9000的CPU差距有多大?
碳性电池的优点_碳性电池有毒吗_松下碳性电池颜色区别
1.5v转5v的逆变器电路图
信息存储专业委员会成立
如何把握5G基础设施市场机遇?Qorvo IDP高性能解决方案总经理这么说
以租代售会是个好模式吗?
利用区块链技术打造保护用户数据的基本规则
老美为什么禁止携带电子产品登机,原因竟是有人企图用ipad制造炸弹
如何使用Raspberry Pi为船制作GPS导航系统
中昊光电商业照明光环境体验中心开业,带来“触手可及的好光”体验
如何对抗毫米波频段的路径损耗和穿透损耗?
浅析汽车座舱主芯片市场与产业格局
基于CMOS工艺的锂聚合物电池保护电路设计