text:
Is Bitcoin future-proof?
As I understand things, the security and integrity of Bitcoin rely on the assumption that its hashing is "hard" in some sense.  However, in the past, processing power has increased exponentially.  This has made some problems solvable in a reasonable amount of time that were not solvable before.  How does Bitcoin account for the possibility that processing power will continue to increase in the future?

This exact question exists on Stack Overflow: http://stackoverflow.com/questions/5605571/is-bitcoin-protocol-future-proof/5958343#5958343 although the question there is focused in a slightly different direction.  Either way, the answer is the same--the protocol can be upgraded.

@eMansipater Does that mean it should not exist here as well?  I'm serious as I don't know SE protocol for this sort of thing.

Me neither, that's why I mentioned it here and will be asking that on meta.

Meta discussion at http://meta.bitcoin.stackexchange.com/questions/3/how-should-duplication-between-sites-be-addressed

@MichaelMcGowan What do you mean by "future"? Do you mean 100 years from now? a thousand? a million?

BitCoin is futureproof, because in the event that processing power (or more relevantly, mathematical advances) make its algorithms weak or obsolete, the protocol can simply be upgraded.
Copied from Stack Overflow:
Upgrades to the Bitcoin protocol that break compatibility are implementable by social mechanisms but not by any technical process, which is by design.  In order to change the hashing or signing algorithms in the event that new techniques weaken them, the following process could be followed:

As soon as the existing algorithms are discovered to be weakened, have a trusted entity sign a copy of the existing blockchain, marking it as authoritative via a non-weakened algorithm.
Create a new protocol that 'respects' the existing blockchain (which contains all records of bitcoin ownership), and allows for an upgrade path to exist indefinitely.
Implement the new protocol dormantly in one or more clients, with a designated block number to switch over, and the trusted version of the blockchain hardcoded in.
Convince the vast majority of Bitcoin users that your trusted entity is trustworthy, and to switch to the new client(s) before the designated block is mined.  There really is no equilibrium allowing both versions to coexist, since people who own bitcoins will be able to spend them in both communities.  Unless the modified client achieves near-universal adoption before the designated block is mined, users will switch back before the change goes live.

The bitcoin network constantly adjusts itself to account for increasing amounts of computational power applied to securing the network.  Thus, faster computers will not adversely affect the integrity of bitcoin.  However, there could be problems should the integrity of the underlying cryptographic algorithms be compromised.  It is possible to move bitcoin to newer cryptographic algorithms, but it would require a high degree of planning and coordination.  The good news is that there would be a strong economic incentive for everyone that uses bitcoin to make that transition happen as quickly and smoothly as possible.

While security is certainly an arms race, the trick that makes bitcoin future-proof is that it's an open source project and we can all actively participate in that arms race. If SHA-256, RIPEMD-160 or ECDSA (the hashing and encryption algorithms behind bitcoin) are ever broken or crippled, we can simply change the client to use whatever "new hotness" replaces them. Since protocols are seldom completely crippled in one fell swoop and there are three protocols that would have to be broken to trivialize bitcoin theft it's quite likely that we'll be able to swap out "crippled" protocols quickly without sacrificing much security.

Bitcoin accounts for the exponential growth in processing power (Moore's law) making hashing easier by re-adjusting the "difficulty" every 2016 blocks. The difficulty  essentially determines how low the target for the hash of the block header is, the lower the target the harder it is to find.
Each block should on average take 10 minutes to find, so 2016 blocks should take 2 weeks. After each 2016 blocks the difficulty is readjusted by a ratio of (expected time for 2016 blocks)/(actual time for 2016 blocks). So for example if it takes 10 days to find the 2016 blocks between difficulty adjustments the difficulty will increase by a factor of 1.4 (14 days/10 days) for the next 2016 blocks. Conversely if it takes longer than 14 days to solve the 2016 blocks then the difficult will decrease by the ratio of (expected/actual) time to solve the 2016 blocks.
The difficulty change per readjustment cannot be more than 4x or less than 1/4x.

Bitcoin makes mining coins progressively harder, and has a max cap on the total number of coins that will eventually be available. This makes the mining mechanism future proof.
In terms of producing fake transactions and thus double spending or stealing money, you are competing against the network of users, and thus must have more computing power than the rest of the network. If all users increase in computing power at about the same rate, then cheating is prevented.


text:
Are there physical Bitcoin?
I have seen several folks selling "bitcoins" on Ebay and the like - but they are made of base metal and have no real connection with the bitcoin concept other than the symbol.
I'm wondering if some number of bitcoins could be permanently assigned to a coin (i'd plan on about 10 bitcoins impressed into a one ounce silver round).  I'm thinking of having a public registry of bitcoins assigned permanently to individual coins.  Said bitcoins could be reassigned only in the instance of the "surrender" of said silver round.
I appreciate the fact this reduces the portability of bitcoins, but it would be an interesting method of storing value.

Welcome to Bitcoin SE :) I edited the title to be more specific - please try it yourself next time you ask a question.

Are you describing the scenario where you are selling a silver round that is backed by a certain number of bitcoins?
Essentially what that would entail would be me selling my BTCs and buying your silver round but also getting the option to buy back those BTCs at some price in the future. For you to offer that means you would need to be trusted.  A public registry only means I can audit to see if the coins have been transferred in the blockchain -- not necessarily that you still would honor the agreement where I could trade the silver round back in for the previously agreed upon amount of BTCs.

There absolutely are. As a matter of fact, Casascius already offers a 10 BTC silver round in addition to his better-known 1 BTC brass coins and 25 BTC gold-plated brass coins. While not coins per se, the same principal allows for bitbills and other physical Bitcoins.

I believe he's offering a variety of coins, ranging up to a 1000 BTC gold bar.

There are a large variety of items available, yes, but the original question (before your edits) only specifically mentioned silver rounds, and so that's all my original answer contained.

That's not how I understood it - I'm wondering if some number of bitcoins could be permanently assigned to a coin

(i'd plan on about 10 bitcoins impressed into a one ounce silver round). <- this is what he said, and this is exactly what Casascius sells.

Well, it's just a comment inside a parenthesis. Anyway...

The Casascius coin could result in a coin with no value if the digital bitcoin is not transferred to the holder. It seems to work just as a collectable and may have value just as regular collectable coins do. So the owner of the silver round could have value and the owner of the bitcoin would have value.  Interesting concept.

"The Casascius coin could result in a coin with no value if the digital bitcoin is not transferred to the holder. " They are trying to prevent this by means of a tamper-proof sticker that covers the private key whose supposedly only copy is written inside of the coin.

source: Stack Exchange

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

sort: votes


text:
How can I send Bitcoins via SMS?
I am considering working on giving Africans access to trade using Bitcoins.
In many ways, parts of Africa is more developed when it comes to mobile payments than the west. The success of M-PESA confirms this. Their security is based upon a special SIM card (see Step 1 in this getting-started guide).
My question
Would it be possible to set up a service where one could send and receive Bitcoins securely via SMS? An additional condition to this question is that the SMS could be sent from a good old crowbar mobile phone without any access to a computer to perform encryption. One should also notice that postal services in these countries should be considered insecure.
Motivation
My motivation for this project is the heavy costs involved with making an overseas transaction to an individual in Kenya, because M-PESA only accepts transactions from oversees using Western Union. This is important because I know that there are huge flows of money going from Africans (and more so Asians) in Western countries to their family-members at home.
Additional points
It should be noted that one can send SMS for free amongst others to Kenya via Google SMS. Their only condition is that the receiver responds to the SMS occasionally in order to avoid it getting used for spam.
Currencies in some African countries are very unstable (for example in Zimbabwe), so the Bitcoin currency could maybe be considered a "hard currency" compared to the local ones.

No need to edit the title to be "Solved: ". This is not the forums - just used the accept & voting buttons :)

@ripper234 I believe it is good, so people know that it is currently possible to send Bitcoins via SMS.

So edit the title to be "How can I send Bitcoins via SMS?"

@ripper234 Ok. I give up! ;)

Ah, the power of a community-edited site :)

Just an account on http://phoneco.in/  because thats exactly what the service does.  [Update: Phoneco.in is defunct.]
Update: A new service as well to check out. http://dialcoin.com/ [DialCoin's site is up yet but has suspending service.]

Wow! That was spot on! Now I just need to figure out how to use them to send money to African mobiles.

+1 for an excellent link. If I could +=100 I would for that is a very important service.

Unfortunately phoneco is now dead, and dialcoin apparently doesn't support Kenya.

Both of those websites appear to be dead.

None of these links work anymore.

Dialcon is up again.

Dialcoin's website still is up, but it does not function for buying bitcoins.

As of April 2012, the two methods are:

What countries is the service available in? Argentina, Australia,
  Austria, Belgium, Bosnia and Herzegovina, Bulgaria, Canada, Chile,
  Croatia, Czech Republic, Denmark, Estonia, Finland, France, Germany,
  Greece, Hong Kong, Indonesia, Ireland, Israel, Italy, Latvia,
  Lithuania, Luxembourg, Mexico, Netherlands, New Zealand, Norway,
  Poland, Portugal, Romania, Russian Federation, Slovakia, South Africa,
  Spain, Sweden, Switzerland, Taiwan, Turkey, Ukraine, United Kingdom,
  United States of America

http://blockchain.info/wallet/sms-phone-deposits

and

http://en.bitcoin.it/wiki/Btc-Direct (for two dozen countries)

For the latest, search "SMS" on:

http://en.bitcoin.it/wiki/Buying_bitcoins

You can make bitcoin transaction via SMS because it's just couple hunders of symbols, but it requires internet connection to verify transaction against double spend attack. You can setup man-in-the-middle that will hold customer's bitcoins in it's database and sell or buy bitcoins for them. Customers would be able to add or withdraw fiat currency via SMS and send bitcoins via internet website. But if you want to give users control of their accounts via SMS then you would have to develop application and distribute your own SIM card.

I like the idea of man-in-the-middle, but it would put severe constraints upon such a solution in remote areas with kilometers to walk to get to an internet connection. Using your man-in-the-middle idea, we now only need to invent a way to update the "accounts registered in it's database" via SMS.

Please ask me to clarify again if I am still not making sense.

@David, I made some adjustments to the answer, hope that helps.

Ok. Thank you! I am hoping that others might find a way around having to distribute a special SIM card.

the question is how old are the mobile phones. if they have J2Me it would be possible. you just need a sms 2 btc gateway that stores the blocks like BCCAPI and allow users transactions. and a j2me app thats hold the privat key and with the possibility to send and recive sms. (given by the j2me api)
you would need do develop this both software, and test it if it is practical usable on most of the african mobile phones
greetings treaki

Coinapult's SMS wallet is currently only available in the U.S. and Canada but it works as you describe -- usable for a transaction where either or both parties are using a feature phone with only SMS / text messaging service (i.e., no other data service necessary).
Coinapult may be adding support elsewhere, but their current freemium business model might need revision to be feasible in regions where the text message costs are higher.

http://www.37coins will work. Presently there are 37coins text gateways in over 14 countries for sending/receiving bitcoin by text (SMS) and more can be added if you have an extra cell phone. See their site on section about adding a gateway. Using the system is easy. You can open a wallet by texting your cell phone number to the appropriate gateway in your country. Once you have a wallet you can follow the short text prompts listed on the site to send bitcoin to your wallet and you can withdrawl (send) bitcoin via text to another bitcoin wallet. You can do this without a browser, internet connection or smart phone. You can use an older version cell phone and its texting capabilities.

37coins site is dead.

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


text:
Automating service with income from VISA and expenses in Bitcoins
Open-org.com is building an online service, which will have income coming from VISA cards, and will pay expenses in Bitcoins. We expect to make something like 100 transactions per day from credit cards to Bitcoins. I would like to know what the cheapest service would be for doing this fully automatically. What I mean is the cheapest service or combination of services with APIs so we can automate the whole process. I am particularly concerned with complexity (and delays) if we would need to transfer the money from the provider, which enables us to accept VISA payments, to my bank account. Then send the money to MtGox, get it exchanged and then get the Bitcoins sent off. The steps involved just in the last part, Bank Account to Bitcoins, would be quite work intensive if done on a daily basis. It would involve the following steps: 1) Access internet bank and transfer to exchange (5 minutes). 2) Access exchange and transfer and create several buy orders over some period of time to get a good price (5 minutes to 30 minutes). 3) Transfer Bitcoins to 100+ recipients (5 minutes to 30 minutes depending on interface). 4) Make accounting of transfers.
Btw. this is not a "buy bitcoins" service, so I do not believe I will get in the kind of trouble that "buy bitcoins" services got into with regards to fraud. Anyways, that is a different question.
I should mention, that I am not interested in services that take something like 5% for doing these things.
The service should accept international VISA cards.

I'm not clear on what you're asking here. Do you want a VISA payment processor? That doesn't seem relevant to this SE. Do you want a processor to convert from VISA to Bitcoin directly, without you holding the money? That doesn't exist at all AFAIK.

I am looking for a solution for the whole process.  I do not expect one service to convert directly, but I am looking for a chain of solutions, which enable the whole process from VISA to Bitcoins.

So a VISA payment processor (VISA -> Bank Acct) and a Bitcoin exchange (Bank Acct -> BTC)? That's the simplest you could manage.

I have updated by question and added the process steps involved in the Bank Acct -> BTC. There are 4 steps. Needless to say, they would take a lot of time when done on a daily basis. If automated, I would even like to do these steps in real time for every VISA payment made to Open-org.com

Visa and Mastercard have been pressuring any merchant transaction processors to not support Bitcoin.
However, there is already at least one service that allows you to deposit Bitcoins and withdraw USD through a Visa debit card: OKPAY recently announced their support of Bitcoin, although I don't know how long they will last.

Do you have a better reference for your claim about pressure from Visa and Mastercard?

I am not after bitcoin to Visa services, but the other way around

Here's an article that quotes a Paxum rep saying they were pressured by their banking partners to stop dealing with bitcoin-related sites:
http://www.betabeat.com/2012/02/13/banking-partners-force-paxum-to-drop-bitcoin-due-to-potential-risk/
It does mention though that Mastercard wasn't the main source of the pressure:
CORRECTION: This post originally had MasterCard in the headline; Paxum says the real push for the change came from its banking partners, “not really MasterCard.”

First you should reexamine the assumption that you need to do this daily. If you have a reserve equivalent to the weekly volume, you can move funds around once a week. To protect against volatility risk, you can still use an exchange's API to buy bitcoins daily or more frequently to clear your position.
If you can't do even a weekly manual transfer, you should have a look at OKPAY. They can accept CC payment, and they might allow you to withdraw bitcoins if they can be shielded against chargebacks (if you explain that your service is not at high risk of chargebacks and put a deposit, they may be convinced).
Handling end-provider Bitcoin payments should be separated from this. Once the bitcoins are in your possession use your own daemon and database to send payments automatically.

The reason why I want to do this on a daily basis or even ofter is that, the profits earned from Open-org.com belong to the contributors, so since this is their money I want them to have it as soon as possible and to see profits being made on a daily basis. I will look into OKPAY, thanks for the tip! You have a good point that handling end-provider Bitcoin payments is separate. Thanks!

@David: Again, you can pay the contributors on a daily (or immediate) basis from your reserve. It doesn't require the USD to be moved every day. As for seeing profits, if you buy immediately then you will see daily profits in the total of all your assets (including the funds you keep on mtgox), though not necessarily in terms of cash you are holding in the hand. Your business plan should take the reserve into consideration, but a week of reserves really shouldn't be too difficult.

I basically do the same thing with my exchange service. I have bitcoins both locally and on mtgox, USD in mtgox and ILS in my bank account. When a customer buys bitcoins from me (paying ILS to my bank account), I send them from my own wallet and immediately buy the same amount on mtgox to reset my position. When I run out of bitcoins locally I withdraw from mtgox (simple); when I run out of USD on Mtgox I convert ILS->USD if needed and do a wire transfer (a bit harder).

You can even have a Bitcoin reserve while maintaining a 0 Bitcoin position, by trading on margin (in Bitcoinica for example). This requires some more USD reserves.

This is really a nice work-around. I will accept this as the best answer if no automatic solutions exists. I really would like this to be a fully automatic thing, also because I believe so many others have the same requirements. But if it is not possible, then I have to use your work-around.

@David I believe you do not really want to fully automate stuff involving money, especially if that solution hasn't been already extensively tested (and if you can't find it easily, it hasn't).

@Lohoris Good point. But, there are also risks with manual processes as well. Over time I believe them to higher, though the initial investment in testing an automated service are of course something to count in.

@David: If your bank account has an API, you could do the same but with a process that automatically requests wire transfers (and everything else can be easily automated). But I guess OKPAY is your best bet for a complete solution.

I guess I could, Meni. I have also asked OKPAY whether they can be used to accept VISA payments, it is not clear from their site.

@David: Hmm, at https://www.okpay.com/en/company/news/cc-maintenance.html they say they've suspended CC due to "technical reasons". That was 2.5 months ago. I wonder if really they've moved away from reversible payment methods.

@MeniRosenfeld Wow! Thanks, so that was why it was so unclear on their site.

From a developers standpoint of view, i like the approach https://stripe.com/ takes.

Welcome Manuel! Please try to improve the answer by specifying what that approach is so that readers can get an idea about it without clicking the link.

Last time I checked (a month ago), they only accepted US VISA cards.


text:
What would be an estimate of the value gained if the whole world started using Bitcoins?
I remember that before the Euro was first introduced, I read estimates on how much economical benefit every person would get (GDP per capita) once the Euro was fully implemented. Estimates like these were used in the cost/benefit analysis used for deciding whether or not it was worth the trouble of creating the Euro at all.
I guess they didn't include the risk of a Euro-collapse and the related costs, but nevertheless, it was an estimate. I do not know whether this question is too speculative, but it is truly the most interesting question I can think of. If it would be too difficult to estimate for the whole world, then an estimate for a region would also be interesting.

I think this question is better suited for Economy SE.

@ThePiachu I thought about it, but Bitcoins has very special characteristics, so on Economics SE it would be something like: "Imagine a currency that has the following special characteristics...", which makes it a poor question.

I think the Economics SE people know of Bitcoin, but at the same time from my experience I found their approach to it a bit negative at times. Probably your question could be dismissed due to being a bit of a speculation, but if they were to answer it, the reply would probably be more of what you look for than what you'll find here. Generally, you ought to link to a website explaining Bitcoins, or explain that it is a finite crypto currency, they should understand what you are getting at.

According to xkcd: Money Chart estimated total economic production of the human race as of 2011 is $2,396,950,000,000,000 . Divide it by 21 million and the theoretical maximum price per bitcoin would be $114,140,476, but that figure is impossible, because for one, even in best case scenario Bitcoin will co-exist and compete with other currencies and would have only a small share of the pie. Second, Bitcoin is more efficient medium of exchange then USD, in other words, to complete transaction a someone required to hold bitcoins for shorter period of time therefore less total amount of bitcoins would be required for circulation and that also means lower price.

I have attempted to clarify the question, but please help out if you can. My question is not the amount of coins each person would get, but how much GDP per capita would be gained because Bitcoins for example remove currency risks.

The answer to your question depends on how bitcoin currency would be used in future and what possibilities it will open up. Of course that's impossible to predict unless you already have good amount of details about that new use. You could try to extrapolate the current technology on bigger scale but I can assure you that it would not be anywhere near future reality, e.g. just yesterday bitsyn.com announced, twitter.com/BitSyncom, that they are working on building blocks for mesh network that would be alternative to ISPs and would use bitcoin as payment system for internet access.


text:
How big is the bitcoin community 1st of Feb. 2012?
I really do not know what kind of metrics are available for measuring the size of the Bitcoin community, but I am interested in any metrics indicating how many users of Bitcoins that there are. Some example metrics could be:

Number of registered users on forums
Number of wallets
Number of wallets with bitcoins in them
Number of non-mining clients running
Number of installations of default client

It would be excellent to see these numbers in relation to some numbers, like the size of the BitTorrent community (or maybe the old Napster community) or whatever, to get a better understanding of the number, but this is not necessary.

Since this will change over time, the answer will soon be wrong unless you specify a date in the question

Have a look at:
http://bitcoinstatus.rowit.co.uk/
Nibor on the bitcoinj mailing list has created a whole series of charts about the bitcoin p2p network.


text:
How do I send bitcoin to multiple recipients at once?
How do I send bitcoin to multiple recipients at once? Like this. Also, I would like to know if the reason I see people do this is for privacy reasons? As when I sell items online they usually send the btc to multiple recipients at once.

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


text:
Is there a help file for the bitcoin client?
Is there a help file / man page that explains all the possible commands and arguments for the bitcoin daemon?
I'm looking for an in-depth coverage of the commands seen when I do bitcoind help.

Bitcoin Config Arguments
Bitcoin CLI Commands

https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list is exactly what I was looking for - thank you!


text:
What should I do about the March 12th 2013 blockchain fork?
Reddit/r/bitcoin is flooding with news that the Bitcoin blockchain has forked, in that versions 0.7 and 0.8 are accepting different blockchains. What does this mean for the users?

Gavin Andreson has tweeted this:
https://twitter.com/gavinandresen/status/311290936527298561
The bitcointalk post linked by Gavin is a post by Peter Wuille, which says this:
Hello everyone,
there is an emergency right now: the block chain has split between 0.7+earlier and 0.8 nodes. I'll explain the reasons in a minute, but this is what you need to know now:

After a discussion on #bitcoin-dev, it seems trying to get everyone on the old chain again is the least risky solution.
If you're a miner, please do not mine on 0.8 code. Stop, or switch back to 0.7. BTCGuild is switching to 0.7, so the old chain will get a majority hash rate soon.
If you're a merchant: please stop processing transactions until the chains converge.
If you're on 0.7 or older, the client will likely tell you that you need to upgrade. Do not follow this advise - the warning should go away as soon as the old chain catches up.
If you are not a merchant or a miner, don't worry.

An announcement has also been made at bitcoin.org.

What about miners against public pools? I'm assuming we should check the pool website for status, but is there anything specific we can do?

@JedDaniels, yes, you could also check bitcointalk to find a pool operator that is clearly running the correct version.

If you are a user, Don't do anything, including transactions.
If you are a miner, Stop mining on 0.8.
If you are a merchant, Don't do anything, including transactions.

Poor wording.  E.g. merchants need to do something, unless they sell stuff by hand: turn off their automated bitcoin processing.


text:
How can I process Bitcoin transactions in my store?
What merchant solutions are available to integrate Bitcoin in an online store? Is there a wiki page that describes the different merchant solutions?
Note - This question was originally asked specifically for a PHP store, but since most solutions are platform-agnostic this part was edited away.

https://github.com/neofutur/bitcoin_simple_php_tools is a work in progress but may be worth watching.

I edited away the PHP part of this question - most solutions are general purpose anyway.

StrongCoin has developed a PHP script for fast handling of micro transactions. You can read more on it here:

https://strongcoin.com/blog/bitcoin_micropayments_with_strongcoin
http://www.thebitcointrader.com/2011/12/monetizing-blog-with-bitcoin.html?m=1

EDIT - This demo is now defunct but I've left the article here for reference.

