Pages:
Author

Topic: Could Mining Be Useful? - page 2. (Read 3736 times)

member
Activity: 100
Merit: 10
PlayGame.com
January 23, 2012, 03:21:05 AM
#32
No, you want to have each worker working on a different micro-problem. Having 10,000 computers race to finish the same problem would be a waste. It would be better if each worker randomly choose a microproblem in hopes of being the first to solve it. Once the answer to the microproblem has been released, other computer would verify it before putting it in the chain.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 23, 2012, 03:08:47 AM
#31
Ok well build it because nobody else will it won't work.  I doubt I or anyone else will convince you so just build it.

A couple of hints.
1) If only a tiny amount of the work is "uncheatable" then I can simulate a large number of nodes very very cheaply.  Just take 30 or 40 GH and using poxies make them look like thousands of less powered nodes. 30 GH it 10,000x 30 MH/s nodes.  Now 30 MH/s is very weak BUT if only a tiny amount (1% ??) if actual hashing and the other 99% of the time I make up BS answers well that is very profitable compared to the idiots doing real math 100% of the time.  I get a 10,000x fold increase in my computing power for free.

2) Why would 10,000 miners be working on the same micro-problem?  Who is protecting the network?  How are they getting paid at a level that compensates them for the time/energy if they are only getting 1/10,00th of the value of their work.  You just had 10,000 fold duplication of work.  Can you imagine if supercomputers did that?  10,000 nodes double checking other before submitting a solution. You just turned "useful" work into utterly useless work.  Something that would take the network 1 computing day to solve would take 30 years due to the 99.999% wated/duplicated work.  That is "useful"?

3)  If you have 10,000 fold duplication of work then the effective hashing power of the network is 1/10,000th.  An attacker could simply produce his own trivial problems, withhold them from the "good" network and generate "proofs of work" to defeat the network with a token amount of hashing power.  Each answer would be backed up by the token amount of actual hashing and verified by thousands of other attack nodes.  Congrat you just made attacking the network magnitudes easier and cheaper.

I am going to click ignore so I don't waste anymore of my time.  Your aren't the first noob w/ less than a dozen posts who suddenly thinks he have solved something that thousands of people spending millions of hours haven't.  The only problem is you haven't solved anything.  If you stick with Bitcoin you will see you 2.0 propose the same dubious solution next month, and another one the month after that and the month after that and the month after that.

If you think you ACTUALLY have a solution then code it or at least write it up in a format white paper not some circular logic nonsense.  Before you waste the time THINK about what the proof of work is used for.  You keep calling it useless work.  IT ISN'T USELESS.  The proof of work is what makes Bitcoins have value.  Without it all Bitcoins are completely worthless.
newbie
Activity: 14
Merit: 0
January 23, 2012, 02:56:23 AM
#30
To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Now you are just walking in circles.

So Bitcoin is bad because it "wasted" computing cycles doing "worthless work" (you still haven't realized that work is very valuable but we will save that for later).

So "solution" have Bitcoin do "useful work" however to prevent cheating we also require some "useless work" too.

You haven't prevented cheating.  

If the value of useful work >0 then it is is always better to cheat.  Right?  

If I have x computing power I can operate legit and earn x reward OR I can cheat and for the % of total workload which is "useful work" I gain that as a bonus.

So if the network reward is based 70% useless (uncheatable) work and 30% useful (cheatable work) then I simply do the useless work and cheat on the rest and gain a 30% bonus in revenue.  

Logically the only way to avoid that is make the useful work 0% and ... drumroll ... you just invented Bitcoins' proof of work.

Only a small percentage of the work miners would do would be "useless". Most of it is useful. The useless work would be a tiny token added on just to increase the cost of fraud.

The reason why you wouldn't want to cheat is that it wouldn't be profitable, even if you pull it off.

For example, let's say a researcher submits a problem which is divided into several million smaller problems. Each micro-problem is only worth a teensy fraction of a cent. Unless you have a supercomputer, even someone with a mining rig can only handle a small percentage of the total micro-problems, so everyone takes a random grab bag of micro-problems.

Let's say 10,000 miners are working on micro-problem #1,704,423 (along with many other micro-problems but this is one they all have in common). If you play fair and submit one answer for it, then your odds of winning are 1/10,000. This is profitable despite the low odds because you work on many micro-problems, and only expect to win a small percentage of them.

So by submitting one low cost "useless" proof of work answer you get a 1/10,000 chance of winning.

What if you want to cheat? Well, you have to overwhelm the network with false answers. So let's say you send in 10,000 false answers, to outnumber the other 9,999 people sending in answers for that micro-problem. So it's like buying $10,000 of tickets in a raffle to win $10,000. At best you break even.

And you can't predict in advance how many other people are going to submit answers to any micro-problem. So might end up spending too few entries and losing everything. Or you might spend more than you need to, and spend your entries for less than they're worth.

For example, you might only submit 4,000 false answers, and be outnumbered and have wasted all that proof of work. Or you might submit 15,000 answers, and have spent more than you needed to win a contest with 1/10,000 odds.

donator
Activity: 1218
Merit: 1079
Gerald Davis
January 23, 2012, 02:35:14 AM
#29
To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Now you are just walking in circles.

So Bitcoin is bad because it "wasted" computing cycles doing "worthless work" (you still haven't realized that work is very valuable but we will save that for later).

So "solution" have Bitcoin do "useful work" however to prevent cheating we also require some "useless work" too.

You haven't prevented cheating. 

If the value of useful work >0 then it is is always better to cheat.  Right? 

If I have x computing power I can operate legit and earn x reward OR I can cheat and for the % of total workload which is "useful work" I gain that as a bonus.

So if the network reward is based 70% useless (uncheatable) work and 30% useful (cheatable work) then I simply do the useless work and cheat on the rest and gain a 30% bonus in revenue. 

Logically the only way to avoid that is make the useful work 0% and ... drumroll ... you just invented Bitcoins' proof of work.
newbie
Activity: 14
Merit: 0
January 23, 2012, 02:29:54 AM
#28
I love noobs.

1) Answers would be cross checked with other miners answers to reject false answers.

What if the "other miners" are cheating too?  For example given I am ONLY going to cheat.  I could simulate millions, maybe billions of "fake miners" who always given matching fake answers.  Yup  my answer is "right" because 1 million other fake miners say it is right.

In an anonymous network you can't guarantee identity.  A single "person" can be represented by thousands, millions, even billions of nodes. Just because a "lot" of nodes agree with a single solution doesn't mean that it is valid.  


READ ABOUT WHAT A PROOF OF WORK ACCOMPLISHES AND YOU WILL SEE YOUR "SOLUTION" IS FLAWED.


The proof of work is a problem which has 4 VERY UNIQUE CHARACTERISTICS:
1) The difficulty of the problem can be varied easily
2) The time to completion can be estimated (for average solution)
3) The problem is NOT DETERMINISTIC (each hash has equal chance of solving the solution)
4) CHECKING THE SOLUTION is trivially easy no matter how difficult the solution was.


Spamming false answers is a serious issue, but I addressed it in a post a little further back.

To submit an answer, you'd also have to do some "pointless" proof of work too for each submission. So you can't just spam an infinite amount of fake answers. You have to do real work that is easily verifiable also.

If you spam a million false answers, you also have to have the computing resources to actually solve a million proof of work problems too. And the prize for any one fraction of a problem would be minuscule. So the reward for lying through spam, and spending all that processing time and electricity, wouldn't be worthwhile.

Then the creator of the problem might supply the code with which the problem must be solved. Perhaps some sort of signature is generated with the answer to ensure it came from that code.

Or something like that could work. Although it would have to be set up so the asker can't manipulate who wins, even if they can customize their problem to help guard against fraud.
member
Activity: 100
Merit: 10
PlayGame.com
January 23, 2012, 02:15:35 AM
#27
Then the creator of the problem might supply the code with which the problem must be solved. Perhaps some sort of signature is generated with the answer to ensure it came from that code.
donator
Activity: 1218
Merit: 1079
Gerald Davis
January 23, 2012, 02:12:09 AM
#26
I love noobs.

