If you have recently used Bitcoin to transfer money, you may realize that such a long waiting time for confirmation is really not suitable for use as a currency. If you want your transaction to be packaged in the next block, you have to wait for this The transaction is confirmed 1-6 times on the blockchain. The waiting time ranges from 10 minutes to 60 minutes. Bitcoin's transaction design was not originally like this. Before 2015, most Bitcoin transactions were instantaneous. This feature is called 0 confirmation means 0 confirmation of the transaction. At that time, using Bitcoin as a payment method is much more convenient than it is now. You only need to scan your mobile phone, and your transaction will be broadcast to the network and it's done. You don't need to wait for multiple confirmations. There is no need to worry about whether your own transactions will be packaged in the next block.
At that time, unconfirmed transactions can be trusted because the first broadcast transaction will be packaged in the next block. If someone tries to initiate a block A double-spending transaction means sending the same amount of money to the second address without confirmation. The second transaction will be ignored by the network. In this way, because of the loss of the ability to double-spend or cancel the transaction, the merchant can safely consider the transaction.
The transaction will definitely be confirmed in the next block and you don't need to wait for the instant transaction to be very reliable until the Bitcoin Core team decides to introduce the so-called fee market strategy to keep the block small and the fee will rise to what users are willing to pay for security. The upper limit of the fee is with the increasing transaction fees and full blocks. If your transaction fees are lower, your transaction may be stuck in the memory pool for several weeks. In order to solve this problem, Bitcoin core has added a new feature.
——Replace-By-Fee (RBF) This function says that it allows you to double spend your own transaction . The original intention of RBF is that when your transaction is stuck in the memory pool due to insufficient handling fees, you can pay higher The transaction fee is used to rebroadcast the transaction (replace the original one). This increases the possibility that the transaction will be packaged in the next block. Unfortunately, this approach ruins the 0 confirmation that there is RBF. When you use bits After purchasing a certain product, you can leave the store and rebroadcast a transaction with a higher handling fee to transfer the money back to your own address so that you get back the money left after deducting the miner’s fee, which forces the merchant to only Can trust transactions that have been confirmed by the blockchain. This is why we need to wait for a long time today. If Bitcoin develops into a stored value system rather than a currency, then the waiting time for confirmation will not be a problem, but for those who use Bitcoin daily For the people, the trouble was big, so the Bitcoin community split up.
Those who wanted to use Bitcoin as currency initiated a hard fork (BCH). The BCH branch removed RBF and expanded the block size so that 0 confirmations can still be used. Normal use. At present, 0 confirmation is still the most reliable and verified real-time transaction method on the decentralized blockchain. It is the same as most things in the cryptocurrency system. In theory, as long as you use sufficient resources, you can still find possible attack methods. Technically, even if RBF is removed, it is still possible to double spend a transaction. If you buy The problem is that most double-spending transactions of this type are not worth the gain (it is difficult for attackers to profit from it). Even so, you are on the BCH chain. Most of the 0-confirmation transactions performed are still very safe, but if you want to sell a Lamborghini or a luxury house to the cryptocurrency boss, you should wait for a few confirmations.