Vitalik Buterin提出了基于UTXO的Plasma账本,可以有效扩展以太坊的2层,并通过“退出游戏”机制来确保安全。他还提出了ZK+Plasma的新方向,可以解决Plasma存在的问题,释放EVM的想象空间,但是市场是否会接受仍有待观察。
注:本文来自@tmel0211 推特,火星财经整理如下:
拜读了 @VitalikButerin 有关Plasma回归的新作,被Plasma基于类UTXO的账本“退出游戏”机制深深吸引,且Vitalik似乎有意引导市场往ZK+Plasma方向探索,避免市场停留在Rollup阶段内卷。接下来,详细给大家科普解读下:
要点:1)Plasma链为啥适用于支付场景?2)Plasma支付场景如何运作?3)为啥退出游戏机制对Plasma很重要?4)Plasma链为啥难集成EVM的无主状态?5)ZK+Plasma可释放哪些想象空间?
我在上一篇解读Vitalik文章中说了,以太坊的2层扩容方案原本有:Plasma、Rollup、Validium、Parallel等多种方案,Vitalik期待中的扩容方向应该是均衡发展,适配各类应用场景进行多样化的layer2构建,但现实市场格局是,Rollup方案一家独大,且日益内卷。
只是,Rollup虽然方案安全性高,但对Data Availability的依赖性过大,而纯以太坊DA又受限于性能和成本问题,故而现在市场卷出一种卡位Rollup阵营但却依赖第三方DA的Solution,这是一种正在把Rollup畸形化的方案,绝非Vitalik想看到的现状。
所以,Vitalik新文章重新搬出了Plasma,而且引导了一种ZK+Plasma的扩容解决方案,显然又是一次事关layer2政治摇旗。
-为啥Plasma目前受限于支付场景?
Plasma相当于一种侧链解决方案,会定期向主网同步默克尔状态数据,是一种数据和计算依赖主网的扩容方案。这样的话,2层可以用非常中心化的方式,且设计非常复杂的账本模型来高效扩展,还能复用主网vailidator这些系统能力。
总得来说,Plasma用在支付场景可以保证账本状态被有效追踪和记录。为啥呢?
1)支付场景下,用户只需要保留余额状态,若其他场景得保留全部链下状态数据,会带来存储空间压力;
2)Plasma安全性依赖“退出游戏”机制,运营方作恶,用户可发起挑战提出自己的资产,若资产状态复杂则则会很麻烦;
3)目前Plasma很难兼容EVM的诸多无主状态,用户很难用Plasma的默克尔状态树账本来对应很多非交易状态,比如LP、CDP;
-Plasma支付场景如何运作?
如Vitalik文章中所说,简单而言:
Plasma Cash可以把每个Token视为NFT,有唯一编号,当某个用户发生转账时,运营方会在默克尔树叶上记录一笔更新状态,每个用户都可以保存自己全局的默克尔树状态,这样账本追溯起来就不会出乱。
若是本就同质化的Token,用户可能在消费时存在多次拆分和合并,比如小王1个ETH,先拆分了三份,又把其中两份合并了,每一份都是不规则的,比如0.001、0.1、0.3等,如果大批量的拆分,可能导致默克尔数据冗余,这样发起退出游戏机制时可能会产生问题(挑战和验证成本较高),比如回溯近一周的账本发现对不上账。如何解决呢?可以为每一次资产拆分或合并状态匹配一个类UTXO ID,这样无论怎么拆分都能即刻定位到相应交易树叶。
-如何确保安全“退出游戏”机制?
因为Plasma没有像Rollup们一样有自己独立的链系统,它得时刻确保自己的侧链记账和主网保持同步,这就允许其不必刻意追求去中心化,只要有一个可高效记账的运营主体就行。
但问题来了,若运营方发布了无效区块记了假账,窃取用户资产该怎么办? 用户需要随时发出“退出游戏”机制,把2层的资产withdraw回1层,类似于Rollup的逃生舱安全机制。
如何做呢?用户可以晒出自己默克尔树状态证明,证明资产转移过程,并发起7天挑战期,主网验证节点会检测用户是否为最终的资产Owner,以及用户是否存在资产双花等问题。(因为主网节点存储了更多的默克尔树状态可以核对用户的Proof是否有恶意退出之嫌)。
通过“退出游戏“”来约束2层运营方作恶,而挑战期的存在则避免了用户恶意退出,这就确保了Plasma链的正常运行。
-兼容EVM“无主状态”的难点?
如前边所言,Plasma目前更多是针对支付交易场景设计的2层解决方案,是一种可类比为UTXO模型的记账,而EVM本身则是账户模型。UTXO可以记录每一次余额状态刷新,但EVM状态机中的很多“无Owner”场景很难用Plasma的方案来实现。
比如,比如存入Uniswap池子的USDC,放在MakerDAO的CDP中的资产也同理,用户很难证明哪一笔资产属于自己,这样一旦出现运营方宕机问题,合约被锁,用户就无法正常“退出游戏”。
因为无法证明用户在合约里有钱。受Plasma数据特性影响,主网只能监测合约的余额,若运营方给合约增发了一部分钱,用户怎么能证明哪笔钱是自己的,哪笔钱是被恶意增发的呢?
何况一个layer2侧链如果只能实现Payment转账交易,要如何构建应用和生态,显然这会大大限制Plasma的使用场景。
-ZK+Plasma释放的想象空间
若Plasma底层彻底的被ZK化,用户的操作会以zk-SNARK证明形式存在,就能释放很多EVM的状态机场景:
假若用户向Plasma某合约存入了一笔资产,就可以构造一笔zkSNARKs证明,这个证明可以向主网发起“退出游戏”,这样即使池子受安全威胁被冻结,用户也能撤出自己的合法资产;
或者在涉及隐私DEX的交易场景下,用户可以用zkSNARKs来证明拥有某资产,而不需要暴露自己的隐私;以及Plasma的智能合约在进行复杂升级时也可以zkSNARKs的形式证明其状态升级正确性,而不需要暴露细节,也能提升合约作恶难度;
以上。
整体来说,Vitalik全文清晰地描述了Plasma的现状以及存在的问题,包括未来ZK化的可能性。在我看来,Plasma并不新颖,甚至过去多年它已经在支付场景找到了自己的位置,此时此刻Vitalik抛出ZK+Plasma的新方向,是一次方向引导,也是一次政治摇旗,至于市场是否会顺着vitalik的意思走,我个人不是很乐观:
1)Rollup是市场从投入成本、开发难度、生态兼容度等综合出来的最优解,ZK+Plasma固然是一种更高级的ZK-Rollup,但当下ZK-Rollup的发展也并不乐观,直接跳到Plasma过于仓促了;
2)Validium作为一种独立链扩容方案,在ZK的应用程度上相对更高级,但它完全依赖链下DA,相较之下ZK+Plasma似乎和以太坊主网黏性更高,但Vitalik这样呼吁可以理解,ZK的成熟开发者们放弃Validium搞ZK+Plasma的动力或许不足。
Note:请务必细读下Vitalik的文章,再来理解本文,觉得我分享有价值,欢迎一键三连支持一下,感谢。
Reference:https://x.com/tmel0211/status/1719587614351913138?s=20