Plasm Network 基于应用层面的解读
The following article is from Plasm Network Author Plasm Network
前言:Plasm Network作为波卡生态中一个基于Substrate建立的可扩展性DApp平台,从项目开展至今一直备受大家关注。为了让关注者们更加了解Plasm项目进展及最新动态,我们每周均会发布项目周报,敬请关注!
Plasm和波卡
波卡的中继链在初始设计的时候就不允许有任何的应用在其之上展开,因为中继链的主要功能就是维护安全,提供交互性能。即目前的公链包括比特币和以太坊都可以通过接入波卡中继链和接入波卡的其它的所有链进行信息交互,并共享波卡的安全性能。所有接入波卡的区块链都称为波卡生态的平行链。
所以波卡是将各个区块链相联,通过并联运行和分担部分存储验证工作来帮助平行链扩容,但这种扩容程度是有限的,是在整体层面提高了互相的合作效率减少合作摩擦,并没有做到帮助进入合作圈的链个体内部实现效率提升。无论是波卡还是区块链整体都需要一个可以实现单链扩容的技术,Plasm网络即是其中的贡献者之一。
Plasm网络可以接入任何除波卡以外的生态,但由于波卡的可组合性和交互性会使Plasm的市场更广、应用更为繁荣。同时,波卡也需要这样一个角色来帮助波卡去辅助接入的平行链进行扩容、组合。这是一个1+1>10的合作,这也将非常有利于波卡生态的Defi繁荣。
为什么需要扩容?
链上的TPS(每秒可以处理的交易次数)是通过程序设计固定好的,每秒能处理的最大TPS是一个固定值,比中心化服务器好小几个数量级,同时由于区块链的去中心化共识机制,受限于每个节点的性能,使其难以快速通过物理设计来进行交易效率的增加。所以当区块链网络上使用用户激增或用户交易量激增的时候,会出导致需要处理的交易数高负载,使打包速度变慢,影响用户体验。
中心化服务器支持的交易就好比使用信用卡立即付款,系统一秒可以处理上万甚至几十万笔交易,用户通常不会感觉到需要时间等待交易成功。而且去中心化的交易每秒仅能处理几百笔交易,很多时候用户仅仅是转账就需要等待几分钟甚至十多分钟。
而2020年以太坊上火爆的Defi,除了网络拥堵延时明显,同时也不断抬高了手续费,不仅用户体验感下降且侵蚀了部分用户利益,对此用户有颇多不满,如果可扩展性问题得不到解决,会加剧这种情况,且可能会阻碍区块链的发展,增加可扩展性是刻不容缓的事情。
什么是Layer 1、Layer 2?
首先Layer1 和Layer2是相对的,如此称呼是为了方便区分网络结构。Layer1 好比是高速公路主干道,Layer2则是高速公路上的分支或者新修的并行高速,目的在于帮助主干道分流,减少拥堵,使同时间单位内通过的车辆更多,车主更快到达目的地。Layer 2是所有支路的统称,支路可以有宽有窄,有国道、省道、乡道等等标准,体现在区块链世界则是不同的扩容方案,稍后解释。
Layer1是主链,是类似比特币或以太坊这样的公链。由于目前的交易都是直接基于这些公链开展,所以不断增长的交易量会加重主链网络负担,使网络处理速度下降,而用户为了自己的交易能被优先处理会加高交易处理手续费,所以Layer1又堵又贵。
业内普遍认为几年之后Layer1会被应用为信任层,而Layer2将会是交易层。即,Layer 2主要用来支持车辆跑动,而把Layer 1提高到类于一个云认证层,在每个关口认证交易是否正确(车辆里程和缴费是否匹配、车辆是否限号)。
Layer2即在主链之外的链。Layer2解决方案是所有扩容解决方案的一个统称,即让交易在主链之外运行的方案的统称,分担大部分主链的工作,然后通过和主链的交互能够传递信任到主链。这就是所说的链下扩容:主链外操作(layer2),主链上记录(layer1)。之所以这么做的原因是,并非网络上所有的交易都需要获得所有节点的认证来达成全局共识,并非每一笔交易都需要改变全局状态,一层公链只需要负责保证公共可验证性就足够。
目前提出的区块链二层可扩展性方案有:
SegWit 隔离见证:通过移除签名信息和链外存储数据的方式来提升交易速度。
状态通道合并链下特定的用户之间的交易,只提交最终状态到主链上。
Plasma:交易存储在单独的分开的子链上,仅有根哈希值存储在主链上。
分片:通过使用分片使得更多的交易能够在同一时段同时运行。
Rollups:将计算及状态存储移至链下,但将每笔交易的一些数据放在链上。Rollups分量总Optimistic Rollup,和ZK Rollup
Plasm网络采用了OVM(Optimistic Virtual Machine)虚拟机,它可以支持所有layer2协议的运行,即在理论上Plasm网络上除了可以运行Plasma扩容方案外还可以兼容其他所有的layer2解决方案,用户可以自由地选择使用哪一种解决方案,并且使负载降到最低。
目前,Plasm网络已经成功兼容以太坊EVM和WASM,且除了可以选用Plasma方案进行扩容,也可执行Optimistic Rollup 和ZK Rollup 方案,具有优越的互操作性和可扩展性。
Plasma扩容技术是最不依赖主链处理性能的可伸缩性解决方案,可以在不牺牲去中心化的情况下管理其侧链。这意味着,很多交易可以在无需共识工序的情况下集中处理,中心化系统中使用的扩展解决方案依然可以使用,而所有侧链上的参与者可以通过提交欺诈证明以安全退出,以此达到原生分布式账本无法达到的高处理性能。Plasma可以显著的提高所有分布式账本的处理性能。
Optimistic Rollup 适合执行复杂的合约逻辑,且对吞吐量要求较高的应用场景。比如合成资产平台可以通过Optimistic Rollup来大幅提升预言机报价频率,以此解决在一层主链网络会遇到的交易暂时停滞问题。因为Optimistic可以支持无线参与的任何合约逻辑,可以一次性打包很多。但其本身交易延迟比较高,甚至比一层网络的还要高。
ZK Rollup适合大规模的转账平台,比如各类去中心化交易所和支付平台。因为其二层区块数据和零知识证明上到一层链之后,交易的有效性能被立刻确认,这种性能适合转账。但其需要对每一个用例进行定制缺少普适性,且二层打包节点负担重成本高,用户的延迟体验角度也比较差。
状态通道网络已经基本成熟,可以进入大规模的生产环境使用。分片技术还在完善中,暂时还不能进入生产环境。Eth2.0是分片技术的代表。
每种二层扩容方案都有自己的优缺点,不能一概而论,不同的应用程序选择适合自己的方案即可,这些方案在Plasm网络上都可以实现。
在区块链网络,通常对涉及到交易时的操作安全性要求比较高,对数据应用的数据交互则不需要太高的安全性要求,那么,基于目前Plasm网络即支持Plasma、Optimistic Rollup、Zk rollup,往后可能更多。
我们可以这么考虑,对安全性要求不高的操作可以用Plasma技术的侧链来确认,同时,在同一条侧链上可以组合多个Rollups来达到应用层类分片的效果,提高可组合性。即使确认出现了问题,还是可以通过最终的主链确认,进行时候纠错。
另外,补充一点。Plasm网络将OVM和智能合约分开,将智能合约功能作为模块采用,这样能更简单、更方便地使用OVM。
而以太坊Plasma实现是由多种模块组成,这些模块被一组智能合约管理,这个方式难以预测一个Plapp的gas费用,因为这些合约包含幕后多个层的逻辑。而且对开发者来说,幕后运行多种智能合约使得执行程序更加容易混淆。
优化了Plasma方案的使用
基于Plasma方案创建应用程序(Plapps)相比创建一个传统Dapps要难得多。Plasma是由几个组件构成的复杂技术栈。准确的说,Plasma应用程序是分别由存在于母链、子链、运营者和用户上的四个智能合约组成。
Plasm网络开发了Plasma as a Service平台来为开发者们提供支持,解决Plaspps创建难的事情。这个平台使得开发者们可以更简单的部署Plasma应用程序,允许开他们选择母链来部署Dapp和自定义子链。这完全由操作简便的图形用户界面(GUI)来管理,如此便不需要开发者经历从零开始学习的痛苦。
这和波卡Substrate框架的思路类似。Substrate实现了快速创建一条链,而Plasm 网络实现了快速创建Dapp。都是采用对基础功能细分和模块化的思路,同时也具有开发者自由业务编辑的灵活度。
Polkadot和Substrate促进了基于用户需求的定制化链的创建。而Plasm网络旨在通过在Polkadot和Substrate上实施各个Layer2解决方案,促进创建基于用户需求的定制化去中心化应用程序。也因此,成为Polkadot的首批平行链是Plasm团队要做的最重要的事情之一。
二层网络是一个必然趋势,虽然目前也有一些困难需要解决,但只是时间问题,时间带来技术完善、设计完善,以及时间带来市场接受、转移。
官网:www.plasmnet.io
Twitter:https://twitter.com/Plasm_Network