A cryptocurrency wallet is a device, physical medium, program or a service which stores the public and/or private keys for cryptocurrency transactions. In addition to this basic function of storing the keys, a cryptocurrency wallet more often also offers the functionality of encrypting and/or signing information. Signing can for example result in executing a smart contract, a cryptocurrency transaction (see “bitcoin transaction” image), identification or legally signing a ‘document’ (see “application form” image).
Technology of Cryptocurrency Wallet
- Private and public key generation
A crypto currency wallet works by a theoretical or random number being generated and used with a length that depends on the algorithm size of the cryptocurrency’s technology requirements. The number is then converted to a private key using the specific requirements of the cryptocurrency cryptography algorithm requirement. A public key is then generated from the private key using whichever cryptographic algorithm requirements are required. The private key is utilised by the owner to access and send cryptocurrency and is private to the owner, whereas the public key is to be shared to any third party to receive cryptocurrency.
Up to this stage no computer or electronic device is required and all key pairs can be mathematically derived and written down by hand. The private key and public key pair (known as an address) are not known by the blockchain or anyone else. The blockchain will only record the transaction of the public address when cryptocurrency is sent to it, thus recording in the blockchain ledger the transaction of the public address.
- Duplicate private keys
Collision (two or more wallets having the same private key) is theoretically possible, since keys can be generated without being used for transactions, and are therefore offline until recorded in the blockchain ledger. However, this possibility is negated because the theoretical probability of two or more private keys being the same is extremely low. The number of possible wallets in any cryptocurrency cryptography is slightly less number of than atoms in the universe, a number so high that duplicating or hacking a certain key would be inconceivable.
- Seed phrases
In modern convention a seed phrase is now utilised which is a 12 to 24 word and greater word phrase that is an unencrypted form of the private key in dictionary word format which is simpler to remember then a encrypted cryptographic key in another string format. When online, exchange and hardware wallets are generated using random numbers a seed phrase is asked to be recorded by the user, so that when access to the wallet becomes misplaced, damaged or compromised, the seed phrase can be used to re-access the wallet and associated keys and cryptocurrency.
- Wallets
A number of technologies known as wallets exist that store the key value pair of private and public key known as wallets. A wallet hosts the details of the key pair making transacting cryptocurrency possible. Multiple methods exist for storing keys or seeds in a wallet.
- Crypto wallets vis-à-vis dapp browsers
Dapp browsers are specialized software that sustains new generation decentralized applications. Dapp browsers are considered to be the browsers of Web 3.0 and are the gateway to access the decentralized applications which are working based on blockchain technology. That means all dapp browsers must have a unique code system to unify all the different codes of the dapps.
While crypto wallets are focused on the exchange, purchase, sale of digital assets and support narrowly targeted applications, the browsers support different kinds of applications of various formats, including exchange, games, NFTs marketplaces, etc.
Technical specifications of different browsers may or may not include features such as:
- Full support for all modern Web2.0 technologies;
- Built-in Ethereum mainnet/testnet RPC, fully compatible with Web3.0;
- Built-in Ethereum wallet (using smart contracts);
- Dapp naming support