1) Answers would be cross checked with other miners answers to reject false answers.

What if the "other miners" are cheating too?  For example given I am ONLY going to cheat.  I could simulate millions, maybe billions of "fake miners" who always given matching fake answers.  Yup  my answer is "right" because 1 million other fake miners say it is right.

In an anonymous network you can't guarantee identity.  A single "person" can be represented by thousands, millions, even billions of nodes. Just because a "lot" of nodes agree with a single solution doesn't mean that it is valid. 


READ ABOUT WHAT A PROOF OF WORK ACCOMPLISHES AND YOU WILL SEE YOUR "SOLUTION" IS FLAWED.


The proof of work is a problem which has 4 VERY UNIQUE CHARACTERISTICS:
1) The difficulty of the problem can be varied easily
2) The time to completion can be estimated (for average solution)
3) The problem is NOT DETERMINISTIC (each hash has equal chance of solving the solution)
4) CHECKING THE SOLUTION is trivially easy no matter how difficult the solution was.
newbie
Activity: 14
Merit: 0
January 23, 2012, 01:58:33 AM
#25
Quote
It should be possible to estimate how much it'll cost to solve a given problem. We're talking about professional research labs buying distributive computing for their work, they should have at least a general idea how much work it'll take.
1) You are trusting the submitters not to cheat.

Quote
2) Yep. It's basically like a lottery.
2) no imean that it will deterministically award only the fastest miner none of the slower ones have any chance of solving it first

Quote
3) Your calculations don't have to solve the problem, just be accurate. As long as other people also got the same worthless result, then you can win the prize.
3) you are confusing getting a wrong answer with having no answer at all
lets say i submit an infinite loop (some problems will be like that , and their creators will not be aware of this, could be the nature of the problem or even a bug) any client that gets this job will get stuck forever , will have no answer at all to submit and will not be rewarded in any way

4) what i am getting at, is that this is possible with only very specific scientific problems, and each of those will have to be tailored by a trusted programmer to fit the network's demands/security

1) Answers would be cross checked with other miners answers to reject false answers.

2) Each problem would be broken into thousands or millions of smaller simpler problems, each granting a microscopic prize to the first person who solves it. So it's as though any given problem is actually thousands of lotteries. Yes, people with faster computers (more tickets) would win more lotteries. But as long as your computer isn't completely worthless you should still win some of the lotteries.

3) After a certain period of time a miner's computer would give up on a looping or unsolvable probablem and submit what it has. For example, if you asked a miner to solve Pi it would turn in a certain number of digits, but it wouldn't keep calculating forever.

4) Yep, it would only be useful for certain types of problems. But that's fine. Most people would only use it as a currency. What would give it value is that people who do need distributive computing would pay regular money for it.

The average person isn't trying to do something complex like simulate unfolding a protein chain or run climate change models. But a lab at Pfizer or NASA or Harvard might. So let's say a researcher needs a calculation performed, and doesn't have the hardware/power to do it themselves. They'd use their research budget to buy a sufficient quantity of datacoins, then burn them to get their calculation performed on the web. People who want to convert their datacoins to USD could sell them to researchers like that.
donator
Activity: 1736
Merit: 1010
Let's talk governance, lipstick, and pigs.
January 23, 2012, 01:53:32 AM
#24
Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.

That doesn't do you any good, because the most you can win for solving your own problem is slightly less than what it cost to submit the problem.

For example, let's say you burn 100,000 coins and submit a question you can easily solve the answer to thanks to your customized rig. Yes, you'd win most of that prize money. But the most you could win is say 99,000 coins (since 1% or so is lost forever as a usage fee). And that's assuming nobody else gets even some of the prize.

So it doesn't make sense to solve your own problems.
Well, that sounds like an outstanding idea. Do you have any idea where to start on coding something like that?
newbie
Activity: 14
Merit: 0
January 23, 2012, 01:44:02 AM
#23
Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.

That doesn't do you any good, because the most you can win for solving your own problem is slightly less than what it cost to submit the problem.

For example, let's say you burn 100,000 coins and submit a question you can easily solve the answer to thanks to your customized rig. Yes, you'd win most of that prize money. But the most you could win is say 99,000 coins (since 1% or so is lost forever as a usage fee). And that's assuming nobody else gets even some of the prize.

So it doesn't make sense to solve your own problems.
newbie
Activity: 28
Merit: 0
January 23, 2012, 01:31:57 AM
#22
Quote
It should be possible to estimate how much it'll cost to solve a given problem. We're talking about professional research labs buying distributive computing for their work, they should have at least a general idea how much work it'll take.
You are trusting the submitters not to cheat.

Quote
2) Yep. It's basically like a lottery.
no imean that it will deterministically award only the fastest miner none of the slower ones have any chance of solving it first

Quote
3) Your calculations don't have to solve the problem, just be accurate. As long as other people also got the same worthless result, then you can win the prize.
you are confusing getting a wrong answer with having no answer at all
lets say i submit an infinite loop (some problems will be like that , and their creators will not be aware of this, could be the nature of the problem or even a bug) any client that gets this job will get stuck forever , will have no answer at all to submit and will not be rewarded in any way

what i am getting at, is that this is possible with only very specific scientific problems, and each of those will have to be tailored by a trusted programmer to fit the network's demands/security
donator
Activity: 1736
Merit: 1010
Let's talk governance, lipstick, and pigs.
January 23, 2012, 01:23:08 AM
#21
It could be a problem where the answer is brute forced similar to mining-in that way, rewards could be like pool mining, and everyone is rewarded proportionally to the work they did.

Yeah, that could work.

Essentially it would be bitcoin. Just the network would be more advanced in that it can accept and integrate new user submitted math problems, and allow you to earn coins for doing that math instead of random proof of work.
Sure then you just design a specialized rig for the type of math problem you submit and get the coins. For instance, a parallel computer with thousands of cores that worked with specialized software would give you an advantage.
newbie
Activity: 14
Merit: 0
January 23, 2012, 01:16:01 AM
#20
It could be a problem where the answer is brute forced similar to mining-in that way, rewards could be like pool mining, and everyone is rewarded proportionally to the work they did.

Yeah, that could work.

Essentially it would be bitcoin. Just the network would be more advanced in that it can accept and integrate new user submitted math problems, and allow you to earn coins for doing that math instead of random proof of work.
member
Activity: 100
Merit: 10
PlayGame.com
January 23, 2012, 01:12:30 AM
#19
It could be a problem where the answer is brute forced similar to mining-in that way, rewards could be like pool mining, and everyone is rewarded proportionally to the work they did.
newbie
Activity: 14
Merit: 0
January 23, 2012, 01:09:14 AM
#18
Quote
Every problem would be broken into many operations, and those would be divided randomly among miners.
not every problem is dividable. and if they are - you have no way of predicting how much computing power each piece requires - even on average
you need a way to predictably quantisize a unit of work. in bitcoin the difficulty + constant hash algorithm make sure a certain amount of work is needed.

People would only submit problems that could be broken down. It doesn't have to be useful for every kind of problem, just ones that lend themselves to distributive computing.

It might be the responsibility of the asker to break the problem down themselves, and submit each unit to the network separately for a fraction of a coin apiece.

It should be possible to estimate how much it'll cost to solve a given problem. We're talking about professional research labs buying distributive computing for their work, they should have at least a general idea how much work it'll take.

For example, person 1 might be solving problem parts A, F, G. Person 2 might be solving problem parts C, F, T. Person 1 solves part F first and gets the reward for that part. But their work is double checked against Person 2's answer for F. If enough people confirm person A's answer the network sends out a solved signal, and nobody else continues to work on that problem.
1) why would anyone continue working on it after the first "solved" indication - its not profitable for them
2) only the fastest solvers will get a reward
3) what if some of the parts are unsolvable\infinite
[/quote]

1) The network wouldn't receive a solved signal until several people submit their work. So you wouldn't know whether it's solved or not yet.

2) Yep. It's basically like a lottery. Each problem is devoted into many little prizes. The more computing power you devote to it, the more entries you get. Everyone will be lose most of the lotteries they're working on, which is the plan. The idea is you enter thousands or millions of lotteries, and earn coins just from the small percentage that you win.

3) Your calculations don't have to solve the problem, just be accurate. As long as other people also got the same worthless result, then you can win the prize.
newbie
Activity: 28
Merit: 0
January 23, 2012, 12:45:18 AM
#17
Quote
Every problem would be broken into many operations, and those would be divided randomly among miners.
not every problem is dividable. and if they are - you have no way of predicting how much computing power each piece requires - even on average
you need a way to predictably quantisize a unit of work. in bitcoin the difficulty + constant hash algorithm make sure a certain amount of work is needed.

Quote
For example, person 1 might be solving problem parts A, F, G. Person 2 might be solving problem parts C, F, T. Person 1 solves part F first and gets the reward for that part. But their work is double checked against Person 2's answer for F. If enough people confirm person A's answer the network sends out a solved signal, and nobody else continues to work on that problem.
1) why would anyone continue working on it after the first "solved" indication - its not profitable for them
2) only the fastest solvers will get a reward
3) what if some of the parts are unsolvable\infinite
full member
Activity: 126
Merit: 100
January 23, 2012, 12:19:38 AM
#16
I don't see any reasons why it aint useful.
newbie
Activity: 14
Merit: 0
January 23, 2012, 12:01:28 AM
#15
you haven't answered this:
how do i prove that i actually invested a certain amount computing power into solving the problem?

for example:
I could get 100/1000 miners (even with the same pc, just a script that sends some junk over and over again pretending to be different clients) submit the same wrong answer and claim it took 100GHash/s
they will be a majority on that specific problem
and the asker isnt allowed to reject the answer



What would prevent fraud is that each person would only be working on a few random parts of any given problem. Every problem would be broken into many operations, and those would be divided randomly among miners.

Each miner would be solving a completely unique group of problem-parts. Nobody would be able to solve the entirety of the problem on their own since that would require too much power. Instead they'd just start working on a random group of problem-parts, and be reward for the ones they solve first.

For example, person 1 might be solving problem parts A, F, G. Person 2 might be solving problem parts C, F, T. Person 1 solves part F first and gets the reward for that part. But their work is double checked against Person 2's answer for F. If enough people confirm person A's answer the network sends out a solved signal, and nobody else continues to work on that problem.

Now let's see what happens if someone tries to fraudulently claim credit for solving F. They set up a script that sends a huge number of signals falsely claiming F as correctly solved by them, outnumbering all the machines legitimately solving F. That could be a problem.

So to prevent that, submitting each answer should require a tiny bit of proof of work on a useless math problem. Something less taxing than normal bitcoin mining, but something that can really add up if you spam lots of false signals. So someone can only submit a false answer for F if they devote more processing power towards submitting false F answers than everyone else answering for F.
donator
Activity: 1736
Merit: 1010
Let's talk governance, lipstick, and pigs.
January 22, 2012, 11:48:32 PM
#14
Certainly task specific equipment will one day be designed to support the Bitcoin network with great efficiency. It will probaly be at first owned only by banks and governments so they get the lion's share of Bitcoin.
sr. member
Activity: 240
Merit: 250
Don't mind me.
January 22, 2012, 11:26:51 PM
#13
I understand the frustration on not being able to do anything with the hashes to put towards anything else, but if it's putting the work of the processors towards it's own security devices, then that's how their system works.

Would be nice if I could use a hybrid miner client that puts CPU on Folding@Home, and GPU on Bitcoin, or since I have a Nvidia card, be able to get the ~10 MH I would from that and divert the rest to Boinc or Folding.
Pages:
Jump to: