Pages:
Author

Topic: A way to save Bitcoin and make it more useful (Read 3201 times)

hero member
Activity: 560
Merit: 500
November 18, 2011, 08:42:48 PM
#21
  • Offer BTC for computing power
  • Bitcoin price gets stabilised, miners have something else to do when prices are low.
  • Huh
  • PROFIT

Literally. Someone just has to do the setup.

I cant believe it hasn't been done yet. I would gladly participate. Any coders here who want to make this happen?
legendary
Activity: 1036
Merit: 1002
  • Offer BTC for computing power
  • Bitcoin price gets stabilised, miners have something else to do when prices are low.
  • Huh
  • PROFIT

Literally. Someone just has to do the setup.
hero member
Activity: 560
Merit: 500
Encrypting the work so that nodes could not be faked would obviously have to be integrated into said work. I guess there is some level of trust that must be given to pool operators that they are not already doing such a thing. Or to fix the problem of a simple verification integrate something into the work that could only be generated if the block was solved correctly. The verification would have to be done in such a way that it could not be faked. Multiple redundancies and different levels of encryption I think could achieve this.

Also verifying back a few blocks might also solve the faking nodes which is essentially what Bitcoin does already. Yes its inefficient as a whole but still a way for people to get paid for folding at home. I have never tried folding at home but there seems to be no incentive for doing it other than for purely altruistic reasons. There are a lot more people who would do it if there were some component in it for themselves. It doesnt have to be much but something is always better than nothing.

I guess with them buying and selling coins on the market to do the work there would still be enough market activity that would raise the price and still in some ways achieve the same goals. If you create your own pool selling work then why would you keep it all yourself? There would only be a short period of time before people figured it out and you would probably have turned some of your tech savvy miners who might also moonlight as hackers against you.
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
Well what if computing power was split up so randomly 1 user would solve 1 block and another user or two would verify the same block.

What prevents me as a verifier from just saying "oh yeah, looks great!" and then going back to using my GPU for mining?

Part of the security of the network is that everyone can verify everything trivially.  Every relay node verifies all transactions and blocks before forwarding them, and every client verifies the entire blockchain as it downloads it.  If you couldn't do that, how could you trust anything?  People could create nodes to feed you bad data and tell you it's verified 5x.

Quote
Of course the purpose of this could be defeated if they sold their coins and the price would drop back down.

Nothing is defeated by a low price except get-rich-quick schemes.

Quote
I guess another possiblity would be a pool that sells the work (Deepbit has a good portion of the computing power) for money and in turn offers to buy the coins back off the users for a set cost based on the price of work.

You're basically reinventing options, but paying the premiums through mining work.

Why would I do that when I can start my own pool selling work?  I could keep the money AND the coins, and if I decide I want options, I can just go buy options.

Quote
If I had all the answers on how to do this I wouldn't be asking for suggestions.

And I'm not trying to be snotty.  I apologize if I am or if I come across that way.

We've just given these problems a lot of thought already and haven't come up with any workable solutions.  That doesn't mean it's impossible, and we need people like you (and me) to keep thinking about them.  Just don't be surprised that we have scripted answers to most suggestions.  Smiley
hero member
Activity: 560
Merit: 500
Yes some sort of a merged mining. Like a namecoin but maybe call it a foldcoin or something like that.

Please bear in mind that merged mining does not mean that you can use the same computational resource to do something else. You merely sneak a few additional bytes in there so that you can use the result for your own notary system.


This is essentially what I was proposing. If somehow this could be used alongside or integrated into mining by slipping in the bits to process and sold at a dollar value that is used to increase bitcoin prices then that would be ideal.
hero member
Activity: 560
Merit: 500
You need to find a problem that is: 1) very hard to solve (about 20,000 GPU-hours per solution); 2) trivial to verify it was done correctly (less than 1 GPU-second per check); 3) politically neutral (we have to agree on the problem being solved, and some people will object to using their GPUs to solve some problems).

Brute forcing SHA256 to sign a block is very hard, but once it's done it's trivial to verify the solution, so it's perfect.  You could make a hard F@H problem that takes 20,000 GPU-hours to solve, but then it would take 20,000 GPU-hours to verify that the solution was done correctly, so it doesn't work.

