Hermez将在2021年初推出ZKRollup网络的第一个版本,并首次实现Layer2交易的大规模迁移机制。
为什么大规模迁移具有变革性? 大多数人已经意识到在Layer1和Layer2之间切换的可用性问题以及由此产生的高昂gas费的问题。随着越来越多针对不同用例的Layer2方案涌现,可用性问题将变得更加严重,因为用户在从一条Rollup链向另一条Rollup链或Layer1智能合约转移代币时需要支付高昂的交易费。这可能会降低用户资金的流动性,并减弱用户对Layer2方案的兴趣。
在当前范式下,如果Bob想在Layer2方案之间(例如,从RollupA向RollupB)转移资金,他需要先将资金从RollupA提取到Layer1,再将资金从Layer1存入RollupB。这样一来,Bob需要支付两次gas费,可能让他感觉不划算。
大规模迁移的简介: 解决这个问题的方案很简单,但实现起来很复杂。Hermez的实现非常接近BarryWhitehat提出的概念。
通过大规模迁移机制,用户可以像处理Layer2用户之间的代币转移一样处理外部Layer1智能合约。这些Layer1智能合约需要先拥有一个Layer2地址。用户需要知道这个地址,才能将资金转移到其中。
Hermez协议可以对同一个Layer1智能合约在Layer2上的目标地址所收到的Layer2转账进行分组和提取。
用户要转移到的目标Rollup智能合约会使用标准的Hermez功能从Layer1上提取同一批转账的总金额。虽然该合约需要支付提款手续费,但这个费用可以分摊到同一批次的所有转账上,因此成本不高。
接收方的Layer2网络协调员需要处理Layer1的提款交易,并从中提取资金的流向,再将资金汇入与初始Rollup的聚合账户对应的新Rollup。
所有这些可以实现,因为Hermez协议在聚合提款交易中包含了在目标Rollup上重构Hermez Layer2中的原始转账所需的信息,以及相关账户信息。如果支持的话,可以通过电路处理在目标Layer2中实现。
假设有一组用户(包括Bob)都想将代币转移到另一条Rollup链上。现在,他们每个人都需要为各自的交易支付Layer1提款手续费。有了大规模迁移机制之后,Hermez就可以在一笔Layer1交易中处理多笔交易。所有转账交易都能得到执行,转账者需要向Hermez Layer2支付交易费。另外,目标Rollup可能会向这些转入交易收取少量费用。Bob对此很满意。
在Hermez网络的第一个版本发布时,Layer2方案不会具备入站处理的能力,但该功能将在下一版本实现。事实上,对于那些在不同版本的Hermez网络之间进行迁移的用户来说,大规模迁移机制非常有用。此外,该机制还可以用于连接其他Layer2方案。
这一新机制带来的可能性将为Layer2生态系统乃至整个以太坊社区创造巨大价值。
如果您想深入了解Hermez背后的技术,请查看我们最新发布的智能合约。我们还在Github上发布了Circom电路,您可以阅读相关文章了解更多。我们目前正在寻找代码审计者,期待与我们的技术主管Jordi Baylina合作。如需了解更多信息,请联系我们。
请关注我们的Twitter账号@Hermez_network,并加入我们的Discord频道,了解Hermez的最新消息。