text:
Can an SMPPS (Shared Maximum Pay Per Share) pool be hopped?
I've looked at the way SMPPS (Shared Maximum Pay Per Share) payout schemes work, and as far as I can tell, there is no significant way to hop such a pool to advantage. Yet I've seen several people claim that SMPPS pools should not be considered hopper-proof.
Is this true even if the pool owner seeds the pool with a decent starting reserve of funds and the reserve never hits zero? Or is this only true if the pool reaches the point where it cannot make full payments to miners?
In other words, is this a realistic fear, like it is with PPS (Pay Per Share) pools? Or is this just something that comes up in a very unlikely scenario with a very unlucky pool?

Probably best to explain abbreviations on first use so as to make posts usable to the internets at large.

SMPPS can be hopped, but not in the same way that proportional can. Proportional is hoppable because the expected reward per share is different at different times, so hoppers mine when the reward is high (early in a round) and leave when it is low.
In SMPPS, the expected reward is in theory constant, but the maturity time, the time it takes to actually receive the reward, is not (maturity time is bad because of the time value of money, uncertainty wrt the future of the pool, etc). When the buffer is positive, SMPPS is very attractive, as it is like PPS but with 0 fee. When proportional pools become extinct, hoppers will choose to mine in SMPPS when its buffer is positive because it is better than alternatives. When the buffer is negative the maturity time is high, so the hoppers will leave, and the honest miners will suffer from more than their fair share of the bad times.
So, the hoppability relies on the possibility of a negative buffer. But this possibility is very real - the underlying stochastic process is similar to the one in PPS, but the fee which helps PPS stay afloat is absent. This means that with probability 100% it will become negative at some point, no matter what the initial buffer was.
See also Analysis of Bitcoin pooled mining reward systems for more information about reward systems.

I'm stuck in newbie land and can't comment on David Perry's answer. I don't know what the proper etiquette is so I'll comment about it here.
PPLNS and other score-based methods do not attempt to detect hoppers and penalize them. They do not have a disadvantage (other than slightly higher variance) to intermittent miners. They do not hurt hoppers either, they just give on average a fair payout to everyone no matter how they mine.
SMPPS, though, is hoppable to some extent as I've explained in my answer.

SMPPS (and variants) can only be hopped to the extent that one can get FASTER payouts but not MORE payouts.  A pool with large backlog will payout slower but ultimatley (unless pool collapses) will payout the same amount as a pool with no backlog.  Traditionally hopping has been seen as a method to get an unfair reward (reward greater than PPS value w/ no fees).  Hopping SMPPS pools doesn't achieve that goal.

The "traditional" definition is too limited. Several factors affect attractiveness of a pool, expected value being the foremost but variance and maturity time are important too. "Hopping" should refer to any situation when a pool has different attractiveness at different times, and people take advantage of this by mining only at attractive times, getting an unfair advantage over continuous miners. Unit-PPLNS, double geometric and so on are hopping-proof - the attractiveness is exactly the same at all times.

SMPPS and ESMPPS (Equalised SMPPS) are "hoppable" only in the sense that they don't explicitly punish hoppers. They are resilient against the prevalent style of hopping but they do nothing to lessen the gains of users who hop away. For this reason, SMPPS (and ESMPPS) are considered "fair" algorithms by hoppers and pools using E/SMPPS are often chosen as "backup pools" to be mined at when no other pools meet their specific criteria. Algorithms like PPLNS (Pay Per Last N Shares) punish anyone who isn't a 24/7 miner regardless of when or how they choose to hop in/out and so aren't even viable as backup pools.
In short, it's not realistic (to my knowledge) to say that SMPPS could be in any way gamed by pool hoppers. They are, however, fair to hoppers who choose to use them as a backup pool and so many who are staunchly anti-hopping still consider SMPPS to be bad/inadequate.

+1 for solid answer and clarification.  Using terms like "hoppable" are ambiguous.  Proportional (and some score based) pools benefit pool hoppers.  SMPPS (and variants) are neutral with hoppers no better or worse than 24/7 miners.  PPLNS (and variants) hurt pool hoppers

7 years later and I've randomly encountered this question. I now have enough reputation to comment on this answer. So for posterity, I'd like to point out that this answer is very wrong, as I've explained in a comment on my own answer - https://bitcoin.stackexchange.com/questions/1508/can-an-smpps-shared-maximum-pay-per-share-pool-be-hopped#comment1986_1564.


text:
What does "PROOF OF WORK RESULT: false (booooo)" mean when mining?
I'm mining (Litecoin miner, shouldn't matter) with minerd, and got this in the output:
[2011-10-13 07:12:02] thread 1: 5524 hashes, 0.96 khash/sec
[2011-10-13 07:12:02] thread 0: 5415 hashes, 0.95 khash/sec
[2011-10-13 07:12:04] thread 0: 1588 hashes, 0.94 khash/sec
[2011-10-13 07:12:04] PROOF OF WORK RESULT: false (booooo)
[2011-10-13 07:12:04] thread 6: 5319 hashes, 0.95 khash/sec
[2011-10-13 07:12:04] thread 5: 6026 hashes, 0.96 khash/sec

What does the "Proof of work result: false" mean? Is it a stale block, meaning a block I just solved, but someone else beat me to it and published it first?

Are you solo mining or mining with a pool?

@DavidSchwartz - Solo. I believe there are no pools yet for Litecoin, it was just launched this morning. I found 2 good blocks in about 6 hours.

You're solo mining. So there's nothing useful you can do with a share -- there's nothing for you to share in. Every share you find will be rejected, unless you actually mine a block.

I have no idea what a share is. I knew it was related to pooled mining, but I thought it's not relevant when I'm mining solo http://bitcoin.stackexchange.com/questions/1505/what-is-a-share-can-i-find-it-while-mining-solo-or-only-when-pool-mining

Exactly, it's not. That's why every time you try to submit a share it fails. There is nothing for you to get a share of. Until and unless you actually mine a block, all of your submissions will, and should, fail.

Now I understand a little bit more, thanks!

However, your answer should at least say that I've found a share (and perhaps link to my other question). Odds are people reading this question will not know what a share is, and why your answer is relevant.

It seems false means that the found block was already stale when it was found (submitted).
Note that true doesn't mean it's not stale, there is still a race condition between different clients. On LiteCoin launch some people reported 90% stales until the first difficulty retarget.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
What can xxxCoin do to stop the impending 51% attack?
Within the coming weeks both Namecoin and SolidCoin have been threatened with the same attack. What can be done by the users, pool operators and developers of these forks to either;
A. Minimise damage.
B. Stop it altogether.

It forced SolidCoin to shut down (and hopefully eventually restart with a fixed protocol): "SolidCoin will be shutting down the network at block 35250 (currently 35045 at time of statement). The reason for this shutdown is due to the potential for hackers to gain 51% of the mining power and destroy the credibility of SolidCoin". I have to wonder if the willingness and ability of the SC devs to shut down will not hurt their credibility even more than the attack could have.

There are two basic fronts on which they can defend, and they really do have to do both.
First, they need to increase their total hashing power. 51% of a very large number is much harder for an attacker to muster than 51% of a small number. Merged mining is probably the most realistic way for these currencies to accomplish this.
Second, they need to fix specific vulnerabilities in their difficulty adjusting algorithms. Some of these attacks requires less than 51% of the hashing power or do more damage than they should because of specific weaknesses in the difficulty-adjusting algorithm.
Alternative currencies are vulnerable to hash rate decrease attacks. To resist them, they've adjusted their difficulty algorithms so that difficulty can drop rapidly. Unfortunately, these algorithms have been found to have unexpected defects. Because strict timestamp accuracy can't be enforced, an attacker can maliciously inject false timestamps into mined blocks to cause the difficulty to drop very, very quickly. This allows a malicious group of coordinated miners to extract a very large number of coins in a very small period of time with relatively little hashing power.
Effort will be needed to fix these algorithms so that they still provide protection against a hash rate decrease attack but don't create even more serious new vulnerabilities.
It may well be a rocky road these next few weeks. The 51% attack is fundamental to the decentralized nature of these currencies -- the only solution is more hashing power. But the difficulty algorithm attack issues will likely be solved by fixing the algorithms.

"The 51% attack is fundamental to the decentralized nature of these currencies -- the only solution is more hashing power." Or giving up on decentralization for the mining process (and only that), replacing it with some sort of trust system.

I was in discussion with someone an the opinion of merged mining may INCREASE the problem due to the physical cost of attacking the network being lowered (Get BTC anyway, attack NMC "on the side). What is your opinion on this?

I think most Bitcoin miners are honest and the power of people who'd help will almost always be greater than the power of people who would do harm. But it's an interesting argument -- if key Bitcoin mining pool managers think hurting NMC will help Bitcoin, ...

I hope this is the case. Namecoin I find a fantastic project and I have put all my time and resources into it. Hope everyone helps stop the "terrorists".

Don't call them terrorists, they are not going to kill anyone. BTW, at least officially, that's what they themselves are hoping to achieve: someone to fix those problems, in order to prevent similar attacks in the future. After all, if you have a weakness you'd better solve it, you can't rely on hoping not to be attacked!

@DavidSchwartz: "I think most Bitcoin miners are honest" - what a naive statement. Of course, most Bitcoin miners just don't care, as long as they received their payout. Story behind killing some fork coin: http://bitcoin.stackexchange.com/questions/3472/what-is-the-story-behind-the-attack-on-coiledcoin https://bitcointalk.org/index.php?topic=56675.0

The Bitcoin network is currently the worlds fastest distributed computing network.  It gains security through size.
The large pool issue is real however it can be overcome without flawed centrally controled digital currencies.
One example is p2pool.  It is a pool where miners share rewards but each miner independently generates their own block header including only valid transactions.
https://en.bitcoin.it/wiki/P2Pool
The only risk that large pools represent is the fact that currently miners are "dumb".  The pool generates header and submit the merkle tree hash to the miner which "blindly" hashes it.  If the pool has nefarious goals it can use the miner's hashing power against the network.  Now it is unlikely this would happen because large pools have a vested interest in keeping the network and thus coins valuable and continuing their existance.  Still the network would be improved if the miner generates the header rather than the pool.
Now p2pool is a completely decentralized mining pool.  They don't even have a website.  Miners simply join the peer to peer network and are compensated for their work.
Still many miners may like the advantages of a more traditional pool.  This doesn't mean the header generation can't be distributed.  Using algorithms implemented in p2pool a traditional pool could decentralize the header generation.  With decentralized header generation each miner is working indendepdently.  The purpose of the pool is merely to reduce volatility.
This would complete eliminate the small risk of a pool operator using miner's to work against the network.
Bitcoin users who are concerned about the influence of large pools and the risk that centralized header generation represent should either use p2pool or push for other pools to adopt a distributed block generation mechanism similar to p2pool.  If blocker header generation is decentralized then there is no risk of subversion even if a single pool has 100% of hashing power.

There has to be consequence to the attacker, large enough for him to feel the blow of his own attack.
To create the consequence for him:
The voter (trusted Node/Full Node) has to have bitcoin, and the more bitcoin the node has, the more voting power (more trusted they are). Example, if the attacker really wants to kill the whole bitcoin network, he has to have at least 51% of bitcoin in circulation. If a bitcoin network is worth $100 billion. He has to buy $50 billion worth of it. Try killing the network and he will lose his $50 billion. Yes, others will lose some little value, but he'll lose much more value, and we can start another cryptocurrency.
It doesn't have to be a linear 1 bitcoin = 1 voting power. It can be a function. like voting power = root2(bitcoin), or other functions.
The only problem with this is that most people will use a centralized node (because they're either using a light node and do not want to waste resources for full node), so their voting power may be centralized somewhere and can be used by the attacker to attack (assuming that more bitcoin = more voting power). The solution to this is probably applying a slowing function (like the root function) to limit their voting power. But then the attacker may use many small value wallet to undermine the big centralized wallet. (Everything in moderation tactic, too much or too little is not good) So we should as well lower the voting power of those who has very little bitcoin in their node - see picture.
So what happens to the node that doesn't have a bitcoin? It's going to be useless anyway because they will leech from the network. I'd say to assign no bandwidth and voting power at all to them since they're not using bitcoin anyway and only wasting network resources. perhaps let them be a low priority reference, just to make them a bit useful.
Same goes to the miners. we should assign similar function as in the picture. We don't want big miners to make the network centralized and in the end having too much power to ruin the network. Since the bitcoin community is by the people and for the people; That is the point of the whole decentralization thing, isn't it? So that we don't get bullied by the big power who wants to centralize everything. We definitely should limit the big power, as well as the useless people who don't use bitcoin and leeching from the network and slowing the real community as a whole.
See the picture below:

Can this help dealing with the DDOS attack as well?
------------------------Additional Thought on 2017-4-12-------
Bitcoin Design is fundamentally flawed. I decided to move on to other cryptocurrency like Peercoin. Bitcoin consumes too much electricity, large blockchain size and counting, 51% attack, etc.
Why risk our hard-earned money to some chance that it may/may not happen?
Everytime it happens, bitcoin value will drop, and we will lose value. Every time we have to move our money in and out of the bitcoin because of our fear. The financial brokers love to see that because every time we move our money, they get a percentage of our money. The implication of 51% attack is bad. Values will be lost over and over again. In the end we will be slaves to the biggest financial institutions: the banks.
Why don't we convert our currency to Peercoin? As simple as that. I am just starting to.
PEERCOIN is shielded from 51% attack, and it encourages decentralization
by giving minting incentives. It does not consume much electricity too
because it uses a genius Proof of Stake system. (No one will be
motivated to kill the network if they have 51% of the stake in it. It
will be stupid to stab himself.)
Their design has successfully slowed down the blockchain size increase to 0.6GB after 5 years, compared to 110 GB for bitcoin. This will also make bitcoin more centralized in the future because a full node will need a lot of hard drive space.
Read this forum discussion to understand more about PEERCOIN: (At first I was also skeptical)
https://talk.peercoin.net/t/suggestion-for-better-ppc-better-system-for-reward-less-transaction-fee-when-trading-one-that-will-make-ppc-better-than-bitcoin-for-sure/4504/16

Solidcoin has restarted in version 2.0, with the following scheme intended to prevent a 51% attack:

As with existing cryptocurrencies, SolidCoin 2.0 stores transactions in a "block chain" which is essentially what it sounds like. Transactions go into a block, nodes do work on that block to verify it, and if the work is good enough they can submit it to the rest of the network. SolidCoin 2.0 then comes into action, every other block in the chain must be worked on by someone with at least a million (1,000,000) SolidCoins in an account.

Currently the trusted nodes are controlled by a single person.  Hardly a distributed network of PEERS.  In the future the low price of Solid Coin may make simply purchasing 51% control very cheap.  It would all depend on how distributed the wealth is in SolidCoin network.  The smaller number of trusted nodes the cheaper it would be for an attacker to simply buy control of the network.  If enough coins were available currently one could "buy" a trusted node for $20K.  To buy equivelent amount of hardware to defeat bitcoin by brute force would require tens of millions of dollars.

I did not say it was a good scheme...

There is nothing "stopping' any Bitcoin technology chain from being 51% attacked. It can happen at any time , and it will likely be completely unannounced, which is my own personal concern with it. Furthermore, since Bitcoin is heavily centralized around one major pool, and 2 other large ones, if those pools were ever hacked and pointed towards malicious intent then it could happen at very little cost.
SolidCoin was recently released with 51% protection, you can read more about it here. http://solidcoin.info/solidcoin-most-secure-currency.php
The 51% problem is something inherent in the design of a 100% no trust system like Bitcoin, it will never be overcome. So if you like that about Bitcoin technology chains then learning to live with 51% attacks is all you can do. You can try to limit it by securing more network power in the hands of so called "good" people, but that's a never ending game and one where you will likely be outspent by a large attacker (government or large corporations).

What happens if an attack simply buys, mines, steals, or scams enough coins to become a trusted node?  Currently the market cost would be ~$20K to buy a trusted node.  A tiny fraction of the hardware cost to achieve 51% control of Bitcoin network.

Trying to use the current market price and say you could buy a million coins at that value is rather foolish. Attempting to buy half the coins created would be incredibly difficult right now and would likely hundreds of thousands of dollars. And that is right now. You also need more money than all the valid trusted nodes , or rather 51% of the trust money.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
What are the differences between Bitcoin and other crypto-currencies?
What is it that makes Bitcoin unique amongst crypto-currencies?  Is it just the most popular one or does it have better design aspects too?

Until a careful analysis is performed, I think most crypto currencies are very similar in all properties except one - adoption.
Bitcoin has the largest hash rate, participating nodes, accepting sites, and people going over the code and protocol.
While alternative currencies can gain more hash rate, especially if effective forms of merged mining are developed and adopted, it remains to be seen if they gain the same adoption (sites accepting them), and developer base (strong developer community).
(See this post about merged Namecoin/Bitcoin mining)
Edit - One notable exception to this is Namecoin, which does offer unique features making it suitable to use as a DNS or general name registrar.

I believe that Artem's answer is a better one. The concept of cryptocurrency existed before Bitcoin but the concept of the blockchain is new. The "Bitcoin clones" (SolidCoin, IxCoin or whatever) pretty much copied the Bitcoin concept with some very minor modifications. It is more interesting to discuss how Bitcoin differs from the (mostly theoretical) cryptocurrencies that existed prior to Bitcoin.

@D.H. - I think the two sides of this question are interesting. Right now, since Bitcoin-forked crypto-currencies seems to be gaining the upper hand, the practical interest in such currencies outweighs theoretical interest in pre-Bitcoin crypto-currencies.

From a theoretical point of view, the interesting part of bitcoin is that it lacks a central issuing authority (often called a mint in the crypto-currency literature). In terms of security an anonymity of users, it does not have particularly strong features. Refer to answers on the following two questions for more info:
https://cstheory.stackexchange.com/q/7145/1037
https://crypto.stackexchange.com/q/508/617

The thing that separates Bitcoin from other cryptocurrencies is the amount of computing power the network has. It is extremely difficult to 'overtake' the network because it would be costly.
I wouldn't say it has the 'best' design aspect to it as something catastrophic as a price crash would cause miners to pull out. It might take months or weeks for the difficulty to get back on par. Transactions will be super slow, as there are few miners to solve the blocks.
Something like SolidCoin fixes this problem, I really like the twice daily difficulty adjustments as it prepares the network for something Bitcoin might be prone for.

It fixes it, but it introduces problems of its own. For example, it makes it much easier for a miner to mine a long, but valid, block chain by forging timestamps and forcing as many maximum-sized difficulty drops as allowed.

The link to solidcoin redirects to http://www.coinforce.com/

Brief comparisons of the different alts here:

http://bitcointalk.org/index.php?topic=134179.0

I was in the bitcoin community in 2011. It seems pretty secure and has a lot of people looking into it. I think one of the main growing pains of a crypto is that it has to run through the growing stages. With the many crashes and hacks that Bitcoin has gotten through, it seems it's here to stay.


text:
If I convert my US Dollars to Bitcoins, will its value likely depreciate?
Is it worth converting 'normal' currency into Bitcoins with the hope of making a profit later, by converting the Bitcoins back into 'normal' currency?  In other words, could it be seen in a similar way to investing on the stock market?  You take a risk, but potentially you could profit if the value of Bitcoins increases with respect to (say) the US Dollar?  And, if so, are there people already doing this kind of speculation?

This question is problematic since it calls for opinions and speculation, not objective facts.

A few different questions here, some very subjective ("will its value depreciate?") and some rather obvious ("are there people who are speculating?"). So, voting to close.

There are certainly people doing it. Anyone who holds Bitcoins who isn't moving them around is speculating in this sense. And even if you move Bitcoins around, if you don't move them sooner, you're speculating at least a bit.
As for whether it makes sense, that's a tricky question. There's always a risk Bitcoins could take a nose dive in value and never recover, say because they were made obsolete by a superior crypto-currency or impractical through governmental action.
In my personal opinion, it's a pretty good risk for money you can afford to lose. (Higher than average risk, but much higher than average possible rate of return.) But you may have to make some tough decisions when the price drops: Do I sell now, take a small loss but at least cut my losses? Or do I risk losing everything if the price never goes up? And if I do sell, and then price starts going up, when do I buy? What if I buy and then it nosedives
See What are some of the risks of speculating on Bitcoin value? for a discussion of some of the risks involved. It's a bit more focused on active trading than just holding, but there's a lot of overlap.

A great deal of people are speculating on Bitcoin. The people who did this early in the Bitcoin game (a few months ago) have likely made vast amounts of money.
Ultimately it is a gamble. General consensus holds that as Bitcoin is more widely adopted and spent on goods / services; the exchange rate will rise.
Operating a store that accepts Bitcoins, and/or spending Bitcoins will help that exchange rate go up.

I would like to add that people who invested recently are likely at a loss - as the market has taken a series of falls.

And as of right now, it could be back up to huge levels in a week or it may never get back to where it was. Nobody really knows. This cycle of big drops and then moderate panic will probably repeat over and over.

Yes, it could be seen in a similar way as investing in the Forex market. And like the Forex market, you can't predict with a high degree of confidence what the price will be in the future.
People are certainly doing this kind of speculation already - take a look at the speculation section of the bitcointalk forum. There are also some charting tools to predict trends such as SierraChart, BTC Trader or simply Bitcoincharts. One bitcointalk user (S3053) is even selling weekly in-depth technical analysis of bitcoin prices.
Personally, I also think Bitcoins are a high risk investment right now. There are too many uncertainties about its adoption as a currency. You can find many questions here at stack exchange about its weaknesses and undefined legal status and there are many more news across the web. All these factors can influence bitcoins price both short-term and long term.

For the next 14 months or so, until block 210,000 bitcoins are being issued at the rate of 7,200 per day roughly.  At current levels, the rate that the currency is being inflated is at about 36% on an annual basis.  At current exchange rates ($8.40 USD), the value of that is about $60,000 per day of currency issued.  Here's a post describing that with a little more detail: http://www.bitcoinmoney.com/post/8627223073
If there is more demand (either economic transactions using bitcoins or hoarding by miners and speculators) than this $60K then the price will rise.  If there is less than this $60K the price will drop.
But after block 210,000 if the exchange rate is still $8.40 at that time, then only $30K per day will be issued.
Now this is an already known fact and it may already be priced into the currency (i.e., it might be trading at less than it is now if that weren't already known).
The bigger unknown is how much currency will be used in commerce at that time.  Will it just grow incrementally by tiny gains, or will adoption some day explode like some speculators and Bitcoin kool-aid drinkers (such as myself) believe will happen.  If it does, those who bought bitcoins at $8.40 will be seen as the "lucky early adopters", much like those who asked the same question as you when the BTC/USD was about $0.30.


text:
What OSes don't yet have Bitcoin clients?
Bitcoin has clients created for many OSes already, but which (semi-)significant operating systems don't yet have a Bitcoin client created for them?
Is there some opensource code I can use as a template to create a Bitcoin client for an OS that doesn't yet have a client?

The bitcoin source is free derive and redistribute. I believe some microarchetectures (some flavors of ARM?) are currently unsupported.


text:
How does a Bitcoin block get generated and 'agreed upon' by everyone?
When a set of new transactions is broadcast to all the Bitcoin mining pools, my understanding is that they all start working on a new block to include all those transactions.  But how is it agreed upon which block is the next one to be included in the Bitcoin blockchain?  Is it just the first mining pool to generate the block?  And if that's the case, isn't it going to be tremendously wasteful if all but one mining pool have been working on generating a new block but all that work is wasted because their block wasn't chosen to be the next one in the chain?

Related: https://bitcoin.stackexchange.com/q/36192/5406, https://bitcoin.stackexchange.com/a/101746/5406, https://bitcoin.stackexchange.com/a/3942/5406

When a set of new transactions is broadcast ...

Individual transactions get broadcast, not specific well-defined sets. That is, the identity or membership of a set of transactions is not preserved as data diffuses across the network.

... to all the Bitcoin mining pools,

The broadcast (as you would guess from that name) is sent to nodes in general not to specific types of node. So the transactions are broadcast to all member of the Bitcoin network, not just to members that are mining pools.

my understanding is that they all start working on a new block to include all those transactions.

No, there is no synchronisation between different mining pools. each pool can be working on different sets of transactions. The sets might overlap or be distinct.

But how is it agreed upon which block is the next one to be included in the Bitcoin blockchain?

First one to find a valid block wins.

Is it just the first mining pool to generate the block?

Yes.
Since the Bitcoin network is global and subject to communication latency, it occasionally happens that two or more miners successfully generate a new block that is accepted as the next block by topologically nearby nodes. However eventually all nodes naturally converge on a common understanding of which block is the accepted one. They will discard a branch if they later become aware of a branch that has more work invested in it. This happens fast enough that normal usage is unaffected by this. Transactions in a discarded branch still get included in later blocks of the commonly accepted branch.

And if that's the case, isn't it going to be tremendously wasteful if all but one mining pool have been working on generating a new block but all that work is wasted because their block wasn't chosen to be the next one in the chain?

That's certainly one way of looking at it. Energy has been consumed by organisations who get no immediate or direct reward for this, in this instance. However there is a benefit to Bitcoin users in general as it is a necessary part (or a necessary consequence) of securing the blockchain.
It is certainly just as valid to be concerned about the energy efficiency of cryptocurrencies as it is to be concerned about the energy efficiency of traditional monetary systems.

I agree the answer is correct. @RedGrifftyBrik, I think we should remove the AFAIK part from the answer to make it sound more assuring.

@sanket1729: Done. Thanks for the feedback.

It isn't really wasted. If lots of humans work on solving a complex math problem and only one of them succeeds, it doesn't follow that the work of the others was wasted. It's only because so many approaches were tried by so many people that the successful approach was discovered. The same logic applies here. It is not possible to have only successful attempts, so the failed attempts are not wasted -- you can't have the successes without the failures.

@DavidSchwartz, agreed. The answer could use more clarification that "in the long run, you cannot have only successful tries without having failed attempts".

Miner ASICs have one job: Change the meaningless parts of the block until the difficulty target (related to the hash of the block) is satisfied.
ASICs connect to the pool to first download the block template (they regularly do that - maybe every few seconds?). The block template contains the transactions. They calculate the merkle hash of the transactions, embed it in the block header, and hash the block header many times.
When the target is satisfied, the block is published. From then on, no one can change the transactions in the block.

all that work is wasted

This is a lottery where everyone's chances of finding the next block is proportional to their hashrates. If you need to mine all day to find one block per day -- congratulations! You can afford solo mining and you don't lose anything, and your reward is fair.
Trivia: Block mining is a Poisson process. One property of this is memory-less-ness. That is, given that the average time until the next block is 10 minutes (it is for Bitcoin):

After about how many blocks will someone find a block if everyone started just now: 10 minutes (t = 10)
What if you all had been mining for 2 minutes? Still 10 minutes (block to be released at t = 12)
What if you all had been mining for 20 minutes? Still 10 minutes (block to be released at t = 30)

Here's a fun puzzle by Russel O'Connor and Pieter Wuille.
So, there is no wasting in mining: it's memoryless. If you fail, you just keep trying, and everything works as intended in the end.

When miners generate a block template, they select most transactions from their mempool with one exception. Each miner creates their own coinbase transaction. The coinbase transaction pays out the block reward—and if a miner finds a valid block, they want to pay themselves! Since the Merkle root in the block header is a digest of all transactions in the block, and the coinbase transaction is hashed into the Merkle root, it follows that every miner has a unique block template, even if they are trying to confirm exactly the same transaction set other than the coinbase transaction.
Now, each miner generates block candidates by trying different nonces, extranonces, etc. This is not a stack of work that needs to be powered through, it is a progress-free "distributed lottery". As each block candidate is hashed, there is a tiny chance¹ that it may yield a valid block—completely independent of whether you have tried fifteen or a quintillion hashes before.
This means that:

no work is ever "wasted", because every miner is working on unique block candidates, and there is no progress in the first place
finding a valid block both determines the author of the newest block and the winner of the "lottery" for the corresponding block reward²

Consequently, it's in the successfully miner's interest to immediately broadcast their block far and wide. As nodes hear about the extended best chain, they converge on the new shared state of the network, update their UTXO sets and mempools. Miners update their block templates for the new height, and hash away.

¹about one in 93 sextillion these days
²except when two miners find blocks at the same height every three weeks or so, and only one can sire the best chain

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Is there a ripple whitepaper?
I'm interested in doing some research on the ripple system. Is there a whitepaper which explains the underlying fundamentals and how they are realised? I know about the Wiki, but that is not citeable in research publications.

Not that I know of. Opencoin is still playing around with the protocol, so there probably won't be a white paper until they open source it.

Try looking around on http://archive.ripple-project.org/, in particular: http://archive.ripple-project.org/Main/Papers
Note, that site refers to the original Ripple project and implementations of it such as RipplePay and Villages. Ripple.com is the new distributed implementation of the Ripple project and although not discussed at that site, supported by the original project founder.

Additionally, Ripple released a Consensus Whitepaper in August 2014. They write:

Ripple Labs has just released a whitepaper describing the Ripple network’s consensus algorithm and its properties. The Ripple network combines Ryan Fugger’s original rippling ideas with a p2p transactional database. Consensus is the distributed agreement protocol that the Ripple network uses to irreversibly arbitrate changes to this database in just a few seconds.
Distributed agreement protocols like consensus must operate in the face of unreliable networks and malicious adversaries and must defend against failure modes in which the system might fail to process transactions or fail to agree on current balances. This white paper explains how Ripple’s consensus algorithm operates and how it provides a fast, reliable payment network.

Direct link: Consensus Whitepaper


text:
Is there a way to set the aggression for the OS X Diablo Minor?
I run the OS X Diablo Minor on my new Macbook.  It seems to work well enough and it earns me a few bit-cents each day.
The only problem is that I have to cut it off whenever I'm working on the Mac, because it hogs the GPU.  Is there a parameter or some config file within the .app bundle that I can modify that will reduce the aggression level so I can use my Mac and mine with unused GPU cycles?

There's really no point in mining on a MacBook. It'll get super hot and the GPU will be totally bogged down. If you reduce the aggression, then you kill the point of mining altogether on your machine.

Well, my point is, I don't want to have to start/stop the minor as I move to and from my Macbook (I have a couple PCs I use on a day-to-day basis.)  Also, my electricity is free, so there is a point to mine when I'm making $.15/day-- it's free money and all I have to do is start an application! :)  The GPU does get hot, but I haven't had any problems.  If I just want a way to change the aggression or thread priority, so that when I'm using XCode, the interface doesn't act "jerky".

@RLH electricity may be free, but the MacBook itself is free too? Mining constantly will reduce its lifetime, so it's not free. Also, your time isn't free either: if you spend it setting up a miner, you could spend it doing something more profitable instead.

Regardless of my reasons, these comments are irrelevant to the question.  I'm not stating this to incite and argument but, regardless of my intent, asking if setting the aggression  is still a valid question to ask.  I request related answers please.  I know using the GPU is hard with excessive heat is hard on the PC.  Still, I'd like to have either an answer that changes the aggression or explicitly states from a knowledgeable source whether it is possible or not.

Also, let me quickly state that I do appreciate the concern.  Had I not known about the issues with the heat, they would have helped a ton.  However, I am still interested in the answer to my question, regardless of the consequences.

@RLH sure it is a valid question, in fact I upvoted it. It was important to point out these problems, though, and due to the circumstances this can be easily considered a fine answer, too (though I understand you would like a more strict answer, of course).

@Lohoris how does mining constantly reduce the MacBook's lifetime? Any proof?

@asymmetric standard wear, overheating an electronic component, especially if for a prolonged span of time, and even more if on a device as small as a laptop, reduces its lifespan.


text:
What cryptocurrency systems predate Bitcoin, and how do they differ from it?
Although Bitcoin is certainly making strides as the first cryptocurrency to enter (comparatively) widespread use, cryptocurrency has long been a topic of discussion in fiction and academia.  What cryptocurrency systems were in existence prior to Bitcoin, and in what specific respects do they differ from it?

The closest predecessor to Bitcoin is generally agreed to be Wei Dei's b-money proposal.
The proposal had a lot of holes. For example, it assumed that money could be created simply by solving hard computational problems. But it contained no mechanism to control currency inflation, so currency would inflate as computing power increased.
He actually offered a way around this, auctioning off the currency. But this still creates huge problems without a centralized authority -- who confirms the bids were paid and issues the currency? On what authority?
It also hand-waves over major issues. It requires servers to be partially trusted and argued that to be a server, you could be required to deposit some money in a fund that would be debited in the event misconduct was discovered. But who would debit the account? And who would get credited? And by what authority would they do this?
But this got the ball rolling on the idea of a completely decentralized crypto-currency. The amazing thing about Bitcoin is that it solved all the remaining problems at once.

Ecash, created by David Chaum, and introduced in 1993, was a cryptographic bearer certificate, though the underlying instrument was national currency (e.g. dollars). It required a central party to keep track of spends to avoid double spends, unlike Bitcoin's distributed peer to peer ledger. It existed until the bankruptcy of its issuer, Digicash, in 1998.
Many of the themes that surround discussion about Bitcoin were forwarded by Chaum at the time, e.g.
"The choice between keeping information in the hands of individuals or of organizations is being made each time any government or business decides to automate another set of transactions. In one direction lies unprecedented scrutiny and control of people's lives, in the other, secure parity between individuals and organizations. The shape of society in the next century may depend on which approach predominates." source
Bitcoin is the first cryptocurrency, in that it is itself a currency, not a cryptographic derivative of a non-cryptographic currency.

Satoshi Nakamoto mentioned Wei Dai's "b-money" and Nick Szabo's "Bit gold", in addition to David Chaum's "digicash" in early discussions of Bitcoin. The latter was centralized, but had strong privacy properties and was very widely cited, researched, and discussed at the time.

Where did he mentioned Bit gold? Reference please.

According to the emails between Dai and Nakamoto, Nakamoto was not aware of Szabo's work.

Hal Finney created RPOWs. This is probably the closest predecessor to Bitcoin, because it was actually developed and usable (not just a proposal). RPOWs are "reusable proofs of work". Created by solving hard hashcash puzzles, they are then traded by interacting with a database running inside an IBM cryptocard. It has the ability to prove what it is executing to remote users. Instead of trusting a data structure created by a p2p network, you trusted the secure hardware.

I think the major new idea is using "proof-of-work" to get rid of the need for a trusted central "timestamping" authority that would otherwise be necessary to prevent double-spending.
The question is if that actually works and/or is worth the enormous energy cost. A similar idea was floated once to prevent email spam, but unfortunately email spammers are exactly the people who have lots of cheap (for them) computing resources in the form of bot-nets they can put to "work".

Do you have a proposal for a way to do it "more cheaply"?

@lemonginger Thilo doesn't have to provide a better alternative in order to point out the weakness with a current proposal. If you can have proof-of-work systems that do some useful work apart from simply verifying transactions is asked here

@lemonginger: if one could agree to a quorum of trusted miners, say ten or a hundred, then they could sign off on the blocks by majority, no need for proof-of-work. Of course, you'd need to trust the miners (they could do what someone now can do who was control of the majority of hash-power), but their potential for abuse would still be limited by what miners can do (in particular they cannot increase the coin supply, or spend other people's money). Trust in them could be decided (and revoked) by every participant in the system. You'd just need to find at least one you trust.

It says "In God we trust" on our money, because there is no man (or woman) you can trust.


text:
What is the utility in the cgminer statistics
While digging through the API of the cgminer I noticed that there is a value which I could not figure out what it means: the utility.
What does it stand for, what are common values and how is it calculated?

The Utility defined as the number of shares / minute

Its the number of shares your miner is contributing per minute. If you're looking at the overall Utility values, its the combined number of shares all miners are contributing per minute.
Reference: https://bitcointalk.org/index.php?topic=28402.0


text:
What is the most cost effective GPU mining rig?
I'm looking for specific part numbers for CPU, GPUs, motherboards, cases, etc.
Assume power doesn't matter.
Also, what sort of hash rate does it get?

This isn't fit for SE in my opinion. There is no "most cost effective" mining setup; it all depends on your resources, costs, and goals. Even if you provide all of those, much of it is up to personal preference and predictions of future value. If you want configuration ideas, the wiki page should serve nicely.

It could be rephrased as what is the most powerful GPU readily available for sale as at May 2012, or similar. To remain useful on SE, it needs to stay correct over time. We'll need to vote to close it if it's not rephrased.

I wrote an answer which is suitable for SE. Now the only problem is to find a suitable question.

Here are some guidelines to choosing hardware for an effective GPU rig.
CPU: The cheapest you can find. Low-end AMD CPUs are good for this.
RAM: The cheapest you can find.
ODD: Unnecessary, install the OS from a USB flash drive.
HDD: Unnecessary, use a USB flash drive, the cheapest you can find which can hold the OS.
GPU: Basically any ATI series 5XXX+ is suitable. https://en.bitcoin.it/wiki/Mining_hardware_comparison has a list of the hashrate to expect from each. You need to choose one based on the price in which you can get it, the hashrate, and the power (which has implications for electricity costs, and the need for proper PSU and cooling). You need to consider the whole system - using multiple cheap cards can increase the cost of the peripherals.
PSU: Needs to be a good brand and have sufficient power for all the hardware, with some to spare. A 80+ gold PSU is more expensive but could be a good idea, especially if you pay for power. If you're using many graphics cards you can even use multiple PSUs.
Case: If you're using a standard case, it can be cheap but it should have sufficient room and cooling for the cards. Bottom and side fans can help. But the most effective is to use a custom case or no case at all and just custom mounting for the cards.
Motherboard: Needs to be compatible with the CPU and RAM, and depends on the number of cards and the case. If you use a standard case you need PCIe x16 slots with enough spacing between them, and a motherboard with more than 2 suitable slots can be expensive. With a custom case you can use every PCIe slot, including x1, with extender cables - even cheap motherboards have about 5. The available bandwidth for the slots doesn't matter. Other than that there are no special requirements.

Is there any limitation on the number of GPUs that can be supported by a single MOBO? If not, it possible to "max out" a board with PCI/PCIE risers without fear of doing harm?

@nitrl: AFAIK there is no problem using all available PCIe slots.


text:
What software do mining pools run?
I assume they run bitcoind for the network connectivity.  But what about for the work allocation?

There are several pool-implementations that create the individual workloads and track their completion. The Poolservers article at the bitcoin.it Wiki has a comprehensive list, with a feature comparison.

Will these also work for litecoin?


text:
What do all of the items in the output from p2pool mean?
2012-08-15 10:57:04.728547 P2Pool: 17401 shares in chain (9127 verified/17405 total) Peers: 11 (0 incoming)
2012-08-15 10:57:04.728781  Local: 1689MH/s in last 10.0 minutes Local dead on arrival: ~3.8% (2-8%) Expected time to share: 29.8 minutes
2012-08-15 10:57:04.728886  Shares: 3 (1 orphan, 0 dead) Stale rate: ~33.3% (6-80%) Efficiency: ~73.5% (22-104%) Current payout: 0.0174 BTC
2012-08-15 10:57:04.728999  Pool: 415GH/s Stale rate: 9.3% Expected time to block: 6.3 hours

Most of it is evident, but if someone could give a breakdown, that would be very helpful.

P2Pool: 17401 shares in chain (9127 verified/17405 total) Peers: 11 (0 incoming)

This means that P2Pool knows of 17405 shares, 9127 of which have been verified (indicating that you haven't been running p2pool for more than 24 hours), and 17401 of which are in the selected chain (meaning that there have been 4 orphaned shares globally in the past few minutes).
Local: 1689MH/s in last 10.0 minutes Local dead on arrival: ~3.8% (2-8%) Expected time to share: 29.8 minutes

You have 1689MH/s mining, with 3.8% of shares invalid due to latency between P2Pool and the miner. It's expected that you'll get your next share in half an hour.
Shares: 3 (1 orphan, 0 dead) Stale rate: ~33.3% (6-80%) Efficiency: ~73.5% (22-104%) Current payout: 0.0174 BTC

You found 3 shares, one of which was orphaned (33.3% of them), indicating that your normal stale rate if you continue falls between 6% and 80%, with 95% confidence. Your efficiency is 73.5%, meaning that you'll only get 73.5% of what you should, based on your stales, though in the future, the true value will fall between 22% and 104% with 95% confidence, so there's no evidence currently that something is wrong (since 100% is in that interval).
Pool: 415GH/s Stale rate: 9.3% Expected time to block: 6.3 hours

The pool has a total of 415GH/s of hashing power, and 9.3% of discovered shares aren't integrated into the sharechain. It's expected that we'll get a block in 6 hours.


text:
Will transaction fees eventually make microtransactions not worthwhile?
It seems that one of the strengths of Bitcoin is the ability to send tiny amounts across the globe. If we keep thinking in USD or EUR, we'll wipe out micro transactions altogether (less than 100 satoshi).
So will transaction fees eventually put a lower bound on how small of a transaction can be sent?

This is actually a subject of dispute. A lot of people (including myself) believe that the Bitcoin block chain is spectacularly bad for microtransactions -- largely because every server has to hold every transaction more or less forever.

See also https://bitcointalk.org/index.php?topic=80435.0

A change to the 500KB per-block limit can be done with updating the client without causing a fork, but that only goes up to a 1M block size.  To exceed that 1M limit would require a hard fork and thus it is possible when that limit approached, a larger limit might never happen.
Bitcoin could hit those limits before really even "taking off" even.
Bitcoin was never architected to be a microtransaction system.  It works fine as one for now but eventually that use might no longer be feasible.
There are currently methods to use bitcoins for microtransactions without touching the blockchain.  For example, Mt. Gox BTC redeemable codes have no fee (currently) and could be used, presumably, for microtransactions.  Various approaches will solve the microtransactions problem better than Bitcoin does.
In the meantime, businesses that do use microtransactions can get off the ground by taking advantage of the fact that Bitcoin's is still well below the per-block capacity limit and thus microtransactions are nearly free.
Build a customer base in a market today, solve the technical problems tomorrow.
With Satoshi Dice's growth, for instance, there might soon be enough demand to launch a alternate blockchain for its microtransactions with properties that are useful for that special case.

There is a tradeoff between how cheap it is to send a transaction, and how expensive it is to run a full network node. With the current 1MB per block limit transactions will eventually be expensive, if it is relaxed they can be made cheaper.
If transactions do end up expensive, a variety of layers on top of Bitcoin can be used to facilitate microtransaction, such as OpenTransactions and Ripple, and arguably Bitcoin will form a stronger foundation for those than traditional currencies.

Because all transactions must be stored by clients, microtransactions will probably never be practical for Bitcoin, because this will cause the blockchain to take up too much space.  It's hard for me to imagine a P2P cryptocurrency that could solve this problem, because it'll still be inherently limited by how many transactions can be stored by clients.
Probabilistic nanopayments are one way to solve this problem without modifications to the Bitcoin protocol.

It would make sense if the number of clients that needed to store a transaction was proportional to the value of the transaction. This way not all transactions would need to be stored by all clients. Admittedly, it would almost certainly require a change to the protocol; I don't know for sure if it could be workable...

There is a limit on how many free transactions can be processed, and once (if) that limit is reached it's likely users will pay a relatively small transaction fee to get higher priority than micro transactions.
But how much value is there in processing micro transactions?
If demand for Bitcoin transactions gets that high, and someone sees enough value in processing micro-transactions, then my guess would be that either modifications would be made to the Bitcoin system (perhaps less likely) or an alternative crypto currency could be designed to meet the need (more likely).


text:
Is there a way to abort a stuck lightning network payment?
I recently had this problem IRL: tried to pay in a coffee shop with LN, but my channel partner was "sleeping", so after a while I paid in cash. Then, 5 min later, the server comes back online, the LN payment went through and I had to go get my cash back.
lightning-wallet.com doesn't seem to have a stop button, but I think this (IMHO important) usage scenario is just not possible in the protocol right now, is it? The BOLTs say: "For simplicity, a node can only remove HTLCs added by the other node. There are four reasons for removing an HTLC: the payment preimage is supplied, it has timed out, it has failed to route, or it is malformed.".
So I guess the question is, why is this not possible today? Just a UI problem, a protocol shortcoming that will be fixed, or is there a deeper reason why it CAN'T be possible?

First of all: it is in fact not possible at this time to sort a stuck payment. The htlcs are a contract in which you agree to fulfill a payment if the routing node provides a preimage within a time window (the timelock). Assume you would be allowed to remove an htlc before the timelock, not only would this be a breach to the contract but it could easily result in a behavior in which you could initiate a payment, the merchant would claim the money, and while the preimage is propagated back to you, you would cancel your htlc causing the routing node to lose money.
Obviously as a protocol extension we could think about making a different onion request "abort routing" which would inform all nodes on the path to abort. This would have to be executed from the recipient back to the sender and would mitigate the above mentioned way of abusive behavior.
However such a new onion request would mean that everyone on the path is responsive to it. If that was the case in the first place the payment would not have been stuck.
It is always hard for mathematicians (like me) to claim something is impossible. But I think in this case we have it by design impossible / undesirable to cancel htlcs from the sender side. (I am happy to be proven wrong and would enjoy a discussion on the lightning dev ml as I think from a UI / UX perspective your request is totally reasonable)
Also keep in mind what removing an htlc currently means. The state of the channel is changed.

Thank you for the quick answer. I think in this case, there wasn't even an HTLC agreed upon yet (the first channel partner was "sleeping", whatever that means). So I guess there are many possible answers and subtleties depending on the precise timing. But I think we should have a better UX story here, and think closely about the possible cases.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Why do news articles say that Bitcoins have failed?
Many recent articles state that the great bitcoin experiment failed. Why is that? Has it?

It would help a lot if you link to at least two such articles. For example, it would help to know if this Wired article was what you were thinking of.

This question appears to be quite subjective and I don't think it would be fit for the StackExchange format. However, it can be a bit interesting if you'd provide some examples of which articles you have in mind and possibly rephrasing the question.

Taking a look at the recent history of Bitcoin, say, one year, one sees a lot of problems that could hamper most projects. There was the speculation bubble, big price drop, many hacks on high-profile websites, Bitcoin being accused of promoting drug trade and so forth. At the same time there were few cases when Bitcoin was seen in a positive light - perhaps only the Good Wife episode. From that one could conclude that the project is likely to fail.
The real state of Bitcoin project is a bit more complex than that. There is a lot of money tied up with it (miners and investors), and the standard client is a quite stellar piece of software, but at the same time there are few opportunities to actually spend Bitcoins in a meaningful way, and a lot of the Bitcoin ecosystem relies on dubious security of third party applications.
Generally, the Bitcoin project will probably go through a period of remission from the limelight, hopefully giving enough time for the third party applications to shape up, the userbase to grow slowly and so forth, and only then start becoming more noticeable again, when it will start replacing other online payment processors. Alternatively, some major Bitcoin solutions might be taken down and the whole project could suffer because of that (say, if MtGox stopped operating).
Bitcoin is not dead, and it probably won't be shaped by the bigger news articles.

What you are describing is called Yellow Journalism - a pejorative to decry any journalism that treats news in an unprofessional or unethical fashion.
Bitcoin is something that is very hard to understand and also its anonymous nature makes monitoring its level of success something difficult to measure. As a result, making an assertion that Bitcoin has failed is something that can be made without having to being accountable even if that assertion might be false. Bitcoin's biggest supporters include many who could be classified as favoring libertarian ideals. Media bias exists, and generally doesn't favor libertarians.

For instance, consider the media bias against libertarian-leaning Ron Paul in this election:

http://www.youtube.com/watch?v=yTOVYnk4H-w


text:
CPU Mining with a large EC2 cluster - worth the effort?
I'm relatively new to Bitcoin, and am playing around with pool mining for fun.
I have access to a fair amount of EC2 instances - c1.mediums - between 30 and 50 on a given day.
I already have the 'minerd' CPU miner working on a single instance, connecting to a mining pool service.
Two questions about this setup:
First, would running 50 c1.medium instances, each running 2 threads of 'minerd' at ~ 750 khash/sec/thread be worth it?
Second, I assume this type of mining is allowed in a pool against a single account, but maybe it's not? I am thinking the 50 instances would all work together to increase my account's work load, but I may be misunderstanding a fundamental part of Bitcoin mining.

CPU mining for Bitcoins is almost never worthwhile since the advent of GPU mining. If your EC2 instances are free you're welcome to try but there's a better alternative.
A decent CPU won't get you but 3-5 MH/s of Bitcoin mining power, which at current difficulty and exchange rates will net you about 0.0046 BTC per day (worth about a penny at current rates). On the other hand, that same CPU will net you perhaps 3 kH/s of mining power on one of the sCrypt based forks, I'll use Litecoin (LTC) for this example. Mining LTC on that same CPU will net you about 3.06 LTC per day which, at current exchange rates, will net you about 0.0153 BTC, worth about 4.5 cents per day. It's still not a lot, but at present CPU mining on CPU-friendly forks is much more profitable than CPU mining Bitcoin directly.
As for whether your 50 c1.medium instances would be worthwhile, if (for the sake of easy math) we assume each can produce somewhere in the neighborhood of 2 kH/s of Litecoin mining (decent guess, a 1 MH/s BTC CPU tends to put out about 1 kH/s on sCrypt based variants) then that's a combined 100 kH/s worth about 102 LTC per day, 0.51 BTC per day, or about $1.53 per day. Since I'm assuming the cost of 50 c1.medium instances is more than $76.50 per month, I don't think it would be worthwhile for dedicated mining. If, on the other hand, you already pay for these instances for other purposes and the addition of mining is essentially "free" then an extra $76.50 (or 25.58 BTC) per month isn't too bad.
Finally, yes, all fifty of your instances could work together on a single account in a mining pool. This is so common it actually has nomenclature: each of the running instances would be called a "worker" and while some pools allow you to create many workers, that's really just for your own stat tracking and isn't necessary at all. Each instance can certainly submit shares under the same account without error.

It's worth noting that AWS "free" instances aren't actually free, because you pay for disk I/O.

You can use EC2 GPU instances now, but the price outweighs the earnings:
https://bitcointalk.org/index.php?topic=8405.0

As with all types of endeavour, you have to see if your earnings are bigger than your costs.
If you  have access to those instances for free, you just have to figure out if your time to set everything up is worth it.
You should put your numbers in a profitability calculator, like this one:
http://tpbitcalc.appspot.com/
But from what I can see, you have under 100 MHash/sec in total, which would net you about 0.1 Bitcoins per day of continuous mining. Probably not worth the effort.
As for the pooled mining - the whole concept of it is that a lot of smaller miners contribute to solving a block. Mining with 50 or more machines is totally acceptable, but might be a bit of a work to get everything set up.


text:
What software/hardware is required to mine with an FPGA?
I have been looking for a device that would allow me to mine Bitcoins without too much noise and heat. Something relatively small that I could keep in a shelf without worrying too much about it.
A rig with GPUs is too noisy so I looked into FPGAs, but I have no idea what these devices are. From what I understand, an FPGA is just a card (like a GPU) so I would still need to keep a computer on 24/7, right?
So do I need special hardware/software to connect an FPGA to my computer or does it work like a GPU?

You would need a computer to program the FPGA, obtain the work units, distribute them to the FPGAs, collect the shares, and submit them back. If you're not using a mining pool, you'll also need the computer to generate the work unit, assemble solved blocks, and submit them to the Bitcoin network.
The computer won't be doing that much work. So you can use a very low-end machine and optimize it for low power consumption and low noise.
Cablesaurus built the first commercially available FPGA Bitcoin miner. There is a lot of innovation going on and what's available is changing rapidly, but most of the current designs are very similar to this design.

Might also be worth linking to the Open Source FPGA Miner project over on GitHub. It's specifically designed around a Terasic DE2-115 but other chips/boards might be doable with minimal tweaking. They also have a full set of instructions in their Readme.md

It depends on the board. There is a board that uses USB for its connection to the computer.

From what I understand a full-blown computer might not be required. You need two things to mine on an FPGA - power and connection to the internet. First one is pretty self-explanatory, but as for the second one I`m not entirely sure whether you need a computer to connect them to the internet, or some other, similar device would suffice. As an electronic tech I think it is pretty likely that you can get FPGAs mining your coins without a "normal" computer, but I don't know much about this field.


text:
Why destroy bitcoins?
I keep seeing references to destroying bitcoins by sending them to addresses that nobody can own (e.g., addresses derived from impossible public keys). What would be the reason for doing this? It's discussed in such a cavalier manner in various posts that I'm assuming it's not an attempt to undermine the currency.

Certain escrow techniques rely on one party being able to "destroy" these bitcoins, without being able to steal them. For example I could put 10 bitcoins in escrow, giving a second person the ability to destroy them. Now if that second party lends me, say, 5 bitcoins, I can't simply run away from my debts without incurring a loss larger then the debt itself, once the other party destroys the bitcoins. There are variations of this scheme for a number of other purposes.
You don't want to actually destroy bitcoins in such a scheme, but you want the threat of destroying them.
But "destroy" in this context isn't necessarily an actual destruction, as long as "destroyed" bitcoins are a loss for both parties. Donations to trusted organizations are an alternative.

A non-malicious reason to deliberately destroy notable amounts of Bitcoins would be for a hypothetical alternative blockchain that recognizes Bitcoins sent to a special address as newly generated coins. One could for example try to establish a new "Altcoin" which is incompatible to Bitcoin, but every private key that signs a Bitcoin transaction to a special impossible Bitcoin address is eligible to also spend an according amount of Altcoins. This would enable a secure one-way conversion to a separate blockchain without the need for exchanges.

I don't think anyone is intentionally destroying large amounts of Bitcoin.  Some relatively large amounts have been destroyed accidentally, due to hardware and software failures.  This thread is an attempt to count all the lost Bitcoins.
Don't forget that each of the 21 million total Bitcoins is divisible into 100 million parts.  So it's considered that there's plenty to go around, and the more that is destroyed, the more the remaining ones will be worth.
Also, don't confuse the term "bitcoin days destroyed" which is sometimes used with destroying the coins themselves.  This "days destroyed" measure is sometimes used as a measure of velocity in the bitcoin economy, and doesn't really measure destruction of anything.  If you have 10 bitcoins for 7 days in the same place, we can say they have an age of "70 bitcoin days".  If you spend them, the new coins will have an age which starts again from zero.

I think this is the wrong answer. There are actually schemes that rely on being able to permanently destroy bitcoins (don't know enough about it to write an answer myself though).

There have been at least one message services / blockchain tattooing services that will make an unredeemable(?) TX to a vanity address.
If one were to have enough hashing power and time, theoretically you could recover keys for lost or destroyed coins. A lot of time. ;)

I don't think that's necessarily true. What I've seen is that destroying bitcoins means sending them to invalid addresses. No amount of processing will undo that, right?

It would take a lot of time, using current tools. Think heat-death of the universe.  On the other hand, if a shortcut is found, then it could be used to steal anyone's bitcoins from the block chain.


text:
Official DiabloMiner.app
Where can I get official DiabloMiner.app? Is it safe?
By safe I mean that it neither will try to steal my wallet nor will dig for somebody else.

It's hosted at github.
Downloads are here.
It's open source, so you can check the code to see how safe it is.
There's an old but still active thread on the bitcointalk forums.
It looks like the program is java code and so doesn't need compiling for OSX, and also that there's a script DiabloMiner-OSX.sh that runs it on OSX.

He's asking if a official_-ish_ compiled binary for OSX exists somewhere.

Oh I see.  You can tell from the '.app' can you?

Looks like it's java code, and so doesn't need compiling for OSX, and that there's a script DiabloMiner-OSX.sh that runs it on OSX.

good, include it in the answer maybe :)


text:
What is the largest transaction by value to date for bitcoin currency?
As the title asked - what is the largest transaction by value to date?

Due to how Bitcoins operate (in order to spend Bitcoins you need to make an operation on all of your Bitcoins), this question is closely related to this - http://bitcoin.stackexchange.com/questions/1524/largest-number-of-bitcoins-at-a-single-address-at-one-time

"in order to spend Bitcoins you need to make an operation on all of your Bitcoins" isn't right.  You don't even have to touch all the coins in a single address you control.  I think you must have a misunderstanding somewhere.  You can't partially use a single transaction output; you have to use the whole output as an input to your new transaction - maybe that's what you're thinking of.  But it would be possible for the biggest transaction to be bigger than the biggest balance at any address.  And vice versa.  i.e. they're really distinct questions.

As of block 173016, on Mar 26 2012, these are the record breaking (and equalling) transactions:
Jan 12 2009 - block    170, transaction f4184fc5 spends     50.00000000
Jan 14 2009 - block    496, transaction a3b0e9e7 spends     61.00000000
Jan 15 2009 - block    586, transaction 4d6edbeb spends    250.00000000
Jan 19 2009 - block   1055, transaction 8897ea9c spends    500.00000000
Jan 22 2009 - block   1296, transaction 59bf8acb spends    500.00000000
Jan 24 2009 - block   1586, transaction 3a5c037f spends    500.00000000
Jan 26 2009 - block   1945, transaction 5559270f spends   1000.00000000
Jan 31 2009 - block   2518, transaction 2ccc3f59 spends   1000.00000000
Feb 08 2009 - block   3510, transaction 92f55c2c spends   1000.00000000
Feb 09 2009 - block   3645, transaction cec658ac spends   2200.00000000
Mar 16 2009 - block   7677, transaction e6f00fa6 spends   2400.00000000
Apr 20 2009 - block  11666, transaction eebd343e spends   3500.00000000
Jul 20 2009 - block  19863, transaction 123a3968 spends   6049.67000000
Oct 16 2009 - block  25095, transaction 4aa98b18 spends   9700.00000000
Oct 22 2009 - block  25618, transaction 1aae9d58 spends  11950.00000000
Oct 24 2009 - block  25788, transaction 5d793270 spends  12250.00000000
Oct 27 2009 - block  25969, transaction 3cd9410f spends  13000.00000000
Nov 04 2009 - block  26402, transaction 6029e51c spends  15500.00000000
Nov 11 2009 - block  26814, transaction 1043eb5c spends  15500.00000000
Nov 19 2009 - block  27525, transaction f2e5fdd3 spends  21850.00000000
Nov 19 2009 - block  27528, transaction 67fc73c7 spends  22500.00000000
Mar 06 2010 - block  44006, transaction 23709241 spends  23247.39000000
Jul 12 2010 - block  65566, transaction ba62e528 spends  35000.00000000
Jul 26 2010 - block  70527, transaction b9d69463 spends  46754.31000000
Jul 28 2010 - block  70870, transaction 73ac0fdc spends  50000.95000000
Nov 06 2010 - block  90003, transaction 70dab592 spends  55000.00000000
Nov 08 2010 - block  90505, transaction 1ec28eee spends  96999.00000000
Jan 27 2011 - block 104770, transaction 8f821069 spends 400000.33000000
Jun 12 2011 - block 130281, transaction a09ac44c spends 432110.10745232
Jun 23 2011 - block 132749, transaction 3a1b9e33 spends 442000.00000000
Nov 16 2011 - block 153509, transaction 29a3efd3 spends 550000.00000000

Probably this one, 550,000 BTC transferred at one time.

http://blockexplorer.com/tx/29a3efd3ef04f9153d47a990bd7b048a4b2d213daaa5fb8ed670fb85f13bdbcf

Now the question, was it a transfer from one person to another, or was it a transfer simply to, for example, another wallet once the passphrase encryption feature was made available.

That was MtGox trying to consolidate 10 50k coins into a single large 500k coin.  The extra 50k was added by some code in the official client that is a little too careful to avoid sub-cent change.

50k thrown in by over-careful code for good measure. :-)

Does that meant that extra 50k BTCs were generated out of thin air?

@Kozuch No, it was just that there were 11 blocks of 50k coins, and the Bitcoin client only needed to move 10 of them, but it moved 11.

In November 2013 a transaction for 194,993 BTC at the time worth $149 Million was sent.

Wow, and with <1¢ fee!

There's a Reddit thread on that transaction. It was a BitStamp audit.


text:
Dollar cost averaging approach to Bitcoin investing?
Are there any services offering a dollar cost averaging approach to Bitcoin investing, i.e. something like an index tracker fund which purchases a set amount on a regular basis? If not, are there any reasons why such a service can't exist:

Are there any theoretical disadvantages, i.e. anything specific about the asset which discourages this style of investing?
Are there technical limitations, e.g. is there some restriction imposed by payment bodies which would prevent making a regular payment from Paypal to Dwolla, from Dwolla to an exchange, then buying coins, in an automated fashion?

There is also https://www.bitcoinbuilder.com/
This allows an easy setup where you spread your bitcoin buys over a time. Currently only works with mtgox. You create trade-only rights for the bot, so that no high trust for the site is required.

Seems the site is currently down, don't know if it's still active. Anyway, its announcement thread is https://bitcointalk.org/index.php?topic=67835.0.

@Jeremias: Welcome! Please try to improve the answer by adding a little bit of info about bitcoinbuilder.com. That way the answer is not totally useless even if the link doesn't work.

This can be done today.
Dwolla lets you send money to Mt. Gox on a schedule:
 - http://help.dwolla.com/customer/portal/articles/164379-multi-payments-schedule
You then can leave an open market order to buy bitcoins, e.g., a bid for 10,000 BTC.
The moment new funds arrive from Dwolla, Mt. Gox will attempt to execute the remaining part of the order using all USD funds available in the account and those bitcoins will be purchased at the market price at the time.
Of course, this assumed the account is not used for any other trading, as that open bid order would be triggered from any BTC sales that occur.

The same Dwolla who stole Tradehill's money forging CC chargebacks?


text:
Radeon HD 6750 running at 120 Mhash/s table shows 167Mhash/s
I'm using guiminer with flags -v -f30 -w128 under windows 7 but all i get is 120Mhash/s thats like 75% of what the table shows. Any idea why is that?

People, please add a comment when downvoting.

What's your GPU temp?

34C ..............

54C under load,

If you are using ATI Drivers 11.12 or 12.0 or above you need to set the worksize to 64.
Also the new drivers are a bit slower then pre 11.12 drivers.

Setting the worksize to 64 didn't help ;/ any other ideas why is this happening?


text:
Can there be Bitcoin-like network that also works as whatever@home?
There are Bitcoin-like network that performs calculations that are not locally useful, but interesting for peers.
There are {SETI,folding,...}@home networks that calculates something that is (probabilistically) useful locally, but not such interesting for peers.
Can there be a network that:

Allows starting useful distributed calculations and
Have notions of proof of works, signatures, checking and other building blocks that can be used to run BitCoin-like currency?

Ideally, if somebody finds an efficient way to solve some useful task (compare: start using GPU while everybody else using only CPU), he not just start having larger share in a zero-sum game, but also automatically help that calculational task.


text:
Why does the initial blockchain download get stuck part way through?
I am trying to get Bitcoin up and running on a fairly underpowered laptop and Windows Vista using Bitcoin-Qt 0.5.0.1. After installing and starting the program, I am stuck at at the syncing stage at 92150 blocks and 0%, and have been for several hours. What could I try to get the program working?

Try restarting the OS.

also try getting the latest release, 0.5.2. can't hurt.

I am in the same boat except my wallet is up to date and 7.1.0. Im on ubuntux64 and the wallet wont even start the sync with 8 connections on the BC network. The process is not throwing any errors and the machine I'm on is fully functional. I have cleaned the bitcoin directory twice and rebooted twice as well. I am connected to the Internet as I am still trying to connect as I type this. As of right now after running for several hours, sync is at 0 of 207028 blocks with 8 connections.

closely related: What can I do when the blockchain synchronization is stuck at a specific block?

Restart OS, restart Bitcoin, try forwarding port 8333 on your router to your machine.  If there is no progress after that, you might consider deleting all the files in your Bitcoin data folder except wallet.dat (if you have made any transactions, deleting wallet.dat will make you lose your Bitcoins). If you just want to use Bitcoins casually, or don't want to wait for the client to sync, you can consider using an eWallet.

Bitcoin connects to random nodes by default (home connections too)
To get a fst download you need high bandwidth nodes.
Edit the bitocin.config as described there: What is the fastest possible way to download the blockchain?


text:
Coinotron wont show updates from cgminer
I type this into command on windows
C:\Users\developer\Desktop\cgminer-3.7.0-windows\cgminer.exe --scrypt -o stratum+tcp://coinotron.com:3334 -u exploithb.1 -p x

and it looks like its working, Im getting 1.4 MH/s for lite coin. But when i log into coinotron i don't see my workers Speed value and It stays at 0.0 KH/s. Could it be that I'm doing something wrong? I let it sit for a half hour to see if i see any updates and nothing ever shows up.

I found out why it didn't show. These mining pools out there just like coinotron arent running super servers and there are multiple people connected and it cant always pull that kind of strain on the server to request up to date/time of your local hash speed, so it displays what it can for everyone. Also After initialy starting your miner you have to wait atleast 5-10 minutes depending on your bandwidth for cgminer to officially connect and for your worker to show some kind of data. In cgminer look for where it shows A:# and HW:#  if these values are 0 then the connection hasnt been made yet. Just wait for 5-10 minutes and its value should keep going up. Once you see its values going up look to the right there should be something that says shares accepted , its value should be going up in time as well. If A:# or HW:# has not changed and stays and 0 then something is wrong ,you need to reconfigure your commands that you typed for it.
If you find this helpful upvote :p


text:
What is the difference between kH/s, MH/s, and GH/s?
I started mining on a friend's computer and it shows 300 kH/s. But when I research other peoples' hash rates I usually see MH/s. Are these speeds the same as kilobytes and megabytes?
Also, when I say 300 kH/s does that mean 300,000 Hashes generated per second?

Sure:

1 kH/s is 1,000 hashes per second (sometimes mistakenly written KH/s).
1 MH/s is 1,000,000 hashes per second.
1 GH/s is 1,000,000,000 hashes per second.
1 TH/s is 1,000,000,000,000 hashes per second.
1 PH/s is 1,000,000,000,000,000 hashes per second.

I would upvote it if you bothered to name those abbreviations

Mining capability is measured in the number of attempts to find a block a miner can perform. Each attempt consists of creating a unique block candidate, and creating a digest of the block candidate by means of the SHA-256d, a cryptographic hashing function. Or, in short, a hash. Since this is a continuous effort, we speak of hashes per second or [H/s].
Hash rate denominations

1 kH/s is 1,000 (one thousand) hashes per second
1 MH/s is 1,000,000 (one million) hashes per second.
1 GH/s is 1,000,000,000 (one billion) hashes per second.
1 TH/s is 1,000,000,000,000 (one trillion) hashes per second.
1 PH/s is 1,000,000,000,000,000 (one quadrillion) hashes per second.
1 EH/s is 1,000,000,000,000,000,000 (one quintillion) hashes per second.
1 ZH/s is 1,000,000,000,000,000,000,000 (one sextillion) hashes per second.

Conversions

1 MH/s = 1,000 kH/s
1 GH/s = 1,000 MH/s = 1,000,000 kH/s
1 TH/s = 1,000 GH/s = 1,000,000 MH/s = 1,000,000,000 kH/s
and so forth

SI unit prefixes
The denomination of hash rates follows the International System of Units (SI). Hereby, the prefixes kilo, mega, giga, tera, peta, exa, and zetta each translate to an increase by a factor of one thousand.
Please note, that the symbol for kilo is a lower-case "k". As "K" is the symbol for
kelvin, the unit of thermodynamic temperature.
The following table from Wikipedia shows an overview of the prefixes, symbols, and factors they correspond to.

Inconsistency of kilobyte, megabyte, and gigabyte
The computer industry's use of kilobyte, megabyte, and gigabyte is inconsistent with the SI. The Joint Electron Device Engineering Council (JEDEC) has redefined the prefixes kilo, mega and giga in relation with bit and byte as powers of 1024 instead of 1000. Higher prefixes were not redefined by JEDEC.
In order to avoid this inconsistency, the International Electrotechnical Commission (IEC) has proposed the binary prefix which uses kibi [Ki], mebi [Mi], and gibi [Gi] for 1024¹, 1024², and 1024³ respectively.
The following table from Wikipedia gives an overview.

Hello I would refer you to wikipedia Metric prefixes. Hashes are measured in standart SI metric prefixes such as
Kilo - 1 000 Hashes/s
Mega - 1 000 000 Hashes/s
Giga - 1 000 000 000 Hashes/s
E.G. 2 Kh/s means that 2 000 hashes can be solved per second.
If you would like to know more about Hash visit bitcoin.it
From bitcoin.it :

A hash algorithm turns an arbitrarily-large amount of data into a
  fixed-length hash. The same hash will always result from the same
  data, but modifying the data by even one bit will completely change
  the hash. Like all computer data, hashes are large numbers, and are
  usually written as hexadecimal. BitCoin uses the SHA-256 hash
  algorithm to generate verifiably "random" numbers in a way that
  requires a predictable amount of CPU effort. Generating a SHA-256 hash
  with a value less than the current target solves a block and wins you
  some coins.

Or you might check this:
Cryptographic hash

kH/s means thousands of hashes per second.
MH/s means millions of hashes per second.
GH/s means billions of hashes per second.

Therefore, 300 kH/s are 300,000 hashes per second or 0.3 MH/s.


text:
Will the amount of electricity used for mining be huge if Bitcoin is widely adopted?
A quick and very rough estimation: If the USD/BTC exchange rate grows to $1000/BTC (not that far-fetched if Bitcoin is actually widely adopted) bitcoins for a value of $300000 would be produced every hour, given the current rate of 50BTC each 10 minutes. This should mean that the amount of money spent on mining is roughly the same, $300000/hour.
Given an electricy price of $0.01/kWh that means that 3GW, i.e. a rather large power plant, would be used solely for mining.
Is there anything fundamentally wrong about the above calculation? Is it a problem?

This is a very difficult prediction to make, but there is one factor often left out of mining cost estimations: cost of hardware. When amortized over their expected lifespans, the costs of various pieces of equipment can become a meaningfully large factor in Bitcoin mining costs. In the days to come, it seems likely that FPGA or ASIC miners will become more common since they offer tremendous power efficiency gains over GPUs. The "downside" to FPGA and ASIC mining is that it is also extremely expensive to obtain the initial equipment, which means that the cost of equipment amortized over its expected lifespan is higher than with GPU mining.
We're now seeing the first commercially available FPGA mining rigs become available, costing about $440 for a 100 MH/s rig consuming 6.8 watts of electricity. Here at my home in Las Vegas, NV it would cost about 55 cents per month to run one of these FPGA boards, and even if the device survived 10 years of operation before its death, amortized hardware cost would be $3.67 per month, absolutely dwarfing energy costs. The ATI Radeon HD 5830 based rigs I currently run cost about $6.58 per 100 MH/s in electricity alone, but a 10-year amortization only adds $0.96 per month per 100 MH/s to that cost. This means the buy-in for GPU mining is low but so is the profit and sustainability.
This puts my cost per coin for FPGAs at $2.45 and for GPUs at $7.54, though there is certainly room for improvement in those numbers and your mileage WILL vary. The important bit, however, is that FPGA mining is far more profitable regardless of hardware cost and is likely to be the next big thing, which does a lot for Bitcoin's overall energy footprint since FPGA mining consumes about 8% of the electricity GPU mining currently consumes. If FPGA mining took over right now, the Bitcoin network could grow to 12 times its current hash rate without seeing a net increase in energy consumption.
In short, Bitcoin is in its infancy still and so is mining. Just as most technologies begin at low efficiency and high cost and grow towards high efficiency and low costs, so too is Bitcoin mining. You are correct in your assumption that electricity use will likely grow with Bitcoin adoption, but the missing factor in that equation is the increasing energy efficiency of mining hardware.

+1. Very good answer. I would like to know more though. As mining gets more energy efficient less money will be spent on electricity and more on buying hardware. So it's still $300000/hour but most of it will be amortized hardware costs. With that amount of money spent on hardware it becomes interesting to know more about the costs involved in producing the hardware. How much energy is used for this instead, how much labour etc. I know that there are no definite answers here but if there is anything else you wanna add about this, feel free to do it.

While I feel my answer is fairly complete from a cost-in-dollars perspective, I do see where it could be found lacking from a cost-in-resources perspective. Unfortunately I have absolutely no data on the combined resource costs of such devices and the resource cost of electricity depends largely on how "green" your region of the planet happens to be (hydroelectric < coal for example). If anyone has data, I'd absolutely love to include it above.

That answer is mostly wrong at the moment because nowadays the energy costs are the most important factor in costs and thus energy usage is determined by the block reward, not the technology. Efficiency increase cannot cut the electricity use down, because they just increase difficulty.

Electricity is not the only cost associated with mining. But basically, that's about what we expect. Likely mining will always be just barely profitable with the most cost-effective hardware and the lowest prices for electricity. If it's much more profitable than that, more people will mine, raising the difficulty, and thus reducing the profitability.
On the bright side, the block payout will start dropping in 2013 or so. Every time the block payout drops, we would expect to see a decrease in mining.

A drop for a while, at least until the tx fee's start surpassing the payout.

It gets interesting when transaction fees start becoming significant. You may see huge drops in mining power right after a block is found, since all the 'juicy' transactions will be taken. Then a few minutes later, when a few transactions with high fees build up, you may see a surge of mining. That should be fun. You may have to include a transaction fee not just to get your transaction included in a block but to get a block mined at all.

Interesting to read those old answers. That expected decrease has more than been offset by the raising bitcoin price. Now it's more than 0.1% of world electrical energy production.


text:
What happens if hash rate decreases rapidly?
Since difficulty is only adjusted every 2016 blocks, what would happen if hash rate was to decrease rapidly? Wouldn't this cause blocks to be created less frequently and also making the time until difficulty is adjusted even longer?
Here's a scenario I had in mind, please point out any errors in it:

Some event causes people to lose faith in Bitcoin.
Those people sell off a lot of Bitcoins, causing the value of a Bitcoin (compared to e.g. a dollar) to drop a lot
Miners (who pay their electricity bill in dollars) find that mining is no longer profitable and a lot of them quit (until it is once again profitable)
The time between blocks has now increased (let's say to 15-20 minutes) since difficulty has not yet been adjusted.
People experience that the Bitcoin network is slow, it takes a lot of time to get transactions confirmed, and starts to lose faith in Bitcoin. Go to (1).

So, could this cause a downward spiral of the faith in Bitcoin?

This has happened on alternate block-chains (Bitcoin forks), right?

Yes, it could. It's not very likely, but it could happen.
However, one thing to keep in mind is that Bitcoin is incredibly resistant to these kinds of problems. Everyone who participates in the Bitcoin network has an incentive to keep that network useful. So a new client with a different difficulty algorithm could be released in a few days and the network transitioned in less than a week if needed. The difficulty adjustment could be changed if it needed to be.
For one thing, the "6 confirmations" rule is way overkill. People could compensate just by accepting 4 confirmations for transactions under $10,000 or the equivalent.
Ideally, people would see this risk coming several months away and could deploy a fix before it was needed. If circumstances in any way suggested that this was a realistic possibility, even in the absence of an actual attack a community consensus and transition plan could be developed and implemented. Alternative difficulty algorithms have already been proposed and even implemented (in other block chains) that don't have this issue.
Right now, I think such a change would be a bad idea. The problem is very unlikely, and any mass change in the logic of Bitcoin could undermine confidence in the long-term stability of the system. People might think "if they change the difficulty algorithm today, maybe they'll change the Bitcoin generation rate tomorrow".

Yes. If the has rate decreases rapidly, the number of blocks produced per day will also decrease and, as a consequence, difficulty will take much longer to be updated. However, I think that your scenario is unlikely to happen.
The mining network is relatively big at the moment so it will not disappear suddenly. Even if the price sinks, there are miners with cheap/free electricity that want to recover the money invested in mining rigs so they would be the last to leave. A predictable difficulty decrease is also a great opportunity to come in and collect easy profits when the 2016th block completes.
If a big security flaw is found, a new client can be released and fix any of these issues. Bitcoin is very flexible, like David Schwartz said.


text:
Under what circumstances would a server submit new work to a miner?
This is asked in a context to better understand why a submitted share by a miner might be rejected.
I know when a new block gets solved that would require a work update, which is approximately every 10 mins on average. Are there any other circumstances where miners in a pool would get new work from the pool server?
I'm mainly asking this question to better understand the explanation given here:

The cause of this problem is low overall hashrate. Phoenix maintains a work queue to reduce hashrate disruptions caused by momentary connection problems. This works great on faster hardware like the ATI 5870, but it can cause issues with miners that get <100 Mhash or so. The reason for "unknown-work" rejects is that those shares were from work that has been sitting in the queue for long periods of time(>1 min). Some pools "forget" about assigned work after very short time periods (1 minute for example) and any results returned based on that work are rejected as unknown...

It sounds like a pool ignores submitted shares that's over a 1 min even if no new blocks were solved in that time. The submitted share clearly shouldn't be considered stale yet so why would a pool do this?

The problem you are describing could be due to pool optimisation, as it is easier to prune 1 minute old shares than probably it is to look through 10 minutes of shares in order to validate them.
As for why a miner would request new work from a pool, other than as a result of longpolling or finishing a work, might be due to the work becoming invalid with time (with standard protocol a miner would request work every second). Alternatively, the miner is trying to be malicious and trying to make the pool do extra work.


text:
Is there a website that compares the features of different cryptocoins?
Is there any website where I can find a comparison of different altcoins by features?
I'm not interested in hashrate, price, difficulty, but rather in implemented features such as:

Used difficulty retargeting algorithm
Anonymous blockchain
Encrypted transaction network

I think the closest you get is this list of all cryptocoins on Bitcointalk. There is a very brief summery of features there, but you can click further to the corresponding official thread, which should contain all information available on the altcoin.
Sadly, almost none have a thorough explanation of the algorithms involved and are hard to access without looking through the entire code (if available at all). I'm even a bit disappointed in Bitcoin in this case. I have yet to see a javadoc like thorough code documentation for any cryptocoin.


text:
I have an ATI Radeon HD 4550; would starting to use BitCoin be worth it?
Below average PC, wondering if it'd be worth it. The possibility of damaging my PC also exists.

Simply put, unless you get electricity for free, no. Check out some of the mining calculators linked in the dup question linked in the question comment.


text:
What are sidechains and drivechains?
Altcoins have existed for many years and there are many hundreds of different ones already. A more recent concept is sidechains and drivechains.
What are sidechains and drivechains?
How do they differ from regular altcoins?

Sidechains are supposed to make it possible for users to move bitcoins between different bitcoin-based blockchains with different rule sets. For example, in this way, new techniques for preserving the privacy of transactions or a smart contract system similar to ethereum's could be added to a bitcoin blockchain, without changing the bitcoin blockchain. They are as an architecture for building semi-decentralised products and services for Bitcoin that were simply impossible before. With sidechains, users won’t be affected at all by any new programming.
Drivechain is a two-way peg for interacting with the sidechain. The key difference between drivechains and regular sidechains is who ultimately submits the necessary information to transfer the bitcoins back and forth: the users or the miners.
The side chain idea allows the native cryptocurrency to compete and win out over other competitors, as they are faster confirmed.

seems like sidechains can have 2 way pegs as well? https://www.coindesk.com/learn/an-introduction-to-sidechains/