Layer2 new solution: BLS_ROLLUP
自从 ZK_ROLLUP 问世以来 Layer2 的扩容解决方案似乎分成了两种路线 一种是最早的“解决延迟问题”,另一种就是“压缩传输资料的大小”。用一条高速公路要变快来比喻,一种是把车速变快,另一种则是让每台车都被缩小灯照射,同样也可以完成让高速公路在一段时间内有更大的传输量。
和 ZK_ROLLUP 一样,Layer2 解决方案团队 SKALE 开1的 BLS_ROLLUP 选择的是第二种,但采用 BLS 这种可以聚合签名的签名算法。SKALE 团队称采用 BLS 的原因,是 BLS 非常的安全且容易实施,而且建构交易聚合签名在几百毫秒即可完成,而且相比于 ZK , BLS 能耗费更小的运算量。
简单来说,他们做的就是先在链下在每个 Epoch(约10分钟一次)随机找寻 Aggregator 来聚合多笔交易,在交易被聚合以后,会在让多名用户验证签章,形成可以有效验证的 BLS_SIG, 再将交易连同BLS_SIG ,合并做一个称为 BLS-ROLLUP Manager 的智能合约,去验证 BLS_SIG,并且完成 在读取 amount 后,将发送者和接受者的 amount 做增加于减少,并部署在 Layer1的主链上。据 SKALE 的实验结果,透过 BLS 的签名方式去优化的一笔聚合交易大约只有 20 bytes,已经比原本的单笔 ERC20 的交易的 100+ bytes还少了许多,还少了许多,而且也能比原来的 ERC20 交易消耗更少的 gas 。SKALE 甚至还想了在建构交易的时候作恶要有什么样的处罚方式。
目前 SKALE 团队将整个进程分成了三期。第一期会先让整个聚合签名以及上链的机制完善,预计在明年年中。再来会在第二期后,用更便宜的方式去存储,并且用 UTXO 的方式去实现整个交易形式的优化。 整体而言, BLS 是快在多個簽章只要聚起來驗一次,但 ECDSA 要分別驗多次。因此越多簽章可以被聚合, BLS 的優勢越明显,但还不确定他们如何处理 message ,使之具有一致性,来避免最后依然需要 O(n) 個 pairing 運算的问题,但总之透过聚合签章确实可以省略输入资料的成本。
另外,可能在治理方式上会受到挑战,例如谁来当作 Aggregator 等等,但能看到有更多的 Layer2 solution 还是很幸福的。
想了解更多 Skale 团队如何用 BLS_ROLLUP , 欢迎参看这里