五、第二种扩容思路 —— 分层
分层也称为二层扩容或者链下扩容,就是把一部分交易放到在
区块链以外执行,同时仍然保障交易安全。分层有状态通道和侧链两类技术。还有一类二层技术,是把计算密集型任务转移到链下执行,这块与分享主题无关,不再提及。
状态通道和侧链是不同的技术隐喻,但是到了实现层面,其实非常相似。由于 Cosmos 和侧链有很深的内在联系,所以我在这里花点时间,讲讲侧链的原理。
要理解侧链,首先要明白 SPV 证明,SPV 是 Simplified Payment Verification 简单支付验证的缩写。为了让计算和存储能力有限的设备能够使用
比特币的问题,才有了 SPV,或者叫轻客户端或者轻节点。
手机钱包就是轻客户端,它不必同步全部区块,只需要同步区块头,传输和存储的数据量缩小了 1000 倍。左侧图是 SPV 证明的原理,利用了梅克尔树。看不懂没关系,只要记住梅克尔树是区块链最重要的数据结构。
利用它可以只需存储极少的数据,就可以证明大量的事实曾经发生过,而且属于特定集合。就区块链来说,就是只存储区块头,未来就可以验证交易是否存在于某个区块。
侧链方案就是把主链资产通证锁定,在侧链上对应地创造出通证承兑汇票,汇票交易在侧链执行,在侧链上得到汇票的人可以兑换主链通证。具体来看右图的
以太坊 Plasma MVP 侧链方案。
首先要在以太坊主链上部署 Plasma 智能合约,假定有 Alice 和 Bob 两个侧链用户。Alice 发起主链交易把通证存入 Plasma 合约,通证被合约锁定。
侧链的 Operator 发现 Alice 存入了通证,就会在侧链里创建出侧链通证,也就是主链通证的承兑汇票。请注意侧链本也是区块链,它有自己的共识协议和矿工。
在 Plasma MVP 方案中侧链采用的共识是 PoA 权威证明,就是一个 Operator 说了算,由它记账出块。PoA 当然不是唯一选择,Loom 的 Plasma 侧链采用的 DPoS 共识。
存入之后,Alice 就可以在 Plasma MVP 链使用通证,进行支付或者转账。例如她可以跟 Bob 玩游戏,输赢通证,可能很快就玩了很多局,产生了大量转账交易。侧链交易只需要侧链的节点达成共识。而侧链的规模通常比主链小得多,因此交易执行更快,成本也低。
侧链区块的区块头,都会由 Operator 提交给主链的 Plasma 合约。不论侧链一个区块含有多少笔交易,是 1 千笔还是 1 万笔,主链只发生了记录区块头一笔交易。所以主链上的 Plasma 合约,相当于是侧链的 SPV 轻节点,它存储了区块头,从而可以验证侧链交易是否存在。
例如 Alice 在侧链上把通证转给了 Bob,Bob 就可以向 Plasma 合约发请求,包含侧链交易的 SPV 证明,表示 Alice 已经把这些通证给我了。
Plasma 合约可以验证转账交易在侧链确实存在,从而满足 Bob 的取款要求。这个例子说明了分层方案如何把大量交易转移到链下执行,或者说转移到二层网络执行。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。