Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: iopq on October 03, 2011, 02:34:03 AM



Title: A blockchain with a hashing function doing useful work
Post by: iopq on October 03, 2011, 02:34:03 AM
As I understand it, the hashing function for Bitcoin only does random work for a while and when it actually finds a matching hash it appends the block to the blockchain.

Is it possible to create a blockchain that does the following:
1. All clients do folding@home or SETI or a similar task that requires computing power. Possibly mixed with another hashing function. A client can't hash without doing meaningful work and submitting it.
2. After submitting work each client gets a share.
3. When a block is found it contains transactions to finders of the previous block's shares. Since all blocks are mined in a distributed manner the rewards can be proporitional since there is no way to game this system.

If this is possible to be done in a secure way, then a lot of the hashing power will actually be used to benefit distributed computing projects. Furthermore, when folding@home or whatever becomes a paid activity, anyone who wishes to invest into the future of said project can contribute by buying those coins and causing their price to go up, encouraging people to go into mining.

Is this technically feasible?


Title: Re: A blockchain with a hashing function doing useful work
Post by: t3a on October 03, 2011, 05:40:32 AM
I was actually considering doing this when I read Bitcoin had 25 times the processing power of folding@home, making folding@home the second largest distributed computing project.

Here are some things I thought about:
  • You would need to either have a
    • A) a project that has very many proof of works generated per arbitrary time unit. This would mean you could take the hash of the "answer" or whatever your computer discovered for the project, the merkle root, the previous hash, etc. and it would have to be a small range of hashes based on the difficulty.
    • B) a project that doesn't have very many proof of works per arbitrary time unit and you would have a slow confirmation time. For this option, you might actually want to either select a few of these "answers" based on how small the hash is, or if you want faster transactions, you could make it accept all "answers"
    Your "answers" would have to be verifiable as correct, you would also have to show that this "answer" is new, not someone elses answer. Otherwise someone could just make a database of all the previous solutions and go strait through the "problems" to find a good hash without helping *@home at all
  • This is optional, but I would assume the community would want the coin to be decentralized, so *@home would NOT be allowed to determine ANYTHING
  • The project would have to be able to get help from "miners" without changing the "problem", if they could change the problem then it would once again, not be centralized.

Here is a list of those projects: http://en.wikipedia.org/wiki/List_of_distributed_computing_projects

Edit: If you are interested in this, you should look for *@home projects' algorithms that return "answers" quickly.

Another note:
You would probably want the "answers" to the "problems" to be public so they are actually useful. The only way I can see this being done is if you were awarded coins every time a solution is found in an amount inverse to the difficulty (and possibly make block finding separate and give block finders transaction fees)


Title: Re: A blockchain with a hashing function doing useful work
Post by: caston on October 03, 2011, 07:56:27 AM
http://www.youtube.com/watch?v=JcSUWP0QNeY (http://www.youtube.com/watch?v=JcSUWP0QNeY)


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 03, 2011, 04:34:04 PM
Stay tuned...  ;D


Title: Re: A blockchain with a hashing function doing useful work
Post by: JohnDoe on October 03, 2011, 04:49:41 PM
Stay tuned...  ;D

Details? I don't see how such a thing could be possible without adding centralization.


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 03, 2011, 04:57:01 PM
It's not, but that's the price of aiding and abetting a centralized project. You *can* confine the ramifications of that to coin generation only, however. We have something in the works for BOINC-based projects (the @home stuff).


Title: Re: A blockchain with a hashing function doing useful work
Post by: Bobnova on October 03, 2011, 05:09:57 PM
I don't see centralism being quite the demon it is made out to be, personally.


Title: Re: A blockchain with a hashing function doing useful work
Post by: Meni Rosenfeld on October 03, 2011, 05:44:18 PM
I don't see centralism being quite the demon it is made out to be, personally.
Centralization is good for some things, bad for others. If I understand correctly that the F@H server is required to confirm that work was done, then if the server goes down the whole currency shuts down which is a MAJOR weakness.


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 03, 2011, 05:58:14 PM
As I said, we've confined just the coin generation transactions to rely upon the F@H servers, and made generating transactions more like regular transactions (so you can have more than one per block, or none at all). So if F@H servers go down, new generating transactions can't be verified. But the network as a whole continues, unaffected.


