Pages:
Author

Topic: Broadcast tx expiry time (Read 2063 times)

legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 08:39:41 PM
#22
thanks for the good advice G, i didn't know it was my client "remembering" the others about the transaction.
I should state that i used the android wallet to create that transaction, i don't personally have the ability to modify code like that, i wish.
I will do a reset on the damn thing and hope i get my coins back though.

Ah!  Please nag the authors of that software to implement the same anti-dos fee rules as are in the reference client. The rules in the client are there to protect the client from the network not processing it's transactions. Your experience is an example of this— sometimes people miss the importance of it simply because so few txn hit the mandatory fee rules (though subcent output ones always do).

I don't know what the resend policy is for that client. In the reference client it will remember transactions forever that it was a party to (which I'm sure the android one does too), and it will rebroadcast them after a random delay with a maximum of 30 minutes every time a block has been solved since the last rebroadcast without including them.


will do, thanks you guys, i know now that i have a chance getting those coins back yeah
staff
Activity: 4172
Merit: 8419
January 13, 2012, 08:26:24 PM
#21
thanks for the good advice G, i didn't know it was my client "remembering" the others about the transaction.
I should state that i used the android wallet to create that transaction, i don't personally have the ability to modify code like that, i wish.
I will do a reset on the damn thing and hope i get my coins back though.

Ah!  Please nag the authors of that software to implement the same anti-dos fee rules as are in the reference client. The rules in the client are there to protect the client from the network not processing it's transactions. Your experience is an example of this— sometimes people miss the importance of it simply because so few txn hit the mandatory fee rules (though subcent output ones always do).

I don't know what the resend policy is for that client. In the reference client it will remember transactions forever that it was a party to (which I'm sure the android one does too), and it will rebroadcast them after a random delay with a maximum of 30 minutes every time a block has been solved since the last rebroadcast without including them.
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 08:20:54 PM
#20
Well if that is true that is weird.  Almost every pool mines zero fee blocks (if they are valid zero fee transactions).  It is possible that somehow it never got transmitted (never made it to a pool due to network issues).  You may want to try deleting the transaction from the wallet and then doing a -rescan.

This isn't weird in the _slightest_. Though just about all nodes will happily mine normal zero fee txn, most will not mine zero fee bitdust transactions because they are indistinguishable from a DOS attack.  (And this protection being insufficient is what litcoin's chain grew from like 50 MB to about 400MB in a week or so).

Look again at the original post: "few sub-cent tx with no fees "

As far as forgetting them— the advice upthread is bad.   If you modify the wallet to make it forget about them and then leave it off for a bit,   other nodes will forget about the transaction on their own after a few hours— the memory pool has a finite lifetime.  They only remember it because the owner node keeps reminding them.

After the network has forgotten the transactions and your own node has been mindwiped,  you can respend the inputs just fine.  

Of course, modifying your wallet to remove the transactions is a big pain in the ass... but since the OP obviously modified his client software to get it to create this suspiciously-DOS-attack-like transactions which the client would have refused to generate without modification, he should have no problem trimming the wallet on his own.

Cheers.

thanks for the good advice G, i didn't know it was my client "remembering" the others about the transaction.
I should state that i used the android wallet to create that transaction, i don't personally have the ability to modify code like that, i wish.
I will do a reset on the damn thing and hope i get my coins back though.
staff
Activity: 4172
Merit: 8419
January 13, 2012, 08:00:42 PM
#19
Well if that is true that is weird.  Almost every pool mines zero fee blocks (if they are valid zero fee transactions).  It is possible that somehow it never got transmitted (never made it to a pool due to network issues).  You may want to try deleting the transaction from the wallet and then doing a -rescan.

This isn't weird in the _slightest_. Though just about all nodes will happily mine normal zero fee txn, most will not mine zero fee bitdust transactions because they are indistinguishable from a DOS attack.  (And this protection being insufficient is what litcoin's chain grew from like 50 MB to about 400MB in a week or so).

Look again at the original post: "few sub-cent tx with no fees "

As far as forgetting them— the advice upthread is bad.   If you modify the wallet to make it forget about them and then leave it off for a bit,   other nodes will forget about the transaction on their own after a few hours— the memory pool has a finite lifetime.  They only remember it because the owner node keeps reminding them.

After the network has forgotten the transactions and your own node has been mindwiped,  you can respend the inputs just fine. 

Of course, modifying your wallet to remove the transactions is a big pain in the ass... but since the OP obviously modified his client software to get it to create this suspiciously-DOS-attack-like transactions which the client would have refused to generate without modification, he should have no problem trimming the wallet on his own.

Cheers.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 13, 2012, 07:52:03 PM
#18
i think it's rather the second, i sent out a valid sub-cent transaction without including any fee, the change was 20 times more but i guess it doesn't matter. I sent the same amount again including a fee and it got confirmed in less than 10 minutes. So my coins are lost then ?

Well if that is true that is weird.  Almost every pool mines zero fee blocks (if they are valid zero fee transactions).  It is possible that somehow it never got transmitted (never made it to a pool due to network issues).  You may want to try deleting the transaction from the wallet and then doing a -rescan.
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 07:48:26 PM
#17
Eligius itself won't mine your transaction but they WILL relay it.  Eventually a zero-fee miner will pick it up.

This used to work when we had a decent number of solo miners.  I don't know how it'll turn out in the current age of million+ difficulty.

