In the realm of Storing Bitcoins, it’s essential to understand that they are often associated with digital wallets. However, it’s a common misconception that merely copying your wallet would result in the doubling of your bitcoin holdings.
You may hear that bitcoins are stored in wallets. If this were true, then if you copied your wallet, you’d own double the number of bitcoins. Clearly you couldn’t have digital money that works this way. So no, bitcoins are not stored in wallets.
STORING BITCOINS
So where are bitcoins stored? Well, ownership of bitcoins is recorded on Bitcoin’s blockchain, which is, as we have seen, the database replicated on over 10,000 computers around the world containing every Bitcoin transaction ever. So, you can look at that database and see that at this time, a specific address has a specific number of bitcoins associated with it. For example, the blockchain would store the fact that the address 1Jco97X5FbCkev7ksVDpRtjNNi4zX6Wy4r had had 0.5 BTC sent to it,
and that those 0.5 BTC have not yet been sent elsewhere. Bitcoin’s blockchain doesn’t store balances of accounts (it is not a list of account numbers and corresponding BTC balances), it stores transactions. So, to get the current balance of any account, you need to look at all the inbound and outbound transactions through that account.
Bitcoin wallets store private keys (not bitcoins!) and their software makes it easy for the user of the wallet to see how many coins they control and to make payments. If you cloned your wallet, you would be cloning your private keys, not doubling your bitcoins.
Software Wallets and Storing Bitcoins
Bitcoin wallets are apps that can at least:
- Create new Bitcoin addresses and store the corresponding private keys
- Display your addresses to someone who wants to send you a payment
- Display how many bitcoins are in your addresses
- Make Bitcoin payments
Let’s explore each of these capabilities.
Address Creation
Creating new Bitcoin addresses is an offline operation and involves creating a public and private key pair. You can do this, if you like, using dice 141. This is different from any other account creation process where you must ask a third party to create an account for you, for example asking your bank or Facebook to assign you an account.
- Step 1: Generate some randomness and use it to pick a number from 1 to 2256-1. This is your private key.
- Step 2: Do some maths on it to generate a public key.
- Step 3: Hash your public key twice to create your Bitcoin address.
- Step 4: Save the private key and its corresponding address.
So, you assign yourself an address without asking or checking with anyone to see if it already taken. This sounds scary. What if someone else has already chosen your private key? The short answer is that this is extremely unlikely. 2256 is a big number, 78 digits long, and you can pick any number up to that. Your chance of winning the UK lottery is 1 in 13,983,816—which only has eight digits. A number with seventy-eight digits is astronomically large.
In theory someone could deliberately generate millions or billions of accounts per second and check them for coins to steal, but the number of valid accounts is so humongous that they’d be doing it forever before finding a single account that has been used before. In practice, however, weaknesses can exist, and they rely on exploiting flaws in the random number generation for the private keys. If there is a flaw in the randomness when generating your private key, this flaw could be exploited to reduce the search space for a thief.
Address Display
When someone wants to send you bitcoins, you need to tell them your address—like telling someone your bank account number so they can send you money. There are a few ways to do this. One popular way is by showing it as a QR code.
Example Bitcoin address: 1LfSBaySpe6UBw4NoH9VLSGmnPvujmhFXV
Equivalent QR code:
QR codes are not magic. They are just text, encoded in a visual way that makes it easy for QR code scanners to read the code and convert it back into text.
Another way is just to copy and paste the address itself.
Account Balance and Storing Bitcoins
The wallet like MetaMask wallet needs to access an up-to-date version of the blockchain in order to be aware of all the transactions going in and out of the addresses it is keeping tabs on. The wallet, software can do this by either storing the entire blockchain and keeping it up to date (this is called a full node wallet) or by connecting to a node elsewhere which does the heavy lifting (this is called a lightweight wallet).
A full node wallet would contain over a hundred gigabytes of data and would need to be constantly connected over the internet to other Bitcoin nodes. So, in many cases, especially on mobile phones, this is not practical, so the wallet software is lightweight and connects to a server which hosts the blockchain. The wallet software on the phone asks the server ‘What’s the balance of address x?’ and ‘Please give me all the transactions related to address y’.
Bitcoin Payments
As well as reading the account balances, the wallet needs to be able to make payments. To make a Bitcoin payment, the wallet generates a bundle of data called a ‘transaction,’ which includes references to the coins that are going to be spent (transaction inputs consisting of unspent outputs of previous transactions), and which accounts the coins will be sent to (new outputs). We saw this in an earlier section. This transaction is then digitally signed using the relevant private keys of the addresses holding the coins.
Once signed, the transaction is sent to neighboring nodes, via its server node if it is a lightweight wallet, or directly to other peers if it is a full node wallet. The transactions eventually find their way to miners who add them to blocks.
Bitcoin payment transaction fee
It’s important to note that when making a Bitcoin payment, there is a transaction fee involved. This fee is paid to the miners who process the transaction and add it to the blockchain. The fee amount can vary depending on the network’s congestion and the urgency of the transaction. The wallet software usually includes an automatic fee calculation feature that determines the appropriate fee based on current network conditions. However, users can also manually adjust the fee amount if they want to prioritize the speed of their transaction.
Another important consideration when making Bitcoin payments is ensuring that you’re sending funds to the correct address. Bitcoin addresses are long and complex, and there’s no way to retrieve funds sent to an incorrect address. That’s why it’s essential to double-check the address before sending any funds. Some wallets also include a feature that allows users to save commonly used addresses to avoid errors.
In summary, making Bitcoin payments involves generating a transaction that includes the coins to be spent and the recipient’s address. The transaction is then signed with the relevant private keys and sent to the network, with a transaction fee paid to miners. Ensuring the accuracy of the recipient address and the appropriate transaction fee are crucial when making Bitcoin payments.
Securely Storing Bitcoins: An Overview of Private Keys and Hardware Wallets
When it comes to storing your Bitcoins, it’s essential to prioritize the security of your private keys. Private keys are essentially the password to your Bitcoin wallet, and they enable you to access and manage your funds. That’s why it’s recommended to use a hardware wallet to keep your private keys safe. A hardware wallet is a physical device that stores your private keys offline, making it much more difficult for cybercriminals to access them. This is considered to be one of the most secure ways to store your Bitcoins.
However, it’s important to note that hardware wallets can still be vulnerable to physical damage or loss. That’s why it’s essential to keep your hardware wallet in a secure location, such as a safe or safety deposit box. Additionally, it’s crucial to have a backup of your private keys stored in a secure location in case something happens to your hardware wallet. Some hardware wallets provide a seed phrase that can be used to recover your private keys in case of loss.
You should also consider purchasing a hardware wallet from a reputable manufacturer and dealer. Research and compare different models to find one that meets your needs and budget. Once you have a hardware wallet, you’ll need to set it up by creating a PIN code and following the manufacturer’s instructions. Be sure to keep your PIN code in a secure location and never share it with anyone.
In conclusion, storing your Bitcoins securely requires a combination of hardware wallets, secure locations, and backup plans. By following these best practices, you can help ensure that your Bitcoins are protected and that you have access to them when you need them.
CONCLUSION
storing bitcoins securely is essential to protect your investments and maintain control over your digital assets. To do so, it’s important to consider several key factors, including choosing a reputable wallet provider, protecting your private keys from unauthorized access, using a hardware wallet for long-term storage, backing up your wallet and private keys, and staying informed about the latest best practices for storing bitcoins. By keeping these considerations in mind and taking appropriate measures to secure your bitcoins, you can minimize the risks associated with cryptocurrency ownership and maximize the potential benefits.