Zero confirmation, a process enabling fast crypto transactions, is once again the talk of the town after Keys4Coins enabled Bitcoin Cash zero conf deals.
The talk of high-speed cryptocurrency transactions has once again been reborn after an announcement on June 29 stated that crypto-exclusive game store Keys4Coins has enabled zero confirmation transactions for Bitcoin Cash (BCH).
Zero confirmation crypto-transactions are deals through which the seller provides the goods without waiting for verification from the miners that the buyer has sent the digital payment. Crypto enthusiasts have found the idea useful for small-value and day-to-day transactions because both Bitcoin and Bitcoin Cash—two of the biggest digital currencies—take around 10 minutes or more to record transactions into their respective blockchains.
However, the premise of zero confirmation transactions relies on the buyer being honest. Since the transaction is yet to be recorded, the buyer can use the spent coins on a separate deal before miners could write the transaction into the blockchain.
The probability of buyers double spending might scare off users and market participants from utilizing zero confirmation technology. However, a developer pointed out that the speed that zero confirmation transactions offer is crucial to small everyday transactions.
Mike Hearn, former Google software engineer and Bitcoin contributor, argued:
“There’s a school of thought that says if something cannot be done perfectly, maybe it should not be done at all. The problem is that in the entire history of money there have been no fraudless payment systems, ever. Bank wires get reversed, credit cards are charged [etc.]. If people were being routinely protected from imperfect payment systems they would be unable to trade at all. So in practice all trade involves double spending risk and businesses learn how to manage that risk with acceptable overheads.”
As the crypto world grows larger, different developers in both Bitcoin and Bitcoin Cash’s histories have presented different ways to minimize the chances of double spending. One of the most famous, and widely accepted, was Satoshi Nakamoto’s 10-second proposal.
Satoshi’s 10 Seconds
Back in July 2010, a Bitcointalk user asked in a thread how a customer could buy a snack quickly from a vending machine using Bitcoin without waiting for a couple of minutes before the transaction can be confirmed. While most of the forum members pointed towards zero confirmation, they are wary that there is a room given to the buyer to double spend.
Answering the thread, Satoshi Nakamoto—the father of Bitcoin—presented a proposal in which a vending machine can finish a crypto transaction within 10 seconds.
“The network nodes only accept the first version of a transaction they receive to incorporate into the block they’re trying to generate. When you broadcast a transaction, if someone else broadcasts a double-spend at the same time, it’s a race to propagate to the most nodes first. If one has a slight head start, it’ll geometrically spread through the network faster and get most of the nodes.”
The famous developer illustrated his example by counting the number of nodes that accept the transaction per second. At the first second, transaction A (TrxA) is received by one node. After another second, a double spend transaction B (TrxB) is received by another separate mode. However, at the same time, the first node has broadcasted TrxA into every possible direction—increasing the number of nodes who accepted the transaction to a total of four.
Satoshi continued the example by multiplying the number of nodes for both transactions by four. The result showed that, since TrxB was late even by just a second, TrxA had already affected a great majority of the nodes. In this example—before, during, and after 10 seconds—that majority was 80 percent all throughout.
“The payment processor has connections with many nodes. When it gets a transaction, it blasts it out, and at the same time monitors the network for double-spends. If it receives a double spend on any of its many listening nodes, then it alerts that the transaction is bad. A double-spent transaction wouldn’t get very far without one of the listeners hearing it. The double-spender would have to wait until the listening phase is over, but by then, the payment processor’s broadcast has reached most nodes, or is so far ahead in propagating that the double spender has no hope of grabbing a significant percentage of the remaining nodes.”
Satoshi, however, admitted that his proposed idea was just good enough, rather than impermeable. The technology was not capable of implementing a flawless zero confirmation system.
Zero Conf Transactions with Bitcoin Cash
While developers continue to build safeguards to minimize the chance of a double spend, different merchants have already enabled zero confirmation transactions for the convenience of their customers. In addition, they have added their own security protocols to avoid becoming victims to a double-spend attack. One most recent example is the aforementioned Keys4Coins, which just recently announced that it has started accepting zero confirmation Bitcoin Cash transactions.
Keys4Coins, in an announcement, said:
“We are happy to announce Bitcoin Cash 0 confirm payments is now enabled! That means your transactions will now be faster than lightning. Experience order completion and delivery [within] seconds of making payment. We already have 0 confirm for most of our coins on Keys4Coins. However some require additional security checks to avoid double spend… If you paid enough fee for us to be confident enough order will be complete.”
Crypto casino SatoshiDICE also utilizes zero confirmation for all of its transactions. The Bitcoin Cash-only gaming site compares the transactions of players before placing a bet and before awarding the winnings. If the comparison discovers a conflict—a double spend, for instance—the site will not reward the player.
SatoshiDICE further explained:
“Bets are evaluated as soon as the client picks up the broadcast. This is safe because it always builds the answering transaction with the output of your bet transaction. This means a blockchain that does not contain your bet cannot contain the site’s answer. You place a bet by sending bitcoins to one of the addresses listed in the bet options table. SatoshiDICE sees this, evaluates win or lose and generates a return transaction. If you win, your bet is multiplied by the prize multiplier and that amount is sent back.”
Bitcoin Cash is currently valued at US$731.09, very different from May’s US$1,700.