Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: BookofNick on August 17, 2011, 01:02:16 AM



Title: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: BookofNick on August 17, 2011, 01:02:16 AM
I was just reading about how CERN is recruiting volunteers to allow their computing power to be used in a
Cloud Computing network to assist CERN in finding the "God Particle." I'm not sure how that would work, except I do know that random people around the globe are allowing CERN to essentially tap into their computer's processing power to create a cloud super computer.

I then though of the Bitcoin miner network, which uses massive processing power. Can this power be directed towards the use of some purpose other than mining simultaneously, or does the processing power begin and end solving the blocks?


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: jackjack on August 17, 2011, 01:05:41 AM
Short answer: no

Basically it's because mining is not computing, it's just playing with luck
But I leave a pro explaining that in a correct english


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: BookofNick on August 17, 2011, 01:18:53 AM
That's what I thought. The power is completely dedicated to mining.

If only that processing power could be tapped into....you'd have a pretty damn powerful supercomputer.

Here's another question, then: if some government agency tried to shut down Bitcoin, could the bitcoin network voluntarily work together to retaliate against the attacker, with ddos or some other method? Are they linked in that way already, or would some other connection/registration have to happen?


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: etotheipi on August 17, 2011, 02:20:02 AM
The mining is not arbitrary waste-of-time kind of work.  It serves the purpose of securing the network, and cannot just be replaced with other activities.  The biggest weakness of Bitcoin is if any one entity, or group of cooperating entities control more than 50% of the entire global computation on the BTC network.  This is because, in order to execute a double-spend, you have to be able to write blocks faster than the non-cooperating nodes.  In this sense, when we talk about "difficulty", it's not just difficulty in generating coins, it's also difficulty in attacking the network.  

If a bunch of miners were to switch to some other problem, even temporarily, that would open the door for someone with a lot of resources to take a shot at double-spends, which could do quite a bit of damage to people's overall confidence in BTC.  I'd say that no one has the resources to do this at this point, but you mentioned governments, which are probably the only entities left with "feasible" resources to do it.   So the best way to defend against the attackers/governments is actually to do exactly what we're doing already, which is mining as fast as we can to max out the difficulty.

Now, the question has come up before, is there any other kind of computation that could serve the same purpose as hashing for the BTC network, but also be useful in some other application?  There's two criteria for this:

  • (1) The "problems" to be solved must have flexibility to impose arbitrary difficulty of solving -- so that the network difficulty can be calibrated to the global computation speed
  • (2) A solution to the problem in (1) must be extremely fast to verify.

Hashing to a set number of zeros is great because the target hash can impose just about any level of difficulty on the network, and while it takes 2^52 hashes for you to find a block with 52 zero bits in front, it takes everyone else exactly one hash to verify you found a solution.  This is why it's called a "proof-of-work" security.  It requires a ton of computing power to produce a valid solution, and easy to "prove" that you did it.   If you can find another problem that has this kind of flexibility and solve/verify relationship, it might be possible to use it.  But it would most definitely be in another blockchain... and lord knows we have enough of those already...

EDIT:  Actually, I shouldn't speak so negatively of new blockchains.  If someone actually produced a new blockchain that was based on solving a real-world, curing-cancer kind of problem, I think it would be very welcome.  The only thing better than securing the network is to also be finding cures for cancer at the same time!


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: BookofNick on August 17, 2011, 02:30:54 AM
The mining is not arbitrary waste-of-time kind of work.  It serves the purpose of securing the network, and cannot just be replaced with other activities.  The biggest weakness of Bitcoin is if any one entity, or group of cooperating entities control more than 50% of the entire global computation on the BTC network.  This is because, in order to execute a double-spend, you have to be able to write blocks faster than the non-cooperating nodes.  In this sense, when we talk about "difficulty", it's not just difficulty in generating coins, it's also difficulty in attacking the network.  

If a bunch of miners were to switch to some other problem, even temporarily, that would open the door for someone with a lot of resources to take a shot at double-spends, which could do quite a bit of damage to people's overall confidence in BTC.  I'd say that no one has the resources to do this at this point, but you mentioned governments, which are probably the only entities left with "feasible" resources to do it.   So the best way to defend against the attackers/governments is actually to do exactly what we're doing already, which is mining as fast as we can to max out the difficulty.

