以太坊基金会和初创公司Matter Inc的开发人员已经在测试网上推出了一个Plasma扩展解决方案,该解决方案使用ZKSNARK技术来实现每秒500次交易的处理能力。
他们表示:
“在该方案中,用户对交易的验证由以下方法代替,即发起区块的运营商必须提交一个可以证明新区块正确的SNARK,智能合约会自动验证。运营商不能将不正确的区块放进区块链中,因此用户无需始终保持在线状态,也不需要持续监控交易活动。”不幸的是,数据可用性仍然是一个问题,如果不进行权衡妥协的话,似乎无法解决。 该方案遵循Vitalik Buterin提出的链上数据方法。每个交易的一小段数据(在我们的例子中为9个字节)将会发布到EVM(以太坊虚拟机)中,以保证每个人都可以重建Merkle状态。”
简单地说,你将资金发送到一个智能合约,该合约通过使用snark来记录交易记录。我们进行了一个测试,看它到底是如何工作的。我们从在Rinkeby Testnet上存款开始:
现在这个dapp告诉我们,我们有0.01 个testnet eth。我们尝试将十分之一发送到测试地址,但没有任何反应。这可能是Brave浏览器的问题,于是我们把浏览器的安全防护功能关闭了。我们还被告知需要在显示Nonce的地方填上0。成功。
我们要进行八次这样的交易,从而让它们打包成区块。然后我们原本0.01 eth的余额还剩0.003 eth。可能有其他人在此期间进行了交易,因为我们只做了7次。此时显示需要等待几秒钟,然后出现以下界面:
一切都很顺利。到这里,我们的转账测试就完成了,然后我们希望取出剩余的eth。我们尝试了部分取出(partial exit),但显然我们不得不等待7个以上的交易(部分取出需要8个交易)。我们尝试了全部取出并得到以下结果:
整个流程表面上看起来都相当简单。从终端用户的角度来看,这和普通的链上交易没有什么区别。
事实上,在链上,用户将不得不支付一笔费用然后等待一段时间,就像我们进行前两笔交易时那样:存款和取款。当然,这里也要收取交易费用,但要低得多。就像一个eth区块完全验证也需要一些等待时间一样。
测试人员Mário Buči解释说,每次侧链上都会有8笔交易,“它们会被运营商检查并打包到一个区块中,并将证明发送到以太坊主网中的智能合约。因此,主网上的确认等于侧链上的确认(大约每14秒一次)。”
这非常有意思,因为我们不需要处理此处的路由或任何其他闪电网络的问题。除了安全性以外,唯一的问题似乎是,是否会有足够多的人想要使用这个解决方案。
可能限制该方案使用率增加的一个问题是,你必须锁定你的eth。然而,这到底是一个功能还是一个bug,很可能取决于智能合约的安全性。
这需要多年的时间来验证。在加密行业中bug的出现是很正常的。而在这里,我们有更加复杂的snark回路。然而,如果所有这些都被证明是安全稳定的,那么在智能合约中保存eth可能更安全。
这个解决方案对于dapp甚至MetaMask这样应用的后端更有意义。即使按照当前的设置,该方案似乎也要便宜很多。如果有专门的硬件和其他改进,它可能会成为dapp不可或缺的助力。
Plasma可能会给它带来竞争,这对于终端用户来说只会是好事。而链上分片也同时为Plasma和ZKSNARKs Plasma带来竞争,这对于我们日益减少的testrun eth基金来说更是好事。
这个解决方案可以在分片的基础上运行。因此,原本该解决方案对当前区块链的扩容可以带来多达50倍的增益,而分片可以带来100倍甚至1000倍的扩容,因此两者叠加将带来5000乃至50000倍的扩容。商用级分片可能指日可待。
Vitalik本人也在推特上转发了这篇新闻,并评论称:
“从技术上说,这不是Plasma,但这还是超级棒的。我没想到这么快就可以实施。TheMatter team,你们做得很棒。”