Any solo miner running unmodified bitcoind will reject the transaction.  His transaction isn't just zero fee it is considered invalid by the network (is zero fee when it SHOULD be higher fee, not just a zero fee that optionally didn't pay a fee).

i think it's rather the second, i sent out a valid sub-cent transaction without including any fee, the change was 20 times more but i guess it doesn't matter. I sent the same amount again including a fee and it got confirmed in less than 10 minutes. So my coins are lost then ?
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 13, 2012, 07:37:24 PM
#16
Eligius itself won't mine your transaction but they WILL relay it.  Eventually a zero-fee miner will pick it up.

This used to work when we had a decent number of solo miners.  I don't know how it'll turn out in the current age of million+ difficulty.

Any solo miner running unmodified bitcoind will reject the transaction.  His transaction isn't just zero fee it is considered invalid by the network (is zero fee when it SHOULD be higher fee, not just a zero fee that optionally didn't pay a fee).
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 06:27:41 PM
#15
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.

how would you do that with the standard client ? I have the output change coins locked too
use python wallet tools and manually remove the transaction

ok, i will try that

@Revalin what are trying to say man, pls be more specific, i already broadcast a transaction that doesn't confirm for almost a month...

I don't think he knows.  He is pointing you towards Eligus pool which accepts TX that are considered "invalid" by the rest of the network however they don't do it for free. If your transaction had no fee it will be rejected by the pool not for being invalid but for being cheap. Smiley

ahh got it, so a solution exists, send the tx again with a nice fee to a specific node, I only need to figure out how to really do it now

@Revalin now i'm confused, so you can't do it
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
January 13, 2012, 06:26:04 PM
#14
Eligius itself won't mine your transaction but they WILL relay it.  Eventually a zero-fee miner will pick it up.

This used to work when we had a decent number of solo miners.  I don't know how it'll turn out in the current age of million+ difficulty.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 13, 2012, 06:20:19 PM
#13
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.

how would you do that with the standard client ? I have the output change coins locked too
use python wallet tools and manually remove the transaction

ok, i will try that

@Revalin what are trying to say man, pls be more specific, i already broadcast a transaction that doesn't confirm for almost a month...

I don't think he knows.  He is pointing you towards Eligus pool which accepts TX that are considered "invalid" by the rest of the network however they don't do it for free. If your transaction had no fee it will be rejected by the pool not for being invalid but for being cheap. Smiley
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 06:06:11 PM
#12
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.

how would you do that with the standard client ? I have the output change coins locked too
use python wallet tools and manually remove the transaction

ok, i will try that

@Revalin what are trying to say man, pls be more specific, i already broadcast a transaction that doesn't confirm for almost a month...
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 06:04:43 PM
#11
You can resend the balance of that address to a new address.  The new transaction will be confirmed and the old one dropped.  Then you can send the coins from the new address.  Unfortunately that's all theoretical.  I'm not sure what software exists that would let you construct the double-spend.

Any client which has already seen the first transaction will not forward the "replacement".  It would see it as a double spend and reject it as a duplicate.

I guess if you modified your client AND sent it directly to a miner who used a modified version of the bitcoind so that it was included that might work.
Alternatively if you mine solo (or p2pool) you could simply mine it yourself.  Eventually you will solve a block right?

lol yeah, so if don't mine or have the chance to send it to a special miner my coins are really lost then. I would feel better to know a transaction expires sometime in the future, a year for example. Would not be considered a double spend because it didn't got confirmed in the first place and it isn't "spam dust" either because it's only one tx.
I learned my lesson though and i'm happy it didn't happen with a greater amount either. This could happen to allot of people that could send really small amounts if bitcoin appreciates a bit more, so 1 year can be a great time limit for unconfirmed tx's. What would be the chances to have this feature implemented by the dev team in the future releases ?
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 13, 2012, 05:42:00 PM
#9
You can resend the balance of that address to a new address.  The new transaction will be confirmed and the old one dropped.  Then you can send the coins from the new address.  Unfortunately that's all theoretical.  I'm not sure what software exists that would let you construct the double-spend.

Any client which has already seen the first transaction will not forward the "replacement".  It would see it as a double spend and reject it as a duplicate.

I guess if you modified your client AND sent it directly to a miner who used a modified version of the bitcoind so that it was included that might work.
Alternatively if you mine solo (or p2pool) you could simply mine it yourself.  Eventually you will solve a block right?
legendary
Activity: 2058
Merit: 1431
January 13, 2012, 05:37:27 PM
#8
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.

how would you do that with the standard client ? I have the output change coins locked too
use python wallet tools and manually remove the transaction
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 05:13:36 PM
#7
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.

how would you do that with the standard client ? I have the output change coins locked too
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
January 13, 2012, 05:11:51 PM
#6
You can resend the balance of that address to a new address.  The new transaction will be confirmed and the old one dropped.  Then you can send the coins from the new address.  Unfortunately that's all theoretical.  I'm not sure what software exists that would let you construct the double-spend.
legendary
Activity: 2058
Merit: 1431
January 13, 2012, 04:57:49 PM
#5
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
yes. but if no one accepted the transaction, there's nothing preventing you from reusing the same coinbase.
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
January 13, 2012, 04:19:11 PM
#4
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

they could get mined in a year for example ?
kjj
legendary
Activity: 1302
Merit: 1025
January 13, 2012, 03:45:49 PM
#3
There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.
Pages:
Jump to: