Aggregate Together
A set of smart contracts and modules to bring lower gas costs for multisig wallets on EVM rollups via aggregated BLS signatures
Screenshots



Problem Statement
If you have used a multisig wallet, you might have probably noticed the higher gas fees that you paid in comparison to a regular EOA. We have created a set of smart contracts that implements a BLS-based signature aggregator, to validate aggregated signatures of multisig wallets.We designed two implementation:An Aggregation Auth Module for SafeERC-4337 BLS multisig signature aggregatorAggregation Auth Module for SafeWallet:Aggregate all owner signaturesGenerate bitmaskCall Aggregation Auth ModuleModule: Instead of taking a signature field, it takes an aggregated signature. The module then calls the validateTxSignature on the aggregator contract with the following arguments: list of public address, aggregated signature, message hashERC-4337 BLS multi-sig aggregatorBackground: ERC-4337 Account Abstraction introduces a singleton contract called the entrypoint to execute bundles of UserOperations. Bundlers/Clients whitelist the supported entrypoint.Signature Aggregation for multi-owner accountsMultisig Account:The account setup its aggregatorThe owners of the account are BLS ownersThe rest of the account implementation is exactly the sameThe wallet aggregate the signatures of different owners into a single aggregated signatureBundler:Received multiple aggregated signatures from different multisig accountsTake the aggregated signature of each user operatonAggregate the aggregated signature offchainOutput: Aggregated signature
Solution
This project uses BLS signatures to efficiently reduce callData cost to verify multisig wallet signatures. We have mainly built on top of ERC-4337 Account Abstraction and Safe Contracts. We deployed our contracts on optimistic rollups and zk-rollups where calldata cost is the main cost reduction.
Hackathon
ETHGlobal Paris
2024
Prizes
- 🏆
🔀 Polygon — Best use of zkEVM
Contributors
- Sednaoui
17 contributions