text:
What Bitcoin Mixing/Laundry Services are availble today?
A Bitcoin Laundry or Mixing Service is a service that accepts BTC payments, and returns the same BTC amount, only from coins that are unassociated to the original BTC. It is a privacy service that works well if it has massive usage.
What are some good mixing services? Is there any data on how well they actually anonymize (e.g. what size are their "stashes" or user base (bigger stash = bigger anonymity)?

A large part of the confusion surrounding mixers is simply a mixture of poor grammar and terminology. As was shown to me in this question there is no distinct recognizable item corresponding to a "bitcoin" the way there is corresponding to, say, a dollar. It might be better to say that mixers disguise the transaction chain leading to your account by passing through one or more intermediaries. There is no such thing as a "dirty" coin, just data that can be tracked back to "dirty" sources

It doesn't disguise by adding layers like a Tor node does. Rather, you give it "dirty coins", it gives you "clean coins" - coins that someone else gave it, that have absolutely nothing to do with your coins (they might be accidentally dirty from some other source, but they are not dirty from anything you did with them).

Again, it doesn't "give you" coins because coins don't exist. You give it a transaction history that leads back to source A and it gives you back the same balance but with a transaction history leading back to point N. Unfortunately once the history with source A is associated with you in any identifiable way it is indelibly associated with you forever. This is an important distinction that anyone looking to protect their privacy needs to make. Such washers can only hide the fact that the controller of address A also owns address B.

The main thrust of my point being that people imagine "coins" as distinct objects which are transient. They imagine that "as long as I'm not holding the 'dirty' coins I'm ok" when they're not. There are no coins, only transaction histories which determine balances, and transaction histories are forever. If you take payments for something illegal or embarrassing on address A and have them "mixed" and sent to address B, you still have to worry about address A being burned.

@DavidPerry - Coins do exist, I don't know why people keep saying they don't exist. It's just a matter of defining what 'coin' and 'exists' mean. If you take payment for something illegal on address A, but are not personally identified with this address (nobody knows it's you), you can move bitcoins from A to L, get a separate set of Bitcoins from L to B with a different history, and then exchange coins from B via Mt. Gox to your personal USD bank account, without fear (assuming the mixer has enough volume, etc...).

But you could do the same thing without the mixer. Just transfer the 'dirty coins' to Mt. Gox and then withdraw. Nobody would know it's you without compromising the recipient in either case. (In one case, it's Mt. Gox. In the other case, it's the mixer. I'd say Mt. Gox is more trustworthy than the mixer anyway.)

@David Perry that is easily solved by simply no longer EVER using address a again as well as deleting it from your address book.  Now if you have linked address A to other sources of information (i.e. used it for multiple funding sources, including it in a blog or forum signature) then yes the "taint" of address A can still be traced back to you.

@DavidSchwartz - Mt Gox could be looked at as a 'mixer' of sorts but they don't provide any "service level agreement".  Looking at my transactions some rapid round trips through Mt. Gox are very obfuscated others however appear to be put into infrequently used accounts and it may be possible w/ sufficient block chain analysis to identify/track the funds.  A superior mixing service would be one that mixes large amounts of transactions through multiple iterations and in/out addresses involving random periods of time.  Of course as you point out trust is a major issue.

@DeathAndTaxes: True, but such tracking wouldn't be useful. At best, an attacker could tell that someone transferred funds to Mt. Gox and someone withdrew funds from Mt. Gox, getting the same coins. There's no way they could tell they're the same person. If you want to be crazy, deposit the Bitcoins into an anonymous Mt. Gox account and get a Mt. Gox code. Deposit that into your account two weeks later. Nobody but Mt. Gox could track that.

The only one I'm currently aware of is "Bitcoin Laundry" operated by Mike Gogulski. They charge a 4.555% commission rate and do little more than accept a payment then re-send a payment. There is also (according to the Wiki) that the service is only lightly used and might not be adequate to provide any real anonymity. You might be better sending then withdrawing coins at Mt Gox with a decent delay between transactions - the sheer volume of Mt Gox's transactions as well as the size of their wallet would make them much more effective and there's nothing I'm aware of to stop you from creating an account with a throwaway email address and accessing Mt Gox through TOR/I2P/etc.

Looking at the Bitcoin Laundry it does seem to be poorly implemented.  A good laundry should have sufficient transaction volume possibly even paying other entities to provide entropy by including transactions they don't need "washed".  It also at least according to the website doesn't do any transaction splitting (i.e. 500 BTC in via one transactions and 500 BTC over a period of 18 transactions spanning 3 days with balances between 12.02 and 278.45) which would appear to provide nothing more than "feel good" obfuscation.

The current commission rate is 1.9%.

A proper bitcoin mixing service should be both truly decentralized plus have a huge transaction volume. I don't think that any current service provides that yet. Some good advice for anonymization using the Tor network can be found here.
A very promising mixing service would be an implementation of CoinJoin together with Confidential Transactions (also using the Tor network).

Blockchain.info has recently started up a dedicated mixing service.
Send Anonymously with Blockchain
As they were offering bonus payouts at the start I sent money via the service and it was quickly forwarded to the correct account.
To confirm how they mix the coins and the amount of taint remaining you can check the source code on github.
Source code

What do you mean by "bonus payouts"?

They were offering 1% return on coins for anyone who used it. So they pay you for fresh coins to give them coins to mix with. It was a short term offer.

The service is gone.

CoinJoin is being tested and is working https://bitcointalk.org/index.php?topic=282086.20

would you please elaborate a bit on the contents of the link?

@Murch Dark Wallet has been showed to the world and it uses the CoinJoin implementation that Pablo and Amir made, mentioned in that link.

I came across Bitcoinfog at http://www.bitcoinfog.com/. They run a hidden service in TOR at http://fogcore5n3ov3tui.onion
They have been down since mid August 2012 and are not back up as of Nov 2012. I first thought they cut and ran with peoples bit coins. Which is quite a risk for sites like this. It's happened to me before as well when I was "testing the waters" by running the coins through a tumbler site.

The second paragraph was not added by me, and represents another user's experience.

The blockchain-based betting services could essentially be used as a mixing service, where the makeup of a wallet is significantly different after several passes through the wagering service.
It still leaves a direct trace but the set of coins held initially is mostly gone ne and the composition of the wallet after is mostly coins that weren't there before.

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

But since it's not designed to do so, I wouldn't be so sure everything would work smoothly.

I've been using blockchain.info and MixBit (mixbity3bxwsqmnn.onion). I really like the fact that MixBit works in Tor and doesn't need javascript nor account.

http://BitcoinBath.com looks pretty promising as a bitcoin mixer. They aren't fully out of beta testing yet but keep an eye out, they are sure to the lead bitcoin tumbler in technology soon.

How do you know that they look promising, if they aren't out of beta yet? Please tell us whether you are affiliated with BitcoinBath.


text:
How do we know how many BTC have not been spent since being mined? Any tool to see this information?
I would like to know how many BTC have not moved from the block they were mined in - never transferred or spent. (With this information I believe could have an idea of how many BTC have been lost). Is there a tool to see this kind of information?

I don't think your question quite makes sense. Bitcoins aren't "transmitted", they simply sit in the block chain until someone chooses to spend them. There's no way to tell if a particular Bitcoin is lost or not because that depends on whether anyone knows they key needed to claim it. That key could be written on a piece of paper for all we know.
When your client tells you that you have 50 Bitcoins, it is doing that in a purely passive way. Nobody can tell that your wallet contains the keys needed to claim those Bitcoins, and this is by intentional design.
You could fairly easily measure how many coins hadn't been spent since they were mined. But that wouldn't really tell you anything. Some of those coins may have lost keys and some may not. And some coins may have been spent once and then lost.

I just would like to have an information to speculate how many coins are "obsolete" (lost). To know this kind of information I think could exist a tool where I could filter something like: Total of coins that was not spent last year, or since the beginning of Bitcoin and so on.

I don't think it's reasonable to infer that a coin is lost just because it hasn't been spent in a year. However, I suppose it is reasonable to infer that the longer the time since a Bitcoin was last spent, the more likely that it's lost. So a coin age histogram might give you some clue how many coins are lost. But so far as I know, there is no good information that would permit making reasonable assumptions about what percentage of coins are lost based on their age. Many people are intentionally holding coins without moving them.

I don't believe anyone has compiled the information but you could obtain it all from block explorer.
You would need to go through block chain and record the signing destination of all 144,667 blocks.
Here is an example:
http://blockexplorer.com/block/00000000000000f993d2fd712906ff1a5f79125d12f2832aa0616de1d4949e6e
These are the "original" (as of today) 144,667 blocks.  With a list of them you could simply scan the block chain to look for at least one transaction (other than signing transaction) involving that address.
A couple of issues:
a) like David said above just because it hasn't been spent doesn't mean it is lost (unrecoverable).  Many of the early adopters racked up hundreds of thousands of bitcoin.  Highly probable that many of them are still accessible and simply haven't been transferred.
b) second issue is the existence of pools.  With mining pool there will always be one transfer.  From the pool to pool member.

a better statistic might be "length of time since last transfer", though this would require some custom programming and it is still arguable how much information one can actually infer from it.

Agreed.  "lost" is an invalid assumption but one could however write software to parse the chain and provide stats like "18% of addresses had a transaction in the last year".  Like you said it may be of dubious value but it can be done.  Saying "x% of bitcoins have been lost" is simply impossible.

Yes, what I mean is some easy tool to provide stats like (How many % of address had a transaction last year or month...) (What month had more or less transactions done) and so on...

@Leo.  As far as I know that doesn't exist yet.  Should be an interesting programming project though.

source: Stack Exchange

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

sort: votes


text:
How can I find out the address my payment will come from?
Can I find out the address I am going send from before making a payment? And could this be useful for merchants that want to identify my transaction?

The current client does not allow you to select a specific address to pay from, and this would be ambiguous anyway because the payment may come from multiple addresses. So you don't know what addresses you are sending from until you make the payment.  It does, however, allow you to generate addresses to pay to.
The way a merchant usually associates transactions with a specific user or order is to generate a new unique payment address. Using the client, or the json api, the merchant can easily see when the unique address receives the payment and then credit the users account appropriately.
If you want to see what addresses you where paid from in the past then one way is to look up the transaction (most likely using the receiving address) at block explorer.

About the last point, see this related answer.

There is a patch for the client available to let you choose specifically which addresses to use when spending.
 - http://github.com/bitcoin/bitcoin/pull/415

There is really no such thing as the "address my payment will come from". Transactions can pull in coins from any number of sources which may or may not be associated with addresses. It is definitely not recommended to try to identify payments based on the source address.
If you need to associate a particular payment with a person or account, use an individualized receiving address.

Transactions can pull in coins from any number of sources which may or may not be associated with addresses What sources more than addresses are there? AFAIK internally every address holds it's own balance. Wallet balance shown in the Qt client is just sum of balance of all the addresses. No more no less.

It's been a few years since this question was asked, but the answer is that there is no rule that every UTXO must be associated with an address.

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

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


text:
How can both individuals and the Bitcoin community as a whole promote and advocate the Wikimedia Foundation to deal purely in Bitcoins?
With the recent addition of a Bitcoin address to their donation page, the NYC chapter of the Wikimedia Foundation has at least partially accepted Bitcoin as a valued currency and reduce the burdens and costs of donation.  It seems to me a great lot of good could be done to the cause of Bitcoin if it was fully adopted as the Wikimedia Foundation's currency of choice. How can we, as both individuals and a Bitcoin communtiy, convince the organization that not only accepting Bitcoins but using it as a payment form is advantageous to their operations?  Is there some sort of audit or study that can be conducted to present a cost-benefit analysis to switching to Bitcoin?
Wikimedia is a ripe target for this change because it is prominent yet small (as opposed to a large bloated corporation with many levels of decision making and more reluctancy to taking risks), internet-based organization with a global presence.  Potentially, it could be the catalyst for the digital currency revolution, where organizations didn't only accept Bitcoins for donations, but exchanged them for goods or services  (think server hosting fee, computer equipment, etc.) and potentially even pay employees across the Internet in one single denomination!
Am I wrong in being so optimistic?  Is it simply not economically viable to make the switch?

Please format the question into paragraphs.

Apologies, posted the question from my phone.  Hope it is currently formatted properly.

This looks like a discussion topic to me but I'll wait for some close-votes before closing it.

Apologies again, but I didn't realize the question isn't suitable for Stackexchange.  Is there a better way I could phrase it?

@user83 - you could try phrasing your question so it would be structured like a narrow, specific question, and also use the last paragraph to ask the gist of what you want answered. For example, a good question would be: "What are the advantages and disadvantages for a company like Wikimedia Foundations if it decided to rely solely on Bitcoins for donation?". This scopes your question into something that can be objectively answered. If you want to discuss things, rather than get precise answers, go to the forum - https://bitcointalk.org/ .

If any business would decide to rely solely on Bitcoins as their medium of receiving donations, would face the following problems:

Bitcoins aren't mainstream yet, so a lot of people would not understand what is it that the company uses.
Currently, getting Bitcoins for an average person is a chore. A lot of people can't be bothered to register in an online store to buy something they already have in their shopping cart (PayPal is addressing that issue with a sort of an OpenID equivalent). There would be even fewer amount of people wanting to use wire transfers or the like to get Bitcoins at MtGox.
Bitcoins aren't stable in their value yet. If a company has predictable costs payable in USD, getting donations in something that can change its exchange rate to USD in seconds by a large factor is not an ideal situation.
Bitcoins don't have the stability of a bank or large institution when it comes to security. If someone hacked into your bank and stole your money, usually the bank would give you the money back. If someone hacked into your machine running Bitcoins and stole your wallet, your Bitcoins are gone forever and nobody will compensate you.

So all in all, advocating for someone to use purely Bitcoins for everything is a bad idea. If a company would loose a lot of money by doing that, they won't want to deal with it ever again. On the other hand, due to the low costs, promoting adoption of Bitcoins as an additional source of donations is a better idea. This way if it doesn't work out too well, no big loss, if it goes well, so much the better.

They'd either have to convert from Bitcoins immediately into cash or become Bitcoin speculators. Neither choice is very attractive.
If they convert immediately into cash, they incur a transaction fee on their end and likely the donor incurs a transaction fee on their end too. They're also in uncharted waters as far as the tax status of those donations goes.
They should be deductible but at the purchase value or at the value at time of transfer? If I buy Bitcoins at $30 each and they drop to $8, can I donate them and deduct the full $30?
The only other choice to cashing them in is to hold onto them. If they become speculators/hoarders, someone has to manage their Bitcoin portfolio and there's always the risk they'll take losses. It wasn't too long ago that Bitcoins dropped from $30 to $3. A 90% drop in a portfolio is not something a non-profit can tolerate if their portfolio is a significant fraction of their assets. (And, of course, a non-profit cannot tax deduct its losses, though with sufficient effort and accounting cleverness, they may be able to sell them.)
So this just doesn't make sense yet.

At this point it's a very bad idea for Wikimedia to start dealing solely with Bitcoin. And even if it wasn't, it would be futile at this point to try to convince them of this.

Could you more specific as to why it would be a "bad idea"?  At the very least, would a partial switch or maybe establishing a roadmap for a transition be beneficial?


text:
How balances are calculated?
Is it the case that the blockchain has information on the balance associated with each public key-address, such that the client on my PC, say, will look at every public/private keys pair in wallet.dat, find all public keys in the blockchain for each of my private keys, sum up the balances for each, and show me the overall balance?

Essentially, yes.

The Bitcoin-Qt/bitcoind client computes the balance as you describe, by summing up all the transactions for all the Bitcoin addresses in the wallet.dat.
The blockchain contains all transactions since the genesis block (block 0).  So the balances are simply all the unspent transaction outputs (UTXOs).
There are third party services which will monitor the blockchain to provide balance info for a specified address or addresses.  BTCBalance.net is one.

I see, so there are no balances as such, only transactions. If I use the same address to receive / send the money 3 times, what will be recorded for that public key is, +20, -4, +7. These will be summed up along with everything else in the blockchain that corresponds to my wallet.dat when calculating the total balance.

And of course, the system rejects any transaction which would cause the balance for the public key used to become negative.

How do you go from a public address to a block?


text:
How can Open Transactions benefit Bitcoin?
OT is being integrated into the Multibit client.
How can such integration benefit users? What are some things it enables?

One for FellowTraveler I think...

