Hacker News new | ask | show | jobs
by jonprins 5491 days ago
The author is fundamentally flawed in his approach. He thinks bitcoin mining is just mindless churning on your GPU.

But in reality, it's cryptographically checking the validity of bitcoin transactions. So the system churns for the benefit of the system itself, instead of churning for the benefit of some external goal.

1 comments

No, I think everyone is on the same page. It's just semantics: mining is a mindless task, it just happens that bitcoin requires verifiable but otherwise pointless tasks in order to operate.

And I don't think you should dismiss this criticism so easily. I personally have very little confidence in bitcoin as a currency. But if the system also contributed to science by folding proteins or finding Mersenne primes or doing anything else that is externally useful, I would consider participating.

Is there any actual value to finding Mersenne primes? Genuinely curious.
Hah, got me there! Honestly, I'm not so sure. But at least it's conceivably useful to someone's research.

Protein folding is a probably better example. Or, I don't know, modeling long-term weather patterns?

Here's a list to start with: http://en.wikipedia.org/wiki/List_of_distributed_computing_p...

Ab initio molecular dynamics modelling. If anyone's got a few thousand spare CPUs send 'em my way!
Am I completely missing a key part of bitcoin, then? My understanding was the 'pointless tasks' were actually the verifications of previous transactions. And to make such a system verifiable, several nodes in the network must hash out the same blocks the same way.
It depends on what you mean by verifying the transactions. Checking the signature of the transactions, to prove that the transaction was in fact issued by whoever owns the coins being sent, is only a negligible part of the computation.

The actual pointless task is to try to find a type of hash collision, to be specific: find a plaintext containing hashes of the transactions to be committed such that the hash of this plaintext starts with a bunch of zeroes. The more initial zeroes you require, the higher is the difficulty. (The plaintext is allowed to contain a small arbitrary nonce. So miners just cycle through all the possible nonces, computing hashes, until they find one that starts with a bunch of zeroes.)

It's conceivable that one could somehow mix the transaction data into a problem of bioinformatics, but I don't know so much about that. The problem is that, as far as I'm aware, some hash of the transactions to be committed must be part of the input of the "pointless" problem.

Yes, that's my understanding. But it doesn't require that the tasks are "pointless" -- just that they are hard to compute, but relatively easy to verify.

There are lots of problems in bioinformatics and physics that are hard to compute and easily divided into chunks. Find one that also has easily verifiable results and you've got a pretty good candidate.

But the problems being chunked up in bitcoins are the actual bitcoin transactions, thus churning them is not pointless. It strengthens the system.
The 'pointless tasks' are the mining of the original coins. There are additional tasks for verifying the validity of the transactions of coins as well, but they take much less processing power.