We allow users to perform all transaction anonymously in the network via a wallet that can only be executed from a valid zero knowledge proof. And so, the owner of the wallet will be able to remain anonymous will performing the transactions on chain
We utlize Metamask Snap to allow user to directly perform transaction from our snaps. Our snaps will be responsible in: 1. Importing the Facade Wallet address to initiate our Snap process 2. generate proof via wasm circuit 3. notify zkWallet owner should a proof has been signed by other owners of the same wallet. This process is done via cron job of metamask snap. 4. submit proof to Facade Wallet via our relayer that we have run on our own server
Our relayer service also creates the smart wallet anonymously for users and we utilize Infura to deploy to multiple networks
We utlize the cheap execution fee to verify the groth16 proof which would be expensive to do so on Mainnet
We uses infura in our relayer service as our RPC provider to send proofs to Facade wallet
We use Truffle for our smart contract development and we use Infura as our RPC provider in our relayer serviceWe
We use Truffle for our smart contract development and utilizes the Metamask snap template to scaffold for our Snap project
We allow users to perform all transaction anonymously in the network via a wallet that can only be executed from a valid zero knowledge proof. And so, the owner of the wallet will be able to remain anonymous will performing the transactions on chain
We allow users to perform all transaction anonymously in the network via a wallet that can only be executed from a valid zero knowledge proof. And so, the owner of the wallet will be able to remain anonymous will performing the transactions on chain. We utilize the cheap execution fee to verify the groth16 proof which would be expensive to do so on Mainnet
We utlize Metamask Snap to allow user to directly perform transaction from our snaps. Our snaps will be responsible in: 1. Importing the Facade Wallet address to initiate our Snap process 2. generate proof via wasm circuit 3. notify zkWallet owner should a proof has been signed by other owners of the same wallet. This process is done via cron job of metamask snap. 4. submit proof to Facade Wallet via our relayer that we have run on our own server
We utilize the cheap execution fee to verify the groth16 proof which would be expensive to do so on Mainnet
Smart wallets these days do not have the ability to 'hide' the owners that are responsible for making the transaction through it. This allows anyone with abit of Etherscan knowledge to track the Eoa's that are responsible for all transaction made by that smart wallet. if the smart wallet possesses a large amount of assets, this may pose a life hazard towards the real owners as malicious actors may target the owners and threaten them to obtain their assets.
These are problems that could be avoided should the owner of the smart wallet be unknown from the start. The current status quo for transferring assets anonymously will be to use Tornado Cash or similar mixer protocols to blind the traces of the transaction. This method works but only limited to asset transfers. What if, we would like to extend to that capabiliy? What if we also want to interact with various smart contract anonymously such as defi protocols....
Facade Wallet aims to achieve that. We allows owners to perform all transaction as would a normal Multisig Wallet but anonymous by default. Using the power of zero knowledge proofs, the owner will generate the proof locally, proving that the owner has signed a transaction call data correctly as well as also proving the ownership of the wallet.
The proof is then passed on to a relayer and the proof contains reveals the transaction call data which will then be executed by Facade. Inputs such as the owner of the wallet and the signature are either encrypted or passed in as private inputs to the circuit.
The wallet, upon receiving the proof, will verify the proof and if correct, execute the transaction call data as would a normal smart wallet, thereby allowing a transaction to be performed anonymously.