There are a number of ways to explain bitcoin. A lot of posts and blogs explain bitcoin in a non-technical manner. It uses terms as ‘decentralized’, ‘sign’ and ‘blockchain’ without explaining exactly what they are talking about. As a result, people have a hard time understanding these basic concepts and hence bitcoin. They therefore don’t seem to understand the real value behind bitcoin.
In order to understand what bitcoin is about, you have to get acquainted with basic notions of cryptography. Don’t worry, it isn’t difficult. The worst ways to explain cryptography to rookies is dry text. Next video explains exactly what you need to know.
What you have to remember is the fact that you can use ecryption to sign a message with your private key. Your public key can be used to verify a signature. Because only you have the private key, only you could have signed that message.
This kind of scheme is used all over the internet. When you log into your email client or social network or when you want to do a wire transfer.
How is bitcoin different?
Most fiat currencies are controlled by a central bank. This means that the supply (the amount of money) can change over time. Money just adds another layer of bartening at the exchange of goods. Instead of exchanging a laptop for 1000 apples, you’ll exchange that laptop for money so you can buy 1000 apples when it suits you. In essence, everything can be considered money. But some forms of money qualify better as such. There are four basic characteristics on which a candidate for money must satisfy: durability, divisibility, transportability and noncounterfeitability. Fiat currencies have issues with durability and noncounterfeitability. Because of the various actions by central banks worldwide, the value of fiat is very questionable. The moneysupply of various currencies have been seriously inflated.
Most fiat currencies are quite easy to counterfeit and therefore the central banks continuously have to issue new versions of their currency. Some might even say that printing of money by central banks is another level of counterfeiting. One could disagree on this fact in a transparent system. 1Central banks are not transparent. The problem is rather that it is very hard, even impossible to use alternative currencies. Either way, you have to pay your taxes in the currency that is issued by the government.
Bitcoin does a much better job at all the above properties than fiat currencies. Therefore bitcoin is a better form of money. The supply of bitcoins is limited, which means that the value of bitcoin is mostly decided by the demand side.
Bitcoin is not issued or controlled by a central bank. Instead, bitcoin is controlled by a protocol, just like email and html are controlled by a protocol.
How does bitcoin work?
In bitcoin, the public key is the bitcoin address. It is derived from a private key, which will give you access to your bitcoins. When you open your bitcoin wallet for the first time, a new private key will automatically be generated for you. The person who has the private key in their possesion, can sign transactions. Everytime you want to do a transaction, you enter the receiver of the transaction (this can easily be done by scanning a QR code or even by wireless protocols), the amount of bitcoins you want to transfer and you sign this message with your private key. This message is broadcasted over the internet. Because your public key is added in the transaction, the signature can easily be verified. Of course this system alone would be an empty box. There is no cohesion in the system. How does someone receive bitcoins if there is no central authority involved? How can you make sure that the balance of someone changes when a transaction is made? In essense, bitcoin brings a solution to the Two Generals’ Problem. The solution bitcoin offers is what makes this technology extremely interesting.
Bitcoin transactions are stored in a chain of transaction blocks, also called the blockchain. A block consists of transactions that are made during a certain time period. In the bitcoin protocol, such a block is released roughly every 10 minutes. In order to make sure that a hacker just don’t spam blocks all around the internet with his own transactions, a block must be the result of a complex computation.
Every computer in the network is involved in a race to find a certain hashresult. To find a block, pure luck is involved. The more computing power you have, the higher the chance you find the right hash. Every time a hash of the correct form is found, a block is released and chained behind the previous block. Each block contains the hash of the previous block. This way, the blockchain gets expanded.
Assume you are a client. How do you know which blocks are honest and not broadcasted by an attacker? The beauty of the bitcoin protocol is that you don’t know this. But the chances of this happening are extremely low. Why? Simply because the bitcoin protocol makes sure that clients trust the longest chain. If you trust the longest chain of blocks, you trust the majority of the computing power. Although it is possible that an attacker accidently finds a block, it is very unlikely. That is why it is common to wait at least a certain amount of blocks before a transaction is accepted. (If an attacker has 1% of the computing power, there is 0.01^6 chance the attacker will find 6 blocks in a row.) In that case, the attacker can fool a merchant by doing a double spend attack, which means blocks are issued that contain ‘fake’ transactions that will not be present in the real blockchain. Later, when more honest blocks are found, the fraud will be discovered and the receiver will lose their coins. In practice this problem can be dealt with through insurance (similar to credit card insurance), trusted addresses or longer wait times for expensive items. Either way, pulling of an attack is quite expensive in general and therefore not worth it. Furthermore, the attacker loses all its trust.
Obviously, calculating all those hashes will cost you electricity and hardware. People are not willing to do this for free. This is why a decentralized blockchain does not work without bitcoin. The blockchain without bitcoin is just a centralized database. This is why rewards are awarded to the node that finds a block. The first transaction in a block is a special transaction. It starts with a new coin owned by the finder of the block. This is also how bitcoins are issued.
Once and a while, the rewards are halved. Over time, the network will switch over to fees as incentive for ‘mining’, assuring that only 21 million bitcoins will ever be mined.
Because of the rewards, it is always more profitable to play by the rules, because attackers will never be rewarded with coins. The blocks they might produce will, in the end, never be part of the blockchain.
Please note that there are no restrictions on the contents of a block other than that the block needs to contain valid transactions. It is possible for a miner to release empty blocks and ignore all incoming transactions. Remember that there is no central authority! That’s why it is recommended to include a very small transaction fee, because miners are greedy. The fee will go the the miner that finds the block. For transactions that are not urgent, you can leave out the fee but it can take an unknown amount of time before the transaction will be confirmed.
The network won’t accept malicious transactions as long as more than 50% of the miners are honest miners (because they will create the longest chain over time). This means that transactions are validated with a democratic majority vote. Greedy miners will always try to validate as much transactions as possible, since they usually contain fees. This might lead to two ethical problems.
- Bitcoin can be used for ‘criminal activity’. This might be activity that should not be criminal in the first place, like the sale of drugs or guns or business with people in countries that are ‘banned’ by international organizations (read: the US) like Cuba or Iran. But it might also include the financing of terrorism.
- Another problem is the total other way aroud. It’s government interference in the mining process. This requires the majority of the mining power to be in the hands of the government. This can only be done with a serious investment. This is because under ‘perfect market conditions’, mining will generate no profit or loss. If it would create profit, more miners will enter the system. If it would create a loss, miners will flee the system. This is a simple free market principle. If the price of bitcoins stays stable, an equilibrium is reached. Therefore, governments can gradually increase their share in the bitcoin hashing power. This will happen at a quite serious loss, but since basically everything the government does happens at a loss, I guess that this is not really an issue.
The latter is obviously much more harmful than the former. Simply because this form of government interference disturbs the marketplace without achieving anything. Illegal activity can always shift towards other cryptocurrencies (the so called ‘alt coins’) that do offer true anonymity. Anything that is possible in cryptocurrencies is in essence also possible in cash, except for transactions that happen between two persons on different sides of the world. Furthermore, tax money is wasted.
Luckily, this is difficult to achieve, mainly because of political reasons. Bitcoin is an international phenomenon. Which government will be in charge? Either way, one entity that buys up massive amounts of bitcoin mining equipment will not go unnoticed.
One might argue that bitcions are worthless because there is a large amount of alternative cryptocurrencies available, which have similar properties as bitcoin. Most of them are simple copies of the bitcoin protocol, with just minor changes (like shorter release times of a transaction block). Therefore, there are an unlimited supply of coins, and thus bitcoins are worthless.
This kind of argument is silly. Assume you are a payment processor. Are there any reasons to accept bitcoin alternatives? It gives no benefit and it will only cost you more to maintain your payment system. The fact that alt coins have the same properties is actually an argument against them. There is no reason to use them, except for media attraction. Furthermore, there is something called the network effect. It’s something that also happens in social media. Everyone subscribes to a service, because most people are already subscribed to that service although there are most likely services that do a much better job. It exceptionally creates a market generated monopoly. (Most monopolies are caused by government.) Why dealing in alt coins if no one accepts it?
Working in a pool
Every miner in the network is involved in a race to find a the next block. The chances that this happens are very low, the rewards are significant. If you don’t have a lot of hashing power, there is a risk that you never find any block. Finding a block is like winning the lotery. Low chances with high rewards. If you have a lot of hashing power, this doesn’t really matter. The chances of finding a block are much larger.
Miners with low hashing power can decide to try to find the next block together, called a pool. If such a block is found, the profit is divided equally amongst all the participants. Over time, the rewards associated with mining will correlate very good with the hashing power.
This obviously increases the chances that a 51% attack can be successful.
All transactions need to be confirmed by the mining algorithm. It is vital that a block can be verified by all the participants of the bitcoin network. Therefore, all transactions have to be public. This might lead to privacy problems. A lot of times, misinformation is spread by the mainstream media that bitcoin is anonymous. It’s actually the opposite. Once you can connect a bitcoin address to an identity, all anonymity disappears. Therefore, bitcoin is pseudonomous. The more bitcoin will be used, the easier it will be to connect identities to addresses and transactions.
There is something you can do against this; there is nothing that prohibits you to continuously exchange bitcoins with other participants. This is called coin mixing. There are a number of these services avaiable. One of the interesting tools that are being developped is Dark Wallet. Although this is out of the scope of this article, the interview with of one of the developpers might be an interesting read.
Another privacy problem is the use of thin clients. Most people are only interested in their own bitcoin balance and therefore don’t need to download the whole blockchain, which is currently 25GiB. A thin client can connect to nodes that have the whole blockchain and check their balance that way. That node will inevitably know the bitcoin address of the thin client.
You can read the whole whitepaper for more information, but I think this post covered most of it.