I'm wondering if there is a method to recover them.
There is not, and never will be.
From what I have read, in order to spend coins, your bitcoin client makes some proof that the coins are yours to spend. It does this based on information in the block chain, and on information that is in your wallet. I assume that it does something along the lines of providing the input that gives the same output as some publicly available data that is in the block chain (probably having to do with your address). I'm not strong on the cryptography, so I don't know the details of that step, but from what I can see, there has to be some publicly visible data, combined with some private data in your bitcoin wallet, which are used to prove your ownership of the coins.
Correct. Bitcoin uses digital signatures
(an application of public-key cryptography
) to authorise transactions. A bitcoin address consists of a hash of a public key, to which the owner of that address holds the corresponding private key. Transactions are signed using the private key and the public key is published on the block chain, allowing anyone to verify that the transaction was indeed created by someone with access to the correct private key and that the transaction was not been modified by anyone else.
With all of that buildup, my question is: is there anything to stop someone from attempting to steal unspent coins by executing a brute force attack, other than the amount of brute force required, and how much brute force would be required?
Barring a hitherto unkown breakthrough in cryptanalysis, brute force is the only way. In order to spend coins from a particular address, it would be neccessary to find a private key whose corresponding public key has the same hash as the bitcoin address. Bitcoin keys are 256-bit ECDSA and the address hash is 160-bit RIPEMD-160, so the weak link is the hash. It would take 2^160 operations to brute force, which is totally infeasible.
Now, I don't want to spread FUD--I feel like the average wallet is safe, and countermeasures against this type of attack should be straightforward: since it cannot steal an entire wallet, just the coins from a single transaction (assuming those coins have not been spent again, and even assuming that such an attack is possible), keeping coins as the result of a large number of small transactions instead of bundled as a single transaction would greatly increase the cost and decrease the attractiveness of such an attempt. I'm just curious about what makes bitcoin safe (and on if it is economically viable to attempt to "mine" lost coins that seem abandoned).
No, such an attack would be able to steal all coins from a particular address, regardless of how many transactions that address was used for. Using multiple addresses probably won't help either, since the only way this attack is even remotely possible is through some breakthrough in cryptanalysis, which would make all bitcoin addresses (not to mention all online banking) vulnerable. You've got bigger problems than your bitcoins if that ever happens.