Title: Re: A blockchain with a hashing function doing useful work
Post by: JohnDoe on October 03, 2011, 06:38:31 PM
But how will work be proven to the rest of the network? What if the F@H people say one miner has performed x amount work when in fact he has only done x - 1?


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 03, 2011, 07:14:03 PM
I'll warrant that the F@H people can cheat the system (destroying all value) if they wanted to. But 1) why would they want to do that? and 2) that's the price of doing business--there's no practical way around centralization of work distribution and verification in this context.


Title: Re: A blockchain with a hashing function doing useful work
Post by: JohnDoe on October 03, 2011, 08:00:48 PM
But 1) why would they want to do that?

Profit? They can cheat with tiny amounts so that nobody finds out. It doesn't even have to be an organization-wide plot, a single rogue sysadmin could compromise the currency. Or it could be a hacker with root access. Or maybe some g-men will make them cheat.

I must say I find trading security for popularity to be a very poor choice, but I'm curious to see how this will play out. I wish you luck with your fork.


Title: Re: A blockchain with a hashing function doing useful work
Post by: Meni Rosenfeld on October 03, 2011, 08:03:47 PM
I'll warrant that the F@H people can cheat the system (destroying all value) if they wanted to. But 1) why would they want to do that? and 2) that's the price of doing business--there's no practical way around centralization of work distribution and verification in this context.
I don't know what your system is like and I understand if you want to keep it under wraps for now, but based on my naive understanding there are lots of problems:
 - At times when F@H is down and there are no rewards, why would anyone waste power to confirm transactions?
 - What if someone greedy at F@H rigs stuff to make it look like an address belong to himself did work?
 - What if the F@H project is terminated? I assume more than one project will be involved, but if something happens to a major one it could create a shock.
 - Who decides what projects are included? What prevents someone for gaining free computing for his for-profit project?
 - What happens when Bitcoin is x1000000 times the size of F@H and you have the whole world's economy relying on a few obscure charities?

Unless you have some magic solution, I think you're completely missing the point of why Bitcoin's decentralization is so important. The solution to the "wastefullness" of hashing should be in the form of allowing more security with less resources (eg branch selection based on proof-of-stake and bitcoin days destroyed).


Title: Re: A blockchain with a hashing function doing useful work
Post by: JohnDoe on October 03, 2011, 08:10:33 PM
What's proof-of-stake and BTCDD?


Title: Re: A blockchain with a hashing function doing useful work
Post by: Meni Rosenfeld on October 03, 2011, 08:22:37 PM
What's proof-of-stake and BTCDD?
Proof of stake is currently not a single thing, it's a set of ideas some of which were discussed here (https://bitcointalk.org/index.php?topic=37194.0). Bitcoin days destroyed (https://en.bitcoin.it/wiki/Bitcoin_Days_Destroyed) (edited after realizing BTCDD is not a standard abbreviation) is a measure of the movement of coins. I talked about "circulation" in the first linked thread, and later realized that bitcoin days destroyed could be a good way to measure it.


Title: Re: A blockchain with a hashing function doing useful work
Post by: t3a on October 03, 2011, 08:48:51 PM
Let me point out that there are many projects that help the world that aren't @home related, and many of which would allow you to confirm that there has been work regularly.


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 03, 2011, 09:59:26 PM
- At times when F@H is down and there are no rewards, why would anyone waste power to confirm transactions?
Transaction fees? It will be merge-mined anyway, so the miners would be collecting coins in other currencies as well.
 
- What if someone greedy at F@H rigs stuff to make it look like an address belong to himself did work?
The F@H team will effectively have the ability to print money. I've said that earlier--each BOINC (@home) project would have complete control over the crypto-token currency tracking their project. They could chose to rig the system and profit until the deception is discovered (assuming people ever trusted them enough to open an exchange in the first place). Or they could choose the play by the rules and benefit from an expanded userbase.

I work with scientists who run these sorts of projects--none of them are in it for the money. Yes, anyone has a price, but I seriously doubt these blockchains would ever trade for significant real-world dollars, and the science return and community reputation they'd get from having a strong currency tracking their project would far outweigh (in their minds) any short-term profit from cheating their users.

Is that naïve? I'll let you decide, but we *are* talking about small change here, assuming anyone ever opens an exchange in the first place.

 
- What if the F@H project is terminated? I assume more than one project will be involved, but if something happens to a major one it could create a shock.
The currency would continue, but I expect that it would quickly lose value as the project is wound down.

 
- Who decides what projects are included? What prevents someone for gaining free computing for his for-profit project?
There's a separate blockchain for each project (there's over 60 active BOINC projects out there, last time I checked). Part of our “secret sauce” is a trick that lets us integrate with BOINC projects without any commitment or involvement from them--it will work out of the box with every project out there.

 
- What happens when Bitcoin is x1000000 times the size of F@H and you have the whole world's economy relying on a few obscure charities?

Unless you have some magic solution, I think you're completely missing the point of why Bitcoin's decentralization is so important. The solution to the "wastefullness" of hashing should be in the form of allowing more security with less resources (eg branch selection based on proof-of-stake and bitcoin days destroyed).
I think you're completely missing the point of this project, and are far too serious :) . This is people collecting bottle caps and baseball cards; it's crypto-token monopoly money--one-off blockchains that exist only for a short duration. Each currency is transitory by its very nature, lasting only as long as the associated project, before it dies off because no one cares.

If you participate in an @home project, you are already assigned “credit” (points) based on how much work you complete. All I'm saying is why not let people trade and exchange that credit? Just for shits and giggles.

Let me point out that there are many projects that help the world that aren't @home related, and many of which would allow you to confirm that there has been work regularly.
All in due time ;)


Title: Re: A blockchain with a hashing function doing useful work
Post by: ctoon6 on October 04, 2011, 01:59:22 AM
hashing for bitcoin is useful work, it helps secure the network against attacks. therefore it is more useful than folding@home, simply because without a monetary system, folding@home itself would not exist, although not because of bitcoin.


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 04, 2011, 02:20:03 AM
Cute, but missing the point. I don't think anyone is trying to replace bitcoin with @homecoin. We certainly aren't, and I didn't interpret that to be the OP's intention. This is just another practical application of bitcoin technology, like namecoin is.


Title: Re: A blockchain with a hashing function doing useful work
Post by: cbeast on October 04, 2011, 02:21:17 AM
Look at this from the reverse angle. Hashing for greed will spawn technologies that allows greener, faster processing if crypto-currencies become mainstream. Spin-off technologies will benefit, including faster, greener F@H type services.


Title: Re: A blockchain with a hashing function doing useful work
Post by: ctoon6 on October 04, 2011, 02:46:58 AM
heres what i think, nobody has ever proposed a system that will work in a decentralized way, that does "useful work". every proposition has been, "hey lets do protein folding!". please tell me how that would ever work? i am not saying there is no way, i am saying nobody has yet thought of it yet, or at least to what i have seen.


Title: Re: A blockchain with a hashing function doing useful work
Post by: Meni Rosenfeld on October 04, 2011, 04:58:44 AM
I think you're completely missing the point of this project, and are far too serious :) .
Probably. Carry on then :).

Maybe not in this thread, but people have been seriously suggesting that Bitcoin proof-of-work should be based on external distributed computing projects.


Title: Re: A blockchain with a hashing function doing useful work
Post by: maaku on October 04, 2011, 05:53:21 AM
Yeah, that would never work.

The bitcoin protocol actually has two proof-of-work-functions: one to generate a block (securing the network), and one to generate new coins (setting monetary policy). The 'a-ha!' moment was when we realized these need not necessarily be the same, as they are with bitcoin. With merge-mining the block generating function can be shared across all blockchains, and each chain is then free to set its own coin generating function and policies.

There's some interesting things you can do with this setup; these BOINC-based coins is just a proof of concept for something much grander.