Fears about securely buying domains with Bitcoins are a red herring. It’s easy to trade Bitcoins for other non-repudiable commodities.
I dont see how this was a red herring. Unfortuantely if you use a Bitcoin-like system of authentication of a transaction, you can’t conduct that transaction in Bitcoins, at least for authentication transaction fees.
If you’re still worried about it, it’s cryptographically possible to make a risk free trade. The two parties would set up transactions on both sides such that when they both sign the transactions, the second signer’s signature triggers the release of both. The second signer can’t release one without releasing the other.
I’m really curious about how you make this sort of transaction risk-free without having it integral to Bitcoin as some sort of authentication mechanism.
One thing that really makes this nasty is that the “miner” is unknown until the block is added into an authentication hash tree. You don’t have the two key release mechanism because one of the parties in the transaction is unknown until after the hash is successfully put in, and even that is conditional.
It makes it much more secure and coincidentally easier to scale to treat it as a simple exchange between two currencies, something that happens entirely outside of the system as evidenced by the various exchanges that already exist between Bitcoin and other currencies. BTW, I agree that Bitcoin or any other monolithic application should not be the ultimate repository of all human knowledge and interaction, as I don’t think any sort of system can possibly scale to that size. I’m not even sure TCP/IP itself can scale to that size.
This is much of what Jgarzik has said that it is unworkable, but going from a different perspective. The problem is that everybody is trying to get these fees paid for with bitcoins, and I don’t think that can be done at all, at least directly. As an indirect mechanism, perhaps, such as a floating currency that isn’t locked down until after the exchange takes place.
BTW, the idea of a “locking exchange” would be a fantastic idea for a peer-to-peer currency exchange network, particularly for electronic currencies like Bitcoin or Liberty Reserve. I just don’t see how you can put any sort of authentication transaction fee in a block that is denominated by a currency other than the currency represented by that block itself.