zkBob offers a unique value proposition for users. It is noncustodial, meaning that you control the funds with your own private keys, and it is a smart contract wallet, meaning zkBob incorporates smart contract functionality to enhance the feature set and user experience. Let's dive into both of these ideas in more detail.
Non-custodial wallet features
A non-custodial wallet provides you with full control over your crypto. With a non-custodial wallet, you are no longer dependent on third parties like exchanges to access or manage your funds. The responsibility is yours and yours alone.
As we've seen over the past several years, relying on centralized exchanges to hold your funds can be dangerous. Many users lost funds in the FTX debacle and other exchange-related losses and hacks. When someone else controls your keys, you are at their mercy and must trust them to hold your assets responsibly. With self-custody, you take on the responsibility for controlling your own assets.
That doesn't mean non-custodial wallets come without risks. With non-custodial wallets, it is vital to keep your private key(s) backed up and secure. If lost, your wallet may not be accessible, and you can lose funds permanently if you have no way to access.
Key features of non-custodial wallets:
- Private Keys: Cryptocurrency transactions are secured by cryptographic keys. A non-custodial wallet like zkBob stores your private keys on your private device, whether it's a computer or smartphone. Private keys are essential for signing and authorizing transactions.
- Personal Control: You have complete control over your private keys. You are not dependent on a third party, such as an exchange or a financial institution, to access or manage your funds.
- Security: Non-custodial wallets prioritize security by keeping private keys in the hands of the user. This reduces the risk of hacking or unauthorized access compared to custodial wallets, where private keys are held by a third party.
- Decentralization: Non-custodial wallets align with the basic principle of decentralization. Users can interact directly with the application on the blockchain, eliminating the need for intermediaries.
- Backup and Recovery: Users are responsible for securely storing and backing up their private keys. Losing access to these keys can result in permanent loss of funds. zkBob wallet users are prompted to create a backup phrase or mnemonic seed, which can be used to recover the wallet and its contents if the original private keys are lost.
As you can see, non-custodial wallets are all about personal responsibility and control over your own assets. You only need to trust yourself to manage your own assets.
Smart contract wallets
A smart contract wallet, on the other hand, extends a blockchain wallet's functionality. While you use your private keys to access the wallet, smart contracts determine how the wallet functions. Smart contracts automatically execute and enforce the coded functionality when specific conditions are met (for example when a transfer is requested from one address to another).
Different types of smart contracts wallets are designed with different functionality in mind. For example, the SAFE wallet is designed for multisig operations where several signatures are required to execute a transaction. With zkBob, smart contracts determine how deposits, withdrawals, and transfers are handled within a zero-knowledge pool.
Smart contract wallets are becoming more popular as user's needs evolve on the blockchain.
Key features of smart contract wallets:
- Automation: Smart contract wallets are capable of automating various functions and actions related to cryptocurrency management. They can be programmed to execute specific tasks automatically based on predefined conditions. For example, a smart contract wallet can automatically split incoming funds between multiple addresses, distribute dividends to token holders, or trigger certain transactions at specific times. With zkBob, transfers between wallets are rendered private thanks to zk proofs.
- Conditional Logic: Smart contract wallets can use conditional logic to determine when and how transactions or actions should be executed. Rules and conditions can be specific to each wallet. Conditions might include multi-signature requirements, time-based locks, or specific triggers based on external data or events.
- Enhanced Security: Many smart contract wallets incorporate advanced security features. For example, they can require multiple cryptographic signatures (multi-signature) from authorized parties to initiate transactions, adding an extra layer of security. With zkBob, security comes from private transactions which protect the sender and receiver.
- Programmability: Smart contract wallets are highly programmable, allowing developers to customize wallet behavior to suit their use cases. This programmability enables complex financial arrangements that can be entirely automated through smart contract code.
- Transparency and Auditability: Just like other smart contracts on the blockchain, smart contract wallets offer transparency and auditability. zkBob contracts have been audited and the code is open source for anyone to inspect. This transparency builds trust and accountability, as users can independently verify that the wallet is operating as intended.
With zkBob, smart contract functionality enables private transactions. When a user deposits their funds into their zkBob wallet, these funds are added to a zero-knowledge pool. Transfers within the zero-knowledge pool are then completely private. When a user withdraws from zkBob, they can send their funds to any wallet of their choosing.
Self-custody + smart contract functionality = zkBob
The self-custody aspect of zkBob means that the user controls private keys and can withdraw from zkBob at any time. When funds are deposited into the zkBob wallet, they are stored in zero-knowledge pool controlled by a smart contract. In this way, self-custody and smart contracts work together to provide user choice as well as enhanced functionality when making transfers on the blockchain.