It is generally believed, but I'm not sure if it's proven, that it is impossible to have a problem that satisfies both 1 and 2 while performing useful work.  No one has proposed one yet.  F@H fails on #2.  If you can find a useful problem that satisfies both conditions, please let us know!  I'm sure it would be readily adopted.

We have to find a useful but universally benign problem.  F@H would be fine, but "renting out" will be strongly objectionable.  We need to find a single problem that the network can standardize on for a long time.  This part is easier than finding a problem that satisfies both 1 and 2.

Also, you're playing with fire using the word "backing" here.  It has a specific meaning: If you no longer want your coins, you can trade them in to get something back.  Doing useful work to generate coins does not come with a guarantee that you can get that amount of work back when you turn your coins in.

Well what if computing power was split up so randomly 1 user would solve 1 block and another user or two would verify the same block. Multiple confirmations should allow this to happen although it is much less efficient. Would it be possible to code an environment that could do this? By selling the work blocks to the interested party in bitcoins they pay whatever the market value is and therefore theoretically should increase the price. For those that object to this it could be optional like merged mining.

Of course the purpose of this could be defeated if they sold their coins and the price would drop back down. Perhaps another major exchange could be created or a current one modified to somehow add the money paid for by research instituions to prop up the value for bitcoins without actually created or handing over any bitcoins.

I guess another possiblity would be a pool that sells the work (Deepbit has a good portion of the computing power) for money and in turn offers to buy the coins back off the users for a set cost based on the price of work. This also has the same problem as above.

If I had all the answers on how to do this I wouldn't be asking for suggestions. I know it is going to be difficult but given the current state of bitcoin it couldnt hurt if some way was found to achieve this. Of course there is a lot of code writing that would have to be done but in the long run it would be more than worth it.

Where is Satoshi when you need him?
hero member
Activity: 938
Merit: 1002
Yes some sort of a merged mining. Like a namecoin but maybe call it a foldcoin or something like that.

Please bear in mind that merged mining does not mean that you can use the same computational resource to do something else. You merely sneak a few additional bytes in there so that you can use the result for your own notary system.
hero member
Activity: 728
Merit: 500
165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
You need to find a problem that is: 1) very hard to solve (about 20,000 GPU-hours per solution); 2) trivial to verify it was done correctly (less than 1 GPU-second per check); 3) politically neutral (we have to agree on the problem being solved, and some people will object to using their GPUs to solve some problems).

Brute forcing SHA256 to sign a block is very hard, but once it's done it's trivial to verify the solution, so it's perfect.  You could make a hard F@H problem that takes 20,000 GPU-hours to solve, but then it would take 20,000 GPU-hours to verify that the solution was done correctly, so it doesn't work.

It is generally believed, but I'm not sure if it's proven, that it is impossible to have a problem that satisfies both 1 and 2 while performing useful work.  No one has proposed one yet.  F@H fails on #2.  If you can find a useful problem that satisfies both conditions, please let us know!  I'm sure it would be readily adopted.

We have to find a useful but universally benign problem.  F@H would be fine, but "renting out" will be strongly objectionable.  We need to find a single problem that the network can standardize on for a long time.  This part is easier than finding a problem that satisfies both 1 and 2.

Also, you're playing with fire using the word "backing" here.  It has a specific meaning: If you no longer want your coins, you can trade them in to get something back.  Doing useful work to generate coins does not come with a guarantee that you can get that amount of work back when you turn your coins in.
hero member
Activity: 560
Merit: 500
I know it does not currently work in a way that can readily support it but it is doable.

Maybe it is doable, but I don't know how it's doable. It's been suggested many times, but I don't think any kind of concrete work is done on the subject.

One requirement seems to be that we need to use block data to seed the calculation. That's the only measure against working on a known problem. Second, the work needs to be parallelizable. Best way to do this is to use a slightly different seed for each worker, hence the nonce. There may be other ways though, depending on the problem. Third, we need to have a measure for difficulty. With the current algorithm, it's determined beforehand by the target hash, but I guess with variable confirmation times you could measure the difficulty afterwards and award the miner depending on that. Probably the worst idea ever, but there. Also I have no clue as to how this would all relate to merkle trees and whatnot.

One way to do it could be having miners genetically generate programs that perform some duty with a measurable difficulty. The duty should be provably impossible to do in any other way. And should be useful in itself. I don't know how folding@home works, I'm sure others might have better ideas.

All in all, I also think that Bitcoin, as a distributed notary system, is useful as it is. You could build other tools around the same computational power, using merged mining, and I think it's definitely a more constructive thing to think about.


Yes some sort of a merged mining. Like a namecoin but maybe call it a foldcoin or something like that. I would gladly participate in merged mining for that but could care less about namecoins. The key to this would be making sure the monetary values from the folding work goes into bitcoin values and if someone choses to cash out in USD or other currency they can then go to an exchange to do so.
hero member
Activity: 560
Merit: 500
What if there were a way to allow computations to be done alongside blockchains for the purchase of bitcoins. 1 BTC = x amount of computation. This would only require some sort of a server or exchange that in turn could be secured and verified by the mining network. Maybe not even a server but say a program that just connects to a bitcoin network. Of course the work would have to be presented in a given context or coded properly but I do believe there is a way to make this work.

Do you mean something like this?

The closest idea that is feasible is a separate type of open transaction that miners could accept based on solving a verifiable computational problem that the sender is essentially paying for. In this case there is no coin generation, the person giving the problem provides the reward.

The potential problem I see for this is people trusting their financial information that they would need to utilize the money (unless it is converted to bitcoins). Then the work would have to be divied up between many workers because presumably there would not be one person capable of computing so many calcualtions in a feasable amount of time. The best way to do it I still believe would be to integrate it into bitcoins somehow. By making companies pay in cash or convert their cash into bitcoins this achieves said goal. Then maybe there would be no need to modify the bitcoin software itself but rather the mining software itself. This way those that choose to help increase the value of the bitcoin have the option to do so while generating bitcoins for verifying the network as well.
hero member
Activity: 938
Merit: 1002
I know it does not currently work in a way that can readily support it but it is doable.

Maybe it is doable, but I don't know how it's doable. It's been suggested many times, but I don't think any kind of concrete work is done on the subject.

One requirement seems to be that we need to use block data to seed the calculation. That's the only measure against working on a known problem. Second, the work needs to be parallelizable. Best way to do this is to use a slightly different seed for each worker, hence the nonce. There may be other ways though, depending on the problem. Third, we need to have a measure for difficulty. With the current algorithm, it's determined beforehand by the target hash, but I guess with variable confirmation times you could measure the difficulty afterwards and award the miner depending on that. Probably the worst idea ever, but there. Also I have no clue as to how this would all relate to merkle trees and whatnot.

One way to do it could be having miners genetically generate programs that perform some duty with a measurable difficulty. The duty should be provably impossible to do in any other way. And should be useful in itself. I don't know how folding@home works, I'm sure others might have better ideas.

All in all, I also think that Bitcoin, as a distributed notary system, is useful as it is. You could build other tools around the same computational power, using merged mining, and I think it's definitely a more constructive thing to think about.
donator
Activity: 392
Merit: 252
November 17, 2011, 10:11:03 PM
#9
What if there were a way to allow computations to be done alongside blockchains for the purchase of bitcoins. 1 BTC = x amount of computation. This would only require some sort of a server or exchange that in turn could be secured and verified by the mining network. Maybe not even a server but say a program that just connects to a bitcoin network. Of course the work would have to be presented in a given context or coded properly but I do believe there is a way to make this work.

Do you mean something like this?

The closest idea that is feasible is a separate type of open transaction that miners could accept based on solving a verifiable computational problem that the sender is essentially paying for. In this case there is no coin generation, the person giving the problem provides the reward.

I like it. How about an open p2p reverse auction.
hero member
Activity: 672
Merit: 500
November 17, 2011, 10:09:10 PM
#8
What if there were a way to allow computations to be done alongside blockchains for the purchase of bitcoins. 1 BTC = x amount of computation. This would only require some sort of a server or exchange that in turn could be secured and verified by the mining network. Maybe not even a server but say a program that just connects to a bitcoin network. Of course the work would have to be presented in a given context or coded properly but I do believe there is a way to make this work.

Do you mean something like this?

The closest idea that is feasible is a separate type of open transaction that miners could accept based on solving a verifiable computational problem that the sender is essentially paying for. In this case there is no coin generation, the person giving the problem provides the reward.
hero member
Activity: 560
Merit: 500
November 17, 2011, 10:02:22 PM
#7
Many people argue that the problem with bitcoins is that there is nothing really backing it up in terms of production.

You are using too narrow a definition of "production."  Just as a wider road enables more efficient travel, or fiber optic lines enable more efficient communication, so too does Bitcoin - by providing a frictionless money transmission system - enable more efficient trade and exchange.

The productive value of Bitcoin is not that it "produces" anything, but rather that it enables goods and services to be exchanged at lower cost, and thus it's value is justified. Its aggregate effect is to prevent wealth from being lost via transmittance inefficiencies, and thus the world enjoys having more wealth.

I did say peoiple and not me. I believe in Bitcoin for its merit as an alternative currency and that is why I mine. There are a lot of people who have money that are leary of investing in Bitcoin because they just don't get what it is there to represent. If in addition to processing transactions within the network it was used for medical research then Im sure there would be a lot more investors on board.
hero member
Activity: 560
Merit: 500
November 17, 2011, 10:00:30 PM
#6
If I said it wasn't useful then I mispoke. Here's another idea then. What if there were a way to allow computations to be done alongside blockchains for the purchase of bitcoins. 1 BTC = x amount of computation. This would only require some sort of a server or exchange that in turn could be secured and verified by the mining network. Maybe not even a server but say a program that just connects to a bitcoin network. Of course the work would have to be presented in a given context or coded properly but I do believe there is a way to make this work. If there is a greater reward for mining then throughput should increase, adding additional security to the network and guaranteeing the future of bitcoins.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
November 17, 2011, 09:59:46 PM
#5
Many people argue that the problem with bitcoins is that there is nothing really backing it up in terms of production.

You are using too narrow a definition of "production."  Just as a wider road enables more efficient travel, or fiber optic lines enable more efficient communication, so too does Bitcoin - by providing a frictionless money transmission system - enable more efficient trade and exchange.

The productive value of Bitcoin is not that it "produces" anything, but rather that it enables goods and services to be exchanged at lower cost, and thus it's value is justified. Its aggregate effect is to prevent wealth from being lost via transmittance inefficiencies, and thus the world enjoys having more wealth.
donator
Activity: 1218
Merit: 1079
Gerald Davis
November 17, 2011, 09:51:19 PM
#4
It is not possible to have the proof of work be something other than an arbitrary calculation.  Well it is possible but it would require centralized control and oversight which would defeat the purpose.

BTW the work done IS USEFUL.  It would be like saying can the VISA network do useful work, all it does it validated credit cards all over the globe 24/7, couldn't it also cure cancer at the same time.
hero member
Activity: 560
Merit: 500
November 17, 2011, 09:49:54 PM
#3
I do understand how Bitcoin works but I just think this would be a much more important use for it. I know it does not currently work in a way that can readily support it but it is doable. How about a change to the bitcoin software to do it alongside mining. This is one way to get around the fact that computers are working against each other. By requiring the miners to do this alongside finding blockchains you encourage investment from research instituions in order to get their computational requirements met as well. Then whoever the rendering is being done for has a vested interest in keeping the network throughput up. Just imagine how much medical research could be done with the power of the bitcoin network.
hero member
Activity: 672
Merit: 500
November 17, 2011, 09:44:04 PM
#2
Lots of people have suggested it, but most of them don't understand how Bitcoin works. Bitcoin security depends on having unpredictable hashes. Folding at home is not unpredictable. Who is going to vet their computing problems and input them into the central server?

The closest idea that is feasible is a separate type of open transaction that miners could accept based on solving a verifiable computational problem that the sender is essentially paying for. In this case there is no coin generation, the person giving the problem provides the reward.
Pages:
Jump to: