Subject: Re: [Bitcoin-development] Trusted identities

From: Alan Reiner <[email-masked]>
Date: Thu, 26 Apr 2012 14:00:59 -0400

On 04/26/2012 01:30 PM, Peter Todd wrote:
>
>> More difficulty shortens the safe time we can transact large volumes in,
>> which is good for the network.
>>
>> I'm not sure of the current implementation of replacement transactions, can
>> anyone on the core team speak to this? Can I replace transactions, or is
>> that part of the spec unimplemented or deprecated right now?
> My understanding is it's completely disabled.

Went on a scavenger hunt with Gavin a couple weeks concerning tx 
replacement.  The conclusion was that if,
(1) Transaction has lock-time in the future  AND
(2) Transaction has non-maximum sequence number

Then the transaction will both propagate and be accepted into nodes' 
memory pools, but will not go into any block until locktime expires.  If 
the lock-time is in the past OR sequence number on all TxIns is 
0xffffffff, then it will be immediately valid and included in the 
blockchain.

But the actual "replacement" mechanism is disabled.  Therefore, the 
nodes accept the tx as if it's replaceable, but don't allow it to be 
replaced.  This means that it is effectively replaceable *once*, but 
only if you inject a final transaction into the blockchain.   You can't 
broadcast a final version of the same tx, because it will conflict with 
the non-final one sitting in all the other nodes' memory pools.  You 
need a miner to agree to remove the non-final tx from their memory pool 
and specifically include your replacement.

-Alan