Qtum量子链研究院:Plasma扩容方案详解(上)

近段时间著名的比特币投资者Olivier Janssens发布的推特投票中,Vitalik Buterin表达了其对ERC20 CBDC(央行数字货币)的支持。当被问到有关延展能力的问题时,Buterin回答,即将到来的Plasma部署能够解决这类问题,这样区块链网络就足以支撑央行需要的容量了。

本期研究院的主题就详细为大家详解Plasma扩容方案如何做到支持极高的交易,并且成为行业内最风靡的落地技术方案。

Plasma到底是什么

Plasma是由Joseph Poon和Vitalik Buterin提出的一种区块链扩容方案。Plasma是指在根区块链或者说主链(例如以太坊区块链)上运行一系列智能合约,这些合约会制定相关的规则。基于根区块链上部署的合约延伸出来的区块链被称为子链,合约中制定的状态交易规则将用于子链,这些子链也可以进一步衍生出自身的子链。

大多数情况下,子链能够完成大量的计算,仅仅周期性的将正常状态的Merkle证明广播到根链,根链只需处理少量来自子链的请求,这样可以大大扩展整个系统的容量。

根链和子链形成了一种树状的分层结构,如下图所示。区块的提交依次向下流动。用户想要退出Plasma子链时,退出申请可以提交给任意父链,最终被提交到主链。

Plasma区块链树状结构

Plasma类似于一个法院的系统,位于不同树深度的Plasma区块链就像是各级法院。更高一级的法院可以否认下层法院的审判结果,根链就是级别最高的法院。一般情况下由低级别法院进行审判,若用户不认同审判结果,则可以回到更高级别的法院。这样可以最大化下层法院的可用性,最小化非共识状态的成本。

 

Plasma中蕴含的博弈机制

Plasma是通过创建经济激励奖惩机制使整个区块链系统正常工作。在Plasma区块链中,子链拥有自己的共识算法,且独立于根链。与现有区块链类似,子链中也存在区块生产者,称为Plasma链的运营者(Operator)。但是这些区块生产者需要抵押一部分资产,如果他们保持诚实,正确地记录子链的区块内容,那么他们会得到经济上的奖励;而如果他们出现不良的欺诈行为,则抵押的资产将被销毁。

在一个Plasma子链中,验证者(validator)或运营者负责将子链的相关活动通知给根链。为节省存储空间,只有区块头的哈希提交到根链,其他信息保存在子链上。

若要使用Plasma链,用户需要向Plasma链中存入资金。用户通过将资金移动到根链上部署的Plasma智能合约上的方式,将资金从根链转移到相应的子链上。

Plasma区块链中,根链是所有全局计算的强制执行者,并仅在给予欺诈行为操作者惩罚。若Plasma子链中的用户发现运营者提交了伪造的信息给根链,那么他们可以提交相关的欺诈证明数据给根链,以证明运营者提供的数据是伪造的。一旦证明成功,Plasma子链的区块将回滚到伪造之前的状态,同时,运营者也将受到惩罚。

如何取回质押资产

如果用户想要取回自己的资产,或者用户对自己所在的Plasma链产生信任危机,想将资产转移回根链或Plasma父链。用户可以发起一个取款交易(Withdrawal transaction)或者退出交易(exit transaction),即用户提交其交易历史的Merkle证明,以证明其拥有一定数量的资金。

一般地,取款的类型分为两种。一种是简单取款(Simple Withdrawal),即单方从子链中取回资产;另一种是大量取款(Mass Withdrawal),即多方一起从子链取回他们的资产。

简单取款包含以下几个步骤:

1.用户提交一个签了名的取款交易(Withdrawal transaction)给根链或者Plasma父链。用户在发起取款交易的同时需要附上一笔押金作为奖励金。

2.提交取款交易后进入一个挑战期。在挑战期时间内,任何人都可以提交欺诈证明来挑战该用户的资产声明,证明该用户的资产声明无效或者过期。若挑战成功,那么该笔取款交易会被取消,且挑战者可以得到该用户提供的奖励金。

3.若直到挑战期结束都没有人能够提供欺诈证明,那么就认定该取款交易是正确的,该用户可以赎回在根链或Plasma父链上的资金,且奖励金会退回给用户。

而对于大量的取款,情况显然更为复杂。

当多个用户同时向根链或者Plasma父链提交取款交易时,根链或父链会根据用户的UTXO或者账户创建的时间,按照从最初的一笔交易到最新一笔交易顺序处理用户的取款交易。这种处理顺序可以在一定程度上阻止欺诈行为,后面在讲到Minimal Viable Plasma时会举例进行说明。

猜你喜欢

转载自blog.csdn.net/weixin_42667079/article/details/83027898
今日推荐