Bitcoin Forum
April 26, 2024, 03:44:15 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: Broadcast tx expiry time  (Read 2061 times)
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 02:04:14 PM
 #1

Hi ppl,

I would like to know if a timeout mechanism for broadcast-ed transactions exists or is implemented somehow. Nothing related on wiki, or i'm too stupid to find it.

I made a few sub-cent tx with no fees and they got stuck for over a month already and they were "old" coins too. I would like to re-send those with a fee associated so it doesn't happen again but the client wouldn't let me and they still exist on the network as "unconfirmed" tx's.

Any help appreciated

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
1714103055
Hero Member
*
Offline Offline

Posts: 1714103055

View Profile Personal Message (Offline)

Ignore
1714103055
Reply with quote  #2

1714103055
Report to moderator
1714103055
Hero Member
*
Offline Offline

Posts: 1714103055

View Profile Personal Message (Offline)

Ignore
1714103055
Reply with quote  #2

1714103055
Report to moderator
Transactions must be included in a block to be properly completed. When you send a transaction, it is broadcast to miners. Miners can then optionally include it in their next blocks. Miners will be more inclined to include your transaction if it has a higher transaction fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 07:09:39 PM
 #2

no one knows something about this... ?

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
January 13, 2012, 07:45:49 PM
 #3

There isn't any mechanism for this.  You really do have to wait for the old spends to get mined.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 08: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 ?

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
January 13, 2012, 08: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.

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
Revalin
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500


165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


View Profile
January 13, 2012, 09: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.

      War is God's way of teaching Americans geography.  --Ambrose Bierce
Bitcoin is the Devil's way of teaching geeks economics.  --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 09: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

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
grue
Legendary
*
Offline Offline

Activity: 2058
Merit: 1431



View Profile
January 13, 2012, 09: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

It is pitch black. You are likely to be eaten by a grue.

Adblock for annoying signature ads | Enhanced Merit UI
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 13, 2012, 09: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?
Revalin
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500


165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


View Profile
January 13, 2012, 09:48:23 PM
 #10

https://en.bitcoin.it/wiki/Free_transaction_relay_policy

      War is God's way of teaching Americans geography.  --Ambrose Bierce
Bitcoin is the Devil's way of teaching geeks economics.  --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 10: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 ?

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 10: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...

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 13, 2012, 10: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
Revalin
Hero Member
*****
Offline Offline

Activity: 728
Merit: 500


165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


View Profile
January 13, 2012, 10: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.

      War is God's way of teaching Americans geography.  --Ambrose Bierce
Bitcoin is the Devil's way of teaching geeks economics.  --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 10: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

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 13, 2012, 11: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).
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 13, 2012, 11: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 ?

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
January 13, 2012, 11: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.
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 14, 2012, 12:00:42 AM
 #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.
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 14, 2012, 12:20:54 AM
 #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.

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4158
Merit: 8382



View Profile WWW
January 14, 2012, 12:26:24 AM
 #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.
paraipan (OP)
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
January 14, 2012, 12:39:41 AM
 #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

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!