Author

Topic: Transaction not showing in client.. can I send on a zero balance? (Read 909 times)

administrator
Activity: 5222
Merit: 13032
You can't send bitcoins without having detailed info about the transactions that sent them to you. The network works with transactions, not address balances. When you move BTC, you don't say, "I have access to this account, so check my balance and let me send the appropriate amount of BTC." You say, "I can prove that I received this transaction. I will redeem the BTC in it and disperse it in this way."

The intermediate solution is to download only headers for blocks that you know have no transactions to you. It should take only a few minutes for Bitcoin to get set up on its first run after this change. But you still need to download all of the future full blocks or you will miss transactions to yourself.

The long-term solution is to create some out-of-band way of discovering transactions to yourself. This could take the form of:
- An additional P2P overlay network that allows anyone to search for transactions to certain addresses and retrieve them with high reliability.
- Data sent directly from the sender to the recipient over the network or with a file. Additional extensions for retrieving Merkle branches would be necessary if both sender and recipient don't download full blocks.
- Centralized services like my http://blockexplorer.com/q/mytransactions page can be used to get all of the required data without downloading any blocks.

I find the sender-to-recipient method to be especially elegant. It makes intuitive sense that the sender of a transaction needs to give data to the recipient; some people are surprised that the current network doesn't require this. Merkle branches are only a few extra kB of data on top of the block headers, and they can be safely provided by centralized sources because they can't be falsified.
member
Activity: 118
Merit: 10
If there was a way of inserting an transaction into the blockchain with one's private key and avoiding having to download it, that would be awesome. (putting an additional row in the first link above so it looks like the second link) .. sort of like editing a file on github with its online editor.
full member
Activity: 216
Merit: 100
Block downloading can be really slow. At least on my OSX with FileVault on.

If I knew any C, I'd like to fix this myself.. Now the best I can do is to pledge 2 BTC for someone like JoelKatz to do it. Anyone else?
* rikur looks for the bounty thread
member
Activity: 118
Merit: 10
.... it just popped though with 25 confirmations.. great.

However, this is definitely a usability issue. What happens when lots of transactions are sitting in a client that hasn't been opened for a few weeks and a person then wants to quickly receive and send? Perhaps there could be a pause button on certain addresses or is that technically infeasible?
member
Activity: 118
Merit: 10
Hi there,

I recently made a transaction from Mt Gox to my local client a number of hours ago that has a zero balance, but the transaction is not appearing at all (and the balance is still zero):

http://blockexplorer.com/address/1EcgdoC5xo4iRrmp5veeWJ9KajMzTMYMKo

What has been happening in the client is that the blockchain has been increasing all the confirmations rapidly for the preexisting transactions because I haven't opened the client for weeks.

Is it possible to make another transaction even though the client balance is 0 as the wallet.dat should have the private key to access the above bitcoins?

Thus, another transaction for the above address would look something like:

http://blockexplorer.com/address/1N6iZJzVeDVAkMPnjFwcicZi9RvDDgFfYq

Anyone know why isn't the client showing the transaction after a few hours already? How long could it take? Does it have something to do with not opening the client for a few weeks?
Jump to: