ETH主网在从1.0到2.0不断提高TPS的同时,又加入了Layer2的方案,Layer2的方案和ETH2.0在时间上是并行推进的:ETH1.0、ETH2.0都是主网也就是Layer1,而在主网之上会有很多rollups作为Layer2,我们的资产是在ETH主网上的,在L2上的是“影子代币”。Layer2的rollup们承载着“计算”的功能,作为Layer1的ETH主网承担着“验证”的角色。Layer2之间不进行通信,Layer2会把数据汇总后传回到ETH主网上,真正的提币会在ETH主网上完成。 Rollup是汇总的意思,汇总又是什么意思呢?因为数据上链的过程中,需要先把交易记录等数据记录到链上(比如A给B转了1个BTC),取款人B用自己的地址在链上验证,验证成功(B的地址是可以领取1个BTC的地址)B就可以取走自己的账户里的币,这个过程中rollup就承担了将很多交易记录计算汇总成一个交易结果的功能,之后rollup再把这个交易结果提交到ETH主网上,主网就节省了空间从而可以提高效率,用户在rollup上发生了一系列交易行为之后,用自己的地址去主网上完成验证,就可以提币了。 举一个形象的例子说明Layer2的必要性,以及什么是“计算”,什么是“验证”?比如UBI.city在给9.2万个链上地址空投代币CITY时,每个地址空投的CITY数量又不一样,如果把按照“地址,CITY数量”的格式,把9.2万多条数据都记录到ETH主网上,一方面成本会非常高,另一方面这对于TPS只有15的ETH1.0看起来就像是大量的垃圾数据。所以在处理空投数据的时候,做了一个类似rollup的将9.2万条数据汇总成1条数据的工作,再把这1条数据上传到ETH主网上,用户拿着可以领取空投的地址与这1条数据进行验证,验证成功就可以领到地址对应的空投CITY数量。看到这里,可能会好奇,9.2万条数据是如何汇总成1条数据的呢?这里是利用默克尔树和hash算法来完成的汇总,Layer2的Optimistic解决方案也是这样完成的汇总。更多关于默克尔树、hash的具体算法在后续的文章系统的单独说明。 Layer2中有很多技术方案,ETH创始人V神认为Optimistic是现阶段可支持合约比较好的选择,但是长期来看zkRollup可能是未来:下图列出了Layer2的主流技术方案的性能情况,其中State channels(状态通道,BTC生态之前的闪电网络就是用的状态通道的技术)、Plasma(等离子体)已经被V神否定,目前支持度最高的是Optimistic、zkRollup,但是目前只有Optimistic支持了智能合约,而zkRollup在未来才会支持。 Layer2的rollup因为有更少的验证器,所以可以支持更高的TPS。L2需要经过Withdrawal time的时间等待,才会将数据传回主网,用户才可以在主网上提币。在Optimistic的rollup上交易的用户需要等1周的时间才可以在ETH主网上提币,在zkRollup上是需要等待10分钟。 (责任编辑:admin) |