ETH与BTC不同,它不仅是ProofofWork的区块链,同时也是一个虚拟机。
虚拟机意味着,ETH上不仅可以实现转账类的交易,还可以实现逻辑、条件或状态更复杂的交易。
例如,ETH上的交易可以是:当A的账户满足“N”且签名验证通过时,即可将其账户中的Token转移至B。
而这个“N”,理论上它可以是任何逻辑,它可以包含条件判断语句或是循环语句。
显然易见,ETH节点运行这些代码都是有成本的,所以用户在发送这些交易时需要支付一笔费用,也就是“gasfee”。
并且,为了防止区块中被写入无限循环代码而导致怠机,ETH中设置了每个区块的Gas上限和每次计算所消耗Gas的基准数量。
在这一设定下,用户在ETH上发送的每一笔交易都需要注明所消耗Gas的上限。
当某笔交易所消耗的Gas达到这一上限时,即使这笔交易还没有被运行完,ETH节点也不会继续运行,而是会让这笔交易失败,并且已消耗的Gas也无法返还。
于是乎,与BTC不同的是,ETH区块中有限的是Gas容量,而非前者的数据储存容量。
如此一来,在某一时间段内,如果有许多用户同时在ETH上发送交易,或交易的逻辑十分复杂,都会使得ETH发生拥堵,从而消耗比平时更多的Gas。
例如,当热门的NFT公开发行铸造时,某些区块的Gaswei甚至会达到10000以上。
并且在这一时间内,如果其他用户也想发送一笔交易,则可能需要付出比平时多得多的Gas,从而影响到许多用户的体验。
在真正的ETH2.0到来之前,为了降低普通用户使用ETH的成本与门槛,并为一些多用户、多操作、低价值的项目和长尾项目创造生存空间,需要借助Layer2网络来解决。
目前来看,主流的Layer2解决方案基本上tade采用了“Rollup”的思路。那么“Rollup”究竟是什么呢?
顾名思义,“Rollup”指的是将一系列交易打包为一个Rollup交易,ETH节点并不运行交易中的具体内容,而是直接接受Rollup交易的结果。
这些被打包的交易的具体运算过程被挪到链下的账本上,由专门的节点负责验证和维护,并定期将该账本状态的摘要发送到主链上。
如此一来便大大减少了所需的Gas,使得主链的交易吞吐量大大提高。
这一技术的优点在于,不但保留了原始的交易数据,还大大减少了所需消耗的Gas。
原始交易数据的保留使得Layer2账本的验证者并不唯一,理论上来说,任何人都可以根据原始数据来自行运算并验证结果是否相符。
这一技术的缺点在于,不能无限拓展,n份交易仍占用n份链上储存空间。
但显而易见的是,优点远胜于缺点,所以说目前“Rollup”是最适合ETH1.0Layer2的解决方案。
主流的“Rollup”可以分为OptimisticRollup和Zero-KnowledgeRollup,它们分别采用了欺诈证明和零识证明作为验证手段。
尽管两种Rollup所采用的技术原理不同,但它们期望解决的问题是相同的。况且,由于不同项目所制定的解决方案在许多具体细节上也有不同之处。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。