On Nov. 20, the Bitcoin Cash developer Awemany announced the first code proposal for a concept called Zero-Confirmation Forfeits (ZCF), a protocol that adds a layer of security to zero-confirmation transactions. The ZCF mechanism allows faster payments and is designed to reduce the risks involved with double-spend attacks.
For a while now the Bitcoin Cash community has bolstered the idea of zero-confirmation transactions, but proponents have also discussed the security issues involved with them. Just recently Awemany proposed the idea of ZCFs so people can test the possibilities of shielding transactions against double-spend attacks.
Awemany is the anonymous BCH developer who found the bug in the Bitcoin Core (BTC) client just a few weeks ago. Zero-confirmation transactions are basically transactions that have been broadcast to the network and are sitting in the mempool (transaction queue), but can still be accepted by users or merchants. Traditionally, services have had to wait for a single confirmation (or more), which means a transaction must be forged into the public ledger before settlement. The ZCF scheme proposed by Awemany involves using the new opcodes that were added to the code on Nov. 15. By using these opcodes, users can add a “forfeit to the transaction in an automated way” by adding a layer of security to the zero-confirmation transaction.
— BitcoinUnlimited (@BitcoinUnlimit) November 20, 2018
The Code Is Ready for Testnet Experimentation
and Miniscule Amounts of BCH
After discussing the idea at the Satoshi’s Vision conference on Nov. 20, Awemany released the preliminary code in order to execute ZCFs with the Electron Cash wallet. The developer stated that the mechanism can be used as a testing ground for developing the concept further and act as a possible reference implementation, so specifications can be added later. The proposal emphasized that the developer enjoys a “bottom-up approach of first writing code and then writing a specification that matches the code and all the pitfalls that were encountered writing it.” Right now the developer states there are four ZCF protocol schemes that work.
Awemany’s new protocol includes:
- Transactions that can be generated with a forfeit output. The forfeit output is currently set to 1.0 from the send transaction amount.
- Receiving transactions and extracting the forfeit amount, by checking for enough
- Display of forfeits in the transaction dialogue, history list tab and addresses tab
- Spending forward of the forfeits by assembling the right inputs to the P2SH forfeit contract
BCH Proponents Excited About
the Zero-Confirmation Solution
The developer has also explained that there are still bugs to iron out and the code needs a lot more polish. “Sometimes the value parser seems to miss the forfeits,” he explained. After sharing the code, he strongly emphasized that it “is by no means production ready.” However, programmers can experiment with the protocol using testnet or by using the main chain with a very small fraction of BCH.
The BCH community on Reddit has shown excitement toward the improvement of the concept and has congratulated the developer on the subreddit r/btc. Awemany seems pleased with the response and has since discussed the project further on the forum. He said there is still a lot to do in order for it to be more reliable for Electron Cash and other wallets. For example, the ZCF mechanism would be very “interesting for vending machines,” he explained. The BCH developer listed the work that still needs to go into the protocol and noted that any help would be “very much appreciated.”
What do you think about Awemany’s ZCF mechanism for zero-confirmation transactions? Let us know what you think about this subject in the comments section below.
Images via Shutterstock, Pixabay, and Jamie Redman.
At news.Bitcoin.com all comments containing links are automatically held up for moderation in the Disqus system. That means an editor has to take a look at the comment to approve it. This is due to the many, repetitive, spam and scam links people post under our articles. We do not censor any comment content based on politics or personal opinions. So, please be patient. Your comment will be published.