With all the hype surrounding Bitcoin and the blockchain technology, it’s clear that most people don’t understand how Bitcoin actually works. So I wanted to take this opportunity to explain Bitcoin and the blockchain in general. This initial article will serve as a broad overview of Bitcoin that will eventually lead to more and more detailed explanations about everything Bitcoin.
At the heart of Bitcoin is the publically assessable ledger that lists all transactions going back to the beginning of Bitcoin time. Each transaction is digitally-signed and include the to/from addresses and the amount of the transfer. New addresses are verified in blocks of 1 MB (megabyte) and appended to the ledger, so this ledger constantly grows, block-by-block and MB-by-MB. Currently, the ledger is over 136 GB (gigabyte) in size.
Note that the 1 MB block size limits Bitcoin somewhat, but there’s currently a Segwit2x hard fork in the works that will expand the block size to 2 MB (with some suggesting 8 MB). That should, at least in theory, help expedite transaction verification and lower transaction fees.
Anonymity undoubtedly drove the initial interest in Bitcoin, much to the concern of law enforcement. But this has always been a misconception, so let me set the record straight: Bitcoin is not anonymous; it’s pseudo-anonymous. Let me explain.
Because the ledger is publically available, all Bitcoin transactions are traceable, albeit with some complicating factors. That means that with enough interest or resources, anyone could see your purchases or trace a purchase back to you. The “pseudo-anonymous” part comes from the ledger only using addresses that are not directly tied to your identity. However, any exposure in the chain, such a deliveries or known purchase sources, could potentially expose your identity.
There are ways to ensure greater privacy and/or anonymity with Bitcoin, but really, it boils down to being careful not to reveal your true identity at any point in the process. That’s easier said than done, but not impossible.
Another source of confusion surrounds what Bitcoin coins, named as lowercase “bitcoins,” actually are. Although, sources far and wide refer to bitcoins as a type of coinage, they are in fact, just entries in a global ledger. No actual coins exist; the coins everyone, including me, refers to are really amounts specified in that transaction.
Referring to bitcoins as actual coins is convenient, because they share certain qualities. Namely, the amount of a transaction cannot be partially spent, much like you can’t spend half of a twenty dollar bill. Instead, you must give the full amount and receive change back, again like physical currency. For example, if you previously received 0.5 bitcoins (BTC) and wanted to send 0.1 BTC of that to another user, your transaction would be split into two: one that sends the 0.1 BTC to the another user and one to send 0.4 BTC back to yourself.
However, unlike real currencies, a bitcoin can use virtually any denominations, such as 0.0234 or 3.5682, which are instantly created as needed for change. They can also recombine during payments. For example, say you received three payments of 0.3 BTC for a total of 0.9 BTC; if you paid someone that 0.9 BTC to a single address, the result would be a single 0.9 BTC bitcoin.
The biggest stumbling block in adopting Bitcoin for individual users has mainly been the difficulty in getting started. But that’s quickly changing, such that it’s becoming just as easy as starting a normal bank account and moving funds. What you’ll need is a:
- Bitcoin wallet. Like a physical wallet, a Bitcoin wallet holds your private keys to use bitcoins which are recorded in the ledger. The wallet might be online (least secure), desktop or mobile software (reasonably secure with good practices), physical printout (more secure) or hardware (most secure).
- Bitcoin client. This is the interface that allows you to send or receive bitcoins. Online and software wallets typically have this function built-in. Hardware wallets usually offer software or interface with a software or online wallet, even if technically the private keys are only stored in the hardware. Printed keys can be imported into online or software wallets for use.
- Bitcoin exchange (optional). An exchange is where can buy or sell bitcoins. If you already have bitcoins, such as from donations or sales, and only wish to use bitcoin for product purchases, you don’t need an exchange account. However, if you don’t have bitcoins, you’ll need an exchange, such as Coinbase or LocalBitcoins, to buy some. Most exchanges include a client and online wallet, but you’re welcome (and encouraged) to use a more secure offline wallet instead.
Sending someone bitcoins is a fairly straight-forward process, but it’s not necessarily intuitive because transactions are not instantly verified and you’re not sending to an identifiable person. As an example, let’s say you find this article helpful and want to say thanks with a small donation:
- Using a client/wallet like Electrum, you enter the “Pay to” address (this is my real address): 13eAPi6Fp4785aPj7kVqBXGFmwvmekXGu6
- You enter the donation amount, paying close attention to the units used. By default, Electrum uses mBTC, which is 1/1000 of a bitcoin (BTC), so at the current rate, you enter 4.42 mBTC (or 0.00442 BTC), which amount to about $25.
- You optionally adjust the fee, keeping in mind if the fee is too low, it might take a long time (if ever) to get verified. Most clients automatically calculate a suitable transaction fee, but you can fine-tune it as necessary.
- Once you click Send, the transaction is signed with your private key and goes live for bitcoin miners to verify as part of a block of numerous transactions. Note that neither the private key nor the originating address identifies you directly, but if of course if it’s already associated with you (like posting it on a website like I did above), then the transaction would be easily traced back to you.
- More than likely, you don’t have an exact 0.00442 BTC bitcoin in your wallet, so you’d send a larger value coin with whatever is over the donation and transaction fee total being sent back to you as change. By default, Electrum creates a new address for change, which will appear in your wallet, but you can elect to have it sent back to your original address. However, using the same address for change makes makes the transaction more easily identifiable.
- The block of transactions, including yours, is then verified by miners. The first one to confirm it gets the transaction fees for all the transactions as well as newly minted bitcoins, which are added to the ledger along with your transaction.
- At that point, I receive the bitcoins and am eternally grateful. 🙂
Also note that unlike credit cards, PayPal and retailers, Bitcoin transactions can never be reversed. That means if you make a mistake, that money is gone forever, unless you somehow contact the recipient and he/she is willing to create a new transaction (with transaction fees) to send it back.
There will be multiple miners simultaneously working to verify the same block of transactions. They’re basically competing with one another to solve what’s called a “proof of work” computational challenge with only the first one to solve it getting paid. Over time, the payments average out, but it also means there’s massive energy expenditure in the process, so miners need compensation for their time and expense. To that end, miners have two monetary incentives to keep the blockchain alive and well, which I already mentioned earlier.
- New bitcoins. The first miner to solve the proof of work challenge is awarded new bitcoins. Currently, the reward is 12.5 bitcoins per verified block, but that amount halves every 210,000 blocks (or approximately 4 years). The next time the reward is halved again will be in 2020, which means miners will rely more on transaction fees then. In 2140, the last bitcoin will be mined and miners will be incentivized purely by transaction fees.
- Transaction fees. Virtually every transaction is accompanied with a variable transaction fee. The recommended fee depends on the size (in bytes) of the transaction which depends on the number of inputs and outputs. This is why spending micropayments usually results in higher fees, because you’re probably using several coins (inputs) during the transaction. Users also can fine-tune the amount offered, but that could affect the attractiveness of mining it, since miners can elect to filter out low fee transactions. Thus, if you set the fees too low, it might take considerable time (or never) before your transaction goes through. In some cases, however, you can add to the fee if the transaction is taking too long, so as to nudge miners to verify it.