Bitcoin mining algorithm

I was looking at some sample mining algorithms and also some sample code and there was something which I didnt really understand. In Simple bitcoin mining algorithm he says ,
The simplest miner would work like this:

The simplest miner would work like this:

     1. Request a new [Getwork][1] from a given pool/bitcoind with specified credentials
     2. For nonce=0;nonce<0xFFFFFFFF;nonce++
     - Set Getwork Data nonce
     - SHA-256 hash the Getwork Data ([block header][2])
     - Check if hash result is smaller than Getwork Target, if so, submit a share
     - If more than 1 second passed since you received Getwork, stop the loop
     3. GOTO: 1

What I dont understand is step 2, part 4. Lets consider the above script is connected to an FPGA through a uart port. Wont I wait until the FPGA actually finds a valid nonce and submits the none through the UART line? Why would I exit out of the loop after 1 second and then go through the entire process again. This doesnt make sense to me because then the fpga has only a few seconds to increment the nonce for the given work and it then moves on to the next piece of work? How is this even realistic since even if the same work is submitted again it will go through the same loop and will end up doing nothing productive. What error am I making here? Sample code that I am talking about:

https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner/blob/master/projects/Verilog_Xilinx_Port/sources/software/miner.py does the same thing. It says golden.wait(timeout) instead of just calling golden.wait() and blocking till a nonce is found

Installed bitcoin-qt and Tor, allowed firewall, Tor connects, but Bitcoin doesn’t

I did these things but Bitcoin still says 0 connections. What’s the problem?

  1. Windows 7 32bit. Installed bitcoin-qt

  2. Installed Tor Browser bundle

  3. I allowed all local outbound connections in my firwall (remote connections allowed only for Tor, for bitcion they’re forbidden).

  4. Run bitcoin.exe and enabled SOCKS proxy 127.0.0.1 on port 9050.

  5. Exit bitcoin.exe, run Tor Vidalia, wait till it say “Connected to Tor”

  6. Run bitcoin-qt.exe

  7. Wait, wait, wait… 0 connections. In Resource Monitor I see only Tor connects to the internet. Bitcoin doesn’t connect anywhere.

Please help.

Import wallet.dat into a new Bitcoin-Qt client

I had Bitcoin-Qt on my computer with several bitcoins in my wallet, using Vista. Then my computer crashed. Finally I was able to get my computer fixed and download a new version of Bitcoin-Qt. Now I would like to import my original wallet.dat from the old client which was encrypted into an new version of Bitcoin-Qt. How do I do that?

How to remove private keys from wallet.dat and create “receive only” wallet?

I want to create a wallet for monitoring incoming transactions. So it should be receive only wallet that will be place on hosting, that is potentially not secure. If I understand it well, this won’t allow attacker to stole funds if server is compromised. How I can create such a wallet with only public keys? And can I inject private keys later to spend from that wallet from a secure machine?

Mining pool hashrate effect on a miner’s income

Newbie miners have many misconceptions about how the hashrate of the pool they mine in will affect their mining income.

If a big miner joins the pool there are some unhappy miners who think that now they will get paid less because big miners take a big share of the mined coins, while others are cheering because they think a big miner will help them pull in more coins.

Some miners believe you should pick a big/medium/small pool depending on whether your own hashrate is high or low.

How does pool hashrate actually affect miner income? Assuming the pool is not PPS (fixed pay).

Public Key + Private Key enough to backup?

I invested in bitcoins and unfortunately I have problems to understand the system. Perhaps you can answer me the following questions?

1.a) I know my public and my private key. Do I still have to backup my wallet.dat?

1b) If I need the wallet.dat: There is no point in saving my public and private key, if I need the wallet.dat anyways, right?

  1. If I secure my wallet.dat with a strong password, can I put the wallet.dat just on dropbox and send it to a few friends or do I have to keep the file more private?

  2. Is the decripting function of Bitcoin-QT enough?

  3. Am I okay with these actionsteps:

  4. Encrypting my wallet with Bitcoin-QT and writing my password on paper

  5. Writing my public key and private key on paper
  6. Sending the bitcoins from mtgox to my public address
  7. Using the backup option of Bitcoin-QT and send the backup to dropbox + a friend I trust

Please let me know if I need more steps or I can take a step out.

Thanks!

Bitcoin sent to a defunct address – what happens to it?

I got the address for my account on a site and wrote it down. As I had had a huge hassle buying my bitcoin that morning due to problems with the vendor’s site (and which they denied was at their end for 3 or more hours, nearly drove me spare) I was flusterred quite badly.

Anyway, for some reason that is still not apparent to me I clicked on a button saying “generate new account”. However, as the site kicked me out due to poor connectivity and it flagged me that “your request could not be processed”, I sent the bitcoin off to the address I had written down.

Some hours later I went to the site to check my balance…my funds were not there. There was A NEW ADDRESS for sending bitcoin to in my account details.

So, it would appear that I have sent my bitcoin to a valid address that is now redundant.

What will happen to my bitcoins? Will they bounce around for a few days before coming back or will they just disappear into the ether?

Blockchain receive payments API Network propagation

I’m using the Blockchain API to generate an address to receive payments. I received a payment to a generated address, then Blockchain sends the received amount to the address I defined but that transaction is never confirmed and has Very Poor network propagation 1% – 7 Nodes.

There is no problem if I’m using Blockchain to manage my wallet but my bitcoin client running on my machine never sees that transaction so my blockchain wallet has 0.86964083 Bitcoins and my local wallet (with the same priv keys) has 0.84787744 Bitcoins due to the poor propagation.

What can I do to propagate the transaction to my bitcoin client?