Bitcoin Forum

Other => Beginners & Help => Topic started by: JohnnyCash on January 22, 2012, 12:17:57 PM



Title: Could Mining Be Useful?
Post by: JohnnyCash on January 22, 2012, 12:17:57 PM
One thing that bothers me about bitcoins is that the raw calculations of mining don't do anything but unlock bitcoins.

Is there any way to design a crypto currency that's unlocked by performing useful calculations? Something along the lines of folding @ home, where in addition to enriching yourself you're also performing useful math?


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 22, 2012, 12:37:31 PM
Bitcoin signature blocks are useful for many things that use secure signatures and open ledgers, amongst other things. There are many apps in development.


Title: Re: Could Mining Be Useful?
Post by: jake262144 on January 22, 2012, 12:39:55 PM
But you ARE performing useful math - not only does mining "unlock bitcoins" as you put it but it also keeps the whole bitcoin universe secure.

As to your question, of course there are ways block chain hashing can be combined with other useful applications.
Care to come up with and implement one?


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 22, 2012, 05:47:27 PM
But you ARE performing useful math - not only does mining "unlock bitcoins" as you put it but it also keeps the whole bitcoin universe secure.

As to your question, of course there are ways block chain hashing can be combined with other useful applications.
Care to come up with and implement one?

How could it be combined with other useful applications? Would there be a way of assigning problems to a mining network so that they earn bitcoins (or another currency) by solving specific math problems?  But also to avoid having one central authority in control, make it so problems and rewards aren't assigned by one central authority but somehow built into the coin's code or controllable by anyone with the currency?


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 22, 2012, 07:03:52 PM
Well, here's an idea I had. I'm not sure how technically feasible it is. I'm calling it Data Coins.

In this system people would still mine to generate new datacoins. But instead of having purposeless calculations to mine new coins, people who already possess datacoins would be able to destroy them to determine what the proof of work is.

"Burning" datacoins would allow you to upload a math problem to the network, and all mining computers would begin working on it. To get new coins they wouldn't have to actually solve your problem, but just prove that a certain amount of processing power was spent on it. That way a difficult or impossible wouldn't shut the network down.

You would only receive a limited amount of processing power for each coin, and once the network performs that much work on your problem it would stop doing it. For example, if you burn 1,000 datacoins you're entitled to 1,000 times as much work as someone who burns 1 datacoin.

The work required to generate a coin by working on a problem would be equal to the work you can then destroy the coin to claim. So essentially Data Coins would be a way of trading rights to calculations. The value that would back them is the worth of those calculations to universities, governments, and corporations. For example, if MIT wants to run a simulation they could buy $100,000 USD of datacoins, then burn them to rent out a powerful distributed computing network.


Title: Re: Could Mining Be Useful?
Post by: FreeMoney on January 22, 2012, 11:32:48 PM
Bitcoin mining is useful. It would be great if it could do X, Y, Z or get me a drink at no extra cost, but how?


Title: Re: Could Mining Be Useful?
Post by: Costia on January 22, 2012, 11:45:58 PM
I could burn coins to make more coins. Also, i can submit the same solutions multiple times.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 02:20:21 AM
Well, I imagine it'd work more or less the same as bitcoin. Except you'd need some way of tagging math problems with your coin's key, and then tracking who works on that problem and how much work they do.

The challenge in that is how to divorce it from some central authority. Sure, you could have some overseer note that these computers each did this much work, and then split the coins up among them. But what you'd need to do is somehow make the overseer a network of all the computers running datacoin.

So the way the process would work is:

Step 1 - Data Coins are initially generated through pointless math (they can always be generated through pointless math, but the code deliberately makes performing useful math more profitable)

Step 2 - People who want calculations performed burn their data coins, and destroying the coin entitles them to upload a math problem to the network of datacoin users.

Step 3 - Miners' machines start contributing to pending problems. As they solve the problem their progress is passed around and compared with other datacoin users, who log who performs work and how much they do. Usually each problem is being worked on by many miners, and each miner is performing a little bit of work on many different problems simultaneously.

Step 4 - Once a certain amount of work is performed and confirmed coins are delivered to the miners.

Step 5 - The completed data is posted to the network (if possible in encrypted form so only the original poster can understand it)

