About Business Deals And Transactions
Doing business is a tricky matter. Usually two sides, both with an interest in getting as much as possible while losing as little as possible, will sit down and make a deal. Usually, 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.
Sometimes though, 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. However, such an arrangement requires a massive amount of respect and trust in your business partner, as 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 Translate Onto Bitcoin?
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.
At a recent “Satoshi’s Vision Conference”, Tom Harding discussed Native Respend Resistance, an idea that works within Bitcoin Cash specifically to reject double spend attacks, or respends as he calls them. According to Harding, Respend Relay is the key to this, through digital wallets issuing an alert when a respend is detected. It does this by simply hesitating before confirming the transaction, when the transaction is picked up, the network will be monitored for a short amount of time to ensure no respends occur, if this is the case the payment is accepted, otherwise, it’s rejected.
Harding also discusses how this idea has stemmed from a comment by Satoshi in 2010, referred to as the ‘snack machine’ comment. This refers to the problems that come hand in hand with fast transactions, one of which is the mentioned ability to duplicate transactions temporarily, to fool nodes into accepting respends.
Harding is highlighting that there is still a risk within Bitcoin Cash, in that zero-confirmation transactions that are in limbo, can lie as potential respends. Giving more incentive to miners to prevent these transactions from making it through the blockchain does seem like the only viable solution, a statement initially proposed by Hal Finney in 2001, according to Harding’s talk.
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.
When you decide to invest in cryptocurrency, remember the rule of “Trust, but Verify”. Zero confirmation transactions can be quite useful but they can cause you a lot of headache 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. Also keep in mind the reputation of the seller, as word tends to spread fast about these folks. The only way you can ever fully trust a seller if it’s yourself.