Are there any arbitrators that would guarantee the bitcoin transaction such that no one has to wait ten minutes to confirm the transfer of the said bitcoins?
There are no such arbitrators currently, as far as I know. There have been plans discussed to create trusted sources of Bitcoins. The idea would be that I'd hold my Bitcoins with an e-wallet service and ask them to transfer my coins to you. The e-wallet service would confirm (outside the Bitcoin network) that it was going to send you so many coins.
In one plan, the e-wallet service would send you a signed email containing the transaction ID and a copy of the transaction. If a conflicting transaction ever appears in the public block chain, you would have proof that the e-wallet service had cheated you, destroying its reputation.
There is another method that doesn't require the sender to use an e-wallet service. In this method, a verifier connects to as many Bitcoin clients as possible over as much of the network as possible. He monitors the transactions appearing. If he sees a transaction on all points and doesn't see a conflicting transaction anywhere, the only possible double-spend attack would be to conspire with a miner who happens to mine the next block by luck.
For most transactions, just seeing the transaction posted is sufficient. But if you add in making sure the transaction is seen over most of the network, the risk is low enough to be worth taking for all but the highest-value transactions (say $5,000 or more). For transactions higher than that, it's hard to see how a 10 minute delay is a big deal. But if it is, you'll need to develop a method to handle it.
There have also been proposals for "side chains" that generate blocks more quickly and permit transactions to be confirmed faster. However, they're really not suitable for large transactions as they are unlikely to ever see enough hashing power to ensure they're resistant to a 51% attack.
Note that if you are ever ripped off in this way, you can always prove it. If you see the unconfirmed transaction, you can save it. If no conflicting transaction gets in the block chain, you can still post that unconfirmed transaction. If a conflicting transaction does get in, you'll have both transactions. So you can at least name and shame.
There is no single answer to this question. It involves a risk / convenience tradeoff and depends heavily on the circumstances, i.e. the risks of trusting a payment before some number of actual transaction confirmations are seen in the blockchain, vs the risk of lost opportunities by making things slow or difficult for your customers.
Generally speaking, go ahead if the risks are small in comparison to the benefits of responding quickly. We see the same thing with credit card purchases, which are even revokable. For small transactions, merchants typically choose to keep the checkout line moving rather than asking customers for a signature.
The risks are affected by factors like:
What information do you have about the payer - IP address? Email address? Do they have an online account with you? Have you seen payments from the same bitcoin address before? Do you have their physical address, e.g. for shipping? Other behavior patterns?
How easy would it be for someone to get away with lots of small transactions? Do you have good ways to limit their access if they keep coming back?
You can ask the same questions from the standpoint of potential arbitrators. In most cases the vendor would be likely to have more information to use in making an informed risk determination than an independent arbitrator would have. But one form of "arbitration" that is getting some attention is the use of a whitelist for bitcoin addresses. See e.g. the Green address technique. Arbitrators could research and maintain various whitelists suitable for different risk scenarios (e.g. payment amounts), access to which they could sell.
Instawallet Green Address is a way to accept bitcoins with zero confirmations and zero risk of double spend attacks. Of course you still have the risk that Intsawallet is compromised in some way.
Also, for a lot of application (e.g. coffee shop), you can just accept with 0 confirmations with minimal/almost zero risk. The cost of ripping you off would be much more than the price of the cup of coffee. In fact, I believe Mezza Grill accepts without looking at confirmations at all, just based on the word of the customer than he transferred a few bitcoins.
I'm not aware of other methods right now, would love to see more answers.
9 years later, the best way for one to accept bitcoins without worrying about confirmations is to use the Lightning Network.
This is the best solution so far, as you do not rely on a trusted third party (pretty much as onchain Bitcoin transfers).
However, it's currently not mature enough for a non tech-savvy user to both use it in a non-custodial way and benefit from the same UX as its usual onchain Bitcoin wallet.
Recent development pace in both the protocol for implementations security and in end-user wallets integration for UX let us reasonably put great expectations on it being the de-facto way of using Bitcoin in the upcoming years, thus using Bitcoin without huge confirmation latency.