
Aggregate Together
A set of smart contracts and modules to bring lower gas costs for multisig wallets on EVM rollups via aggregated BLS signatures
About
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: 1. An Aggregation Auth Module for Safe 2. ERC-4337 BLS multisig signature aggregator **Aggregation Auth Module for Safe** Wallet: 1. Aggregate all owner signatures 2. Generate bitmask 3. Call Aggregation Auth Module Module: 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 hash **ERC-4337 BLS multi-sig aggregator** Background: 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 accounts** Multisig Account: 1. The account setup its aggregator 2. The owners of the account are BLS owners 3. The rest of the account implementation is exactly the same 4. The wallet aggregate the signatures of different owners into a single aggregated signature Bundler: 1. Received multiple aggregated signatures from different multisig accounts 2. Take the aggregated signature of each user operaton 3. Aggregate the aggregated signature offchain 4. Output: Aggregated signature
How it's made
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.