π’ Multinetwork Safe
About
- Safe accounts that can be created and managed across multiple protocol networks, e.g. Ethereum mainnet, Optimism, Arbitrum, Polygon, etc.
Offchain accounts
- Aka Counterfactual accounts
- Accounts that have not been initialized onchain, i.e. There is no onchain activity
- Can still receive and store assets
- Used for externally owned accounts (EOAs) and smart contract accounts
Externally owned accounts vs Smart contract accounts
See Account Abstraction in a Multichain Landscape - Part 1: Addresses by Safe
Externally owned accounts (EOAs)
- Compatible across many networks
- Each network uses the same account address
- Actions on each network are independent of each other
- E.g. Sending or receiving an asset occurs only on the network it is initiated on
Smart contract accounts
About
- Safe is a smart contract account
- Each account is associated to a specific network
- Actions on each network are independent of each other
- E.g. Adding or removing an an approval account on a Safe account
Downsides
- Not possible to have the same address on non EVM networks
- Assets can mistakenly be sent to the wrong network
- Network bridging complexity
- User management complexity
- These issues arise when using counterfactual accounts to create accounts with the same address: Created using the Ethereum virtual machine (EVM) counterfactual deployment (CREATE2) opcode
Apps
smol
Identification accounts
- Network specific IDs
- Safe accounts have a network specific ID prefixed to each address (ERC-3770)
- Prevents assets or tokens to be sent to the wrong network
- Unified human readable account name
Bridging accounts
About
- See How can a Safe hold asset on multiple chains? by Martin KΓΆppelmann on Safe forum
- Arbitrary message bridge (AMB)
- Network controls actions on any network that is connected via an Arbitrary message bridge (AMB)
- Bridge sends messages across 2 accounts on 2 different networks to each other
- Relies on bridge security which is a single point of failure
Push vs Pull model
- See Vitalik Buterin's response to How can a Safe hold asset on multiple chains? on Safe forum
- Push: The account on the "main" network pushes actions to other networks to sync
- Pull: The account on the "main" network does an action, and the other networks pull new actions from the "main" network
- Transactions are faster
- There is no asynchronous step required
- Itβs all one single synchronous transaction on chain
- Saves spending gas on the "main" network
- Reduce complexity of paying for transaction fees on multiple networks
Apps
Hashi
Peanut Protocol
- Site: peanut.to
- About
- Uses a deposit and withdrawal model
- The account on the "main" network makes a deposit protected by a secret key
- An account on another network makes a withdrawal using the secret key
- Resources
Proof accounts
About
- See Deeper dive on cross-L2 reading for wallets and other use cases by Vitalik Buterin
- Uses keystore contracts between networks
- The user has a main account on a layer 1 (L1) or layer 2 (L2) that manages all accounts
- Verification key for accounts across all networks used, i.e. Action approval key
- Rules for changing the key, e.g. Social recovery
Strategies
Light β Syncing a keystore account and network account approval keys
- There is a "main" account with a keystore state and a function to sync with other network account signing (approval) keys
- Other network accounts signing key
- Cross-chain proof to check other network's current key
- Update its own local current key
- When initializing on a new network the function will request the key from other networks
- Benefits
- Secured onchain with account keys
- Limited need for potentially expensive cross network proofs
- Downsides
Heavy β Verify every action
- Cross network proof for every onchain transaction to verify keystores
- Benefits
- Less complexity due to not managing a keystore state
- Updating keystores is inexpensive
- Downside
- Currently expensive cross network proofs
- Not easily compatible with ERC-4337: Does not support cross contract reading of mutable objects during validation
Research
Wonderland
Cross-chain interoperability protocol (CCIP) accounts
About
Apps
Klaster
- Site: klaster.io
- Features
- Create accounts used across multiple networks from an existing Safe account
- The Klaster account creates a main account that manages multiple networks
- The main account can be from any supported network
- The main account is created from an existing Safe on the same network
- Create multiple sub-accounts for different uses from the same main account
- Approval accounts only need to be updated once from the main account
- Lower transaction (txn) fees (In-progress 2024-01-09)
- Lower gas fees by creating an intent from the main Klaster account that is finalized on a layer 2 (L2)
- To research
- CCIP network security and decentralization
- The number of validators
- Geographical distribution of validators
- Technical requirements of validators
- Profitability: Fee revenue earned - Operating costs
- X: @klaster_io
Safe alternative accounts
Unwallet
- Site: unwallet.me
- About
- X: @unwallet_me
- Opportunities
- Backup passkey
- Add approval accounts, e.g. Hardware device, browser, or mobile app
- Firefox browser support
- Yubico Yubikey support
This is not financial, technical, or legal advice. Consult professionals and do your own research.