Author

Topic: Bitcoins I Can't Spend (Read 2289 times)

donator
Activity: 826
Merit: 1060
May 09, 2011, 05:56:10 AM
#10
It appears to me that you can't use a non-standard script unless you also create the block the transaction goes in.

The Eligius pool will put non-standard transactions into its blocks for a small fee. You also need to run a modified Bitcoin client to generate those non-standard transactions.
full member
Activity: 327
Merit: 124
May 09, 2011, 04:57:11 AM
#9
2. transactions with a non-standard script.

I noticed in the code that scripts are now restricted to two standard templates, one in which the sender supplies the public key and the receiver supplies the sig, and one in which the sender provides an address, and the receiver supplies a sig and public key.

It appears to me that you can't use a non-standard script unless you also create the block the transaction goes in.

Is this understanding correct?

vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
May 08, 2011, 11:38:45 PM
#8
What constitutes "complexity?"

1. transactions with lots of inputs (transaction record takes lots of bytes, example, you received a hundred bit pennies from mining in separate transactions and are spending them all at once)

2. transactions with a non-standard script.  All normal transactions come with a script, which is the instructions to the "next guy" for unlocking the coins in the future - the script calls for a matching public key and signature for the address you just sent to.  But all sorts of other things are possible - like sending coins that require two, or three, or any two out of three, or other odd combinations of addresses.  These would be complex transactions.
full member
Activity: 327
Merit: 124
May 08, 2011, 01:32:08 PM
#7
OK - I guess it works now.  The balance is computed correctly.  When I brought up the new client, it apparently rebroadcast a wallet transaction from before to transfer the 0.03 BTC to a new address, which had been stalled in the previously broken client.  Some clever person apparently changed the code between versions to not display transactions until they had at least one confirmation, so this didn't show up for 10 minutes.

That made the 0.03 BTC recently received funds, which is why it complained when I tried to send the whole 0.05.

Thanks for your help.


full member
Activity: 327
Merit: 124
May 08, 2011, 12:34:14 PM
#6
Hmm.  When I try to send the 0.05 bitcoins to another one of my addresses, the client complains with

"This transaction requires a transaction fee of at least 0.01 because of its amount, complexity, or use of recently received funds."

Have new transaction fees been added?  What constitutes "complexity?"

full member
Activity: 327
Merit: 124
May 08, 2011, 12:28:30 PM
#5
I don't understand what can cause the symptoms you describe, but could you try with 0.3.21?

0.3.21 computes the balance correctly.  I will try to send my 0.05 bitcoins to a new address.  Are the miners running the improved code?

legendary
Activity: 1072
Merit: 1181
May 08, 2011, 11:52:22 AM
#4
The way inputs are selected changed somewhat in 0.3.21. Before, either all or none of the outputs of a particular transaction were used, and the client had no concept of a particular output being used already or not.

I don't understand what can cause the symptoms you describe, but could you try with 0.3.21?
full member
Activity: 327
Merit: 124
May 08, 2011, 11:44:41 AM
#3
Which version of the client are you using?

Bitcoin version 0.3.20.2 beta
OS version Windows XP (build 2600, Service Pack 3)

legendary
Activity: 1072
Merit: 1181
May 08, 2011, 11:36:44 AM
#2
Which version of the client are you using?
full member
Activity: 327
Merit: 124
May 08, 2011, 11:22:25 AM
#1
I discovered Bitcoin a few weeks ago, and have read the paper and the source code of the official client.

While playing with my 0.05 faucet bitcoins, and familiarizing myself with the protocol, I managed to get myself into some sort of deadly embrace in which I cannot do anything with my remaining unspent outputs.

In block 122026, in transaction 73, I claim an output of 0.05 bitcoins, and send 0.02 and 0.03 to address 1A8TY7dxURcsRtPBs7fP6bDVzAgpgP4962.  In transaction 123 of the same block, I claim the 0.02 output from transaction 73, and send two outputs of 0.01, again to 1A8TY7dxURcsRtPBs7fP6bDVzAgpgP4962.

That gives me three unclaimed outputs, of values 0.03, 0.01, and 0.01, for a total of 0.05.

The first odd thing is that the official client displays my balance as 0.02 bitcoins, not 0.05.  If I restore an old wallet with just keys in it, and let it rescan the block chain, it again computes the same incorrect balance of 0.02 bitcoins.  The top two transactions displayed are out of temporal order, showing the split of 0.05 into 0.03 and 0.02 as the most recent, with the 0.02 into 0.01 and 0.01 after it.

The second odd thing is that the client lets me spend these 0.02 bitcoins without decreasing my balance, over and over again, and the transactions just sit there in perpetuity with zero confirmations forever.

Any transactions I generate involving these three outputs are accepted by my client as valid, and are broadcast over the network, but never get included in a block, even after days of waiting.

The private key for address 1A8TY7dxURcsRtPBs7fP6bDVzAgpgP4962 is, as a decimal integer,

62914421751202395784887832168971429678493304086217746188800433854666065869728

The associated public key is

04
9ba39856eec011b79f1acb997760ed9d3f90d477077d17df2571d94b2fa2137b
f0976d786b6aabc903746e269628b2c28e4b5db753845e5713a48ee7d6b97aaf

Any ideas as to what is happening here?







Jump to: