以太坊层二理解

Posted by Howard on November 16, 2020

以太坊从2015年7月第一个版本诞生以来,如今应用已经甚为广泛,Defi,NFT(Non Fungible Token)

,ICO等等,如火如荼,但是真正的使用的人还是不多,从技术上讲除了安全因素以外,一个主要原因是速度太慢,以太坊每秒可以处理大约 15 笔交易,要知道, Visa 的处理能力则大约在 45,000/tps,相差太大了,而且,每个交易都往以太坊链上写,花费巨大,就跟烧汽油一样的道理,以太坊里叫做gas,哥上次往上面部署了两个众筹合约,花费了108美刀!假如你在以太坊的商城上买东西,你还没买呢,就可能花费一堆gas费用给了矿工,而且速度又慢如蜗牛,这个谁能忍受?这也是为什么ETH 2.0要改成POS机制,要把速度提高的原因,据说仅仅在第一阶段,就要达到100000 TPS,这已经远超visa系统了。但是,ETH 2.0任重而道远啊,所以在它没有出来之前,有人提出来一些解决方案,在现有的以太坊基础上,把一些事情拿到以太坊的区块链外面来做,叫做off-chain solution,这就是“层二”这个概念的基本思想。

我最近研究了下,关于层二的解决方案,这篇文章有总结性作用,有好几种,一种是移植了比特币中的“闪电网络”的方法,就是“状态通道”的概念,它在于做交易(做游戏)的双方保持交易记录,改进一点就是付费给第三方见证,这个东西的安全性在于,如果有一方中途断线,就完不成了,还有就是有一方恶意造假,在质疑时间里,不让另一方有机会来质疑,我觉得这个质疑过程应该是软件自动实现的,很多人交易完成后就关机断线了,所以就不会有质疑发生,而这个交易只有你们两人知道,这就是一个硬伤了,加个中间人,中间人也可能是某一方的合伙,如果真的要骗的话。 总之,人数太少,共识很难做。

image.png

还有一种,有点像当前ETH 2.0的分片(sharding)的雏形,就是Plasma做的事情,就是在以太坊主链上搞一个智能合约,作为根节点,然后在在这个分支上挖矿,同时把这个分支上的区块信息给根节点共享,那么就根以太坊区块链链接在了一起。用户的资产保存在以太坊主链上,而智能合约(应用)部署在子链上。

image.png

这个方案的毛病在于某个分支上的区块生产者(就是矿工)很可能是一个实体完全控制的,这样就容易作弊了,当然,Plasma有自己的一套防舞弊的方法,但是基本都很难执行,如果区块生产者为了防止你能够向根节点合约提交欺诈证明,并不分享之前区块的信息怎么办?好在它会提供一个质疑时间,你可以向根节点提出质疑,然后把资产收回,并且离开这条子链。它有自己的经济激励,有自己的token,叫做“PLM”。

image.png

还有个叫做“Truebit”的玩意,是专门用来对合约中存在大量计算的情况的,要知道,第一,以太坊上能计算的步骤有限,一个区块里给你的时间段或许算不玩,另外,就是一个字:“贵”。 所以能off-chain的计算就不要on-chain去做,这个玩意的基本思想就是有人抵押以太币后提出有偿计算服务,你把要计算的东西给它,它算好后,如果没错误,收回抵押,也收到你给它的小费。系统提供一段时间,看有没有人挑战这个计算结果的正确性,挑战者需要找到跟它不一致的具体哪一行代码,然后在以太主链上验证,如果挑战成功,那么计算错误的那位的押金就归挑战者了。这个玩意还有自己的token呢,叫做“TRU”。

image.png

最后来说说最近比较火的一个层二解决方案,叫做“rollup”,所谓”rollup”,就是打包,它是根据Plasma进化而来,也是在以太坊主网上放rollup的智能合约,作为一个根节点,然后引申一个子链出来,把用户的交易打包,放到根节点上,用户的资金在主链上,用户的交易信息不是全部放主链上,而是打包成类似Merkle树的东西放以太坊主链上。我觉得目前以太坊在搞的sharding也有些这个意思,只不过安全性,抗审查性可能更完美些。

image.png

有两个rollup,分别是Optimistic Rollup 和 ZK Rollup,它们的主要区别从这个名字就能看出来,前者乐观地认为大多数区块生产者是好人,不会作弊,但是它也有挑战机制,所以区块生产者需要抵押,被人找出毛病来,抵押资金就要被没收;而后者ZK,是“Zero Knowledge”的缩写,区块生产者要向根节点提供零知识证明区块的真实性,这篇文章很好地描述了它们。

image.png

注意,rollup 可谓业界良心,它们是没有代币的,其实在我看来,绝大部分代币是可有可无的,之所以有代币,很大程度上就是圈钱用的,你说搞治理,完全可以用以太坊来投票,根本不需要引用多余的代币。据说现在很多DAPP都跃跃欲试移植到zk rollup上去,它相对成熟稳定些。

层二就是在以太坊2.0出来之前一个过度产品,因为ETH 2.0出来还需要至少1-2年时间,现在DAPP这么多,速度这么慢,大伙都受不了,那么层二就是个很好的工具。但是层二必须提供现有智能合约的部署,像部署在EVM一样的能部署在层二系统上,并且能保证安全性,抗审查性,还是需要些第一批吃螃蟹的人。据我所知,拿rollup 来说,它的虚拟机系统是OVM,想把现有以太坊上的智能合约移植过去,还需要费一番功夫,而且谁能保证运行起来没问题呢?等大伙小心翼翼移植过去了,说不定ETH2.0都已经出来的。所以,我对所有层二系统,都不长期看好,所以也不打算继续花时间去都研究了。

ETH2.0开始搞抵押了,目前抵押了系统启动需求的10%,每个节点32个ETH,门槛很高,我接下来要研究下这个,我觉得这里有很大发展空间。

相关文章阅读:


支付宝打赏

您的打赏是对我最大的鼓励!