Now, the question has come up before, is there any other kind of computation that could serve the same purpose as hashing for the BTC network, but also be useful in some other application?  There's two criteria for this:

  • (1) The "problems" to be solved must have flexibility to impose arbitrary difficulty of solving -- so that the network difficulty can be calibrated to the global computation speed
  • (2) A solution to the problem in (1) must be extremely fast to verify.

Hashing to a set number of zeros is great because the target hash can impose just about any level of difficulty on the network, and while it takes 2^52 hashes for you to find a block with 52 zero bits in front, it takes everyone else exactly one hash to verify you found a solution.  This is why it's called a "proof-of-work" security.  It requires a ton of computing power to produce a valid solution, and easy to "prove" that you did it.   If you can find another problem that has this kind of flexibility and solve/verify relationship, it might be possible to use it.  But it would most definitely be in another blockchain... and lord knows we have enough of those already...


I really appreciate your detailed response. I know that the work of the miners is not for naught - it provides the essential and elegant solution to network security - I was just wondering if the power could ever be re-directed to some other purpose. Thanks again.


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: Inaba on August 17, 2011, 02:42:22 AM
Password cracking comes to mind.  Google Whitepixel for more information on that.


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: jackjack on August 17, 2011, 02:54:35 AM
Password cracking comes to mind.  Google Whitepixel for more information on that.

I thought about that but the nonce avoids it I believe


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: etotheipi on August 17, 2011, 02:54:54 AM
The question is, where are the passwords coming from that will be cracked?  And how do we adjust the difficulty when more or less computation joins the network?  Make up big passwords to crack?  But someone needs to create the password for the network to crack it, and this gives them an advantage to solve blocks faster than others (insider information).

Also, whose passwords are we cracking?  Some people are going to want to know the answer and many won't believe you:  how do we even know that we're cracking passwords of "bad" people, and not helping China hack into the email accounts of political dissidents?  Then, you are inviting people to have political disagreements with the BTC network, leading to demonization of Bitcoin, protests, lobbying, etc.  

I bet that was more of a response than you bargained for when you threw out "password cracking" :)



Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: FreeMoney on August 19, 2011, 03:47:05 AM
The network absolutely is doing computation. If it stops computing what it's computing of course it could compute something else. It can't compute some other thing at the same time.


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: iopq on August 19, 2011, 03:45:53 PM
The network absolutely is doing computation. If it stops computing what it's computing of course it could compute something else. It can't compute some other thing at the same time.
if there was a way to force miners to solve another problem while hashing (think SETI, folding@home) then the total amount of work would go down, but if that computation could not be avoided, the difficulty would also go down to compensate

kind of like reCAPTCHA, except reCAPTCHA can be easily gamed by submitting false work for the word that is unknown (usually it's trivial to figure out)


Title: Re: Could the Power of the Bitcoin Miner Network be Used Elsewhere?
Post by: etotheipi on August 19, 2011, 05:42:12 PM
If miners want to divert half of their GPUs from the BTC network to F@H or SETI, they are welcome to do that.  But the BTC network has no reason to incentivise it since hashing is critical to the functionality and security of the BTC network, and those other computational activities contribute nothing to the network (contributing to humanity/science/curing-cancer is another thing).

Personally, I'd prefer people don't do this.  I'm already a little uneasy about the current security of the BTC network.  Right now, the global hashrate is 12,500 GHash/s, meaning that someone has to have 1-3 million CPUs or 40,000-100,000 GPUs to reliably attack the network.  While there is no single person who can own that much hardware, there are governments and botnets that control 1+ milllion computers.  We already know that people are using botnets to mine BTC, how long before one of the botnet owners figures out how to start double-spending and wreaking havoc on the network?

I'd like to figure out how to incentivise people to contribute more hashing to the BTC network.  Once the difficulty goes up another 100-fold, then we might have some computation to spare (though, people would still have no incentive).