You can use the osCommerce shopping cart and there is a payment module here ( https://github.com/weex/oscommerce-bitcoin ) that works but could use some testing. There is also a bounty of 4.75 BTC if you do in-fact create the first public store using it.
Interacting via php natively is not very easy but typically what's done is to use jsonrpc to talk to a locally running bitcoind (Bitcoin daemon). The module mentioned above provides an example of jsonrpc usage.

PHP developer intro
 - http://en.bitcoin.it/wiki/PHP_developer_intro

In addition to Strongcoin, there is also Bitpay, which offers more manageable / flexible merchant solutions to developers for a small fee. This only covers your users who want to buy with Bitcoin, however.

An up to date light-weight library is being developed that interfaces with the bitcoin network, includes great extras for example: generating receipts that saves total cost as well as the list of product ids(and verifyable checksums for data integrity), no database integration required.  There is also the bitcoin address ownership verification function as well.
Its called Bitcoin Development Kit the link to the source code is here: https://github.com/Xenland/Bitcoin-Development-Kit
The website is http://BitcoinDevKit.com


text:
Is there an easy way to diversify your Bitcoin holding among the other popular forks?
Recently there has been a spread of Bitcoin clones, starting with Namecoin and following with other newer clones. There is a chance these coins will appreciate relative to Bitcoin.
Is there an easy way for a Bitcoin holder to automatically diversify his holding among the different crypto currencies, similar to holding an index fund or ETF instead of purchasing individual stocks?

Sidestepping the comments about whether or not Namecoin is a fork or a separate project or whether bitcoin is an investment or a currency, I'll address the direct question asked: Is there a way to easily and automatically purchase several crypto-currencies at once? Not at present time, no.
Bitcoin (and its forks) is a very young project, though, and I'm sure there was a stock exchange before DJIA or S&P existed. Give us time and it's very likely that something of the sort will be created - especially now that the demand has been made publicly known.

Namecoin is not really a BitCoin fork.  It is intended to work like DNS, not like a currency.  As to the other "forks" I would highly recommend you not take seriously digital currencies which lack the community backing of bitcoins, and are not heavily feature-differentiated from them, until or unless they prove themselves popular and reliable.  Even bitcoins themselves hardly meet this criteria, so that should give you an idea of how seriously "IXCoin" and such should be taken.
But the broader problem here is that you seem to be approaching bitcoins as an investment.  Bitcoins are not an investment vehicle--they are a currency.  There is no need to "diversify your holdings" because bitcoin is not a holding--it's just money.  If you don't need it to store your wealth or exchange it for something else, you're looking in the wrong place.

Sorry, but I completely disagree with you about treating Bitcoin as an investment. I personally intend to BUY AND HOLD Bitcoin until they appreciate. There is some chance 1 Bitcoin will be worth > $1000 in a year or five, so it is definitely a form of investment.

You're quite welcome to disagree, but that's a matter of speculative economics and has nothing to with BitCoin (and this site) itself.  BitCoin is a free, open-source project to create a currency.  The fact that you think this currency is for some reason a good investment is your own business, and people reading this question need to realise that BitCoin is not designed as an investment vehicle.

A key factor in Bitcoin's design was the limited supply of coin, a feature that was put in largely to attract early adopters who will think Bitcoin will appreciate in value. This is by design, not accidental.

@ripper234 these comments aren't intended for discussion.  If you're not clarifying the question, the answer, or both, it probably doesn't belong here.

True enough, let's stop it here.

This is not an answer to the question.  The question you raise should be addressed here

Either way, people finding this question on a Bitcoin Q&A site need to hear the points I've made, as this is a common misconception that is somewhat implicit in the question.  If the question were edited to something like "Is there any easy way to obtain units of the BitCoin forks/clones?" I would happy change or remove my answer.

Seems like diversifying your digital currency holdings in order to reduce your exposure to price volatility is a perfectly legitimate desire, and doesn't necessarily imply that you are treating bitcoin as an investment.


text:
Can I buy/sell a lot of bitcoins without moving the price?
I am curious about how to acquire a lot of bitcoins (or similarly move a lot of bitcoins) without hitting the bid/ask
I don't care about blockexplorer, I am just curious about price discovery
are there any darkpools? could I just use an illiquid exchange and personally contact the counterparty and have them take the trade
options would be good too, this would make acquiring bitcoins at a certain strike easier as this is already a negotiation between the person on the other side of the contract

Some exchanges, like Mt. Gox, do offer dark pools.

... and those dark pools still move the market (even though it is less visible)

This smells like investing advice to me.

false, mtgox used to had drk pools two years ago, but there are no more dark pools on mtgox for months or years

It won't work, no matter how you do it. If you acquire a lot of Bitcoins, that will mean that a lot of people who wanted to get rid of their Bitcoins no longer want to get rid of their Bitcoins. Thus, they will stop supplying them. The reduction in supply will move the bid/ask prices. It's fundamental economics and you can't change it.

I'm pretty sure I could negotiate with a seller on the other side of the exchange to put out a bid for X amount in an illiquid exchange and I take the other side of it. Why would this not work?  Also an option does this exact same thing in a standardized contract.

It would work, but it will still move the bid/ask. The seller you negotiate with is now no longer a seller (at least with respect to those coins). Removing a seller reduces the supply of Bitcoins. The bid/ask is directly controlled by the supply of and demand for Bitcoins. So your transaction would change the supply (reducing it) and thus raise the price.

So what are the dark pools for? I thought they were meant to do high volume trades without moving prices. Some exchanges offer them (CampBX and maybe MtGox, I'm not sure)

The dark pools are used to protect your trading strategy from being easily visible before you trade. Anyone who tells you that executing trades on a dark pool has a different effect on the market is selling snake oil. (For example, if you're willing to buy 50,000 Bitcoins at $4, that tells people Bitcoins are unlikely to drop below $4 soon. You may not want people to know that because they can trade on that basis and break your strategy.)

There is a way to acquire a lot of bitcoins without immediately affecting the price, and that is to buy mining equipment or contracts. Depending on the value of bitcoin and the cost of your contract, you may be able to acquire bitcoins for about the same amount as you would if you bought them on the open market, however, you would not acquire them instantly.
There are obviously other factors to consider when using this strategy.

That should have no effect on supply. The supply of Bitcoins is kept steady by the algorithm. Theoretically, you could increase the demand slightly, but I think this is actually the best way to achieve the effect you want.

true but if we think that supply in this case refers to the supply by miners willing to sell their bitcoins at the current price. presumably if you want to acquire a bunch through mining, you could be keeping coins off the market that other miners would be willing to sell. so you are still "shifting the curve" - but in a much more opaque and harder to quantify way. I agree that this is the "best" way to acquire lots of bitcoins if one's sole criteria is moving the market as little as possible, but it still has an effect obv.

We do this all the time in the financial industry. It's called iceberging:

Some markets allow dark liquidity to be posted inside the existing limit order book alongside public liquidity, usually through the use of iceberg orders. Iceberg orders generally specify an additional "display quantity"—i.e., smaller than the overall order quantity. The order is queued along with other orders but only the display quantity is printed to the market depth. When the order reaches the front of its price queue, only the display quantity is filled before the order is automatically put at the back of the queue and must wait for its next chance to get a fill. Such orders will, therefore, get filled less quickly than the fully public equivalent, and they often carry an explicit cost penalty in the form of a larger execution cost charged by the market. Iceberg orders are not truly dark either, as the trade is usually visible after the fact in the market's public trade feed.

Source

Any large enough transaction should move the price, even if it is somehow "off the grid" though in that case it may move the price later. This would also apply with any other forex trade the difference is that the amount of liquidity in the bitcoin market is by comparison very small. To buy $100,000 in bitcoin would probably be a very large part of a day's trading, while in a market like say EURUSD you could trade $100,000,000 without it being a particularly huge transaction. It is just about the ratio of the size of the trade vs the entire market.

As David mentioned, the market price will be influenced regardless. If you would like to potentially minimize / delay your transaction's impact on the market, I can think of a few methods.
I think the best way to obscure your buy would be to find someone in the #bitcoin-otc who is interested is selling a large quantity. You could then arrange some deal to not speak publicly about the transaction.
I think this might be what you are looking to do.
I could be wrong about this minimizing impact on the market price, David surely knows more about the economics end than I do.

To accomplish that you would have to find a person who would be willing to sell you a big amount of Bitcoins outside of the market. This would be hard, because a lot of people are afraid of scams, but it is certainly feasible. Still, the best bet to get a lot of Bitcoins without influencing their price (or at least not bringing the exchange rate down) would be to invest in large scale mining rigs. This approach is slower, but attracts less attention. Moreover, since the difficulty would increase due to your mining, it might positively influence the exchange rate (harder to earn coins => they are more valuable).

Dark pools can't be scammed....

The reality is that we don't have advanced enough financial products nor a sophisticated enough market to allow bulk transactions to occur without a price impact. The market is too thin and dark pools are impossible because every single transaction is both broadcast and verified.
If a large amount of Bitcoins are suddenly transferred from a single account, then everyone knows in ten minutes. Accounts would have to be highly divested and decentralized to hide a bulk transaction. Thus, the analogue to Iceberging. I can imagine a specialized set of market actors offering this service for large cap investors, but honestly we need options to trade risk way before we worry about large transactions.
My advice to anyone who holds several thousand Bitcoins who got in early is to wisely divest until they have recouped their initial investment and then adopt price points to slowly liquidate their holdings. It's a deflationary currency. The price has to go up if it is going to survive. Don't worry about daily fluctuations.

This is no longer true....

Regulated trading platforms will give you a more automated process while Bitcoin OTC brokers will allow you to stay under the radar and create fewer price movements.
https://99bitcoins.com/buy-bitcoin/large-amounts-otc-broker/

High volume traders can apply for a "dark net" account with Mt. Gox. I believe you qualify for this type of account if you trade over 1,000 BTC per month. (Something like that, I can't find the exact specifications at first glance.) You can also make in-person trades of digital or physical wallets, which would be "off the grid" in the sense you are speaking of.

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


text:
How to find BitStamp's Ripple address?
I see on the wiki that they're the 2nd Gateway, but don't see anything about it on their site.

People shouldn't trust any Ripple addresses not listed/provided by the gateway themselves so I'm not sure if this type of question is appropriate for SE. (Unless it was changed to be general about getting the address of any gateway).

@dchapes - well, the link in the answer seems to require a login. I think it's important to publicly expose the information. Perhaps the answer should just be qualified with a disclaimer?

I still think this question should at least be changed to ask how to find any gateway's address. But I could be wrong :) I'm not sure, but I wonder if https://ripple.com/wiki/Gateway_List doesn't including Ripple addresses for a reason.

@dchapes - I forgot to mention that I did edit the question... but I don't want to make it too general, it has a specific answer anyway, changing it to a general question won't make sense at this point.

Under Withdrawal/Ripple there is a link named "trust this address".
(removed from here the address itself due to a good suggestion: don't trust what is written here, go there and have a look yourself)

Can you add a disclaimer as per http://bitcoin.stackexchange.com/questions/7877/how-to-find-bitstamps-ripple-address?noredirect=1#comment14213_7877 ?


text:
How can a currency be added to Ripple?
I would like to add New Israeli Shekels (ILS) into Ripple.
How do I go about doing that?
To clarify, when I try to enter ILS in the Trust page, it doesn't recognize it.

I see that I can still add it, and in fact add arbitrary currencies such as XYZ (Ripple shorterns whatever I enter in the currency box to three letters if it doesn't recognize it).

Why doesn't ILS appear in the autocomplete box?
What does it mean that I trust someone with 1 XYZ or ZYX?

In next deploy client will save used currencies and suggest them :)
https://github.com/rippleFoundation/ripple-client/commit/77a11af31bf44875f19935ed9ea6fa8e2c412602
and
https://github.com/rippleFoundation/ripple-client/commit/1a44e94844d6948d103e31c6121dcb71d5b65ef1
update: the change is already live.

Hi! Could you add a link to a source?

sure. see edit.

Probably the reason why it is not added is because it wasn't considered "one of the main ones" whatever that means. You can write ILS yourself though: you can use whatever three letter code you like.
Alice trusts Bob for 10 XYZ.
Alice and Bob know what XYZ represent. If you and your friends (ripple neighbors) use ILS, you know it represents New Israeli Shekels, the system only needs to know that it is the same currency so that it can apply a 1:1 exchange rate.
For more information on this, read this issue and this forum post:
https://github.com/rippleFoundation/ripple-client/issues/77
https://ripple.com/forum/viewtopic.php?f=1&t=7
EDIT: To trade ILS, manually edit the text within the selector for the currency pair. For example, substitute "XRP/BTC" for "BTC/ILS" and that's it. Of course you need to specify the issuer for ILS and BTC as always.
EDIT2: Now currencies will be ordered upon usage. The more you use a currency, the higher it will appear on the selector's list.
https://github.com/rippleFoundation/ripple-client/commit/1a44e94844d6948d103e31c6121dcb71d5b65ef1

So this question is how to add ILS to "the main ones".

For that you need to modify the client. Currently the client only lets certain pairs of currencies to be traded, but having two selectors (one for each currency) on the trading page instead of just one would allow you to trade ILS for BTC or XRP, for example.
THERE'S NO DIFFERENCE ON HOW ILS and USD are treated aside from this one. The system itself doesn't really "care much" about currencies.

So, should I open a github issue?

No, I'm sorry, I've been talking with arthur and you can directly edit the text in the currency-pair selector. I'll adapt my answer for this.

What I'm asking is how to make ILS appear as "one of the main currencies" for all users of the Ripple client, not just how to trade it myself. Who should I talk to?

For that the client must be modified, so yes, open an issue on the client's github.

https://github.com/rippleFoundation/ripple-client/issues/265

You don't need to add ILS - It supports all ISO4217 currencies. This is the line that adds ILS.


text:
Is a distributed version of GLBSE possible? How would you design it?
GLBSE is a privately owned bitcoin-based stock exchange website.
Recently there has been talk about creating a distributed, open source version of it, without any single point of failure, possibly utilizing blockchain/Namecoin technology.
Would such a project work, technically? How would you design it?

Step 1 - Representing shares in the company.
This is easy enough and has been discussed. The company sends a small amount of bitcoins to one of its addresses. It releases a digitally signed announcement that any bitcoins which can be traced back to this particular output are tokens representing shares in the company. When dividends are to be paid, they are sent (in normal bitcoins) to addresses which contain tokens in proportion to the amount. Initially the company is in ownership of its shares and can sell them to raise funds.
Step 2 - Enabling OTC trades.
Also easy. People who want to trade can broadcast their offers, perhaps on a dedicated Bitstock p2p network. People who want to execute standing orders can contact their issuers and together construct a Bitcoin transaction that sends X normal bitcoins from A to B and Y tokens from B to A, and both sign it. No trust is needed because the exchange happens simultaneously. There can be a Bitstock client that is a modified Bitcoin client, which is careful to distinguish tokens from normal BTC and can communicate with the Bitstock network.
Step 3 - Committing to offers.
Here's the hard part. With a normal OTC trade, there's nothing stopping a trader from backing out of an issued order if it becomes unprofitable by the time he is taken up on it. A market where orders needn't be honored will be inefficient and subject to manipulation. There needs to be some way to make committing orders.
One could conceive concocting some special Bitcoin transaction where the output can be claimed by reciprocating by sending tokens to a specified address, up to a given time. But I think this has too many moving parts to work. The Bitcoin script will need to verify that the tokens indeed originate in the company's address, and the completed transaction will expire if not included by some time - which is said to be impossible since it will be messed up in chain reorgs.
One way to do this is with a distributed trust model such as my own NodeBank proposal, where the bank nodes act as escrow for the trades.
If you want to do this completely trustless, I think you may have to create a separate Bitstock blockchain with its own rules (shared between all companies, but distinct from Bitcoin). I'm not sure it's possible to make a commitment mechanism for offering bitcoins for token bitstocks, so Bitstock will have to be its own currency which can also be used to create company tokens (just like Namecoin is a currency which can be used to create a DNS record). The Bitstock blockchain will have rapid blocks and a relatively strict timestamp requirement, and will be merge mined with Bitcoin. It will have a mechanism for making offers of Bitstock tokens vs. normal bitstocks, which is enforced by protocol if an execution request is made with its hash included in an early enough block. There should be a way to make special rules to make this survive reorgs - for example, orphan blocks will also be considered when evaluating whether an execution was given early enough, but a confirmation of this validity will also be included in the main branch, and require enough confirmations to make sure a validation can't be added retrospectively.
Step 4 - Continuous trade services.
No matter how clever we make the decentralized stock exchange, some things can still only be offered by a centralized service, in particular in regards to the speed with which orders can be placed, retracted and executed. A centralized service can be built on top of the p2p system to offer such features. It should enable depositing and withdrawing normal coins and token coins, and offer advanced features for trading deposited coins.

Nice work. Now we just need a critical mass of developers to kickstart the project. A functioning, distributed GLBSE clone is a killer Bitcoin feature.

How can you trace Bitcoins?  The block chain only tracks value not individual "coins". For example if you send 1 satoshi representing a share in xyz to an address which contains 1 BTC do you now have 1 million shares of xyz.  Likewise if someone transfers BTC to addresses containing shares and then satoshis are transfered out which ones are shares and which ones are BTC?

The block chain does in fact track individual coins. Every input to a transaction is a clearly specified output of another transaction. If you go to block explorer, pick a transaction and repeatedly click on "previous output", you can trace the coin all the way back to its generation. Or to a specified output, and there can never be more coins tracing back to an output than the value of that output. (Though since every transaction can have several inputs, to avoid brute force search you may want to keep a separate record of the correct path.)

Actually this wasn't completely right, you do need to be more sophisticated. For the outputs to be legitimate tokens, you need all inputs to be tokens, except for inputs which are unambiguously designated as tx fee inputs, and you'll need a change output for tokens and a change output for tx fee. And when validating a certain output you'll need to validate all of its inputs, which may branch. This may be challenging but should be solvable, I'll look more closely if the smart property proposal already solves it.

I think you are confusing "value" with "unique coins".  Bitcoin simply tracks value.  While there can never be more output (in terms of value) you can't track where an individual input goes.  Bitcoin only tracks value.  So if you have 1 "share satoshi" in an address and someone adds 1 million "regular satoshis" (and you can't block or reject transactions) then the two are forever co-mingled.  There is no way to seperate out the 1 "share satoshi".

No, sending coins means specifying a particular output to be redeemed. An output traceable to the original token will remain distinct even if the address receives more coins in a different output. The only point where coins are intermingled is inside a transaction, if you don't have a convention to recognize the distinguished inputs.

One question regarding the merged mining approach: would this introduce another coin ("bitstock") along with the token coins? this part: "It will have a mechanism for making offers of Bitstock tokens vs. normal bitstocks" confused me a bit, hence the question. Could transactions in the slave chain be linked to transactions in the bitcoin chain in a way that would create a desired "combined share purchase" transaction (passing bitstock tokens one way and bitcoin the other)?

@molecular: Yes, if we want a protocol with special features that are too big to be introduced in Bitcoin, it will have to be an alt with a separate blockchain. In the sentence you quote I spoke of exchanging Bitstock for other Bitstock, not Bitstock for Bitcoin. However, the latter may also be possible if Bitcoin supports it - see https://en.bitcoin.it/wiki/Contracts#Example_5:_Trading_across_chains.

Well... you could just do step 1 and 4, i.e. using Bitcoins to store shares, and using an external service to trade them.

This can be implemented in a similar way than smart property.
The issuer sells, for example, 1 satoshi to represent each share. He can sell a share for bitcoins within one transaction, atomically.
A decentralized market for those shares would be necessary. This can be implemented outside the chain in multiple ways, for example, using i2p like dark exchange.
The problem that remains is forcing the orders in that market outside the chain to be executed. Without extending the bitcoin protocol set of standard transactions or starting a new chain.

Fixed the link for you an upvoted, hopefully you'll have enough rep soon to leave two links.

This can be done using Open-Transactions. There are servers, but the overall architecture is larger than that -- issuers can issue funds onto multiple servers, and balances are still provable/recoverable even in cases where a server disappears. Servers cannot forge balances or transactions, and untraceable cash is available.
Here's the project: https://github.com/FellowTraveler/Open-Transactions/wiki

How useable is OT (both in terms of use base, and ease of usage)?

OT is primarily a library and an API. I believe the API is easy to work with, from a programmer's perspective. (There is some degree of irreducible complexity in providing untraceable cash, destruction of account history, markets, etc, but it's pretty well hidden behind the API.) If you check out the Wiki, there's a video of the test GUI in action, so you can see what the software does. I should caution that the test GUI is primarily for testing the whole API, and is not representative of how a commercial UI might appear. (Many UIs are possible, since OT has many potential applications.)

This seems like a simpler solution than trying to manage it through bitcoin addresses.

It probably could work. You'd probably need to implement a mechanism of creating special addresses that would be associated with a company (like Namecoins), enable them to create coins associated with themselves, and for example support something akin to merged mining for buying and selling of shares. For example, one would encode in the tx sent to the Bitcoin network a Tx equivalent in the share-coin. So it would be like saying: "A sends B 50 Bitcoins. Note: B sells A 10 shares of B". This could work pretty good once Bitcoin allows for messages to be encoded in the Txs more readily.

I was thinking something along those line. I need to get some free time and create a preliminary design doc. I think this should ride completely on Bitcoin & Namecoin (no need for a separate chain), and use the various "encode messages in the Bitcoin blockchain" techniques/services, to encode actual contracts.

Well, I guess it might be possible purely under Bitcoin if you use a proper message system. What do you want to use Namecoins for?

I guess it might be possible to accomplish under pure Bitcoin a la https://en.bitcoin.it/wiki/Smart_Property I haven't worked out the details yet, just musing. Namecoin seems to be really suited to for the purpose of registering assets (names in the basic protocol).

http://cassandra.apache.org/ this seems very well suited for a distributed p2p stock exchange.

Could you please add a few lines describing what Cassandra is? Thanks!

This doesn't seem related. AFAIK Cassandra is suitable for distributed networks owned by a single operator, not for truly p2p.


text:
Which Bitcoin developers are referred to as saying that "users have no say in the system's core development"
Genjix wrote about this in two recent posts. Here's one.

Some developers argue that with the issues being highly complex, that
  users have no say in the system’s core development

And the other:

Other developers disagree with giving this information away and feel
  like you as users should trust their judgement

Are there public expressions of some core developers that object to public scrutiny and participation in the decision-making process? Who, of the core team, has issued such opinions?

Some posts that genjix might have referred to:
by theymos:

Miners (as a group) should not be given any say over issues like this.
  They do not necessarily know what the best option is. The issue should
  be decided by people very familiar with the protocol and the
  proposals.
I suggest that we compile a list of everyone who knows a lot about the
  Bitcoin protocol, invite them to a two-week discussion via email, and
  have those who participate in the discussion vote on the issue at the
  end of the two weeks. If one proposal gets enough votes (two-thirds,
  say), then Bitcoin clients will be programmed to apply the new
  restrictions ~3 months in the future. Miners will have to upgrade by
  then or their blocks will not be recognized by most clients. If there
  aren't enough votes for any proposal to pass, the issue will be
  shelved for a while.

by Technomage:

The bottom line is that non-technical people should have no say in an
  issue that is purely technical. This is technocratic democracy and
  it's simply the best way. All technical people should be invited to
  the discussion and then they can vote amongst themselves, simple as
  that. Then the results are made public and the miners will upgrade
  based on that, if the team decided to go forward with either BIP.
  There should of course be a vote for "neither".

You misunderstand what the developers are saying. They are not saying that they object to pubic scrutiny and participation. They are saying that being a user of Bitcoin does not somehow specially qualify you to comment on the design or implementation of the Bitcoin system.

Well, either way, I for one think that anyone can comment on whatever they want... Anyway, this better fits as a comment, because it doesn't really answer the question.

It answers the question -- nobody on the core team has said they object to public scrutiny and participation. And yes, anyone can comment on whatever they want, no developer has said that "mere users" should be prohibited from commenting. They just find that it's generally a waste of time to read the comments. Good comments will percolate up by themselves into coherent proposals.

The rephrase the question - who does @genjix refer to in his multiple quotes?  Another quote: Other developers disagree with giving this information away and feel like you as users should trust their judgement http://bitcoinmedia.com/the-truth-behind-bip-16-and-17/

He only says "some developers" or "other developers". But he may be referring to the fact that miners vote on the P2SH proposal. Why don't you ask him what he means? Anyone else would have to guess.

I suspect that genjix might be deliberately trying not to name them in order "not to bad mouth specific people", which I understand. However, if his posts and comments are based on something that is public knowledge (forum posts, emails in the dev group), then someone else could point out what this is based on. The reason I think it's important is because IMO every public opinion made by various "important bitcoin people" testifies to the character of those people, and absolute transparency is essential.

Bitcoin is based on trust ... not everone reads every commits or every forum post. People support or object to proposals (e.g. BIP 16/17, and others) based not only on the content of the proposals, but also on the character of the proposers. Consider for example SolidCoin - I was quite interested in it until I saw a log of an IRC chat between Gavin & CoinHunter, where CoinHunter showed absolute disrespect and lack of "seriousness". So even without understanding all the protocol details, I can predict that SolidCoin won't take off simply because of its champions.

To conclude this rant - I simply think that facts are important, and should be public, including opinions that person X or Y publicly made about topic Z.


text:
Help locating bottleneck on new mining rig
I built a mining rig with 3 Radeon 6850 GPUs.  When I run one miner (either Phoenix or m0mchil's poclbm) it reports a hash rate of a little over 200 Mhash/sec.  When I fire up a second miner pointed at a different GPU, the hash rate of both miners is about half what the one running alone would get. When I fire up a third pointed at the last GPU, all three miners report an even lower hash rate, such that the total is around the 200 Mhash/sec that a solo miner would get.
Initially, I thought that the miners were ignoring the DEVICE=# argument and all using the same GPU. I posted a question seeking help in figuring out why they would do that. @Lodewijk's answer there clued me in to the fact that the miners are using separate GPUs and that there's a bottleneck elsewhere in the system.
So, my question is, what's the likely bottleneck?
I used the recommendations at the bitcoin.it wiki entry on Mining Rigs to pick out my hardware.  I'm running on a Ubuntu 11.10 system, with an msi 890FXA-GD70 motherboard, 2GB Kingston 1333MHz DDR3 Non-ECC RAM, 80GB WD IDE Drive, and a 2.8Ghz AMD Semperon 145 processor. It's on a cable Internet connection with tons of bandwidth and I'm connecting to the Arsbitcoin mining pool.

You should consider asking this question on the forum - bitcointalk.org . There are more hardware savvy miners there that can help with your specific problem I think.

Yeah, I thought about that originally, but I strongly prefer the SE Q&A format. This question has been posted here long enough now that I figured I'd give it a try and went and signed up for an account over there.  And that's when I discovered that I need to prove I'm worthy to post a question in the appropriate forum. Blech! If anybody with access to the Hardware forum over there would be willing to post a link to this Q here, it would be appreciated.  But if I'm forced to make 5 posts to the newbie forum just to prove that I know how to do so, I guarantee they'll quite snarky.

Yeah, the forum can be a bit restrictive at times. I posted your question on the appropriate subforum: https://bitcointalk.org/index.php?topic=58589.0

Thank you. Maybe that'll bring a few more people over to use SE.

Thing is, such specific questions would normally be considered "too localised" and closed here, that's what the forums are for in general.

Did you check the CPU usage? You can use TOP on Ubuntu (sudo apt-get install top, if it's not default). If it's not capping out at 100% it's either the chipset or CPU bandwidth giving up. You can also check you regular memory, although I'm quite sure that isn't used in GPU mining.
Some things you can easily strike off are network and disk. Disk isn't used at all and network shouldn't cap out even on dialup.
If it is in fact chipset or CPU bandwidth you have two options:
1. Overclock. Focusing on FSB clock should improve everything. I'm quite sure you can't get a 300% increase though.
2. Build a different system. I daren't advice about this though.

I cannot believe that it never occurred to me to run top.  I guess that's my senior moment of the month.  Yup, with just one GPU mining top reports cpu usage at near 95% on system processes, not leaving any room to go when firing up another GPU. Oddly, this is the same CPU/Motherboard combo that is allegedly getting 2.1Ghash/s on a rig with three 6990's according to https://en.bitcoin.it/wiki/Mining_rig

Oh, and yes, I've confirmed that CPU mining is not occurring, so that's not why the CPU is maxed out.

I can only figure that the drivers don't offload work efficiently enough. If you could try with windows 7, which should be slower than optimum but have correct drivers, you'll have closure on whether or not it's the drivers.

Seems that it's some combination of driver/sdk bugs.  Booting linuxcoin from a thumb drive solved everything.  Found some posts on bitcointalk.org that give me some direction on getting the right combination of drivers, sdk, etc. that I'll try later.  But, the CPU was in fact the right answer to the originial question and top found that, so... check.

An ancient sysadmin technique is to evade a non-trivial bug rather than tackle it head-on.
Download cgminer and give it a try.
Just one instance of the miner will support these cards, each of them can be individually overclocked and temperature-controlled.
It might be some weird spin-lock problem in AMD's software that's ruining your performance.
Which driver and SDK version are you using, BTW? Which OS?

I've never tried cgminer before. Gave it a try and even though it doesn't appear to have solved my problem directly, I definitely prefer it over the others.  As for your other questions, the SDK I installed was AMD-APP-SDK-v2.5. and it's running on Ubuntu 11.10.


text:
Are bitcoins INHERENTLY fungible?
Does each bitcoin has a unique identifier, like currency notes have serial numbers? If so, could you trace a particular bitcoin's ownership chain (ie find the current owner of a particular bitcoin by its identifier)? The answer I'm finding is no:

There are also specific features of Bitcoin that make this difficult. Transactions put all the input Bitcoins into a big pile which they dole out as outputs. There's no concept of particular output Bitcoins corresponding to particular inputs. Bitcoins don't have a serial number that can be traced through the block chain. So any such tracking rules would be basically arbitrary.
https://bitcoin.stackexchange.com/a/2139/894

Is this accurate?

This is related to http://bitcoin.stackexchange.com/q/450/132

That is accurate. Let me start explaining how Bitcoins work from the beginning:

Bitcoins are first created when they are mined by solving a block. The first transaction in the block is basically you saying "I'm giving myself 50 Bitcoins to my address A" (plus transaction fees from the block).
When you want to spend Bitcoins, you have to point to one or more transactions that show where you got them from, and say how many Bitcoins you are transferring where. It's like saying "I got Bitcoins at transaction X. I'm sending 20 coins to address B."
The point is that more often than not you don't want to send all the coins you got from the transaction, so you also specify how much change you are sending to another address, usually controlled by yourself: "I got Bitcoins at transaction X. I'm sending 20 coins to address B and 30 coins to address A."
Since all of the above is cryptographically signed, one can be sure nobody can spend coins they don't have (spending more than they have, spending someone else's coins, etc).
To make sure nobody is cheating, everyone is looking at everyone's hands by checking each transaction that comes their way. If you cheat, your transaction does not get forwarded.

I hope that explains the concept of how Bitcoin works in regards to your question. Just to be clear:
"Does each bitcoin has a unique identifier, like currency notes have serial numbers?"
Not like currency (that each bill has a serial number and you can't break them apart), more like bank statements (the identifier identifies the transaction on a certain amount of Bitcoins), but that's still a simplification.
"If so, could you trace a particular bitcoin's ownership chain (ie. find the current owner of a particular bitcoin by its identifier)?"
You can trace the history of transactions on the set of Bitcoins up to who mined them, but not on a particular 1BTC. It's like saying "Alice paid Jill $10. Jill got $20 from Bob. Bob got $50 from the mint."

Except you can't see who Alice, Jill, and Bob are unless they tell you.

Bitcoins are somewhat fungible, but not completely. It's like a family tree. You can't say "this bitcoin was at location Y 2 years ago" any more than you can say "Person X was 1000 years ago person Y". But you can say "This Bitcoin can be traced back to this transaction from 2 years ago" just like you can say "Person Y who lived 1000 years ago is an ancestor of person X".
Just like a person can have millions of ancestors and descendants, so can a bitcoin trace back or forward to millions of bitcoins. But since some bitcoins can be traced back to a particular transaction/address and some cannot, they are not completely fungible, and different bitcoins may be worth more or less.
Here is an example of someone offering to pay 2 "ordinary" bitcoins for 1 bitcoin that can be traced back to the historic transaction of buying pizza for 10K BTC.

There is actually no such thing as a bitcoin - there are only transactions, which are denominated in bitcoins. Those transactions do have a history, though as the linked answer states, that history can be complex.

The transactions are denominated in something that doesn't exist then? I disagree completely. The concept of a bitcoin is an abstract one, but that doesn't mean it doesn't exist.

Bitcoins as a unit of account/measurement of course exist, in the same way that meters exist, that much isn't questioned. But a meter does not exist as a standalone object, and I'd say that a bitcoin indeed doesn't exist as a standalone object, not even an abstract digital one. I guess you could alternatively say that an output is a bitcoin (object) with face value of a given number of bitcoins (unit).

Think of how bitcoins are created - in lumps of 50 in a block. You cannot tell the difference between the 'first' bitcoin of this lump of 50 or the 'second' or the 'twenty second'.  It is just a number in a public ledger called the blockchain. There are no serial numbers like on a dollar note.

Well, you could also say "miners are given a bill worth 50 btc, and there is a serial number on it". If they spend it, the bill will be split or merged, with more serial numbers added. You can absolutely trace every bitcoin in your wallet back to when it was mined.

Not really.  If I mine 50 BTC on Monday and another 50 BTC on Tuesday, then send you all 100 BTC in a single transaction you won't be able to say which of those 100 BTC were mined on Monday and which on Tuesday.  If you then send one of those 100 BTC to someone else, it doesn't make any sense to ask which day that Bitcoin was mined on.  In much the same way as if you put $100 into a savings account two months in a row, and then withdraw $10, it makes no sense to ask "in which month did I save this $10?".  The two $100 deposits got mixed in the savings account and are now indistinguishable.

If you are asking if Bitcoins can be traced, then answer is no.  If you're asking if public keys can be traced, then the answer is yes.

Bitcoins are like fungible realestate.  Your public address owns "title" to a specific fungible quantity of bitcoin.  There are no serialized Bitcoin"s" or individual tokens. When you spend some bitcoin you "deed" a specified fungible amount to the new public address using your private key.  Private keys are stored in your "wallet", which is really just a key safe.  Everyones' balance is stored in the "block chain", which is a public database of all transactions.  Think of the block chain as like a realestate "registrar".  New "grant deeds" of (currently) 50 bitcoin are granted to the "miner" who first solves the hash of the next block.  Solving the hash is computationally difficult and prevents counterfeiting.

It's a reasonable analogy, but in the same way that two identical dwellings can have a different history that is important (eg someone was murdered in one), bitcoins can also have important history. Google "tainted bitcoins"

Each bitcoin can be divided down to subatomic units of 0.00000001. Each transaction creates a division that can be traced and likened to a serial number.
Both the public addresses that the bitcoins are outputted to and the transaction ids could serve as serial numbers.
Bitcoin is not inherently fungible because the blockchain is easily traceable.
For example, there was a flaw in the way change outputs were randomised that was only fixed in January 2013.
This invalidates the notion that any tracking rules would be arbitrary. Easily identifying early adopters of Bitcoin destroys any inherent fungibility it might have had.
You can read more about it by searching for shadow addresses here:
https://miki.it/pdf/BitIodine_presentation.pdf

Bitcoins and their subunits do not have identifiers and cannot be uniquely traced through the transaction history: if you have a transaction with 2x1 bitcoin inputs and 2x1 bitcoin outputs you do not know which coin from the input went to which output. The coins flowing in and out of transactions are mixed.

This is currently the case however as stated in my answer, this was not so for transactions before 2013. The argument could be made that because of this, Bitcoin is not completely fungible.


text:
Is it possible to create a Bitcoin URI with multiple outputs?
The Bitcoin URI scheme allows for the creation of single-click payment request, using the format
bitcoin:<address>&amount=<amount>

such as
bitcoin:1AzGoMQfrQ7fYaE12dAvEVkke8111rxwCm&amount=0.01

Does the URI scheme also allow multiple payments to multiple destination addresses?

No, this is not possible according to BIP 0021. The BNF grammar for the bitcoin: URI scheme starts with:

bitcoinurn     = "bitcoin:" bitcoinaddress [ "?" bitcoinparams ]

Since bitcoinparams has no address information, this means that exactly one output address is required.


text:
What is the reference algorithm for validating a Bitcoin address?
I need to validate Bitcoin addresses in an application I'm developing; I have found various code samples for various languages (even on StackOverflow), but none specific for the one I am using (C#); also, all of those samples seem to come from volunteers around the world, but I've been unable to find an "official" reference algorithm for address validation.
This links explains how an address is generated, but even it has some dubious statements, like "this is the most commonly used Bitcoin Address format" at the end of the article; also, it doesn't explain how to actually validate one if you're not doing the address generation.
What is the official, reference algorithm for checking the validity of a Bitcoin address?
Of course, I'm only interested in syntactic validity; I don't care if the address was ever actually used, if it has any Bitcoin balance, or if the user really is in possession of the associated private key.
Please avoid code samples, as they are language-specific; what I'm asking for is a detailed description of the steps required for validation, so that it can be implemented in any language of choice.

While you indicated you weren't interested in code samples, this one is in C# and may have a solution for you: https://github.com/casascius/Bitcoin-Address-Utility/. I've been meaning to check it out myself.

Please avoid code samples, as they are language-specific; what I'm asking for is a detailed description of the steps required for validation, so that it can be implemented in any language of choice.

You won't find any documentation other than the wiki which is generally out of date and incorrect, so code samples will have to do. Check the reference client Bitcoin Core, and some of the JavaScript implementations in BitcoinJS. It's not difficult, just base58 encoding with a version byte of 0x01 at the front and a truncated hash at the rear. P2SH transactions have a different version byte but are still valid in the same fashion.

...are you seriously saying that there is no official documentation and all you can do is reverse-engineer it from the client software?!? :-o

The Bitcoin Core software the documentation, and the wiki has some generally out of date technical details. I'm quite serious, but thankfully the core client is extremely readable. If you want to change things you can write some documentation, but nobody likes doing that.


text:
Why can the same 12 words produce different seeds in an Electrum wallet file?
I was looking through an Electrum wallet file (from Electrum 1.9.6 for Windows if it matters) trying to understand what information was contained in it, and I couldn't initially figure out exactly where the private keys were stored (or even if they were perhaps stored in some other file).  I'm guessing the "seed" field in the default_wallet file contains sufficient information for the private keys, public keys, and 12 word mnemonic to be generated.  Am I right so far?
To experiment a bit more, I wanted to see if 2 wallet files that use the same 12 word mnemonic would be identical.  Not surprisingly, when I did not encrypt the wallets, the same mnemonic appeared to lead to identical wallet files.  However, I also tried encrypting each wallet with the same password, and to my surprise, the files had different values in the "seed" field.  This surprised me, so I'm wondering if this is expected behavior and why is this happening?

If the 12 word mnemonic produces different wallet, that makes the mnemonic useless. Are you sure you didn't mistype the words or something?

I copied and pasted and saw the same effect multiple times.  The wallets are the same in that they have the same addresses.

Perhaps the "seed" is a salt/IV used for encryption. The transformation from passphrase to private keys needs to be deterministic, the encryption doesn't need to be.

@CodesInChaos That's my guess, but I was hoping for someone with more familiarity with the inner workings to verify.  A very, very cursory glance at the code didn't make it obvious to me whether or not this was the case.

Encryption almost always incorporates some random element.

It's actually a good question. Let's take a look at what is happening. First, Electrum hashes your mnemonic to generate a seed. The seed indeed contains all the information necessary to generate the Master Public Key and the Master Secret Key, first being used to generate the sequence of public keys (adresses) and the second being used to derive a secret key from a public key (actually it's slightly more complex). Then, Electrum saves the wallet file, which contains the seed and the keys being actually in use, the whole sequence of key pairs unless it hits 5 consecutive unused adresses. It can store it either unenrypted or encrypted. In the first case, the seed value in the file will always look the same, as will private keys. In the second case, however, they won't. Why? The Electrum documentation says:

Electrum uses AES-256-CBC to encrypt the seed and private keys in the wallet.

What does it mean? AES-256 is simply a block cipher. It takes a block of data (128 bit in this case) and a block of key (256 bit) and outputs 128 bits of encrypted data. But it is not what Electrum does. Actually, noone uses block ciphers like that and noone ever should. Instead, so called modes are used. In our case it is Cipher Block Chaining (CBC) mode. Electrum first generates a random initialization vector (IV), mix it (by exclusive or operation) with first 128 bit of input and uses AES-256 on this mixed block to produce first encrypted block. For any subseqent block it does the same, except instead of IV it takes previous encrypted block to mix with the plaintext block. The IV is saved alongside with the file. Finally, that's why you always arrive with a different seed value in a file, even when using the same password (which results in the same key for AES-256-CBC encryption [1]) -- a different IV is used each time.
[1] It is not probably the case either, as Key Derivation Function is likely to be used to deliver a key from your passphrase, in which case additional random salt value is added to the passphrase before hashing it and saved alongside, similarly to the IV.

"being used to derive a secret key from a public key". If one can do that then there's not much security? Surely it's the other way around?

@Squirrel Not really. One can derive any private key from it's corresponding public key with extra knowledge. It's secure as long as the user doesn't disclose this extra knowledge.

Ah just been reading about this - 'hardened derivation' protects against this. The 'extra knowledge' your referring to is the chain code?

First, sorry for the late reply, it has been a busy time for me.
No, hardened derivation is meant to protect against this "attack", but the extra knowledge is something entirely else: it's the master private key which can be effectively extracted from the master public key and any of the individual private keys.
I would happily explain this in more details if you ask a question, as it won't fit as nicely in a comment and comments doesn't allow all the math formatting. Just make sure to let me know you have asked it.

The seed is the key that is taken to derive all your addresses deterministically. The encryption is to protect the seed https://electrum.org/faq.html#wallet-encryption
https://electrum.org/faq.html#seed

I read those links before asking my question...this doesn't answer the question of why the wallet file shows 2 different seeds for the same 12-word mnemonic.  It seems there is likely some entropy from the user added to some sort of salt, but I'd like some confirmation on this.

You are plain wrong in most of the content of your question, so if you really read all content in those links then you didn't understand anything. Why would that matter if the encrypted seed doesn't match? It just matter that the seeds are the same after decrypting them, that's the way encryption works.

If I'm wrong about any of my assumptions then please educate me...that's why this site exists.

As for why it matters if the encrypted seed doesn't match, it matters greatly for confirming my understanding of what information is and is not in the default_wallet file.  Seeing that they were different surprised me and made me wonder if my understanding of the file was incorrect or if perhaps there were some bug in the implementation.


text:
Can bitcoins be "sold short"?  Or are there "put" options?
Borrowing an asset and "selling it short" facilitates finding the appropriate price for the asset, allowing people to bet that the asset is overpriced (e.g. in a "bubble").  Can bitcoins be sold short?  Where and how?
Update (from Serith's answer): how about put options, which are similar?

Not only will Bitcoins soon be able to be sold short through several exchanges, but once that service is available, Bitcoin banks that pay interest will be possible.
A Bitcoin bank could pay interest on Bitcoin deposits by converting the Bitcoins into the least inflationary national currency available, investing those funds in loans or businesses, and using the profits to buy back more Bitcoins later to pay back depositors.
However, this plan has one flaw -- what if the price of Bitcoins goes way up, beyond the interest you can collect. You would then take a loss when you purchased back Bitcoins to pay back your depositors.
Normally, you would offset this risk by holding Bitcoins. But that would defeat the entire point of investing them. So you need some way to make money and risk money as if you were holding Bitcoins without actually holding any bitcoins. How can you do that?
And the answer is, you offset the risk that Bitcoins will go up in value by selling shorts. Selling shorts is like holding Bitcoins without having to actually hold them, allowing you to make money if they go up and lose money if they go down just like someone holding Bitcoins would. If Bitcoins go down, you lose on the shorts but make it up by making extra profits when you buy back Bitcoins to pay depositors. If Bitcoins go up, you lose when you buy back Bitcoins, but make it up on the shorts.
With the right combination of shorts, currencies, and investments, this should make the risk associated with interest-bearing bank accounts denominated in Bitcoins no greater than the risk with other currencies. (And if you sell the shorts directly to investors, you can make a profit on them as well, taking the commissions.)
It is entirely possible that this is part of the reason the exchanges are considering selling shorts. Not only would they pocket the commissions, but they could safely convert a fraction of the many, many Bitcoins they're holding into interest-bearing accounts denominated in national currencies, pocketing the interest.

Interesting. Do you know if there any legal limitations on this?

There are none that I know of, but it wouldn't surprise me if there were any number of laws intended to regulate different things that this sort of arrangement could be argued to violate. (Whenever someone says "There ought to be a law!", I always reply, "There's probably at least 10.")

I doubt there is a "right" combination to short sell and avoid the inherent risk. It doesn't matter how you try to hide it behind complicated constructs. A lesson which should be well learned nowadays.

@JürgenStrobel.  Options don't need to increase risk they can be used to reduce risk.  David isn't indicating there is a free lunch.  If you use options to hedge your posistion then you are immune to falling bitcoin prices but you also don't gain on rising bitcoin prices.  While options CAN be used to increase profits, leverage, and risk they can also be used conservatively to minimize profits, leverage, and risk. In essence you are trading potential upside profit for reduced downside losses.   Very viable strategy and done everyday to hedge posistions.

I agree this would allow the exchanges to sell some risk to investors, but the risk doesn't go away completely, because can they collect from all investors? This is exactly the pyramid game working fine a long time, but causing the whole building to fall when enough investors fall causing a cascade of uncollectable debt.

They can collect from all investors because the investors buy the options for cash in the first place. Zero risk is not possible, but you can bring the risk low enough that the profits on both sides make it worth doing. (That's why banks borrow money and use it to make loans.)

@DavidSchwartz incorrect. Jürgen Strobel is correct. If coins go up and the short seller can't pay, the bank can't repurchase the coins, the customer has to default on any of his obligations and along the dominoes chain. And then add leverage and it really becomes "weapons of mass destruction" as Warren Buffett said. Promising a futures contract (even in the form of interest) always adds risk. Most people can't grasp that even insurance is always more risky.

@DavidSchwartz also the put is sold by the short to the long, so the long bank is paying cash, not receiving cash. The seller of the put has an obligation to buy the asset at the higher price.

Looks like CampBX will have it coming as well, see their FAQ for more info.

They wrote in the bitcointalk forums that they were waiting until they reached a certain volume level (at least 1000 coins/day) to enable this feature.

[Bitcoinica has closed]
You can do short selling and margin trading on https://www.bitcoinica.com. The initial deposit is very low. In fact, I was able to start trading immediately by depositing $5 in the form of MtGox USD redeemable code. You are then given some kind of loan so that you'll get a Tradeable Balance that is 5 times the amount of your deposit. You should keep an eye on your Net Value and watch out for a margin call. See "What's your Margin Call Policy?" in their FAQ.
Bitcoinica is more like a forex brokerage than your usual bitcoin exchange. Besides accepting orders from the users, they also trade with the other exchanges, primarily Mt Gox.
EDIT: Bitcoinica now supports deposit and withrawal of bitcoins.

Anyone who's thinking of using Bitcoinica should be cautious.  This discussion about it is worth reading.

The short answer is "yes", (eg http://mpex.co/). The long answer is "not really, and for some really fundamental reasons". Here's the long answer.
The various schemes that have been implemented or discussed for selling short BTC face the problem of credit risk. The short seller of an asset faces the possibility of arbitrarily large losses (the long side can only lose his investment). Ditto for the seller of an option (put or call).
The financial system deals with this by requiring the short to post initial margin, and top it up with variation margin if he loses money. If he fails to do that, or if the market moves so quickly that he can't, the broker who lent him the stock assumes the risk and tries to close out the position (possibly at a loss to the broker). The mechanism is slightly different with futures and options on futures, but the point is the same: someone takes on the risk of the trader holding a position that can suffer arbitrarily large losses (short seller, short options position, etc) to make sure that the other side of the trade is made whole. If your long put position, for example, fails to provide the payoff profile when the market crashes because the guy who sold you the put went bankrupt.. well, the contract hasn't really fulfilled its function.
The mechanism for doing this is financial intermediaries--brokers, exchanges, clearing houses--and legal recourse. The intermediary has a claim on the short's assets beyond his margin and can sue him. The long has a claim on the intermediary's assets, and if the intermediary fails, well, the taxpayer steps in and makes him whole (e.g., Treasury's bailout of AIG's short CDS positions vis-a-vis the major wall st. investment banks). What gives these contracts liquidity is the belief that the payoff logic will be honored regardless of the credit risk of the counter-parties.
But legal recourse is antithetical to the whole bitcoin philosophy, so I would argue that those trying to re-create these inherently leveraged contracts of the financial system in bitcoin land are trying to square the circle. Now you might say, "we can re-create the same without law and intermediaries, the short's counter-party takes the risk", but that would miss the point. A call option that only pays the long intrinsic value up to the short's margin is no longer a call option but something else; a stock loan market that leaves the guy lending btc to the short-seller with a loss because btc rallied hard and the short walked away from the trade is no longer stock loan but a highly risky trade. Call it what you will, but these contract's cannot really serve the same function in bitcoin land that they serve in the regulated financial system. Perhaps that is a feature, not a bug ;)

[HelloBitcoin has closed]
The first exchange to offer buying on margin or shorting is: http://www.HelloBitcoin.com
The requirements for shorting is the same as with stocks, a $2K balance.
They do not yet have enough orders and the spreads between the bids and asks are wide yet.

I doubt such put options will ever become a very liquid and deep market, because if they were, someone could in theory sell puts to go destroy the market value via volatility manipulation or buy the necessary Proof-of-Work control, both with the intention to destroy the value and interest in Bitcoin, and then collect profits on the put options.
Otherwise, and if they did not add incredible instability in the form of risk (see my comments under David's Schwartz's answer), then they could be helpful in smoothing out the volatility of the value of Bitcoins. Because some longs would hedge their positions as they got nervous at nosebleed levels, and this provides liquidity if a crash occurs, because they take profits on the puts and repurchase coins at a lower price, possibly hedging those new purchases with new puts.

[MtGox is shut down]
MtGox has Options listed as Coming Soon, that might be a substitute for short.

Coinut is now offering Bitcoin PUT options settled by Bitcoins. You can trade either binary or vanilla options. It is now the only functioning Bitcoin options exchange.

BitShrub.com is a "Bitcoin Option Market"  [BitShrub has closed down]
The Calls and Puts can be sold or bought with other traders. The Option model is similar to traditional options, but with pricing in Bitcoin relative to the underlying fiat currency the option is written on.
The PUT option mechanics is explained here https://secure.bitshrub.com/support/
You can also go short by selling a Call option, but the risk graph is very different when compared to buying a Put Option.

MPEX has the MPOE (options exchange) in which CALLs may be written or bought, and PUTs which may be sold or bought.  There is a barrier to entry in the one-time exchange registration fee.
ICBit offers trading of futures contracts, but those are not CALL or PUT options.
CoinSetter might be the first U.S. exchange to offer options when it launches (expected Spring 2013).


text:
What is the "Maintenance" amount referring to on the bitcoin exchange Bitcoinica?
I have tried out Bitcoinica, and although it is complicated i like it a lot!
What confused me is the "Maintenance" amount shown in the Account overview. It looks like it is not explained on the website.
If it is the fee, it is quite steep, i must say..

No, it relates to when you have a margin call for your open positions. From their FAQ:

What's your Margin Call Policy?
After you've logged in, you can immediately see your real-time account
  Net Value (total assets) and Maintenance (minimum net value). When
  your Net Value falls below twice the amount of Maintenance, we will
  issue a margin call. If you don't take actions before your Net Value
  falls below Maintenance, all your positions will be liquidated
  automatically.

i do not have open any positions or orders at the moment, yet i have Maintenance $52.23 Margin Balance $261.17. edit: now i got it.  Maintenance is always Balance/5 since it is currently trading with a leverage of 1:5.

hmm, well based on their FAQ, and the general use of maintenance margin requirements on other Forex sites, that is what it should refer to.
http://en.wikipedia.org/wiki/Margin_%28finance%29#Initial_and_maintenance_margin_requirements