Table of contentsAbstractIntroductionFunctions of bitcoin walletsTypesLightning bitcoin wallets Open and close source walletsWallet Bitcoin Improvement Proposals (BIP)AbstractBitcoin wallets are apps or hardwares that contain software that generate private keys and public keys, the private keys are keys to unlock funds (bitcoin) stored on blockchain, it also generates public keys which generates bitcoin addresses that are used for receiving and sending funds. I classify bitcoin wallets into three, according to the means of access, private keys management and how it generate private keys. There are some bitcoin wallets that was developed to support lightning network which make transaction fast at low fees. Some bitcoin wallets are also either open source or close source which depends on their source codes availability to the public or not. Lastly is the bitcoin improvement proposals that was accepted by developers in generating seed phrase, private keys, public keys and bitcoin addresses.
IntroductionSome people do not know what bitcoin wallet is, some say bitcoin wallet are used to store bitcoin. Is this right? No. So, what is bitcoin wallet? Bitcoin wallets are not for bitcoin storage, bitcoin are stored on bitcoin blockchain, the blockchain ledger are updated by miners. Bitcoin wallet only control access to the bitcoin by means of private keys, it is used for creating and signing of bitcoin transactions. So, with the use of wallet, you can access your bitcoin that is stored on bitcoin blockchain through the private keys created and stored on the bitcoin's wallet. Private keys are used to unlock funds from the blockchain.
Functions of Bitcoin wallet1.
Generation of private keysBitcoin wallets consist of a random number generator called cryptographically secure pseudo-random number gerenator (CSPRNG), this random number generator is used to generate the seed, the seed is used to generate the private keys. The private key is the used to access funds stored on bitcoin blockchain.
https://www.athenabitcoin.com/news/2018/4/9/how-to-use-a-paper-walletThe image above an example of a private key, it is personal and should not be revealed to anyone because it can be used to hijack the whole wallet or bitcoin from multicurrecies wallets.
2.
Generation of public keysThe public keys are generated from private keys, and after the public keys are generated, it is used to generate the bitcoin addresses. Bitcoin addresses is genrated from public keys, the private keys can be stored offline, in which the bitcoin addresses are generated from public keys, this makes the private key safe.
https://github.com/bitcoinbook/bitcoinbook/blob/develop/images/mbc2_0512.pngThe image above is an example of public keys, if reveled to anyone, the whole transaction history can be known.
3.
The wallet control access to users bitcoinWith the use of private, the bitcoin wallet control access to bitcoin that is stored on bitcoin blockchain, the address generated can be used to send certain amount needed by the owner of the wallet to another wallet, it is used to automate payments.
4.
Wallets is used to create and sign transactionsDuring sending of bitcoin to a recipient, the bitcoin wallet is used to create the transaction and also in signimg the transaction, if the transaction is not signed, it can not be completed, but wallets do this automatically aside few cases.
TypesTypes according to private key managementIn this case, there are two types, the custodial and the non-custodial wallets.
The custodial walletsIn this kind of wallet, the user has no private key, the wallet provider will have the key and stored the coins on cold storage, they only provided users with addresses. We can say the users have no coin stored on blockchain but only with their wallet provider, users can access the wallets with the use of email and passwords, example of such wallets is coinbase.
Non-custodial walletsThese are wallets that provided users with private keys, it also comes with seed phrase. The seed phrase is BIP39 and will be explained in short details below, in a true non-custodial wallet, no email is required and the seed phrase is used for wallet recovery, exampls are elcteum, bitcoin core, atomic, coinomi, ledger nano, trezor and keepkey.
Types according to the means of accessThere are wallets you can access through the web, phone or desktop apps and through wallet hardwares. There are two types:
Online/hot walletsOnline wallets are wallets that are connected online, their private keys are not stored offline, this makes them more vulnerable to hackers, they are not safe and secure like cold wallets, there are three types of online wallets:
Web walletsThis type of wallet is accessed through the web, you can connect to the website/site either through browsers on phones or computers. A good example is coinbase web wallet.
Mobile walletsThese wallets apps can be downloaded on the official sites of the wallet provider, it can be downloaded on app stores too but not advisable. Common, atomic and enjin wallets are good example. Some desktop wallets also have mobile wallets, examples are electrum and exodus wallet. Because people use phones more than computers, some wallets that are desktop also are having the mobile app available too now.
Desktop walletsThese wallets like bitcoin core, electrum, exodus, copay and armoney make use of computer applications, the application of the respective wallets are installed on computers.
Offline/cold storage In these type of wallets, the private keys are stored offline, and the addreses are generated in a secure way from the public keys in which the private key can not be hacked, but some can contain security vulnerabilities that can result to hack. They are the safest means of storing bitcoin and other cryptocurrencies. There are two types:
Paper walletBitcoin can be stored on papers but the paper can deteriorate over time, the paper could also be burned, it is difficult to access but some people still go for the security and safety because it stored private key offline. Paper wallets have one private key and an address which makes it not good for frequent transactions and it is not easily accessible.
Hardware walletGood examples are ledger nano, trezor, keepkey and airgapped devices they are a little expensive but worth their prices, it is still more easy to use than paper wallet. For storing high amount of bitcoin, it is highly recommended.
https://www.buybitcoinworldwide.com/wallets/ledger-nano-s/Three good examples of hardware wallets, Keepkey at the left, ledger nano at the middle while trezor at the right side.
Types according to keys generationAccording to how private keys are generated, there are two types of wallets:
Non-determistic walletsThe private keys this type of wallets contains are randomly geneated, all the private keys generated must have a back-up, which means you must keep the copies of all the private keys generated, if the wallet is not frequently back up, the funds on the private keys that are not back up will be lost if the wallet is inacceable. The first bitcoin wallet, bitcoin core is a good example.
Determinstic walletsThese wallets contain private keys that are generated just from a single seed, the wallet also generate many addresses from just a single private key or public key, the common type today are called hierarchical deterministic wallets. So, this makes it easy to use many addresses that only needs one private key back up unlike non-determistic wallet in which only one private key can generate one address.
Lightning bitcoin wallets Because of high transactions fee of bitcoin, another means of transaction at low cost and faster transaction time was implemented, it is called layer 2 known as off-chain bitcoin network commonly called bitcoin lightning network. Two user will have to run a channel by connecting their nodes together through their lightning bitcoin wallet before making transactions. Blue wallet, wallet of satoshi, phoenix and bitcoin lightning Wallet are common examples.
Note: Before using bitcoin lightning wallet, you will need to move certain amount of desired bitcoin from the blockchain to the off-chain network. To know more about lightning bitcoin wallet, there are articles about it on this forum:
https://bitcointalksearch.org/topic/a-beginners-guideline-to-bitcoin-lightning-network-5202798https://bitcointalksearch.org/topic/basics-of-the-lightning-network-4940536 Open and close source walletsSoftwares are made of source code while app are softwares, apps are made of source codes, all wallets are made of softwares. Source codes are either open source or closed source, so there are two types of wallets according to the source code, open source and close source wallets. Open wallets souce code are accessible to the public in which public have access to remove bugs, malware and other security issues making the wallet to function appropriately, but in a close source wallets, the source code is not accessible to the public. There is an article about open and close sources wallet on this forum:
https://bitcointalksearch.org/topic/do-beginners-know-what-closed-open-source-wallets-are-5244810Wallet Bitcoin Improvement Proposals (BIP)BIP (32, 39,43, 44) are wallet bitcoin improvement proposal that were accepted by developers and are used in HD wallet creation.
BIP32/43. There are still other ones like the one used to create segwit addreses, and the one used in making transactions but this ate the basic ones to write about for now.
BIP32/43 Rhis represents hierarchical determinstic (HD) wallets in which many private keys can be derived from a single seed, and the private keys derived can still be used to derive children private keys and the children keys can derive grandchildren keys, this happens in form of a hierarchy. The BIP43 defines the HD wallet as a multipurpose wallet.
BIP39This represents mnemonic code words known as seed phrase, the words are generated in a process before private keys are generated, this words can be imported, exported or back up on a shit of paper and used for wallet recovery.
BIP44A bitcoin wallet can be made in such a way it can have two separate wallets that support bitcoin, but most are made to support bitcoin and other cryptocurrencies like ether and litecoin. So, BIP44 represents multiaccount wallets or multicurrency wallets.
Conclusion These are just few facts about bitcoin wallets, and many things are not yet revealed, some people thinking bitcoin wallets are for saving bitcoin, this is wrong, bitcoin is stored on blockchain, and wallet stores the private keys that are used to unlock the bitcoin from bitcoin blockchain.