There would be no point to burning datacoins to hire others to mine datacoins for you, since the amount of coins you'd receive would be equal to the coins you spend. Also there should be additional safeguards to prevent people from assigning pointless tasks to the network like this, just to be malicious. For example, perhaps burning datacoins would incur a slight loss, a usage fee, so that the work you can buy with a coin is 99% that of the work it takes to make a coin.




Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 02:29:03 AM
what would prevent me sending junk as an answer?
what would prevent the asker to mark correct answers as junk to gain more computing power?
how much computing power does 1 coin give you?
how do i prove that i actually invested a certain amount computing power into solving the problem? the difficulty of real life problems is not predictable. some could turn out to be unsolvable.


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 23, 2012, 02:33:36 AM
Well, I imagine it'd work more or less the same as bitcoin. Except you'd need some way of tagging math problems with your coin's key, and then tracking who works on that problem and how much work they do.

The challenge in that is how to divorce it from some central authority. Sure, you could have some overseer note that these computers each did this much work, and then split the coins up among them. But what you'd need to do is somehow make the overseer a network of all the computers running datacoin.

So the way the process would work is:

Step 1 - Data Coins are initially generated through pointless math (they can always be generated through pointless math, but the code deliberately makes performing useful math more profitable)

Step 2 - People who want calculations performed burn their data coins, and destroying the coin entitles them to upload a math problem to the network of datacoin users.

Step 3 - Miners' machines start contributing to pending problems. As they solve the problem their progress is passed around and compared with other datacoin users, who log who performs work and how much they do. Usually each problem is being worked on by many miners, and each miner is performing a little bit of work on many different problems simultaneously.

Step 4 - Once a certain amount of work is performed and confirmed coins are delivered to the miners.

Step 5 - The completed data is posted to the network (if possible in encrypted form so only the original poster can understand it)

There would be no point to burning datacoins to hire others to mine datacoins for you, since the amount of coins you'd receive would be equal to the coins you spend. Also there should be additional safeguards to prevent people from assigning pointless tasks to the network like this, just to be malicious. For example, perhaps burning datacoins would incur a slight loss, a usage fee, so that the work you can buy with a coin is 99% that of the work it takes to make a coin.




How exactly do you "prove" how much work you have completed.

Do you realize the proof of work serves a crititical role in Bitcoin network.  It allows the network to acheive consensus.

Your solution is fail starting at the premise that the work is "useless".  If a bank hires a security guard and the bank ISN'T robbed was the security guard useless?


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 03:14:03 AM
what would prevent me sending junk as an answer?
what would prevent the asker to mark correct answers as junk to gain more computing power?
how much computing power does 1 coin give you?
how do i prove that i actually invested a certain amount computing power into solving the problem? the difficulty of real life problems is not predictable. some could turn out to be unsolvable.


Your work would be compared to work being performed by other computers. If your answers conflict with other people's results then the network would reject your answer and you'd get nothing.

The asker has no ability to reject or approve answers. That determination is made by a consensus among all datacoin users. Once the asker burns their coins they have no power over what happens, they just get a result. The asker can't choose to withhold payment.

The computing power 1 coin gives you would be slightly less (1%ish less) than the computing power required to get a coin. The exact amount of computing assigned to each coin doesn't really matter for the concept to work, since if it's less valuable people will just collect/trade/burn larger quantities but use it the same way.

The amount of calculations each coin would give you would never change, although as computers get more advanced and calculations cheaper to do the value of the currency would gradually decline over time. This inflation would be slow and predictable though, since it's tied to progress in computer engineering, not to some government printing coins.

It doesn't matter whether you solve the problem or not. The asker is not guaranteed a satisfactory result, only that they'll have a certain amount of computing power devoted to their problem. The network wouldn't care whether or not miners solve the problem, just that the work they report cross checks with other people's work to prove they're not sending in false answers.



Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 03:25:43 AM
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



Title: Re: Could Mining Be Useful?
Post by: moocow1452 on January 23, 2012, 03:26:51 AM
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.


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 23, 2012, 03:48:32 AM
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.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 04:01:28 AM
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.


Title: Re: Could Mining Be Useful?
Post by: TheHeroMember on January 23, 2012, 04:19:38 AM
I don't see any reasons why it aint useful.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 04:45:18 AM
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


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 05:09:14 AM
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.


Title: Re: Could Mining Be Useful?
Post by: fb39ca4 on January 23, 2012, 05:12:30 AM
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.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 05:16:01 AM
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.


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 23, 2012, 05:23:08 AM
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.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 05:31:57 AM
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


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 05:44:02 AM
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.


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 23, 2012, 05:53:32 AM
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?


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 05:58:33 AM
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.


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 23, 2012, 06:12:09 AM
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.


Title: Re: Could Mining Be Useful?
Post by: fb39ca4 on January 23, 2012, 06:15:35 AM
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.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 06:29:54 AM
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.


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 23, 2012, 06:35:14 AM
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.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 06:56:23 AM
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.



Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 23, 2012, 07:08:47 AM
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.


Title: Re: Could Mining Be Useful?
Post by: fb39ca4 on January 23, 2012, 07:21:05 AM
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.


Title: Re: Could Mining Be Useful?
Post by: JohnnyCash on January 23, 2012, 07:31:22 AM
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.

Good point. Redundant work defeats the whole purpose, and the proof of work isn't enough of a barrier to entry.

What if instead micro-problems were assigned randomly? You'd submit a proof of work to receive a random micro-problem to solve, and that proof of work would only entitle you to submit one answer. But you couldn't request to solve any specific micro-problem, which would prevent you from sending multiple answers to the same question. If you submit 500 proof of work you'd get 500 different micro-problems. Each micro problem would only be assigned a couple times, to avoid redundancy.

P.S. I know that this idea probably has a lot of flaws as written, but I think if we could think of a way to make it work a coin backed by distributive computing could be very potent. Lots of challenges to solve, but that's why I'm posting it for discussion.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 12:49:12 PM
this is way to theoretical
for any fix you suggest me or others will be able to come up with 10 exploits

this needs to be tested on a concrete example.
i think folding@home does have some kind of measure of work done, maybe seti is well
if you are serious about this , look at their code and adjust it to be secure
Or take any specific problem and try to make it work on a small scale

Currently, creating a general purpose, distributed, scientific solving network for profit is not feasible.
This might change with time (for example if from a certain point in time motherboards will have integrated DRM chips that can be used to verify work with 99% certainty)


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 23, 2012, 06:09:50 PM
i think folding@home does have some kind of measure of work done, maybe seti is well
if you are serious about this , look at their code and adjust it to be secure
Or take any specific problem and try to make it work on a small scale

Folding & Seti solve the problem of cheating by using a central third party.  A key design of Bitcoin is a commerce system which relies on no trusted third party.

Quote
Currently, creating a general purpose, distributed, scientific solving network for profit is not feasible.
This might change with time (for example if from a certain point in time motherboards will have integrated DRM chips that can be used to verify work with 99% certainty)

There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.


Title: Re: Could Mining Be Useful?
Post by: FreeMoney on January 23, 2012, 07:04:11 PM
Can someone show a useful problem that can be broken into millions of parts? Each part having an answer that is already known so we know the solver did it and did it right? I mean just show one problem like this, maybe you can actually do it, but it should demonstrate that it wont' work for anything.

Current 'work' has an amazing property. It can take an arbitrarily large and fine tuned amount of computing (on average) and still be instantly verifiable by everyone. We can all verify both that the work was done and that it was done AFTER the previous block.


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 23, 2012, 07:43:45 PM
Can someone show a useful problem that can be broken into millions of parts? Each part having an answer that is already known so we know the solver did it and did it right? I mean just show one problem like this, maybe you can actually do it, but it should demonstrate that it wont' work for anything.

Current 'work' has an amazing property. It can take an arbitrarily large and fine tuned amount of computing (on average) and still be instantly verifiable by everyone. We can all verify both that the work was done and that it was done AFTER the previous block.

About the only thing I can think of is that we become a rendering farm for the next Pixar film, but I'm not sure if ATI cards would work well for that.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 23, 2012, 11:54:17 PM
Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesnt have to be unhackable, it needs to be more risky/expensive than actually doing the mining


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 24, 2012, 12:00:55 AM
Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesn't have to be unhackable, it needs to be more risky/expensive than actually doing the mining

How exactly is do closed systems and code signed by "manufacturer" apply to a decentralized open source project?

Even in closed networks DRM is an utter failure.  Even closed hardware systems are routinely hacked.  There is no DRM which can't be broken because the keys must be present on the hardware.   Obfuscation is no basis for secure systems.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 12:37:46 AM
quote author=DeathAndTaxes link=topic=60703.msg709554#msg709554 date=1327363255]
Quote
There is no DRM that can't be broken.  Today DRM is broken even when there is no direct economic incentive.  Many hackers break it just to break it.  When the payoff is potentially millions a year in transaction fees DRM doesn't have a hope of standing up.
currently this is true. but if more platforms become "closed" - aka you cant run any code that you want and it has to be signed by the manufacturer, the needed HW hacks might not be cost effective anymore, or too risky. for example a lot of the hacked xbox console were banned from XBL and required a to buy a new one to connect to the internet. So while cheating you will risk loosing the money spent on that machine, which in the long term might become less profitable than mining properly.

tl'dr it doesn't have to be unhackable, it needs to be more risky/expensive than actually doing the mining

How exactly is do closed systems and code signed by "manufacturer" apply to a decentralized open source project?

Even in closed networks DRM is an utter failure.  Even closed hardware systems are routinely hacked.  There is no DRM which can't be broken because the keys must be present on the hardware.   Obfuscation is no basis for secure systems.
[/quote]
by preventing access to your network card to any app that isn't signed (the network card will require a signed key  + hash to operate or something like that)
and they can brick your device if they think it got hacked
you are describing the current situation - this can change
btw was HDMI hacked already? it is encrypted...

anyway, i didnt say it will be impossible to hack, just not worth the cost (per machine)


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 24, 2012, 02:52:00 AM
One more time.  This is Bitcoin.  An OPEN DECENTRALIZED (as in no trusted third party) PEER TO PEER NETWORK.  So exactly how do you limit nodes to closed proprietary hardware.  

Yes HDMI has been broken wide open.  It is only of academic value because DRM on compressed data is also broken and much easier to work with.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 03:02:31 AM
One more time.  This is Bitcoin.  An OPEN DECENTRALIZED (as in no trusted third party) PEER TO PEER NETWORK.  So exactly how do you limit nodes to closed proprietary hardware.  

Yes HDMI has been broken wide open.  It is only of academic value because DRM on compressed data is also broken and much easier to work with.

By not giving you a choice. By selling only closed platforms. and making it not profitable hacking them or building open platforms that can bypass the ISP's encryption that will also run on a closed platform.

So your choices will be:
Open/hacked platform that can run any node - expensive , protocols can change without notice and then the platform will be useless for a while - it wont be able to connect to your ISP (think about 20% average uptime between hacks and updates)
Closed platform - you can run a node only if it was digitally signed by some authority , and can be shut down remotely by that authority at any time.



Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 24, 2012, 03:46:11 AM
One more time.  This is Bitcoin.  An OPEN DECENTRALIZED (as in no trusted third party) PEER TO PEER NETWORK.  So exactly how do you limit nodes to closed proprietary hardware. 

Yes HDMI has been broken wide open.  It is only of academic value because DRM on compressed data is also broken and much easier to work with.

By not giving you a choice. By selling only closed platforms. and making it not profitable hacking them or building open platforms that can bypass the ISP's encryption that will also run on a closed platform.

So your choices will be:
Open/hacked platform that can run any node - expensive , protocols can change without notice and then the platform will be useless for a while - it wont be able to connect to your ISP (think about 20% average uptime between hacks and updates)
Closed platform - you can run a node only if it was digitally signed by some authority , and can be shut down remotely by that authority at any time.



WHAT AUTHORITY?  Are you reading or just typing random keys.

Bitcoin = a decentralized peer to peer network WITHOUT ANY TRUSTED THIRD PARTY (i.e. a central authority).


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 03:53:19 AM
One more time.  This is Bitcoin.  An OPEN DECENTRALIZED (as in no trusted third party) PEER TO PEER NETWORK.  So exactly how do you limit nodes to closed proprietary hardware.  

Yes HDMI has been broken wide open.  It is only of academic value because DRM on compressed data is also broken and much easier to work with.

By not giving you a choice. By selling only closed platforms. and making it not profitable hacking them or building open platforms that can bypass the ISP's encryption that will also run on a closed platform.

So your choices will be:
Open/hacked platform that can run any node - expensive , protocols can change without notice and then the platform will be useless for a while - it wont be able to connect to your ISP (think about 20% average uptime between hacks and updates)
Closed platform - you can run a node only if it was digitally signed by some authority , and can be shut down remotely by that authority at any time.



WHAT AUTHORITY?  Are you reading or just typing random keys.

Bitcoin = a decentralized peer to peer network WITHOUT ANY TRUSTED THIRD PARTY (i.e. a central authority).

are you reading what i am writing at all?
How will bitcoin work if it cant send anything over the network?
Bitcoin requires the existence of an non censored internet to work.
If your ISP will drop all bitcoin related packets - there will be no blockchain (or as i suggested - dropping all non signed packets)

Authority = ISP being controlled and regulated by corporations/government


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 24, 2012, 04:00:11 AM
are you reading what i am writing at all?
How will bitcoin work if it cant send anything over the network?
Bitcoin requires the existence of an non censored internet to work.
If your ISP will drop all bitcoin related packets - there will be no blockchain (or as i suggested - dropping all non signed packets)

Authority = ISP being controlled and regulated by corporations/government

Bitcoin can be disguised to look like other types of packets. It can even go darknet. Sure, ISPs can censor anything and I know at least I will stop paying them.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 04:06:11 AM
are you reading what i am writing at all?
How will bitcoin work if it cant send anything over the network?
Bitcoin requires the existence of an non censored internet to work.
If your ISP will drop all bitcoin related packets - there will be no blockchain (or as i suggested - dropping all non signed packets)

Authority = ISP being controlled and regulated by corporations/government

Bitcoin can be disguised to look like other types of packets. It can even go darknet. Sure, ISPs can censor anything and I know at least I will stop paying them.
diguising wont help you. the security chip will sign the packet only if it was generated by a signed application
you wont be able to sign the packet your self and it will be dropped by the ISP
Non censored ISP might become illegal in the future - so whatever ISP you chose - will drop those packets


Title: Re: Could Mining Be Useful?
Post by: cbeast on January 24, 2012, 04:32:44 AM
are you reading what i am writing at all?
How will bitcoin work if it cant send anything over the network?
Bitcoin requires the existence of an non censored internet to work.
If your ISP will drop all bitcoin related packets - there will be no blockchain (or as i suggested - dropping all non signed packets)

Authority = ISP being controlled and regulated by corporations/government

Bitcoin can be disguised to look like other types of packets. It can even go darknet. Sure, ISPs can censor anything and I know at least I will stop paying them.
diguising wont help you. the security chip will sign the packet only if it was generated by a signed application
you wont be able to sign the packet your self and it will be dropped by the ISP
Non censored ISP might become illegal in the future - so whatever ISP you chose - will drop those packets

I'm not sure if your serious. ISPs would have to completely shut down the internet to block Bitcoin. They will block ports and Bitcoin can use different ports and encryption schemes. Even China's firewall isn't stoping darknets.

[edit] I'm hardly one to argue the ability to circumvent censorship, but I do know that I refuse to support any enterprise that censors.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 04:47:29 AM
currently doing something like this just isn't worth it
but if bitcoin or something similar will take away ~1trillion$ income in taxes from the government , they will force the ISP to shut it down
and it will basically mean the death of the internet as we know it
I am not saying that this is a probable outcome, but it is possible (though unlikely)

edit:
and you werent reading again. i wasnt talking about ports or encrypting your trafic with your own private key. i was talking about dropping any packet that isn't signed by the ISP's private key - which you dont have


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 24, 2012, 04:59:48 AM
costia why are you derailing the topic?  nowonder everyone is confused.  you are just spouting nonsense.  I assumed you were talking about using DRM to enforce some "useful work".  crazy I know assuming people in a thread about "useful work" are talking about "useful work".

You can take your statist fantansies about complete govt control over internet, all applications, all computing devices, and all ISP to another thread in off topic.  As someone else pointed out even China doesn't have control like that over computing devices.

Another noob to put on ignore.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 05:10:49 AM
it is drm - just a global rather than local one .i really hope those are just fantasies. i just wanted to show that it is not impossible. not that it will inevitably happen.
k. back on topic.
the main problem here is proof of work.
to make it work the scientific problem needs to be verifiable in a polynomial time while not being solvable in polynomial time  (the P!=NP theory)
so a client can work for a certain time on the solution. and once found can be verified quickly.
another thing is that it has to be predictable so you can clearly define a unit of work
for example looking for extremely large prime numbers can be useful - and shouldnt be to hard to verify
http://w2.eff.org/awards/20000406_coopaward_pr.html https://www.eff.org/awards/coop
you can require that the first half of the number is identical to the last half of the previous one
and the difficulty can be adjusted by setting a lower limit on the second half of the number


Title: Re: Could Mining Be Useful?
Post by: DeathAndTaxes on January 24, 2012, 05:21:28 AM
it is drm - just a global rather than local one .i really hope those are just fantasies. i just wanted to show that it is not impossible. not that it will inevitably happen.

You haven't shown anything.  Even if implemented it could still be hacked (and likely would within months if not weeks).  If not implemented globally there is still sat connectivity to "free internet" providers.  All DRM can be hacked.  Period.  It is inherently insecure.  Adam is eve and that is why all DRM eventually fails.  Even in a global single world government where all computing devices comply to a universe DRM scheme and you have universal support from all ISP on the planet at every level and nobody anywhere provides backdoors or insecure routes intentionally or accidentally it STILL can be broken.

So no you haven't shown anything except an increasingly more ridiculous strawman.


Title: Re: Could Mining Be Useful?
Post by: Costia on January 24, 2012, 05:33:24 AM
If you want to continue this discussion please open a separate thread
Your logic is: DRM is fail now therefore it will remain fail forever.We can hack it now -> we will always be able to hack it. I disagree with this