Alan Reiner [ARCHIVE] on Nostr: 📅 Original date posted:2012-04-26 📝 Original message:On 04/26/2012 01:30 PM, ...
📅 Original date posted:2012-04-26
📝 Original message: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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20120426/ad9ce2e4/attachment.html>
📝 Original message: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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20120426/ad9ce2e4/attachment.html>