Doing business is not easy. Usually two sides, both with an interest in getting as much as possible while losing as little as possible, will make a deal. This deal will be sealed with a contract (or some other form of documentation) which prevents one of the parties from breaking the deal and taking everything while giving back nothing.
However, sometimes business can be arranged with a simple handshake. The advantages of a handshake are various: it’s simple, fast and costs the deal-makers nothing. Such an arrangement requires a massive amount of respect and trust in your business partner, because you will have no official record of what the terms of your deal were. Generally your partner will fulfill his part of the deal, but sometimes your trust can turn out to be misplaced. You could be left with a partner that doesn’t want to deliver on what he promised. As you haven’t officially confirmed the deal on paper, you will not have any grounds to sue the partner if he potentially breaks it.
How does this apply to Bitcoin (BTC)?
Every Bitcoin transaction is basically a business deal between two parties. For it to become a valid business deal, it needs to be added to Bitcoin’s blockchain. Every 10 minutes a new batch of transactions is packed into a block and added to the Bitcoin blockchain. Typically, exchanges and merchants require that a transaction gets at least 6 confirmations before considering it valid. These 6 obligatory confirmations can be viewed as the “contract” which ensures every transaction on the blockchain is valid.
On the other hand, zero confirmation transactions are transactions that haven’t had any confirmations yet. In a zero confirmation transaction, the person receiving Bitcoin doesn’t want to wait for the entire process of 6+ confirmations to go through. Similarly to a handshake, the transaction depends almost entirely on trust. The seller must have the utmost belief that the buyer will uphold his end of the bargain.
Zero confirmation transactions are sat in the Bitcoin mempool, a network of nodes that hold all unconfirmed transactions. Technically, any transaction that is broadcast to the network for the first time is a zero confirmation transaction. After that initial broadcast, the transaction can wait for a few seconds or for much longer before it receives its first confirmation. Usually a transaction with higher transaction fees is more likely to be confirmed before those with lower fees. After all, the miners want to earn from their work as well. Once an actual zero confirmation transaction is included onto the blockchain it becomes a transaction that has a single confirmation.
Some miners, exchanges and other members of the Bitcoin community are vary of these transactions.
The first reason is the fear of a double spend attack. A malicious player could potentially create two zero confirmation transactions, broadcast them at the same time and have them accepted before anyone is the wiser. However, since the transaction window is too small and the costs of creating double transactions most of the time outweigh the benefits, it is unlikely that such attacks will ever happen.
The second reason are the bad actors that could take control of a significant amount of hash rate and start mining on a forked chain and produce orphaned blocks. An orphaned block is a valid block that isnt a part of the main chain. Sometimes two miners can produce blocks at similar times or an attacker with enough hash can hit the network and attempt to reverse the transactions. In our scenario, the attacker begins a forked block chain and broadcasts a transaction which sends Bitcoins to an address of his choice. With enough hashing power he can outperform the actual Bitcoin blockchain and make it obsolete, having his own fork take over as the main Bitcoin chain. Zero confirmation transactions would be at a huge risk in case of an attack like this one. This is a form of 51% attack that is also very unlikely to happen, as the costs of it are simply too high for anyone to attempt it.
If you start investing in cryptocurrency, remember the rule of “Trust, but Verify”. Zero confirmation transactions can be quite useful but they can cause you problems as well. Also be on the lookout for pushy crypto sellers, sellers who claim to urgently need money, and other scam tactics when buying crypto. Keep in mind the reputation of the seller. The only way you can ever fully trust a seller if it’s yourself.