具备隐私保护功能的 Rollups 是一个重要例子:在 optimistic Rollup 中,每笔交易中用于隐私保护的 ZK-SNARK 证明需要在链上,需要占据约 500 字节。而在 ZK Rollup 中,包含整个 batch 的 ZK-SNARK 已经证明了「内部」 ZK-SNARK 的有效性。 这些压缩技巧是 Rollups 扩容性的关键,否则 Rollups 扩容性相较底层连只能提高约 10 倍 (虽然对于某些特定的计算密集型应用来说,简单的 Rollups 方案已经足够),而对数据进行压缩后,几乎对所有应用来说,扩容性都可以实现 100 倍以上的提升。 谁能批量打包交易并提交?对于 optimistic Rollups 和 ZK Rollups 中交易的打包权有许多说法。一般来说,任何想要打包交易并且提交的用户,必须要锁定大量存款。如果用户提交了包含欺诈 / 无效交易的 batch (例如包含无效状态根),那么该用户的存款的一部分会被销毁,另一部分则作为欺诈证明者的奖励。除此之外,还存在其他可能性: 完全「无政府状态」:任何人都可以在任何时候批量打包交易并提交。这是最简单的方式,当然也存在缺陷。尤其是多个参与者同时尝试提交但最终只有一个 batch 能被成功打包。这会导致大量生成证明的工作和 / 或发布 batches 的 gas 被白白浪费。 中心化处理:存在一个行为者即排序者 (sequencer) 提交 batches (但提款存在例外:通常来说一个用户可以首先提交提款请求,如果排序这没有在下个 batch 中处理该提款,那么该用户能够自己提交一个 batch)。这是最「高效」的方式,但是依赖于一个中心化的角色。 排序者拍卖:通过定期举行拍卖的形式来确定谁有权成为下一个周期的排序者。其优点在于它可以筹集资金,并通过例如由 Rollup 控制的机制 (例如 DAO) 来进行分配。(参见 MEV 拍卖) PoS 集随机选择:任何人都可以将 ETH (或是 Rollup 协议的代币) 存入 Rollup 合约,然后在存款人中随机选择每个 batch 的排序者,被选中的可能性与锁定资产成一定比例。这个方式的主要缺点在于会有大量资本被锁定,而这是不必要的。 ➤DPoS 投票:通过拍卖确定一个排序者,如果该行为人表现不佳,那么代币持有者可以通过投票将其驱逐,并发起新的拍卖。 将批量打包和状态根处理相独立目前正在开发的一些 Rollup 项目采用了「独立批量打包」的方式,也就是将提交二层交易的 batch 和提交状态根的过程分离。这种做法的优势在于:
|