Bitcoin can be use as payment.
Bitcoin Core (BTC) supporters argue that Bitcoin isn't meant to be used to buy coffee. They argue that the purpose of Bitcoin is to be a store of value rather than a currency. They claim that digital gold, not digital cash, exists.
Bitcoin Cash (BCH) supporters, on the other hand, believe Bitcoin is intended to be used as both a medium of exchange and a store of value. Proponents of BCH want their currency to be used to pay for coffee, meals, taxi rides, and anything else you can think of.
To properly answer this question, we must first explain some of the technical differences between BTC and BCH. The Bitcoin network forked on August 1, 2017, giving birth to Bitcoin Cash. This means that both BTC and BCH have the same identical transaction history from the genesis block to block height 478557, but any subsequent transactions are not shared by the two networks. The diagram below provides a good overview of the major forks that have occurred over the years:
Aside from having different transaction sets after August 2017, the real difference between BTC and BCH is that, while BTC kept its 1 MB block size limit, BCH increased it from 1 MB to 8 MB initially, and then to 32 MB, where it currently stands.
So, what is the significance of block size? When transactions are first broadcast to the network, they are "unconfirmed" and sit in a kind of "waiting area" known as the mempool until they are included in a mined block. They become "confirmed" and thus leave the mempool only after they are included in a block. The more blocks mined on top of the block in which a transaction is included, the less likely the transaction can be reversed. This is why most exchanges require several "confirmations" before crediting you with your Bitcoin.
Because BTC has smaller blocks and, for the time being, more transactions, there may not be enough space in the next block for all the transactions awaiting confirmation. This means that any remaining transactions will have to wait for a block with room to include them. As a result, the Bitcoin Core developers devised a "fee market" in which higher-fee transactions took precedence over lower-fee transactions. They put in new software called Replace By Fee (RBF). This way, if you send a BTC transaction during a period of high network traffic and the transaction fails to confirm, you can send the same coins in a different transaction but with a higher fee in the hope that it will be included in a block faster.
Consequently, RBF has a fatal flaw that effectively eliminates BTC's use case as cash. This is due to RBF's facilitation of what is known as a double-spend on the BTC network. Assume you're in a cafe and want to order some coffee. You make a transaction, which is recognized by the POS system, and you are immediately handed your drink. After you leave the store, you send a new transaction with the same coins but a higher fee, not to the cafe's wallet address but to one you control. Because of RBF, the higher fee transaction is included in the next block, while the lower fee transaction is dropped entirely. The funds are never received by the cafe, and you get to keep your coffee. This is referred to as a double-spend. Watch the video below to see how simple it is.
Because of the activation of RBF, BTC is no longer suitable as a cash method of payment, as you have just seen. An attacker could virtually double-spend a merchant at will. If you're a BTC merchant, you should wait for at least one confirmation to ensure your funds are secure, though no one wants to sit in a store for ten minutes (or more) just waiting for a payment to go through.
But there is some good news. Because Bitcoin Cash lacks RBF, it retains Bitcoin's use case as a cash. Instead, the network adheres to the "first seen" rule, which requires miners to accept the first transaction they see rather than the transaction with the highest fee. This makes performing a successful double-spend on the BCH network significantly more difficult. Merchants can accept transactions that have not yet been confirmed in a block relatively safely because they don't have to worry about customers leaving the store and replacing the transaction they just made with a higher-fee transaction. Transactions that have yet to be confirmed are referred to as zero-confirmation transactions (0-conf). Users can send and receive BCH instantly with 0-conf enabled, without having to wait for the transaction to be confirmed in a block.
Technically, it is still possible to perform a BCH double-spend. It's just that it's a lot more difficult. You'd have to send two transactions almost simultaneously and hope that the fraudulent transaction is the one that gets confirmed. However, if the attempted double-spend transaction is sent even a few seconds after the original, the chances of it being included in a block drop dramatically because the first transaction has already likely propagated throughout the network.
As a result, a merchant's point of sale system only needs to wait a few seconds to check the network and ensure that another transaction involving the same coins was not broadcast later. If they notice another transaction, they can simply decline the sale. Are you willing to take the risk that a bad actor has a 1 in 4,000 (.025 percent) chance of defrauding you if you sell $5 cups of coffee? Assuming that the majority of your customers are regular people who are not attempting to defraud you with highly technical software, the likelihood of being cheated is orders of magnitude less than.025 percent.
Perhaps this isn't what you were hoping to hear. Perhaps what you wanted to hear was that 0-conf on BCH is completely safe, but the reality is that no transaction can ever be guaranteed to be completely safe. Even with confirmed transactions, the network could theoretically be rolled back, undoing previously mined blocks. As a result, the real question is how much risk you are willing to take in your business. If you're trying to sell a house for $1 million, you should probably wait for a few confirmations before finalizing the sale. However, if you're selling cups of coffee, instant 0-conf transactions should be safe.
In summary, while BTC's 10-minute confirmation time makes it unsuitable for cash payments, the same rules do not apply to BCH, which was designed to be used as cash for everyday payments, a store of value, and, one day, a unit of account.
Having said that, the BCH protocol developers are still working on ways to improve 0-conf security, so that the risk of accepting unconfirmed payments will be even lower in the future.