Market exchange
OT includes bid/ask markets, allowing for trade between assets. And unlike most exchanges, the voting pools feature makes it impossible for the server to steal the coins.
Untraceable transactions
OT incorporates Chaumian blinding (untraceable cash), meaning it can provide anonymity and untraceability, similar to what the Bitcoin community strives for with existing mix services. (Bitcoin by itself is publicly-audit-able, which is a strength, but is also the opposite of untraceable. Its benefit is censorship-resistance, not untraceability, which can be added separately using OT.)
Instant settlement
OT has instant finality of settlement (instead of waiting 10 minutes to an hour for a transaction to clear.) This can be useful where merchants and and shopping carts are involved.
Micro-transactions
Micro-transactions will be more feasible on transaction servers than they would be on the blockchain.
Cash streaming protocols
Cash streaming protocols, in general, should become more prevalent and help to solve issues of resource allocation on mesh networks, anonymous networks, etc. Virtual Tahoe LAFS hosting and so on will eventually become more available, whether via OT or some similar system. (This would help protect the lives of Syrian bloggers murdered by snipers, and the lives of Chinese bloggers unjustly imprisoned to decades+ of hard labor--and to protect the anonymity of Mexicans who otherwise risk being disemboweled and strung from a bridge when following a "Real Names" policy.)
Operates securely on low-trust servers
OT cannot lie on your receipt. It cannot change your balance or forge any of your transactions. (Bitcoin also is like this, but it's still worth mentioning.) Combined with an auditing protocol, this makes it possible to run low-trust servers.
No transaction history
On OT, unlike most other systems, and unlike the blockchain, you will be able to prove which instruments are valid, and which transactions are cleared, without storing any transaction history, as long as you keep your last signed receipt. This is useful to all parties, and also reduces the cost of running a transaction server.
Full range of financial instruments
OT supports a full gamut of financial instruments, including cheques, transfers, cash, cashier's cheques, receipts, recurring payments, market offers and trades, and smart contracts (scriptable clauses - write your own.) You will have to decide for yourself how to best use these capabilities.
You could use OT to write a market exchange, or online wallet or personal wallet. (Of course these exist already, but I'm just saying...)
Smart contracts
OT makes it possible to create custom-scripted agreements between parties, to be executed on the server side.
You could use OT to offer escrow services. You could devise your own escrow contract in script form, and then OT will process it.
Client-side scripting
OT also supports client-side scripting, meaning that people can combine "Unix scripting" with "financial transactions". The possibilities are endless, but that part is really up to the developer community.
You could use OT to build a digital ticketing system, printing out tickets with QR codes or whatever.
In-game representations of real-world financial environments
You could use OT to build a full financial transaction system into an online game or virtual universe. (Gold duplication can get to be a real issue on games.) People on the game would be able to open accounts, withdraw and deposit cash, write cheques, trade on markets, just like people in real life. People would even be able to issue their own currencies, and trade in basket currencies.
Protection against online wallet fraud
At some point OT will support Bitcoin voting pools, meaning it would be impossible for any single server to just disappear with your Bitcoins. (A problem currently endemic to the Bitcoin world.) This will be a protocol between OT servers based on existing features in the Bitcoin script language (like multi-sign.)
This capability goes beyond mere auditing or proof-of-reserves, since it actually prevents a server--or a malicious employee, or a hacker--from stealing the coins.

Thanks for the detailed answer. I've heard bits and pieces about OT for the last year or so ... it's about time to spend a few hours on its FAQ & wiki and grok what this all means, and how will it ultimately connect with Bitcoin.

Open Transactions can benefit bitcoin but there are trade-offs that rarely get discussed. For example, if Open Transactions provides the anonymous transactions and issuing mint functionality for 'tokenizing' bitcoin private keys, it would be a way for the off-line trusted issuers bitbills.com, printcoins.com, and casascius.com to extend their trusted negotiable products back on to the public Internet without accessing the block chain.
After all, those off-line trusted bitcoin products are 100% anonymous and untraceable just like physical cash but they cannot be put online. I could probably accomplish the same thing by sending a certain-denomination bitcoin private key to a recipient over PGP (or Hushmail), but my signing brand would not be trusted immediately. Open Transactions has an open source way to encapsulate anonymously the details of any transaction/contract/etc. In combining it with bitcoin, you definitely add the full anonymity and untraceability, but the bitbills, printcoins, and casascius people would still have to be trusted (and the mint would have to survive).


text:
Why can't I spend my bitcoins when they have been fully confirmed?
I've used bitcoins for quite a while, but about a year ago I decided to dump having a thin client on my machine, and I've just kept my coins in various exchanges.
Yesterday, however, I wanted to check out the current state of the bitcoin client and I was a bit surprised to see that on Bitcoin.org, you now have three options.  That's good!
I downloaded the Multi-bit and installed it on my Mac.  I generated a payment address and I sent myself about .45 BTC.  After about an hour, I saw that it was confirmed.  I also set my mining pool account to send my payments to this new wallet, so I get a bit-cent sent to it every 12-16 hours (yeah, I'm not getting much, but I enjoy the free money.)
After a day, I now have a few transactions on this wallet.  My confirmed balance is around .5 BTC.  I just sent 2, .02 btc transactions.  Right after sending these two transactions, I tried to send a third for .06, Multi-bit gave me a message stating:

There are not enough funds in your wallet to send .06 BTC. The
  transaction fee is set at .0001 BTC. Note that you can only spend
  confirmed transactions.

I don't understand.  My confirmed balance is currently around .43 BTC.  These coins have been confirmed for at least 12 hours, yet I'm getting this message telling me my balance was too low?
Has something changed within the Bitcoin protocol in the last year that I'm not aware of or is this a known bug in the Multi-bit client.  My biggest worry is that if and when I decide to move my coins from this wallet to an e-wallet, the thin-client is going to give me this same message when I try to make a big withdrawal because of this bug.  What is going on?

Added tag 'multibit'

You're going to have a very hard time spending all those small outputs. You're much better off getting a smaller number of larger transactions. Otherwise, when you try to "gather" all those small payments, it will make a huge transaction with a correspondingly huge transaction fee.

I don't use MultiBit, but just checked its source code to see what the message you quoted means.
It turns out that the message is shown when the amount you're asking to send plus fees is less than the "available balance", which is defined as:

Balance that can be safely used to create new spends. This is all confirmed unspent outputs minus the ones spent by pending transactions, but not including the outputs of those pending transactions.

The source code also says:

Consider a real-world example: you buy a snack costing $5 but you only have a $10 bill. At the start you have $10 viewed from every possible angle. After you order the snack you hand over your $10 bill. From the perspective of your wallet you have zero dollars (AVAILABLE). But you know in a few seconds the shopkeeper will give you back $5 change so most people in practice would say they have $5 (ESTIMATED).

So my guess would be that your balance includes some unconfirmed change from your previous transaction(s), and that simply waiting for that change to confirm will solve your problem.
In other words MultiBit doesn't allow you to spend the $5 change until you have it back from the shopkeeper.  Note that the Satoshi client does allow you to spend unconfirmed change outputs.

Yes, I would think this is it.  My guess is that since I have only one payment address that I've used, when I would spend some of my bitcoins, I can't immediately send another transaction.  After further observation, it looks like I can usually send another payment when the current block is processed.

You should be able to immediately send another transaction so long as you have enough in there that you don't need to break into the "change" you just received.  It looks to me like MultiBit will attempt to make the payment using just what it calls the "available balance" (the confirmed coins, not including new change).

I'm not sure what it may be but I was wrong.  I can't send a transaction again, until the last one has received a confirmation (but doesn't have to be fully confirmed.)  It's really odd.

You can spend any transaction output that is not involved in a current spend, but it is not easy to tell (without looking at the transaction in detail). MultiBit will only let you spend transactions and change that have been confirmed on the blockchain, hence the delay.

I think Chris is right - it sounds like MultiBit is waiting for the change to be seen in the next block that contains the transaction.
It can be a bit annoying, but it does have the advantage that anyone that you SEND bitcoin to will always be sent bitcoins using transaction outputs of transactions that are already on the blockchain ie confirmed at least once.
The recipient should get a trouble free confirmation.
'Available to spend' is quite a confusing concept so I have added drill down help for it in the MultiBit user interface. If you click on the 'Available to spend' text in the MultiBit header it opens up the appropriate help, namely:
http://multibit.org/help_availableToSpend.html
You can do a right click on a transaction in the Transactions panel and it shows you the transaction status. On that details dialog you can also click on the 'View at  blockchain.info' button and it will open up blockchain.info in a browser for that transaction. I use that quite often to check on the transaction's status in the network.

I have tweaked the message the user gets to make it clearer to the user as to what is going on: https://bitcointalk.org/index.php?topic=43616.msg1046654#msg1046654 (will appear in v0.4.5)

I first used Multibit today and got the Insufficient Funds error.
The help file says:

I get the error 'Insufficient funds' when I try to send bitcoin
What is the symptom ?
You try to send some bitcoin but when you press the 'Send' button you get the error 'Insufficient funds' appearing in a dialog box.
What does 'Insufficient funds' mean ?
In your wallet you can normally only spend bitcoin that have confirmed. This is shown graphically in the '  Transactions' tab when the status icon is no longer empty. If you have unconfirmed transactions you get an 'Available to spend' balance in the MultiBit header. This shows the amount in your wallet that is available to spend. See What does 'available to spend mean ?' for more details.
Also, you need to take into account the fee that is added to your transaction. The fee varies according to the size of the transaction but is typically 0.0001 BTC. For instance, if you have 10 BTC in your wallet and the fee is 0.0001 BTC then you can only spend a maximum of 10 - 0.0001 = 9.9999 BTC.

I reduced the amount of bitcoin I wanted to send by 0.0001 and it worked.

nah... its defective programming, i have 10 bitcoin, say, fully confirmed 347 times last week, I spend 1 satoshi and the entire contents of the wallet are locked up until that spend is confirmed..  explain that any way you want it isnt going to cause the code to rewrite itself..
beta = beta

I am sure you appreciate what the spend of that 1 Satoshi means - you've got a new transaction in the system that is not confirmed. Obviously the code is not going to rewrite itself - if you notice in the latest code transactions track the peers they have been seen by. This is the first step in changing the spending policy so you can spend change that is coming from you and that the network has seen (so that you can be confident it will end up on a block).

Are you sure you didn't want this to be a comment, rather than an answer?


text:
Where is the location of the private keys of my wallet on my PC?
I have searched this forum and the internet for information on the location of the private keys of my wallet on my PC and found no answers.
I am using Microsoft Windows 7 and installed the Bitcoin software from http://bitcoin.org/en/download (At the moment it is version 0.8.2)
The default installation path is C:\Users\username\AppData\Roaming\Bitcoin
In the default installation Bitcoin folder/directory, I can only see the following:
blocks sub-directory
chainstate sub-directory
.lock
db.log
debug.log
peers.dat
wallet.dat

Where are the private keys?

They're in the wallet.dat file.


text:
Buy bitcoins with my vef (bolivares) in Venezuela without wire transfer
I want to buy bitcoins with my vef (bolivares) from my account in Venezuela.
How can I go about it?, we don't have a way of sending a wire transfer overseas in our currency.

possible duplicate of How do you obtain bitcoins?

@Murch yes and no. Venezuela posses especial problems to its citizens, since by law they have an annual hard limit of how much they can spend in foreign currency when traveling abroad or in online purchases, plus the gap between the official exchange rate and the one in the gray and black markets is way too high. All that leaves face-to-face purchases, selling goods/services and mining as practically the only options.

Have a look at FoxBit it seems that they can help you!

Maybe https://purse.io/

There are no Bitcoin exchanges in Venezuela, and no exchanges that support BTC/VEF.
You might find a trade by putting an offer in on LocalBitcoins, or there might be an offer to sell by someone located near you.
You said you can't do an international wire transfer. A bank wire (in USD, EUR, etc.) to an exhange such as Mt. Gox, BITSTAMP, etc., is not an option for you then apparently.
If you can trade with someone in another country in your region (e.g., Colombia, Peru, Brazil, etc.) there are exchanges in those countries.
Without the use of exchanges, another method of obtaining bitcoins is to offer goods and services with payment in bitcons.  Turismo Surpremo is a business that does this.  You might even be able to buy their excess coins perhaps.
It's possible that working with BitPagos, a payment processor that specifically targets Latin America, might yield a method to acquire coins.

Airtm.io the best way to buy bitcoin in Venezuela with Bolivars, a based on Uphold.com and super safe.
https://medium.com/@airtm.io/bitcoin-brokers-and-exchanges-grow-their-business-with-airtm-749df3f20424#.ae7lzub4p
https://medium.com/@airtm.io/corredores-y-casas-de-cambio-bitcoin-crecen-su-negocio-con-airtm-46442f456eee#.j3h2swzds

LocalBitcoins is pretty much the only why you can buy bitcoins in VEF.
 and it would help you a lot if you have a bank account in banesco or bancomercantil
 since most of the transactions happens in does banks.


text:
Should I run Bitcoind / JSON RPC on a home server connecting to a VPS
I'm debating whether to run bitcoind/ JSON-RPC on a server from my house that takes requests from users on hosted VPS. While I'm not starting a bitcoin poker site, I can explain what I'm doing easier with that. A user sends bitcoins to a pre-generated address. When user sends bitcoins, the home server will see whether it is sent then tell the VPS, which will then give the user chips or credits.
My questions :

Will this eat up my internet from home assuming I have 100 gb bandwidth / 6-8 mbps upload speeds? If not, how many people can be served at a time?
Does anyone actually do this compared to using a hosted vps/dedicated server because they want security and don't want to rely on 3rd party services like blockchain?

Very similar to http://bitcoin.stackexchange.com/questions/7282/is-it-safe-to-run-bitcoind-on-another-server?rq=1

Thanks for that. I was trying to use a home dedicated server to prevent malicious vps admins. I think a process like this shouldn't eat up my bandwidth, but wondering if others did this.


text:
Where to find a list of Bitcoin attorneys?
Does anyone know where to find a list of attorneys well-versed in Bitcoin?  A standard Google search has yielded decent results, but just wondering if this already exists somewhere.
More specifically, does anyone know of attorneys in the Chicago area that work in the Bitcoin related areas.

Depending on the magnitude and urgency of your question, you might want to try contacting the Bitcoin Foundation:
Coindesk reported in July that the Foundation formed a Legal Defense Committee of which Brian Klein is the chairman. Either his office, or the Bitcoin Foundation's General Counsel Patrick Murck's office should be able to answer legal questions or refer you to someone.

You're right that they are hard to find.
Possibly try contacting these 2 lawyers?
http://www.amazon.com/Trace-Mayer-J.D./e/B00BH3IZLA/ref=ntt_athr_dp_pel_1
http://www.amazon.com/Bill-Rounds-Esq./e/B00BHHQ5FE/ref=ntt_athr_dp_pel_2


text:
How to move bitcoins from an exchange into my wallet?
Completely new to this. Bought some Bitcoins from Bitcoin.de and received confirmation that the trade has been completed and they show me my balance.
Downloaded a wallet from Bitcoin-QT. That's fine. Now, how do I get the Bitcoins I've bought into the wallet I've downloaded? And how do I then use them to buy something online?

First thing, encrypt the wallet with a good passphrase.
You will want to go to the receive tab in Bitcoin-QT,  and create a new receiving address for yourself. You may want to create a new address for every transaction for anonymity purposes. Copy the address to your clipboard and then go to bitcoin.de, and send the coins from your account to that address.  It may take an hour or so for the transaction to complete so just leave the client running and be patient.
HINT: Be sure that bitcoin-qt is finished syncing with the blockchain before you send yourself the coins or you may not be able to accesss your coins  for the 24-48+ hours this process can initially take!  If you need it faster, might want to temporarily use either electrum or blockchain.info wallet until the client is completely synced.

Be aware that if you use bitcoin.de (among others) disbursement are not free...

@GuillaumeCombot The question specifically mentioned he had bought coins from bitcoin.de -- I am not making a  recommendation for any marketplace.  Are you saying bitcoin.de charges something above the standard bitcoin transaction fee?

I might have been wrong. I contacted bitcoin.de, they told me they don't charge it. I will confirm it next week.

I do confirm it.

I guess, you have a so called browser-based wallet at bitcoin.de. You should be able to send bitcoins from this wallet to your Bitcoin-QT wallet. To do this, copy-paste one of your bitcoin-addresses from Bitcoin-QT (you can generate as many as you want) to the transaction form on bitcoin.de Then, if Bitcoin-QT is fully synced with the network, you should see your Bitcoins there after a while.
Buy something online is similar: The shop/site/whatever gives you a Bitcoin address. Copy-paste it to Bitcoin-QT (or to any other wallet) and send the appropriate amount.


text:
What is needed to make a bitcoin exchange?
What do I need to setup a bitcoin exchange website like:

BTC China
Mt Gox
Bitstamp

I have my own web development team and we can code pretty much anything so that is not a problem.
I'm at a loss when it comes to know-how of this bitcoin business.
How do these exchanges even work? What would I as a provider need? Money (bitcoins)?

Coming from a financial programming side (C++/Network/Trading experience), I would politely suggest that having a web team is not quite enough to make an exchange.
Granted, your average Bitcoin exchange may not need the HFT credentials of your average dark pool or big name exchange. But you're still dealing with a system that needs high uptime, high throughput, and low latency, all while doing it in a rather centralized way. I don't know what kind of web sites you're used to writing, but most of the ones I've seen can get away with just load balancing on to a pool of servers that don't need to be coordinated in a critical fashion. You're then looking at fiddly stuff like memory management and CPU pipelining that your ordinary LAMP stack guys may not be familiar with. Now of course I don't know what your guys are capable of, it may be they already have experience with it.
Regarding banking regulation, I've looked into the rules regarding money laundering. (In fact, I have a legal opinion.) I'm also regulated through my work by multiple financial authorities, and I can tell you the KYC stuff is not trivial. It can be dealt with, of course, but you might find the volume of inquiries forces you to hire someone, who would then need to be trained. In any case, I know for a fact that there's quite a few scam artists and money launderers in the Bitcoin space. (In fact, in over a decade of financial experience I've never come across either, but run into at least three in 2 months with Localbitcoins). There's also a general trend among financial regulators to regulate more and more, so chances are things will get quite expensive. Add to this the fact you're talking to retail clients (I assume) in multiple jurisdictions.
None of this is to say it can't be done. Often these things are a question of having a good team and methodically working through the issues, with a player for each position.

I'm happy to talk to people about stuff like this, but I've got a heck of a lot of stuff on my plate these days. How advanced are your plans?

It's an interesting project, that's for sure. But it's big enough that you need quite a few dedicated staff, and the investment that goes along with that. Start a blog and keep us updated.

From the top of my head:

Website
User account management
Fulfillment of legalities (all depending on local law): Know-Your-Customer, Anti-Money-Laundering, license to exchange currencies, banking licenses, money transmission license
Banking partnership/account in order to process Deposits and Withdrawals in at least one currency other than Bitcoin
Deposits and Withdrawals in Bitcoin
Safe Storage of Bitcoins
Some sort of Market software

You probably want to find a lawyer to tell you what legal requirements you need to fulfill for your Nation's jurisdiction, and perhaps somebody that can help you with the economical/marketing side of things.


text:
Bitcoin qt synchronization problems!
So bought my first Bitcoins the other day (27 & 28/11/13) on localcoins, then transferred them to a MultiBit wallet. No problems.
I decided to use a 'safer' wallet, therefore I moved the coins to a Bitcoin qt wallet. The last few days I've been waiting for the blockchain to sync..got to 97% then my comp crashed.
I reopened bitcoin qt, and now it's syncing from zero again...just as slowly.
What should I do? Is there a way to open a another wallet, get my coins there?

I sorted it out through Blockchain eventually and was able to move my BTCs somewhere else..phew..
Blockchain wouldn't let me import my qt wallet over Firefox but with Chrome, no probs. Then I had to import priv key (dunno why) aswell then bingo!

As long as you have your wallet.dat , that's where your coins are . Back it up and back it up again.
Start bitcoin-qt.exe from command line with -rescan command and see if that makes a difference.
Is bitcoin-qt not showing your balance as unconfirmed ?

I'm eally really not techie...I'm on a Mac..not sure what you mean by 'command line with rescan'

https://www.bitinnovate.com/how-to-import-your-bitcoin-wallet-dat-into-blockchain-info/

I found the above link. Is it legit or an elaborate wallet stealing look alike website. Figure it's better to be safe(paranoid) than sorry.

And no...no balance and no unconfirmed balance too

If you got to your bitcoin data directory (/Library/Application Support/Bitcoin/) is your wallet.dat there?

Yes, It's there. Ive backed it up on a usb

If it is there launch bitcoin-qt and let the blockchain download. It will take a while, if qt hangs or is unresponsive just leave it and it will come back to life. I was in a similar boat to you yesterday. Don't worry the coins are in your wallet.dat , you still have the coins.

I don't have a mac but try starting bitcoin-qt with the -rescan command. You will need to read up on how to do that on the docs or wiki

Bitcoin qt is refusing to open

Now that you've found the wallet.dat file you should indeed import it into blockchain.info and then, and this is very important, send the coins back to an address in your multibit wallet. Why? Because blockchain.info is convenient for casual use but is not safe for storing large amounts i.e don't make a habit of it. You should never have moved your coins from multibit in the first place.
Also backup your multibit wallet as well. You can find out the location of the wallet file in multibit window title bar.

OK, I've tried importing my wallet (qt) into blockchain with no success. I followed procedure to a T. Don't know what Im doing wrong.

I'm starting to freak out. My qt wallet doesn't seem to have any data in it (70KB). Is this right? WTF is happening?

Plus bitcoin qt will not open up now 'unexpectadly quit'

Calm down. As long as you have the wallet.dat file you are ok. The wallet.dat file isn't usually very large 70KB is not unusual. This is what I suggest you do a) backup your wallet.dat file again to a new USB drive/DVD/CD whatever just to be safe b) locate /Library/Application Support/Bitcoin/ and delete all the files in it c) copy the wallet.dat file from backup into that folder c) start up bitcoin qt again and let it sync with the network d) when it's done syncing (it can take a week) send the coins to an address in your multibit wallet.

If you need additional help I suggest registering and posting on bitcointalk forums. It is easier to converse about this over there because communication can be two way.

When you say 'delete all the files' I'm not 100% what you mean? The blocks or ?? Sorry for being such a newbie

OK. did what was suggested.Up and running again. Now just gonna wait 5 days or so for sync. Is there any way I can be secure that my coins are safe?

If you are downloading the blockchain from scratch I strongly recommend using the bootstrap.dat file, which allows your computer to simply verify blocks and import them without needing to download for days or even weeks on end.
The main issue with downloading from the network is that your client will only download one block at a time. It starts with block #1 and will not try to download anything except for block #2 after block #1 is verified, and so on. As you can imagine, with network latency this can become a rather painful process, as you have endured.
The bootstrap.dat file is widely available on bittorrent, torrent files can be found here: http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/
Direct torrent link: http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/bootstrap.dat.torrent/download
Downloading the bootstrap.dat file is just as secure as downloading the blockchain from peers, but since all the data is already there, the only latency you suffer between blocks is going to your hard drive and finding the next block.
You simply need to place the bootstrap.dat in your %appdata%\Bitcoin folder, (on linux/unix in your .bitcoin folder) the file will be renamed bootstrap.dat.old when the data import is complete. Using this it took me only 4 hours to catch up with the network, as opposed to the 1-2 weeks it took me before reformatting on the same computer.


text:
In what ways could "bitcoin" be hacked?
Dan Kaminsky said that he spent 4 months trying to hack "bitcoin" but failed.
Besides trying to find vulnerabilities in double-spending and 51% attack, what other hacks would a hacker try to achieve?
Surely an established hacker like Dan Kaminsky wouldn't have spent 4 months just trying to prove the protocol is immune to double-spending and robust against 51% attacks. There had got to be more things that he was trying.
Exactly what kind of hacks will a hacker try to achieve against bitcoin?

@Murch, Isn't this what I linked to in the question?... "Besides the obvious problem of double-spending, exactly what kind of hacks were he trying to achieve?"

I don't see where your question differs significantly from the linked, i.e. while the question is phrased a bit different, the answers to the linked question seem to cover your question as well. Could you please highlight/clarify which additional information you are seeking?

@Murch, Surely Dan Kaminsky did not spend 4 months only trying to prove the protocol is immune to double-spending and robust against 51% attacks. There got to be more things that he was trying. Exactly what kind of hacks were he trying to achieve?

Alright, thank you for clarifying. I have retracted my close vote but would like to suggest that you consider editing your question to reflect your intent more clearly.

@NateEldredge, Any established hacker would be able to answer this question.

Now that you've reworded, I agree.

There could also be hacks targeting the bitcoin software implementation. If a vulerability is applicable to software running on majority (>50% hashrate) of the nodes then it is a real threat.
For example lets say someone can craft a mal-formed transaction that somehow can trick >50% nodes to accept it (for example induce a buffer overflow and somehow allow attacker to gain remote access to the node system itself and make modifications) then bad things will happen.

Hmm, so do you mean Dan Kaminsky (and various hackers) deemed the official bitcoin software implementation released to be flawless?

@Pacerier There's a distinction between not finding any issues and there being no issues to find.


text:
What benefit does a non-mining client provide to the network?
I know running a client will help propagate transactions around the network, but I also know a non-mining client will not contribute to the security of the network. Are there any other benefits of running a non-mining client?

A non-mining client will:

Propagate transactions to other peers, including the mining pools.
Propagate peer list, so everyone will have a wide list of peers to connect to.
Propagate the blockchain.
Help decentralise the network by doing all that.

So it essentially takes the burden off the bigger nodes by sharing data. It is especially true for the block information, as it can get quite lengthy.
This is a bit less true for clients working without forwarded ports, as they connect to few nodes, usually some bigger ones that are connected to many peers.


text:
How does one make multisignature transactions with the bitcoin client?
With the release of bitcoin version 0.6.1rc2, it is now possible to do M-of-N required signature transactions in the main network. But how does one actually perform such a transaction?
I've been trying to piece together how to do this mostly from the BIP 11 and API calls list pages on https://en.bitcoin.it/wiki/
I guess you can use 'addmultisigaddress' call to bitcoind to add a multisignature address to your wallet and then send coins to that address. This is the part you set up, say, an escrow.
However, I can't find the bitcoind call to create a transaction for multiple signing or the call to sign such transaction.  In other words, how do you send coins from a multisignature address? How do you release the tied-up coins?

Bitcoin version 0.6.1 doesn't have useful multisignature support yet, either in the GUI or via the RPC interface, because there is no support for partially signing a multisignature transaction.
What is supported:  creating a multisignature transaction (using addmultisigaddress), and sending to a multisignature address (either your own or somebody else's).
Testing spending of multisignature transactions-- if all of the private keys required to spend a multisignature transaction are in the wallet, then those coins are added to the wallet's total bitcoin balance and that transaction will be spent if the normal coin-selection code decides to use them for a spending transaction.
Pull request 1456 adds low-level support in the RPC interface for multi-device/multi-person multisignature transactions.

Gavin, I think you might have a typo. You say "there is no support for creating ... a multisignature transaction", and then "What is supported: creating a multisignature transaction". Either I'm missing something or you meant to say something else.

Gavin, can you give us an update on the current status of client support for this? Also, will these transactions be accepted for inclusion in a block?


text:
Which private key format is this?
I have a paper wallet as an image file, the QR code of the private key gives a base64 encoded string which gives "Salted_(some binary here)" when decoded. What format is this and can I get the private key without a webcam or phone?

Hi Dorian, welcome to StackExchange. While I'm sure monetary rewards for answers make a great incentive, it isn't something that's allowed here. The reasons are more legal and regulatory than ethical but sadly the fact remains that we can't allow the offering (or requesting) of rewards in questions and answers. Sorry. The good news is you'll probably have no difficulty finding someone here who will help you just because that's what they do. Welcome to the community!

Probably encrypted using an OpenSSL-interoperable format. See
https://crypto.stackexchange.com/questions/8776/what-is-u2fsdgvkx1/8777#8777
http://juliusdavies.ca/commons-ssl/pbe.html
The 8 bytes following "Salted_" should be the salt.
Example cmdline to decrypt:
echo 'U2FsdGVkX19qplb9qVDVVEYxH8wjJDGpMS+F4/2pS2c=' | openssl enc -a -d -salt -des3 -pass pass:changeit
Hello World!


text:
How do you connect to the Bitcoin Client?
So I just started writing a rails app that will be an online wallet. I'm looking over the API code examples for connecting to the bitcoin network at https://en.bitcoin.it/wiki/API_reference_(JSON-RPC).
PHP was the easiest example, seen here
  require_once 'jsonRPCClient.php';

  $bitcoin = new jsonRPCClient('http://user:password@127.0.0.1:8332/');

  echo "<pre>\n";
  print_r($bitcoin->getinfo()); echo "\n";
  echo "Received: ".$bitcoin->getreceivedbylabel("Your Address")."\n";
  echo "</pre>";

So I'm presuming that it connects to the bitcoin network via a username and password. Couple of questions.
What username/password? I bought bitcoin on coinbase, then exported it to a paper wallet. What user/pass is associated with my bitcoin? I thought it was just public/private key?
Why port 8332?
Why 127.0.0.1? Could it be any address?

Pick any username and password that you want.  The values are used only for RPC connections.  Port 8332 is the default port used by bitcoin for RPC connections and 127.0.0.1 is the localhost address (that is, connecting to 127.0.0.1 means you are connecting to a service running on the local system).  You can change the port number if you have a conflict on your system by specifying rpcport in bitcoin.conf.

You need to run either Bitcoin-Qt or bitcoind on your system.  Create a bitcoin.conf file containing the following lines:
rpcuser=your-userid
rpcpassword=your-password
server=1

You can then connect to your bitcoin node by specifying address 127.0.0.1 and port 8332.  Use the userid and password you specified in the bitcoin.conf file.
While it is possible to open port 8332 to allow remote users to connect to the local node, this is not a good idea for security reasons because it allows access to your wallet.  Instead, your users would communicate with your application and your application would then make the necessary RPC calls to the local node.

Thanks Ron, that makes sense. So if I wanted to create a wallet service, where each user creates their own account on my site, and each account is associated with a wallet, then I'd have to have multiple wallets on my server right? One for each user?

A single wallet can have multiple bitcoin addresses.  So you would generate a bitcoin address for each user to allow them to send coins to their account.  Partial withdrawals would be handled by sending the change back to the receive address or to a new change address.  For the strongest security, bitcoin addresses should not be reused.  So your application should allow users to create new addresses as needed.  Your application would then need a database to associate bitcoin addresses with user accounts.


text:
Wallet advice for users without technical knowledge
I just want to buy £50 worth and forget about it for ten years. I live in the UK, don't have a smartphone, bank online, but can't prove ID easily (because I rent a room in a block). I don't understand highly technical explanations. What's the best wallet for me?

When you register to LocalBitcoins you get a free web bitcoin wallet. You can access this with a web browser and protect it with secure paper codes log in.
Also the site allows you to buy bitcoins with cash, so you get two birds with one stone.

I would advice against online wallets for long time storage. Too risky. OP would be much better off with a wallet on a usb stick.

I've downloaded bitcoin qt for windows from sourceforge. I'll try following the instructions for storing on flash drives, in "Bitcoin Explained Like You’re Five: Part 4 – Securing Your Wallet" on http://chrispacia.wordpress.com/2013/09/29/bitcoin-explained-like-youre-five-part-4-securing-your-wallet/ Please say if I've got something wrong or if there's a better way. I might also get a hardware wallet later as they seem more foolproof.

You should be good!

Please do not use a web wallet if you are planning on sitting on your coins for 10 years. When you send coins to a web wallet or to any address you did not generate yourself, you are giving the spending power to another person. Just like when you deposit $100 in the bank they will use it for other things and in most certainty return you a different $100 should you go and withdraw it.
Download the original bitcoin-qt client and open it, it will begin to download blocks, but this is not important if you are planning on just sitting on your coin. On the first run the client will also generate some addresses for you, showing you the first one on the "Receive" tab. You can have your newly purchased coins sent to this address.
There are plenty of security steps to safeguard against loss, please read carefully and understand that if you lose access to your coins or if a mischievous person gains access to them, they will likely be gone forever.
It is strongly recommended you encrypt your wallet asap. Please pick a very long passphrase you can remember, at least 6 to 8 words. Be aware that forgetting this passphrase will likely result in the permanent loss of your coins (there is no "Forgot Password" option). If you have strongly encrypted your wallet, then it is pretty safe to put it in as many places as you can, since cracking a random 6 to 8 word password would take an unreasonably long time using traditional password cracking methods.
You can find your wallet file on windows by opening the file explorer and typing %appdata% in the path (where you usually see c:\user\documents, etc), then selecting the folder named "Bitcoin". Inside this folder you will see a file called wallet.dat, this file can be placed in this folder on any other computer, giving this computer the ability to see and spend the coin associated with address on this wallet.
Should you decide not to encrypt your wallet, you can still copy it to a USB and put it in a safety deposit box, or somewhere else secure, but please be aware that any person who has access to an unencrypted wallet.dat can easily load it to their computer and send your bitcoin off into cyber-space.

Buying Bitcoins
Use Coinbase or Localbitcoins, more preferably localbitcoins as coinbase has some anti-consumer tactics to get them profit. They mark transactions as "suspicious" 5 days later when bitcoin gains price and process transactions when the price of bitcoin falls, essentially using the customer as an entity that inherits all risk in trading. Be careful with localbitcoin too, use escrow and if you are meeting the person physically make sure it's in a public place like a coffee shop.
Storing Bitcoins
To robustly store bitcoins, get electrum. Write down the seed it gives you when you first make a wallet and make sure you use it with a password. For extra precaution export the wallet onto a usb and if you use a good password you can also just leave a copy of the encrypted wallet on google drive or other computers. This is safe to do as a passworded wallet is encrypted. You can go for a "paper wallet" if you are even more paranoid.
Special Considerations
10 years is a long time, in that time there is a small but not none chance that Bitcoin's cryptographic algorithm may become weak. If your £50 turns into a sizeable amount you will need to be up to date on bitcoin news, don't be those people who are digging through waste dumps for a hard drive full of 10,000 bitcoins.


text:
What's the difference between a bitcoin client and wallet?
I would like to know what is the difference between a client and wallet.

A wallet is the collection of data needed in order to receive and spend bitcoins. Usually this includes key-pairs (private key, public key and the address that may be inferred from the public key) and funds associated with each key-pair in the form of spendable outputs.
The client on the other hand is the interface to the network. It handles all the communication, updates the wallet with incoming funds and uses information from the wallet to sign outgoing transactions.
While theoretically the wallet could be implemented in a way that is client-agnostic, currently each client implements its own wallet format, blurring the distinction between wallet and client. There are however several projects that attempt to standardize the wallet format so that it can be used in several clients.

What do u mean by acting as an interface to the network?

I mean that the bitcoin client is actively talking to other peers in the network and managing publicly available information, whereas the wallet manages private information (i.e., private keys and it enumerates the outputs owned by those keys).

Wallet is also user friendly front end permitting better faster transaction without requiring Technical knowledge.


text:
How did transaction fees work in the version 0.3.24?
Is there a minimum transaction fee for every transaction? When do I pay a fee over the minimal fee?

Just a quick note that 0.3.24 is no longer the current client version. In future, this question will probably make less sense and need rewording as multiple client applications become available.

@HighlyIrregular - Updated.

The minimum transaction fee is zero.
Transaction fees are enforced in two places. First, a client can be configured not to accept or relay a transaction that doesn't include a sufficient fee. Second, a miner can choose which transactions to include in any blocks they mine and will typically try to include transactions with the highest fees.
Most normal transactions will have a required fee of zero. The three most common exceptions are:

If a transaction uses coins that were very recently received, a fee of .005 bitcoins may be imposed.
If a transaction "gathers" bitcoins from a large number of other transactions, a fee of about .0002 bitcoins per input source may be imposed.
If a transaction "spreads" bitcoins to a large number of destinations, a fee of about .0002 bitcoins per output may be imposed.

This is because these types of transactions tend to look a lot like spam transactions used to maliciously load the network. Currently, there are still clients and miners that will accept any valid transaction regardless of the transaction fee. So if you're willing to go to the trouble, you can get any transaction into the public chain eventually with no fee. (Just manually configure your client to connect to them and be patient.)

What's the motivation for exception # 1?

It's genius. The idea is that an attacker will quickly run out of old coins and have to start using new coins to continue a transaction flood attack. Meanwhile legitimate transactions will get older and older. So legitimate transactions will eventually out-priority the illegitimate ones.

On #1, how recent is recent?

I believe that there is no hard cutoff. The older the coins are, the higher the priority of this transaction relative to other transactions. Oversimplifying a bit, transaction priority is the sum of the number of bitcoins times the number of confirmations over all inputs to the transaction divided by the number of bytes the transaction will occupy. Miners typically take transactions first in order of highest transaction fee relative to size and then in priority order.

has this changed in the new version 0.4.0 ?

I believe it is the same in 0.4.0 as it was in 0.3.23. The basic rules have been the same much longer than that, but the minimum relay fees (for large transactions) were dropped a version or so before 0.3.23.

For #2 and #3, what is "a large number"?

More than about 3 of either makes the transaction not free. See this answer.

@DavidSchwartz did you mean to link to the same answer this comment is on?

No, I didn't. :/ And I'm not sure where the answer I meant to link to is now.


text:
Could Bitcoin work as a world currency?
We've seen the issues taking place with the Eurozone, notably that countries who share monetary union seem to ultimately need to share economic union, which tends to lead to political union.
Is there a plausible scenario whereby Bitcoin (or similar) could become a world currency, yet somehow different countries could avoid economic/political union and maintain sovereignty?

Off-topic: http://area51.stackexchange.com/proposals/30763/bitcoin/30783#30783

While this is a good question I think it is too subjective and argumentative for a stackexchange style site.

Related question: http://bitcoin.stackexchange.com/q/256/117

I think this is on topic. Changed "would" to "could".

Not enough to make non-speculative answers possible, nor to make this question on-topic.

It all boils down to the amount of people who adopt it as a stanard as measurement of wealth. if around 10% of the country were to use it as a form of payment (requesting it for wages, using it in shops and so forth) the likelyhood of it taking of would be signifcantly higher, below this it would never happen.
[EDIT - Found it] http://pre.aps.org/abstract/PRE/v84/i1/e011130
The other issue is government buying into the idea of a currency they could not control, although this would be relevantly null if they were to hold a substantial amount of any given currency, there is little reason they couldnt "mint" their own chain and distribute the funds.
Both ideas are entirely possible with widespread adoption but until the magic 10% figure is hit it will never happen.


text:
What effects would a scalable Quantum Computer have on Bitcoin?
A scalable quantum computer is a quantum computer that is easy to extend - adding more (q)bits of memory is not a fundamentally hard problem, and will happen. Or, alternatively, that it follows Moore's Law - its memory capacity and speed will increase exponentially over the years with technological advancement (the exponent might be relatively low).
Suppose such a Quantum Computer were constructed tomorrow - what would this mean for bitcoin?

"that it follows Moore's Law - its memory capacity and speed will increase exponentially over the years with technological advancement"
This is not what Moore's Law is about. Moore Law is about density of transistors in electronic circuit.

You have a good discussion in:
https://bitcointalk.org/index.php?topic=133425.0
Basically, ECDSA is compromised, hashing isn't. With a quantum computer, you could easily deduce the private key corresponding to a public key. If you only have an address, which is a hashed public key, the private key is safe. Anyway, to spend a transaction, you need to send the public key. At that point you are vulnerable, but the attack is not straightforward.
In general, quantum computers are not exponentially better than classical computers. You cannot access all the states in the superposition, only global properties. You can read http://www.cs.virginia.edu/~robins/The_Limits_of_Quantum_Computers.pdf to get a good idea of what they can and cannot do.

By the way.. There is no guarantee that classical computers cannot break ECDSA or SHA256. The involved problems are only supposed to be difficult.

Are you saying that elliptic curve point multiplication hasn't been proved difficult?

I guess you mean inverting point multiplication ("division" if you want). Point multiplication is easy. It is what you do when you know the key. For the inverse problem, as in most public key cryptography, there is no proof of security. A related problem is P vs NP: http://en.wikipedia.org/wiki/P_vs_NP which still hasn't been solved. Inverting is only supposed to be hard. A lot of people have tried to find an efficient algorithm and they have failed. The best known ways to invert multiplication are indeed slow, but there could be a better way.

Worst case scenario:

Bitcoin ECDSA algorithm would be broken. Because quantum computers can easily decrypt the private key using the public key, anyone with a quantum computer can extract Bitcoins using the corresponding public key.
Bitcoin hashing would become exponentially difficult. There's already a predicted escalation in mining difficulty due to the advent of ASIC, and quantum computers would create a spike in mining difficulty to which ASIC mining effects pale in comparison. In the short run, this would lead to hyperinflation, but the long run effects aren't known at this point.
The hashing advantage of quantum computer will be curtailed by block mining limitations. To quote from the Bitcoin wiki:

"The difficulty is the measure of how difficult it is to find a new block compared to the easiest it can ever be. It is recalculated every 2016 blocks to a value such that the previous 2016 blocks would have been generated in exactly two weeks had everyone been mining at this difficulty. This will yield, on average, one block every ten minutes. As more miners join, the rate of block creation will go up. As the rate of block generation goes up, the difficulty rises to compensate which will push the rate of block creation back down."
This means that the rate of block creation will not be impacted by quantum computers (the increase in key generation is proportional to the increase in difficulty, resulting in an overall mining rate of 1 bitcoin block every 10 minutes), but it will drastically increase the mining difficulty, exponentially more than ASIC miner already have. This gives miners with quantum computers (presumably corporations, government agencies, or other power organizations) a major advantage, to the point of being considered a monopoly, on the bitcoin market.
Unless quantum computers either:
(a) become publicly available
(b) are given their own class for hashing purposes, so as to limit their mining advantage
Then miners with access to quantum computers have an unfair mining advantage, which can (and will be) used to manipulate the value and distribution of bitcoins. Furthermore,

Quantum computer's hashing power can be used as voting power. If a coalition of people with scalable quantum computers could generate enough hashes to comprise over 51% of the total Bitcoin hashes,they could use that power to greatly manipulate the bitcoin network.

As explained in the Bitcoin wiki ("Weaknesses")
"An attacker that controls more than 50% of the network's computing power can, for the time that he is in control, exclude and modify the ordering of transactions. This allows him to:
Reverse transactions that he sends while he's in control. This has the potential to double-spend transactions that previously had already been seen in the block chain.
    Prevent some or all transactions from gaining any confirmations
    Prevent some or all other miners from mining any valid blocks
The attacker can't:
Reverse other people's transactions
Prevent transactions from being sent at all (they'll show as 0/unconfirmed)
Change the number of coins generated per block
Create coins out of thin air
Send coins that never belonged to him

With less than 50%, the same kind of attacks are possible, but with less than 100% rate of success. For example, someone with only 40% of the network computing power can overcome a 6-deep confirmed transaction with a 50% success rate.
It's much more difficult to change historical blocks, and it becomes exponentially more difficult the further back you go. As above, changing historical blocks only allows you to exclude and change the ordering of transactions. It's impossible to change blocks created before the last checkpoint."

However:
"Since this attack doesn't permit all that much power over the network, it is expected that no one will attempt it. A profit-seeking person will always gain more by just following the rules, and even someone trying to destroy the system will probably find other attacks more attractive. However, if this attack is successfully executed, it will be difficult or impossible to "untangle" the mess created -- any changes the attacker makes might become permanent."

All this being said, is it possible for a scalable quantum computer (specially, one that is programmed (like ASIC) to hash blocks) to have an exponential advantage over traditional computers, FPGAs, ASICS, etc.?
That question is better addressed here: https://cs.stackexchange.com/questions/586/could-quantum-computing-eventually-be-used-to-make-modern-day-hashing-trivial-to
There's a lot of mathematics involved, which is a bit above my academic proficiency, but we can derive at least this much:
Most of the algorithms quantum computers are famous for efficiently utilizing (Shor's algorithm, Grover's search algorithm) probably can't be used for hashing Bitcoin blocks. One possible exception noted is the collision attack, which if done using Grover's algorithm, could possibly perform better attacks than conventional computers:
"Can quantum-computers perform better collision attacks? Actually I'm not sure about it. Grover's algorithm can be extended, such that if there are t items (that is, preimages), the time to find one is reduced to O(N/t−−−−√). But this gives no collision - running the algorithm again might return the same preimage. On the other hand, if we choose m1 at random, and then use Grover's Algorithm, it is probable that it will return a different message. I'm not sure if this gives better attacks."
https://cs.stackexchange.com/questions/586/could-quantum-computing-eventually-be-used-to-make-modern-day-hashing-trivial-to
In the event that scalable quantum computers manage to corner the Bitcoin network, new code will be released to patch this vulnerability, so while there would be a long-term breakage of the network in the short term, there's nothing to worry about for Bitcoin users in the long term.

"resulting in an overall mining rate of 1 bitcoin every 10 minutes),"
1 BLOCK in ten minutes.

Thanks for noting my typo @Maciej Mączko. I have appended the omission as you suggested :)

"In the short run, this would lead to hyperinflation" Yeah, until the next difficulty reset, which would happen after 2016 blocks. After that it'd be back to normal. Actual consequences: ASIC miners lose a bunch of money, mining potentially very centralized.

With the current mining difficulty classical computers need to do 2*10^21 SHA256D invocations in average to find a block nonce. A quantum computer would need to do 4.5*10^10 invocations, which is billions times "faster". This means that the answer is: It would be able to doublespend as many times as the quantum adversary wants.

what's your source for this figure?

https://btc.com/stats/diff

I want to point out a quick possibly important point.
As other answers have mentioned current implementations of Bitcoin could be compromised by a quantum computer.
However, Quantum Computers do not solve all known classically hard problems and so any cryptography that is based on problems that are also difficult for a Quantum Computer to solve should work just as fine as classical crypto which also lives under the existential threat of someone discovering a polynomial time algorithm for factoring and similar problems.

The algorithm that compose the bitcoin's address are ECDSA and will be completely broken (you would be able to find one's private key with the public key). So you would be able to spend anyone's bitcoin.
The mining though is sha-256 based and is still "secure", in secure I mean it can't be simply reversed, but it still can be brute force. And since a quantum computer is exponentially more powerful people with QC would begin to mine like hell and the difficulty would rise to unseen levels. Since the difficulty is just merely an exponentionnal limitation the time to mine for an quantum computer will only grow linearly up until the maximum difficulty is reached (the maximum difficulty would require an hash of 0....all zeroes hash).
When this time come maybe it will block the chain (or maybe not) because a 0 hash maybe impossible to get, but in anyway massive damage would have been done to the blockchain.
This would happen if the quantum computer is introduced tomorrow, if we have a more progressive approach we can have time to change our algorithm to quantum ones, bitcoin can change his algorithm.

The part about mining is pretty much nonsense. A quantum computer with otherwise the same performance as classical computers would be able to find twice as many leading zeros. For mining to fail that quantum computer would need to be comparable to a classical computer that can run 2^128 operations per 10 minute interval, and that won't happen for a long time. For mining the quantum computer is exponentially more powerful than classical computers, but the problem is still exponential for quantum computers.

After re-reading your comment, I finally understood it. In my post I merely faced what would be the worst case senario: having a powerful QC on the network. But I am not sure that (and as for now we cannot really know for sure) that the mining problem would still be exponential (but easier of course), we don't know how will QC react to sha-256. In anyway since the ECDSA algorithm would have been broken mining would be be my last problem.

If I understand correctly, you couldn't spend coins given an arbitrary bitcoin address. That's a hash of the public key. While you could get the private key from the public key, you wouldn't necessarily be able to brute force the hash of the public key.

There is a whitepaper of cryptocurrency based on quantum computer implications. http://arxiv.org/abs/1604.01383
So bitcoin could be obsolete to this solution. Yet it is not possible to build this computer and not all problems are fixed as of now.

Quantum Computer might revolutionize the Bitcoin mining, since the processing power of Quantum Computer is far more better than Traditional Computers.
The reason behind this speed is because of Photons and the Laws of Quantum Mechanics, which are:

The Heisenberg Uncertainty Principle
No-Cloning Theorem

So, accordingly, the more processing power we have, the more it would be easy to mine Bitcoins.

Welcome to Bitcoin.SE! Your answer can be improved if it is expanded.

Quantum computers can do hashing (cf. Quantum Error Correction).
Quantum teleportation will revolutionize the distribution of the blockchain.


text:
Why does Wikipedia's Bitcoin entry imply Satoshi's whitepaper is from May 2009?
The first citation in Wikipedia's Bitcoin article is of Satoshi's original whitepaper. It is worded:

Nakamoto, Satoshi (24 May 2009). "Bitcoin: A Peer-to-Peer Electronic Cash System". Retrieved 20 December 2012.

Satoshi's whitepaper was released on 1 Nov 2008, not on 2009.
What am I missing here? Did anything relevant happen at 24 May 2009? Is this a factual error in the Wikipedia entry? (It's there for a long time, so it's not any recent vandalism).

It looks like a factual error. It was introduced in this edit. The editor should be contacted about what lead him to this information.
Also, the mailing list post was from Nov 1 and not 11 as you wrote.

Factual errors galore :)
I'll edit the article.

How did you find the exact edit btw? 2. Do you think the citation should be changed to the publication in the cryptography mailing list? (It took me some digging to find it, it's perhaps a better citation and it references the whitepaper itself)

I see you contacted the author of the revision. https://en.wikipedia.org/wiki/User_talk:L3lackEyedAngels#Bitcoin_whitepaper_date

@ripper234:

I manually did binary search on the history. I know of no better way and was successfully nerd-sniped.
The paper itself is a better citation for content. The mailing list archive is a better citation for history (e.g., "the Bitcoin whitepaper was first released on Nov 1 2008").
I did.

Added a ref to the crypto mailing list.

@MeniRosenfeld In case you 2 are still interested: The user replied a year after you posed the question on their talk page.

@ripper234 Mentioning you, too, just to be sure, even though you should've gotten a notification anyways.

@UTF-8: Thanks. I vaguely remember seeing that reply before, I must have stumbled upon this question and checked back in the time since.

Seems October 31st, 2008 (see answer below by @brianjason) is actually correct.  This is the date listed in Wikipedia now.

That is clearly incorrect. His whitepaper was released on October 31st, 2008 via the metzdowd mailing list

Bitcoin P2P e-cash paper
Satoshi Nakamoto satoshi at vistomail.com
  Fri Oct 31 14:10:00 EDT 2008
Previous message: Fw: SHA-3 lounge
  Messages sorted by: [ date ] [ thread ] [ subject ] [ author]
I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party.
The paper is available at: http://www.bitcoin.org/bitcoin.pdf
The main properties:  Double-spending is prevented with a peer-to-peer
  network.  No mint or other trusted parties.  Participants can be
  anonymous.  New coins are made from Hashcash style proof-of-work.  The
  proof-of-work for new coin generation also powers the
      network to prevent double-spending.
Bitcoin: A Peer-to-Peer Electronic Cash System
Abstract.  A purely peer-to-peer version of electronic cash would
  allow online payments to be sent directly from one party to another
  without the burdens of going through a financial institution. Digital
  signatures provide part of the solution, but the main benefits are
  lost if a trusted party is still required to prevent double-spending.
  We propose a solution to the double-spending problem using a
  peer-to-peer network.  The network timestamps transactions by hashing
  them into an ongoing chain of hash-based proof-of-work, forming a
  record that cannot be changed without redoing the proof-of-work.  The
  longest chain not only serves as proof of the sequence of events
  witnessed, but proof that it came from the largest pool of CPU power.
  As long as honest nodes control the most CPU power on the network,
  they can generate the longest chain and outpace any attackers.  The
  network itself requires minimal structure.  Messages are broadcasted
  on a best effort basis, and nodes can leave and rejoin the network at
  will, accepting the longest proof-of-work chain as proof of what
  happened while they were gone.
Full paper at: http://www.bitcoin.org/bitcoin.pdf
Satoshi Nakamoto

He realeased Bitcoin v0.1 on Thu Jan 8 14:27:40 EST 2009 -- more than 2 months later. By May, he had ceased all communication on the mailing list.


text:
Is "Dacoinminster's Second Bitcoin Whitepaper" logically/economically consistent?
Dacoinmister's "The Second Bitcoin Whitepaper" is a new proposal to create another p2p network over Bitcoin (called MasterCoin), that will fix some of Bitcoin's drawbacks.
Are there any logical inconsistencies in the paper? How about "economic falacies"? The paper talks about manipulating certain coins and shares to maintain certain properties (e.g. a minimal and maximal value of each MasterCoin). Can this be achieved?
Note that MasterCoin is not marketed as a Bitcoin alternative, but rather enhancement - if a value of MasterCoin rises, so will Bitcoin's.

@BenReeves - that might be true. Regardless, let's try to reason about this objectively.

An important detail I missed - there is no minimal MasterCoin value: https://bitcointalk.org/index.php?topic=56901.msg680389#msg680389

FYI - MasterCoin 1.0 protocol (the base coin described in the whitepaper) was just released - https://bitcointalk.org/index.php?topic=265488.0

It will fail for the same reason other attempts to stabilize currency values always fail. The first time there's a crisis, the regulator will have to decide whether to permit the crisis or prevent the crisis. If they permit the crisis, people will realize that the promised 'guarantees' are shams. If they try to prevent the crisis, they will run their reserves down to nothing, and the same thing will happen as if they permitted the crisis except they'll be broke.
If you make one small change though, I don't see any major technical flaws. Simply accept that the regulation will be maintained only under normal conditions and that crises may push the ratios out of bounds. The regulator should have a policy for how it detects a crisis, what it does during them, and how and to what extent it compensates people harmed by them afterwards, if at all.
For example, before banks were Federally insured, they would have a policy that the board of directors of the bank could declare a "crisis", suspend withdrawals, but later compensate people with extra interest.

I may be biased (I'm the author), but I believe it can work and is worth the extra complexity. Please take a look at my answers to some common objections here: http://bitcoinmedia.com/the-second-bitcoin-whitepaper/

Reading the paper whereas the idea behind it might be plausible, it adds unnecessary levels of complexity to creating money and transferring it. Moreover, anything advocating for "destroying Bitcoins" as a part of their protocol should not be welcome in the community.
From the economical point of view, a much simpler approach to the whole problem is the idea of Digital Coins, wherein one has two types of currencies - Perpetual Coin and Digital Coin. First one can be created by anyone in any volume, destroyed by the issuer and is backed in value by goods and services. The other is like Bitcoins - is fixed in amount, cannot be destroyed, and is a measure of value (like gold is today).
All in all, whereas anyone can do anything with the Bitcoin network and efforts of coming up with new ways of using the currency is commendable, I personally don't see the place for "MasterCoin" anywhere.

We should reason about this rationally, not emotionally. Even if a new protocol advocates destroying some bitcoin (coins), it is not necessarily aimed at devaluing Bitcoin (the network). It tries to enhance Bitcoin in a way that will make Bitcoin more valuable whenever MasterCoin becomes more valuable ... coded in the protocol. The fact that actual Bitcoin are destroyed should not be "taken personally".

Anyway, I did not ask here if "there's a place for MasterCoin", but whether the paper/protocol contains inherit logical flaws, or are the aims it's trying to reach "min/max value for Mastercoin, a GoldCoin which is just as valuable as an ounce of gold" correct ... as in - can it work? Or if it can't, where will it fail?


text:
How to decode messages embedded with btcmsg?
btcmsg seems to be using proprietary software to encode and decode messages in the blockchain.
Did they expose their algorithm? If they shut down tomorrow, how can someone decode messages he stored using their service?

Please don't encourage this abuse of Bitcoin. If someone would like to implement a message service correctly, there are many developers on IRC willing to help.

Calling something "an abuse" without explaining is not really productive. http://bitcoin.stackexchange.com/questions/2631/whats-the-difference-between-different-ways-of-embedding-messages-in-the-blockc

Also, this is not an answer. FYI, when you have enough rep, you're supposed to leave this as a comment and not post an answer.

Their FAQ links to a document that describes the protocol, and they provide an open source Python client to decode the messages. The server implementation is also open source.
I put the client files + protocol spec on a github gist, just in case.


text:
What happens if the developers make a controversial change to the "standard" client?
One criticism I commonly hear of Bitcoin is that it merely transfers trust from some sort of central bank or government entity to the developers of the main project.  Can anyone provide a clean summary of what would happen (technically speaking) if a large majority, small majority, large minority, or small minority of Bitcoin users opposed a backwords-incompatible change to the protocol via the standard client?  And does this "power to dissent" lie disproportionately with miners, and/or with major economic players like businesses and exchanges?

It is worth breaking this into multiple questions about the different types of possible changes. I could write six paragraphs on each of the following possibilities: Changes to the difficulty adjustment, changes to how many coins are created, changes that introduce transactions currently considered to invalidate a block, changes that introduce new transactions that users of standard transactions could ignore, and so on. (It's not entirely clear what "backwards-incompatible" means exactly. Do you mean the change would be mandatory to agree on a block chain?)

Alright, as soon as I have time I'll break it up.

The power to dissent over changes that causes existing clients to reject a block does lie disproportionately with miners. Any change that causes existing clients to consider a block invalid is useless until the majority of miners update.
Miners who consider the block invalid will never attempt to build on a chain that includes any such blocks. So until a majority of miners upgrade, the longest chain will never stably contain a block requiring the update.
Once the majority of miners have updated, those running clients will pretty much have to update. Otherwise, they'll be stuck on a shorter block chain that won't agree with the more secure block chain.
The change would have to be pretty detrimental to key interests for businesses or ordinary users to be able to stand up to the miners. That seems pretty unlikely to me because there interests are pretty well aligned.

The changes would have to be accepted by at least miners, and maybe also by clients.
If the new code rejects something that was previously allowed and miners accept this change, then clients have no recourse. But if the new code allows something that was previously not allowed, then the network will split in two. All clients that refuse to upgrade will always follow their old rules, even if only 0.1% of the network uses these old rules.
So miners can't increase the money supply, change the difficulty calculation, steal money from accounts, etc. Miners could implement demurrage, increase fees, freeze accounts, etc.
It would be possible for clients to reject or discourage blocks that don't allow certain transactions, but this is very difficult to detect reliably, and it could end up fragmenting the network.
Lightweight clients like BitCoinJ can't do complete verification, so miners could trick these clients into accepting certain changes such as an increased money supply.
This is all very unlikely, though. The business model of miners depends on the existence and popularity of Bitcoin, so they won't accept stupid changes. Also, if the "official project" made insane core changes, it would lose its status as the official project. Bitcoin.org, weusecoins.com, bitcointalk.org, and the IRC channels are independent of the development project. All links can be changed within days.

At present there are 310 forks of the "standard" client, each possibly having still more branches. There are sufficient developers involved in this project that the only sway held by the devs is that of consensus. That said, if an unpopular consensus is reached, people need only use an alternate client. It is not what client is considered "official" which holds sway on the Bitcoin network, it is what client is actually used. If some branch of the main client which obeys different rules holds the majority vote on the network, which is "standard" or "official" is meaningless - only the majority rule holds sway.
As for the miners holding disproportionate "power to dissent" the miners can only refuse to put transactions in a block, and it is my understanding that the network will reject such blocks so long as they break the rules as understood by the majority of clients.

Most of these bitcoin forks have little or no actual development activity. They're not truly "forks", just maintenance forks that contribute back to the official version, not for differentiating features. It's likely that an alternate client would emerge from among them should the need arise, but don't think there are 310 candidates.

True enough. Perhaps BitcoinJ or BitcoinSharp would be better examples of true forks since they in no way contribute back to the main fork?

BitCoinJ can contribute back to the main fork through collaboration on common interoperability features. For example, a common wallet format to allow import/export between alternative clients.