Author

Topic: Idea to make Bitcoins when they become difficult to mint (Read 7344 times)

full member
Activity: 354
Merit: 103
The cryptographic problem of general remote encrypted calculations was solved quite recently (2009) by Craig Gentry (and earned him a PhD).

The amount of hieroglyphics in the paper is to much for me, but I saw somewhere that there was a reference implementation written in Java.

Wonder what the drop in efficiency would be if applied to GPU's ?

http://crypto.stanford.edu/craig/

http://cacm.acm.org/magazines/2010/3/76272-computing-arbitrary-functions-of-encrypted-data/fulltext

full member
Activity: 143
Merit: 100
. . .  For #2, I imagine that some do use GPUs, as people are very competitive. #3 is hard. If you're getting paid, someone is paying, so we are mostly looking at commercial applications. But these tend to be sensitive or secret, not suitable for wide sharing. For example, an obvious application would be rendering graphics for a new movie. But the producers wouldn't want their scenes to be leaked.
To solve these problems and then focus only on people who want to receive bitcoins would be doubly difficult.

I don't know if the sensitive or secret aspect would be of too much concern in most applications, even those secret or sensitive because there are ways of finding keys that do not reveal the data secured with the keys.  For example, many people use TrueCrypt and encrypt their whole hard drives.  I believe your chosen password unlocks a file, which is itself the actual key to the data on the hard drive.  Simply providing people with that small file and then assigning them a portion of possible passwords to check through would provide nothing but the password, which they could do nothing with.  Likewise when someone would provide the handshake file for a WPA protected wireless system they wanted to get into.  I forget what this is called, but much of crypto works this way, where a password unlocks data that unlocks something else.  I would think it would be possible to take a small portion of the Wikileaks file and brute force the password without giving away the whole file.  Even in the case of rendering a movie, seems that the possibility of the rendering in one movie clip, or one portion of one movie clip, might not be all too risky for the producer, if it was released.  And, the part about accepting Bitcoins was not really central to the idea except that people who are already generating bitcoins with GPU's might be inclined to accept Bitcoins.  As a Bitcoin payment can be exchanged for dollars, I thought payment for CPU time might be a convenient way of accepting payment.  I suppose PayPal could work almost as well, but there are not too many other options for conveniently accepting small payments online without wasting alot of time and being eaten alive by transaction fees.

Draaglom's concerns seem a bit more daunting, but cheating has been resolved with Bitcoin mining (at least insofar as the mining host not having to trust the GPU clients) though the proof of work hashes sent back to the host, as well as the 'reward' being signed so the client can't cash it for himself.  Here's a person that has software to crack "lost passwords" and uses GPU's to do it ... http://www.insidepro.com/eng/egb.shtml .  Seems to me that there may be cases where even with a $500 + ATI 5790 like mine, a password that might take a few years to crack on my own might only take days if I were tapped into a network of hundred of other like computers.  I just don't know how efficient the whole plan would be.  Anyone care to calculate how many $500 dual GPU 5790's it would take to rival the Chinese Tianhe-1A (which reportedly cost "billions") or the U.S. Cray Jauguar in terms of a petaflop/dollar basis?  Seems like the supercomputers would have a limited lifespan before more billions needed to be spent when the next generation of fast processors came out the following month.  Gamers, on the other hand, will always have the fastest thing out there at any given time. 
newbie
Activity: 7
Merit: 0
The Achilles' heel of this plan is that you cannot trust the rented chunk of computer. The various @home projects don't really need to worry about this as people are already donating their hardware and electricity and have nothing to gain by "cheating" -  but once you're doing it for financial reward what's to stop you (the owner of the machine) hacking the client software to churn out false results, pretending you have lots of hardware chugging away at the problem?
sr. member
Activity: 322
Merit: 250
Do The Evolution
Hey, you could live the computer on 24/7 and rent for a gaming rig. Just make it so the electric cost/month < than the monthly fee and you should be making a profit. This is just an idea. Smiley
EDIT: Just to clarify this is remotely. So they connect to a streaming server give their credentials and with a shitty netbook play Crysis 2 maxed out.
Hal
vip
Activity: 314
Merit: 4276
Let me unpack this idea into parts.

