Hey I have a smashing idea! Is there any way to configure the server to work on multiple blocks at the same time?
And, if a block has been worked on for an hour, it's put on the "back burner" and only 10% of the pool's hashrate is devoted to it?
Wow, I think I just solved the universe.
I'm sorry Bitcoin just doesn't work that way.
Everyone in the entire world is always working on the same block. If you are not working on the current block your submitted shares are stales.
The thing you have to remember about Bitcoin block is that there is no "percent complete." A block is never 45% or 75% solved. It's either solved or not.
Here is a refresher course I wrote a while back.
This post will help people new to Bitcoins get up to speed. Everyone else can skip it (or read it for a refresher).Bitcoins are created by "solving a block." A "Block" is just a collection of Bitcoin transactions that have been hashed and added to the official chain of Bitcoin blocks. The "confirmations" the you get when you send or receive a transaction is the result of your transaction being hashed and included in the block chain.
Since solving a block is so difficult, you get a reward for doing so... 50 Bitcoins.
How do I solve a block?To complete a new block your computer running mining software tries to guess the hash of the new block based off the hash of the old block. You aren't really computing the answer to an equation per say. You are just making a guess.
In fact, it helps to look at this like buying lottery tickets. The chances of winning the lottery are low, but you can increase you odds if you buy more tickets.
Your miners compute hashes against the current block and when it thinks it has a potential winner, it submits it as a share. Hashes are generally measured in number of Mhases/sec or Ghashes/sec. This would be millions of hashes per second or billions of hashes per second (respectively). For example an Average ATI 5770 video card can compute roughly 150 to 200 Mhash/sec dependly on how you configure it.
The share you submitted is sent across the entire peer-to-peer Bitcoin network. All peers must agree if a share is the winner.
It's a lottery.The percent chance that a single hash will be the winner is currently:
0.0000000000000001489590023.
This changes about every two weeks and is expected to get even tougher.
Even though the odds are so high, there is a potential for two clients to submit a winning share at the same time. When this happens, the Bitcoin peer-to-peer network choses the definitive winner. The loser's block is then declared invalid. Invalid blocks are a rare occurrence, but it does happen.
Mining PoolsSince the probability of the average home computer to find the correct hash is so slim, people have started to "pool" their resources together--in much the same way an office might buy several lottery tickets together.
You along with all the others in the pool submit shares. When a block is solved among one of the pool members, the 50 Bitcoin reward is split among all those who submitted shares during that block. The more shares you submit, the larger your portion of the reward.
Pools are operated by groups, or individuals and are kept alive by taking a small cut of your profits (usually a fee of about 3%).
Bad Things - Stale Shares and IdlesWhen you belong to a pool, you are trying to solve a block that the pool has relayed to you:
The Pool gets the current block from the Peer-to-peer Bitcoin network.
It sends your miner that information.
Your miner works on it.
Your miner submits shares it thinks will be potential winners.
If a block is solved elsewhere on the Bitcoin network, the pool must tell you miner to stop what it is doing and start work on the new block.
If your miner does not get this new block information, it will continue to work on submitting shares for the previous block. When this happens, your shares are stale and do not count for anything.
If the pool does not send any block information to your miner, it will become idle and not do anything (not contributing).
The best way to fix any of these problems on the miner end is to stop--and restart the miner software. It will then submit a new request for new block information from the pool.
BTC GuildTo keep this on topic.....
The BTC Guild mining pool was created (founded?) by eleuthria. He has committed countless hours and many of his personal resources to bring the fastest growing Bitcoin mining pool in the world.
Of of this writing it is also the second largest pool in the world.
eleuthria has made numerous enhancements to the pool in the short months that it has been in existence. However, most of his time lately has been trying to keep up with the explosive growth of the pool. And when I say "explosive" I think one of his early servers has actually melted. (I may or may not be making up that last statement.)
The number one reason the pool is so popular is that the fee is optional. You can choose how much or how little of a fee to pay.
That's right, you can join the pool for absolutely free if you want to. However, you get perks for paying a fee. And the higher the fee, the more perks you get!
Get all the perks for paying a fee of 2.5% or more. This is still a great value compared to other pools.
At 0% fee (the default) you can join the pool and get paid based on the number of shares you submit. When the pool solves a block, you get paid your portion after 120 confirmations.
At 2% you can setup Idle miner email warnings. If you miner(s) stop submitting shares for some reason, you can be notified by email.
At 2.5% you get the above. AND you get paid immediately when a block is solved. You don't have to wait for 120 confirmations. AND you get paid even if the block later becomes invalid.
It's the best pool I have seen. The community is great and the maintainer, eleuthria, is extremely active. You can reach him right on this discussion in the forum, or on IRC chat (#btcguild on FreeNode).