Wallet Management for Game Studios
What is Wallet Management?
Developing a blockchain-based game involves managing funds and in-game operations. Key aspects include:
- Receiving royalties from asset sales
- Managing game token liquidity pools
- Minting ERC721 and ERC1155 assets
Why is Secure Wallet Management Important?
Ensuring secure processes for web3 wallets is crucial to protect your funds and avoid hacks that can affect game economics, risking the playability of your game.
How to Ensure Secure Wallet Management
Never Store Private Keys or Seeds
Private keys or seeds should never be stored on your computer as they allow access / recovery of your wallet. Store them securely, and if choose to back them up, using encrypted backups like externally encrypted drives or secure password managers (e.g., 1Password).
Use Hardware Wallets
Hardware wallets enhance security by requiring physical approval for transactions, providing an extra layer of protection for your digital assets. Vendors such as Ledger and Trezor offer reliable hardware wallets for secure cryptocurrency storage. To maintain optimal security, always protect the physical device and regularly audit access to your wallet accounts. Additionally, avoid purchasing second-hand wallets as they may have been compromised or tampered with, posing a significant risk to your funds.
Hardware wallets are highly recommended for storing valuable assets such as prized NFTs or significant amounts of cryptocurrency. Ideally, interactions with hardware wallets should be minimal to maintain their security integrity. Due to their offline nature and requirement for physical interaction, these wallets are often referred to as "cold wallets." While they offer the highest level of security, it's important to note the trade-off: access speeds are slower compared to online wallets, prioritizing protection above convenience.
Recommended Usage:
- Securely storing large amounts of cryptocurrency
- Conducting infrequent transactions or executing smart contract operations, such as deployments
Providers:
Use Multi-Signature Wallets
Multisig wallets are smart contract wallets deployed and residing on the blockchain. They require a quorum of approvers before transactions can be executed, enhancing security. These wallets also offer useful features such as setting transaction limits, freezing accounts, whitelisting addresses, and implementing social recovery mechanisms. However, a significant drawback is their susceptibility to vulnerabilities in the underlying smart contract code.
Providers:
Use AWS KMS or Other Cloud KMS Solutions
AWS KMS can generate cryptographic key pairs, specifically private/public key pairs using the ECC_SECG_P256K1 curve, suitable for use on the Ethereum blockchain. Utilizing AWS KMS for signing transactions is recommended for daily operations that prioritize speed over the more time-consuming approval processes associated with hardware wallets or multisig setups. Additionally, AWS KMS ensures that private key material remains unretrievable, adding another layer of security.
Security of AWS KMS is inherently managed through AWS IAM policies, allowing for granular permission controls and audit capabilities. To maintain security, limit access to AWS KMS strictly to individuals and services that genuinely require it.
Providers:
- AWS Key Management Service
- GCP Key Management Service
- Azure Key Vault
Key Usage and Management
Administrative keys for contracts must be distinct and separate from operational keys. Administrator keys should be closely safeguarded and exclusively used for administrative functions. In contrast, operational keys, such as those employed in minting in-game assets, should be entirely separate. This distinction is crucial because operational keys often reside in less secure environments than administrative keys, increasing the risk of compromise.
Example Scenarios for Wallet Usage
Scenario | Recommended Wallet |
---|---|
Treasury wallet storing majority of funds | Multisig wallet (3 out of 5 quorum) |
Programmatic signer | AWS KMS or similar provider |
Deploying smart contracts as admin | Hardware wallet |
Admin functions on smart contracts | Multisig wallet (3 out of 5 quorum) |
Emergency operations requiring fast SLAs | Multisig wallet (2 out of 10 quorum) |
Example: Wallet Management and Usage
The following example illustrates a straightforward scenario of a player purchasing an in-game item that could represent an NFT. This example demonstrates the potential execution and transaction flow when utilizing Immutable Products. Of note are the boxes indicating different types of wallets and their respective roles within the system.
- AWS KMS (Wallet): Signs transactions in the backend. Frequently accessed; stores no funds.
- Hardware / Multisig Wallet: Receives funds from player purchases.
Summary
Secure wallet management is essential for blockchain game developers to protect their funds and ensure the integrity of their in-game economies. By following best practices and utilizing secure wallet solutions, developers can safeguard their assets and maintain the trust of their players.
If you need any further assistance or have any questions, please reach out to us on Discord.