1. Sharing your compute power in a massively parallel effort that has some value.

2. Doing this specifically with GPU.

3. Getting paid for it.

4. Getting paid specifically with bitcoins.

#1 is widely done, eg Folding@Home to improve biological models. There are a ton of these. For #2, I imagine that some do use GPUs, as people are very competitive. #3 is hard. If you're getting paid, someone is paying, so we are mostly looking at commercial applications. But these tend to be sensitive or secret, not suitable for wide sharing. For example, an obvious application would be rendering graphics for a new movie. But the producers wouldn't want their scenes to be leaked.

To solve these problems and then focus only on people who want to receive bitcoins would be doubly difficult.
legendary
Activity: 1708
Merit: 1010
So, the question is, is there a way to write a general program that does this such that people can throw whatever work needs to be done (and some Dollars or Yuan) at some website which, in turn farms the work out to guys like me and pays me in Bitcoins?  Is this already being done?  Perhaps in time of emergency, people could turn on the program to solve a computing time intensive issue of global importance to save the planet or whatever.  We would all be a part of the world's fastest supercomputer and Bitcoins could help build it.  Told you the idea was half baked.  Will take some of you genius programmers to bake the other half.

http://www.cs.wisc.edu/condor/

All that you would need is a metered condor pool.http://www.cs.wisc.edu/condor/
full member
Activity: 143
Merit: 100
That could work, you'd just need some problem that's massively parralelizable.

Here is what is being done to attack WPA.  I include the link here mainly because I thought the video card comparison was interesting as to what these GPU's can do.

http://code.google.com/p/pyrit/

I suppose to questions that arise would be if a program/website could be written which people could just pass a mathematical problem on to which could then be distributed to the clients.  This would eliminate having to have programmers doing work each time someone comes up with some specific calculations that need to be made.  And the second question I thought of would be what types of problems would be solved in the first place.  Alternatively put, what problems do supercomputers solve that could be solved by renting out home users PC's?
legendary
Activity: 1372
Merit: 1008
1davout
That could work, you'd just need some problem that's massively parralelizable.
full member
Activity: 143
Merit: 100
Had a thought.  Bitcoins are becomming increasingly harder to mint but, at the same time people are applying heavy duty GPU power more and more.  One need only look at the mining pool at bitcoin.cz to see they've gone from bragging about 500Mhash/sec a few weeks back to over 11000Mhash/sec today.  With people buying these video cards, and perhaps using the anticipated bitcoin generation to fund the several hundred dollar video card purchases, it seems to me that Bitcoins will become very hard to get in just a matter of months.  So here's my half baked idea . . .

Is there anyone that can write an application that essentially 'rents' the GPU time on your PC for Bitcoins? (Could be any currency really, but if paid in Bitcoins, at least the idea promotes Bitcoins).  When I am no longer able to mine successfully at 550Mhash/sec with my new ATI 5970, maybe I could download a program that rents out my GPU, kind of like pooled mining.  Instead of solving the Bitcoin mathematical problem, maybe my GPU is rented out to medical researchers for number crunching (like the folding program), to astronomy calculations, to a government wishing to crack the Wikileaks Insurance File, someone wishing to brute force a WPA key, etc.  There are probably many businesses and governments that do not have the resources to build a supercomputer, but could rent the time.  People would probably rent out the GPU time if they were sent Bitcoins and not have to go through a whole big hassle of other means of money collection for a few bucks a day.

So, the question is, is there a way to write a general program that does this such that people can throw whatever work needs to be done (and some Dollars or Yuan) at some website which, in turn farms the work out to guys like me and pays me in Bitcoins?  Is this already being done?  Perhaps in time of emergency, people could turn on the program to solve a computing time intensive issue of global importance to save the planet or whatever.  We would all be a part of the world's fastest supercomputer and Bitcoins could help build it.  Told you the idea was half baked.  Will take some of you genius programmers to bake the other half.
Jump to: