Post
Topic
Board Mining
Re: Bitcoin mining pointless?
by
Jim Hyslop
on 24/04/2011, 05:17:05 UTC
I don't know precisely what proof of work entails but if it needs to be beefed up or elongated to slow down the rate at which btc is generated then surely the 'filler' could be some computation that is of greater general use? Like folding proteins or working out further digits of some transcendental number or something! Perhaps I can't see the wood for the trees but it seems extraordinary that wastage should be intentionally built into a system. I'm not picking on bitcoin in particular, just in general the idea that it is self-imposed perplexes me.
Basically, a very simplified way of looking at it is that you have to find a particular value of n such that f ( n ) returns a desired value (you nit-pickers in the back row keep quiet! I said this is simplified). The function f is designed in such a way that changing the value of n even the tiniest bit gives a completely unpredictable result; f( 1 ) might give 33929494, and f( 2 ) might give 4. So the only way to find the value of n that solves the problem is by brute force: try each possible value of n until you find one that works. The value of n that solves the problem is called the proof of work.

The function f and the value n have an important use in Bitcoin, so the solution is not just some pretty value that gets put on the fridge for a few days then quietly gets buried in the recycling bin.

Your idea of using 'useful' calculations to maintain the rate is interesting, but I'm not that it can be worked in. The problem has to fulfill two criteria. First, it has to be something that can be dynamically adjusted to compensate for more and more computers coming online to solve it. Second, the problem must be difficult to solve but easy to verify the solution, because every client will verify the solution at least once, if not several times. And, let's face it - we're dealing with money. A lot of people will be very motivated to claim they found a solution, so we must be able to check their claim quickly and easily.

'Useful' calculations could probably meet the first criterion by varying the number of folds, or the number of digits to solve, and so on.

With the current setup, finding the solution is very hard, but checking whether the solution is correct is, comparatively speaking, trivial. If someone says "Hey, the answer is 542214675," you don't have to try all the values from 1 through 542214674 - all you have to do is plug 542214675 into f and verify that the result meets the requirements. I'm not sure the same thing can be said about folding proteins, extending a transcendental number, and so on - I suspect you would have to duplicate the entire work effort to verify its legitimacy.