Pages:
Author

Topic: Transactions which spend coinbase outputs early - page 2. (Read 3166 times)

member
Activity: 88
Merit: 12
What happens if a transaction is submitted that spends a coinbase output early?

Is the transaction just placed in the orphan pool and potentially lost by the time the timeout ends?  In theory, they should be higher priority than normal orphans, since they are guaranteed to be valid eventually.

I don't think they are guaranteed to be valid eventually. For example, it could be the case that the first block in which the coinbase becomes spendable (so 100 blocks after the block it is mined in) sends the funds it to a different address than the one you saved in your mempool.

AFAIK, the current invariant of the mempool is that all the transactions could be gathered up into one big block (assuming the 1 MB restriction doesn't apply). This would have to change to allow relaying of prematures coinbase spends. The block building code would have to take this into account as well, making sure it doesn't build a block that will be invalid.

I like the idea of being able to use this for things like award pool payouts immediately after a block is solved, though.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
If you spend the coinbase output twice, then the 2nd one wouldn't be relayed, as it is a doublespend.

Yes - good point - so nice to have a topic with smart people rather than just ad sig posts (but I guess they might be about to follow).
legendary
Activity: 1232
Merit: 1094
Interesting - as a potential attack vector it wouldn't be so easy but I'd guess it still could be such a potential if the txs were relayed wouldn't it?

I don't think it is any easier than other transactions.  In effect, it would be a part of the memory pool with a height restriction.  If you spend the coinbase output twice, then the 2nd one wouldn't be relayed, as it is a doublespend.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Does the node just drop it though?  It could be placed in the orphan pool and then added to the memory pool once the timeout has expired (and thus relayed).

Interesting - as a potential attack vector it wouldn't be so easy but I'd guess it still could be such a potential if the txs were relayed wouldn't it?
legendary
Activity: 1232
Merit: 1094
It is an invalid txn.  It won't be relayed or included in a block by default.  If a miner did include it in a block then the block is invalid.  Similar to a txn with a future nlocktime.

Does the node just drop it though?  It could be placed in the orphan pool and then added to the memory pool once the timeout has expired (and thus relayed).
donator
Activity: 1218
Merit: 1079
Gerald Davis
It is an invalid txn.  It won't be relayed or included in a block by default.  If a miner did include it in a block then the block is invalid.  Similar to a txn with a future nlocktime.
legendary
Activity: 1232
Merit: 1094
What happens if a transaction is submitted that spends a coinbase output early?

Is the transaction just placed in the orphan pool and potentially lost by the time the timeout ends?  In theory, they should be higher priority than normal orphans, since they are guaranteed to be valid eventually.
Pages:
Jump to: