Introducing a minimal multisig safe module and guard for seamless multichain operation. Using Layer Zero, it generates a multichain safe and synchronizes states across chains, ensuring state-drifting resistance and enhancing cross-chain multisig reliability.
Prize Pool
We introduce a minimal approach to creating a multi-signature (multisig) safe module and guard, designed to operate seamlessly across multiple blockchain networks. Leveraging Layer Zero technology, our system ensures deterministic address generation given a chain ID and maintains synchronized states (signers and threshold) across all supported chains. This implementation aims to minimize complexity while providing security against state drift, thereby enhancing the reliability and usability of multisig safes in a cross-chain environment.
Multi-signature safes are essential components in decentralized finance (DeFi) for managing digital assets securely. Traditional multisig implementations are often limited to single blockchain networks, creating challenges for users who operate across multiple chains. The need for a unified, cross-chain solution is increasingly critical as the DeFi ecosystem continues to expand.
Layer Zero Protocol: This protocol is fundamental to our project, enabling interoperability across multiple blockchain networks. Layer Zero facilitates secure cross-chain communication, ensuring that messages and data can be reliably transferred between different chains.
Safe: Safe's flexibility in adding modules and guards was key to our implementation. Modules allow us to execute functions without requiring signatures, and guards act as hooks to listen for state changes, facilitating seamless integration and state synchronization.
Architecture:
We used create2 functionnality from Safe in order to give an address to each safe in the safe pool that is different but deterministic according to the chain id. This will avoid confusions when talking about a wallet linked to a given chain.
Our smart contracts include functions to manage the list of signers and the signing threshold. The guard module oversees the modification of these states on the given chain. When changes occur on one chain, the guard module sends a message via Layer Zero to update the corresponding states on other chains.