Instant payment.

2023-05-15

What is 0-conf?

0-conf is an existing utility layer in Bitcoin Cash that allows transactions to be accepted without confirmations, which facilitates payments and provides a convenient and instantaneous experience.

When a person uses Bitcoin Cash to pay for a good or service, especially in person, it can take up to ten minutes for the transaction to be included in a block. This is called confirmation. For example, a transaction that was included in the last block generated has one confirmation. One that was included three blocks ago has three confirmations.

As a transaction obtains confirmations, the chance of it being reversed decreases considerably, causing some services, such as exchanges, to require a certain number of confirmations before crediting the balance.

However, this does not mean that if someone pays for a coffee they have to wait on the premises until the payment has been confirmed. 0-conf gives greater assurance to the merchant that the payment cannot be reversed and that it will be included in the next block.

In addition, the merchant can make use of the received BCH instantly (also using 0-conf), so he does not have to wait for a confirmation before he can use it. Just like cash, only in digital form.

Still, it is worth noting that a merchant may decide not to accept transactions without confirmations, depending on the type of product or service he offers. It is completely voluntary.

How 0-conf works

Users, when making a transaction using a wallet, construct a transaction and sign it with the private keys corresponding to the Bitcoin Cash coins they are trying to spend. This transaction is communicated via the internet to the nodes and miners who maintain the security of the network. The miners check that the transaction is valid (complying with the consensus rules) and add it to the mempool, which is the memory space where transactions are waiting to be included in a future block.

Person paying.
0-conf enables secure and immediate payments.

If a malicious user, in an attempt to defraud a merchant, sends a new transaction spending the same coins, it will be rejected by most nodes, which are configured to not accept transactions that attempt to spend invalid coins or those that are already included within the mempool.

For this reason, since the incentive for honest miners is to include as many transactions in the blockchain to collect the fees these pay, new transactions without confirmation will most likely be included in the next block found.

Security

0-conf security is based on the Bitcoin Cash security system and is widely used by the vast majority of tools in the ecosystem. The operation is simple and **requires no configuration by the user.

In addition, in the May 2021 update, a security system known as DSProofs was included, which allows to generate and propagate throughout the network a cryptographic proof of double spending, allowing to more easily identify a double spending attempt in a fraudulent transaction.

On the other hand, the security provided by 0-conf is variable. It is natural to think that for a coffee or a hamburger a merchant accepting Bitcoin Cash will decide not to wait for a confirmation, accepting transactions as soon as their payment system detects them. A car or a house will require confirmations, but there is enough of a time lag for this not to be an issue.