LearnBitcoin

Bitcoin Dev Archive 2015

Are Instant Confirmations safe?

2 messages, 18 Mar 2015. Started by Dennis Sullivan.

Dennis Sullivan, Natanael

Permalink Original thread on gnusha.org

Dennis Sullivan permalink original

Hello. This is my first time posting to this list. I wanted to ask your opinions on something relating to confirmation times.

I recently read about a "transaction locking" proposal which claims to make it possible to accept 0-conf transactions with guarantee they will get mined. This seems rather dubious to me, because if there was merit to the system, I would have already expected to see discussion on this list regarding it.

The scheme operates as follows:

As implemented into Darkcoin, an InstantX transaction is broadcast spending certain outputs. Certain nodes determined deterministically will sign a message which is relayed across the network locking this tx in mempool such it's inputs cannot be double spent. All nodes are instructed to reject any conflicting transactions and flush out any existing txs in the mempool that conflict with this "locked" tx. From this point onwards, the network will refuse to relay double spends and will also reject blocks that contain a conflicting tx thus forcing miners to play ball.

The idea is once a transaction receives a "consensus lock" across nodes in the mempool, the tx will eventually get mined as there is no way it can be double spent and no way a miner can mine a double spend of the consensus locked transaction. At the very least, this seems like it could be turned in on itself to fork the network because of the ability to cause blocks to be rejected. I am sure there is an attack vector there somewhere.

A full explanation is published in this paper: https://www.darkcoin.io/wp-content/uploads/2014/09/InstantTX.pdf

Dennis

Natanael in reply to Dennis Sullivan permalink original

Den 18 mar 2015 23:38 skrev "Dennis Sullivan" <dennis.jm.sullivan@gmail•com

Quoted text (3 lines)
>:
>
> Hello. This is my first time posting to this list. I wanted to ask your

opinions on something relating to confirmation times.

Quoted text (2 lines)
>
> I recently read about a "transaction locking" proposal which claims to

make it possible to accept 0-conf transactions with guarantee they will get mined. This seems rather dubious to me, because if there was merit to the system, I would have already expected to see discussion on this list regarding it.

Sounds like it would be weak to sybil attacks (deterministically choosing my own nodes sounds great!), and of course Finney attacks (single-block reversal) and defecting miners (what are you gonna do, punish miners with limited network connectivity as well? You'll risk forking the network).

Zero-conf is only safe if nobody's actively trying to attack you. It has no inherent security in and of itself. For low values the risk is usually tolerated. For large values there's too much risk of making yourself a target.