Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: bluemeanie1 on June 16, 2013, 04:23:17 PM



Title: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 04:23:17 PM
  Why don't we require some sort of useful computation in each Bitcoin block?

  For instance each block must include a successive prime number.

    ex.  Genesis Block has 2, next block has 3, next 5, 7, 11, 13, 17 ... and the 241883rd block would have the value of http://www.wolframalpha.com/input/?i=241883th+prime

  The Electronic Frontier Foundation offers rewards for the discovery of very large primes: https://www.eff.org/awards/coop

  http://arstechnica.com/science/2013/02/ask-ars-why-spend-time-and-money-finding-new-prime-numbers/

  Rather than just making the block computation difficult in some arbitrary way, why not set these processors to doing something useful?  At least this creates some kind of real world demand to produce these coins, as there is a real purpose to running the processes.  Primes are very useful for the cryptology community and you could 'give something back' to the general space.  Also the computation gets increasingly more difficult as you move along the set of primes.  There are many techniques, really a whole field of study about how to ascertain these numbers.  The set of primes remains one of the more mysterious corners of mathematics.  We really don't know much about them.

  http://140.177.205.23/PrimeSpiral.html

  http://en.wikipedia.org/wiki/List_of_distributed_computing_projects

  If you got rid of the nonce, and just had a prime number in the block, then hash it- you would basically be giving away all the coins for the entire list of known primes.  If you combined it with a nonce/hash scheme then you would introduce some difficulty.  Also another approach is to start the genesis block with the LAST KNOWN PRIME.  The real 'value' is in the primes that come AFTER the list of known primes.  A fun idea would be to create a altchain with no BLOCK NONCE( just the prime number ), the EFF buys them all- then whoever discovers successive primes also generates ownership in this currency.  Of course the EFF in the meantime can use this asset to do things like fundraising, etc.

  -bm


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: jackjack on June 16, 2013, 05:54:23 PM
The problem is that mining requires a work that is hard to find but easy to verify.
Prime numbers don't work because finding one is as difficult as verifying it's prime
 


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 06:31:12 PM
The problem is that mining requires a work that is hard to find but easy to verify.
Prime numbers don't work because finding one is as difficult as verifying it's prime
 

generally that is true, but consider that once a prime is found and verified then there is little dispute that it is indeed a prime.  The idea wouldn't work like regular Bitcoin, instead it must appeal to some kind of authority that says it prime.  Of course the P2P fanatics will claim that's 'centralized' but you couldn't pass of a non-prime as a prime, right?  If someone found a composite to the pseudoprime then they lose their block.  It's a just a fanciful thought at this point :)  Just want to put all these computers to work on something useful.  Seems primes are discovered in batches so I dont expect new primes to be discovered on a regular basis.

It would be something like the nobel prize.  If you discover a new prime you get a block reward.  Imagine we harnessed the power of all these mining rigs and the best mathematicians to solve some of the mysteries of mathematics?



Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 06:53:13 PM

 so given that, we have our work cut out for us:

  what functions are:

  1) HARD TO COMPUTE

  2) EASY TO VERIFY

  3) USEFUL?


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Trongersoll on June 16, 2013, 07:00:17 PM
Who cares if what we do is perceived as being useful. "Useful" is a matter of opinion. I find having Bitcoins to spend quite useful. I found burning out two cpu's while folding@home not quite so useful. Wanting to contribute to the greater good is all nice and dandy, but i see no need for it here. You want to help the world? find away to cut the population in half without killing anyone. that would be a help.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 16, 2013, 07:08:55 PM
Maybe something along the lines of OCR or rendering... another requirement that you missed:

4) HAVE ABUNDANT INPUT

If you have to wait to mine until there is some work available agin or if you first have to download gigabytes of scene data and textures (or protein folding data) just to do PoW there might be issues.

Ideally you can generate your work yourself, just like with the current "find a hash value that is lower than X" PoW.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 07:09:55 PM
Who cares if what we do is perceived as being useful. "Useful" is a matter of opinion. I find having Bitcoins to spend quite useful. I found burning out two cpu's while folding@home not quite so useful. Wanting to contribute to the greater good is all nice and dandy, but i see no need for it here. You want to help the world? find away to cut the population in half without killing anyone. that would be a help.

Wow thank you so much for that inspiring sentiment.

Any zero-use commodity in history eventually converted into a zero-value commodity.  There have even been commodities with negligible use, such as tulip bulbs, that eventually had a collapse in price.  They were useful in so far as they were transportable(in much the same way that BTC are easily transferable over the net).  At the time of Tulip Mania, there was quite a demand for forms of wealth which could be loaded onto ships, transported to eg. New Amsterdam in the new world, and then converted into more useful assets like farmland.  However, eventually the market became saturated as the production of such zero-use commodities proliferated.  People were 'mining' tulip bulbs left and right, a good portion of the Dutch economy was geared towards growing tulips!  How silly of them.  Of course they argued that these things were great because they looked nice in your garden, thus had value, and more importantly they had EXCHANGE value- so why argue with it?

Eventually people who invested heavily in tulip mania lost everything.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 07:13:09 PM
Maybe something along the lines of OCR or rendering... another requirement that you missed:

4) HAVE ABUNDANT INPUT

If you have to wait to mine until there is some work available agin or if you first have to download gigabytes of scene data and textures (or protein folding data) just to do PoW there might be issues.

Ideally you can generate your work yourself, just like with the current "find a hash value that is lower than X" PoW.

Sukrim, that's right!

have a look at the list of distributed computing projects, there's plenty of data to crunch out there.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 16, 2013, 07:19:18 PM
Maybe something along the lines of OCR or rendering... another requirement that you missed:

4) HAVE ABUNDANT INPUT

If you have to wait to mine until there is some work available agin or if you first have to download gigabytes of scene data and textures (or protein folding data) just to do PoW there might be issues.

Ideally you can generate your work yourself, just like with the current "find a hash value that is lower than X" PoW.

Sukrim, that's right!

have a look at the list of distributed computing projects, there's plenty of data to crunch out there.

Yes, but I rarely can generate that data on my own (well maybe finding large primes, but that is hard to verify). Usually I get a work unit and crunch it over a day or more while reporting progress. Also many projects might even give the same WU to several users to let them verify each other.

Please have a look yourself and give examples of some that actually fulfill these criteria... I'm not interested in burning money and generating heat on a barely optimized machine to do some work that could be done much cheaper in a proper data center aka most distributed computing projects.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 07:25:33 PM
Hold on here, lets pull back for a minute and think about what were talking about here.

So basically what Im suggesting is make a coin that awards a miner for doing USEFUL work- e.g searching for extraterrestrial life.

If you compute the data, its verified somehow that you've done it, then you get the block and the reward.

is it valuable?  in this case SETI should make it valuable.  For example you can use this coin to gain access to The Vanderbuilt Planetarium.  You can use it to purchase Hubble Space Posters, etc.  Thus there is a DEMAND for it.  Once we have DEMAND, we have VALUE.

Once it has some kind of value, then it also has an exchange rate, and for instance our friend here can use it to eg. purchase pornography on Silk Road.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 16, 2013, 07:32:40 PM
I also would rather have someone pay me in Bitcoin (e.g. via these constantly adjusting microtransactions) for running a "useful" program than have this program generate bitcoins themselves.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 07:34:39 PM
I also would rather have someone pay me in Bitcoin (e.g. via these constantly adjusting microtransactions) for running a "useful" program than have this program generate bitcoins themselves.

that would perform a similar function, however this is more 'free market'.  Youre making a market for computation.

the problem with Bitcoin is that there is nothing keeping the price afloat.  As many have explained, USD are valuable for more than simply FIAT, they are LEGAL TENDER, which is supported by our justice system.  If there is a dispute about payment, then we appeal to our court to settle this dispute.  Bitcoin has NONE of that.  Secondly the value of a USD(presently) is related to the debt and good credit of the United States Government and the Federal Reserve.  Ultimately, it's worth resides in these places.  Again, Bitcoin has none of these qualities.

so Bitcoin is, seemingly, a self-creating value loop.  It technically *shouldn't* have any value.  Perhaps there is some other party that is 'pumping' up the value, and fooling uneducated individuals into THINKING it's valuable?


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Garrett Burgwardt on June 16, 2013, 08:17:18 PM
http://bitcoin.stackexchange.com/questions/5617/why-are-bitcoin-calculation-useless/5618#5618

This has been done to death, and unless you come up with something absolutely unprecedented, there's no way to have bitcoin calculations be based on your "useful" computation (F@H, SETI, etc).

Seriously, search is here for a reason. Worse, you don't appear to know how bitcoin's underlying technology works. I recommend you do some studying.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 16, 2013, 08:32:18 PM
http://bitcoin.stackexchange.com/questions/5617/why-are-bitcoin-calculation-useless/5618#5618

This has been done to death, and unless you come up with something absolutely unprecedented, there's no way to have bitcoin calculations be based on your "useful" computation (F@H, SETI, etc).

Seriously, search is here for a reason. Worse, you don't appear to know how bitcoin's underlying technology works. I recommend you do some studying.

"There should not be any central source that affects the types of calculations"

problem is that the Bitcoin is longer truly decentralized, so we've compromised this feature already- thus this particular requirement is possibly no longer relevant.

Seems you're not aware of these details about Bitcoin.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Loozik on June 17, 2013, 12:46:38 AM
 Why don't we require some sort of useful computation in each Bitcoin block?

  For instance each block must include a successive prime number.

PRIMECOIN. I like it  :)


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: jaywaka2713 on June 17, 2013, 01:14:52 AM
Instead of submitting a hash or some form of data, why not form a large p2p network, but one that operates like a server. Much like the Amazon EC2 servers, except a p2p version. People could come to "rent" time to the server and pay in Bitcoin. Those who "mine", or contribute compute power to the server get a proportional share of the payment.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 17, 2013, 07:46:29 AM
Do you like to spread viruses, spam and worse? Because that's what's going to happen.

Also you are responsible for what happens at your internet connection, if you don't secure your wireless network and your neighbor downloads the latest movies, you have to pay and then can try to sure the neighbor after.
Now imagine this situation with attacks on us infrastructure (classified as act of war by the us regime!) originating from you. They don't send letters, they send drones.

Also, would you use this platform where every node can actually just do a memory dump and extract any private keys you use? You trust Amazon to not do this - do you trust me?


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 18, 2013, 05:38:59 PM

the idea is this.

Instead of having hundreds of thousands of CPUs wizzing away at pointless SHA computations, we can use this principle of Proof Of Work to do something USEFUL.

these distributed computing projects need only modify their service slightly.  If you compute something useful for them, then:  they offer to sign your block, or give you a token you can use to create a block

this becomes your Proof of Work.  The coin founders can decide what various programs are eligible and which ones are not, they can also determine what your block reward is.

YES, it violates the principle of decentralization, because you MUST get the signature of eg. SETI on your block for it to be valid, however it DOES fulfill all the other requirements for proof-of-work.  It would optimally be a program that various distributed computing projects can participate in.  It offers us a sort of decentralization, just not perfect decentralization(SHA256/nonce scheme is superior in this sense because it does not require a complex system to validate).

Thus we can have a PoW based currency that produces something useful.  The coins have REAL WORLD VALUE that could even be backed by the programs themselves(some of them offer real payouts).  We could solve major computing problems in a distributed and attractive way with this program.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: TalkingAntColony on June 18, 2013, 07:21:52 PM
How would these distributed computing projects know if someone is cheating? Ex compute fake SETI analysis which takes much less CPU time than real analysis. This is not a problem currently because there is no incentive to fake work in these computing projects. Once people get money to do it, there will be an incentive.

This is why proof of work is easy to verify.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 18, 2013, 07:24:27 PM
My assumption here is that they cannot be faked.  Some projects pay for computation, why don't people game those systems?


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: a.denis1 on June 18, 2013, 07:54:50 PM
Who cares if what we do is perceived as being useful. "Useful" is a matter of opinion. I find having Bitcoins to spend quite useful. I found burning out two cpu's while folding@home not quite so useful. Wanting to contribute to the greater good is all nice and dandy, but i see no need for it here. You want to help the world? find away to cut the population in half without killing anyone. that would be a help.

It care if the result of the copmputation is useful because this is the difference from bitcoins and gold I can use the gold also for its intrinsic value ( building electronic circuits etc...) I can not use the result of the computation of bitcoins except as coins


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: TalkingAntColony on June 18, 2013, 08:20:23 PM
My assumption here is that they cannot be faked.  Some projects pay for computation, why don't people game those systems?

It's not a good idea to have an idea rely upon "if it hasn't been done, it can't be done."

The only system I can find that openly pays for CPU time is cpusage.com

There is no discussion on how they secure against cheaters. In principle, they cannot verify the result of an arbitrary computation without themselves performing the computation. It is likely the client is not open source because it would be too easy to cheat.

Folding@Home keeps the client closed source because it would enable easy cheating. I doubt anyone would trust a closed source coin.



Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 18, 2013, 10:22:29 PM
It care if the result of the copmputation is useful because this is the difference from bitcoins and gold I can use the gold also for its intrinsic value ( building electronic circuits etc...) I can not use the result of the computation of bitcoins except as coins

...which is a good thing in my opinion, as you have no other incentives (or disincentives!) to mine bitcoins than to use them. Otherwise you might have additional incentives that might not be related to Bitcoin at all.

Some projects pay for computation, why don't people game those systems?
Which? Links? I don't know of any project where you can earn even remotely as much as Bitcoin and only a few peojects (most which probably mine Bitcoins and pay out a small amount of the earnings) that pay anything.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: coinedBit on June 18, 2013, 11:23:54 PM
DNA sequencing


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 18, 2013, 11:50:39 PM
Where do you get the data from (decentralized)? there are a LOT of projects that could benefit from a Bitcoin enabled client that pays for work done instead of mining. DNA sequencing is highly unlikely to replace SHA256(SHA256(header)) brute forcing in the block chain though.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Qwedcxza1 on June 19, 2013, 12:55:52 AM
The problem is that mining requires a work that is hard to find but easy to verify.
Prime numbers don't work because finding one is as difficult as verifying it's prime
 

I've already discussed this idea on another thread

https://bitcointalk.org/index.php?topic=233750.msg2509289#msg2509289

There are ways of reconstructing the problem so that it satisfies the pow requirements such as changing the problem to finding a factor of a large number.
 


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 19, 2013, 01:29:52 AM
The problem is that mining requires a work that is hard to find but easy to verify.
Prime numbers don't work because finding one is as difficult as verifying it's prime
 

I've already discussed this idea on another thread

https://bitcointalk.org/index.php?topic=233750.msg2509289#msg2509289

There are ways of reconstructing the problem so that it satisfies the pow requirements such as changing the problem to finding a factor of a large number.
 


you basically restated what I suggest at the beginning of this thread, but two days later.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: klm@hush.com on June 19, 2013, 01:33:54 AM
I like and would support your idea very much.  It can't be done with Bitcoin though--because every time you mention this idea, the senior members reply (often derisively as you have seen)--that basically it can't be done and that besides, the computing power thrown at Bitcoin is useful enough in its own right in that it creates a beneficial new world economic order.  

But that doesn't mean it can't be done!

I have there concluded, after following these threads with much chagrin, that those of us who support this idea should not bring it up in a general way as something Bitcoin should become.  Rather we should seek support to start an Alt coin with these principals..  The vested interests of this community will not support it because it can't (according to them) be done within the framework of Bitcoin and Bitcoin, according to them, doesn't need it anyway to justify its existence.  Which is really short hand for it can't be done within the design parameters of the model and it wasn't the goal anyway--so stop trying to rock the boat with these ideas.

I say that if one wants a crypto currency to catch on globally --one which fulfills the goals of Bitcoin economics, that something more useful must be done with the mining computing power--in addition to the usefulness the mining process itself bestows to the model.

So it can only be done by designing a new coin from scratch with precisely the goals the author of this thread has put forth.

Such a coin would be the ultimate last large one standing because it would be conceptually much more easy to sell the idea to the public and it would clean up the "Silk Road" image cryptocoins have had from the start --it might even soften government oppression of the project.  It is the one new thing an new Alt coin can bring to the table!

My gut tells me, by the nature of how much this topic bugs the senior members--that the idea is worthy enough to really be a threat to Bitcoin.  I say this because enough people have said it can be done, and because there is such a loud lobby against it within the community.

Please read up on the threads in which individuals have volunteered expertise.

The recent thread below, I recall, had a link to another post in which someone spoke with some seeming authority on the feasibility.  The thread also included a lot of the typical panning this idea gets from very senior members.

can mining algorithyms be changed to benefit humanity
https://bitcointalk.org/index.php?topic=232106.msg2443496#msg2443496

So if one is interested in developing a, let us say "Boincoin" (after the Berkley organization which was behind mainlining crowd computing for research purposes--I think we should approach the organizations who could benefit--while we look for technical expert individual volunteers now with Botcoin--but who have the vision to expand the project-- to come up with a way to make it happen.  Do this not as Bitcoin enthusiasts in particular--but as crypto currency enthusiasts looking for a better model.


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 19, 2013, 01:59:15 AM
Hi Klm,

  Most of the criticisms offered on this thread are valid(more or less).  Sukrim has made some good points.

  Proof of Work, is a concept that is designed to solve the problem of an unbounded consensus.  In order to implement a Block Chain, you must have some way to determining consensus on what chain is the right one(because it can be forked).  So there are many ways we can get this consensus.  I came up with an alternative idea called Confidence Chains for instance.  The way Bitcoin solves it is to say 1 VOTE PER CPU(rather than maybe 1 vote per IP address).  That way, the theory goes, you cannot have sybil attacks and the network cannot be overpowered.  This is a good paper on why there are problems with this approach: http://www.links.org/files/decentralised-currencies.pdf
  
  There are other ways to prove you have a CPU.  For instance finding factors of large numbers.  There are other requirements that must be fulfilled however.  For instance *easy to verify*, that for instance prime number generation doesn't necessarily offer.

  I'm just posing the problem and putting it out there and see what kind of response there is.  That's about it- my intentions are pretty innocent really.  I think some of the frustrations are that this issue has been raised before.

  Thanks for your positive thoughts!

 -bm


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Qwedcxza1 on June 19, 2013, 02:10:58 AM


you basically restated what I suggest at the beginning of this thread, but two days later.

Apologies, wasn't intentional, I just came across this and thought you'd done the same to me but I see your post was earlier



Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Sukrim on June 19, 2013, 02:30:25 AM
I'm by far against this idea, however I have 2 reservations against "useful PoW algorithms" (other than it being a constant topic bubbling up every quarter or so, when another article writer pulls out some numbers out of his/her rear end and claims a network electrcity waste of x gazillion megawatts):

1) If PoW is useful for some applications (let's say the "primecoin" example works because somehow it is magically easy to verify that a number is prime once you know it) this gives different incentives and might also give some disincentives (what if these large primes are used to encrypt launch codes for nuclear weapons?) other than simply generating and receiving bitcoins while securing the block chain. Look at these silve quarter coins in the US for example on how a wrong incentive can look like - people are using them no longer as money but as pieces of precious metal. Why would a miner then even include transactions in a bitcoin block, if he's only interested in getting more large prime numbers?

2) I often (really often!) see claims that it can be done somehow, still I have yet to see even suggestions on what would be something that can even remotely be used as PoW without being debunkable as not being usable or not being useful within a minute.

For example my suggestion for something useful would be "predictioncoin" where you can predict what value a certain observable (e.g. stock markets, forex markets, if you have very slow blocks also weather) will have at a certain point in the future. Transactions are then finalized after the prediction has been evaluated. This is useful because the trend of these predictions themselves can also be useful, it is distributable because you can come up with your own way on how you predict the future and what kind of info you use and it is also realtively easy verifiable.
Still there are issues with central authorities, stock markets can go down, you have to trust the person doing the actual measurement etc.
An easy start would be to bet on the difficulty of the Bitcoin block chain one retarget after the next retarget. Then again this is not very useful but at least quite verifiable and relatively hard to influence.

Anyways, usefulness is also something subjective, I bet there are a LOT of people out there that think that finding large primes is not at all useful or that generating cat videos would be far more useful... ;)


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: bluemeanie1 on June 19, 2013, 02:48:18 AM
let's say the "primecoin" example works because somehow it is magically easy to verify that a number is prime once you know it.

no but it's easy to determine that you've found a FACTOR to a number.

what if these large primes are used to encrypt launch codes for nuclear weapons?

LOL.

Why would a miner then even include transactions in a bitcoin block, if he's only interested in getting more large prime numbers?

presumably it would have to include some features of vanilla Bitcoin.

-bm


Title: Re: Make Bitcoin More Valuable with Distributed Computing Projects?
Post by: Explodicle on June 19, 2013, 04:19:02 AM
Would it be possible to create a finite element solving (http://en.wikipedia.org/wiki/Finite_element_method) altcoin? Imagine a transaction type which describes an FEA-solvable problem, like "what does this bowling ball do to this windshield?" The difficulty of a problem might be approximated by coarse preliminary iterations, and this would determine how much error is acceptable in a solution for it to be allowed in a block. Customers who want more simulation quality would create transactions requesting more iterations of a problem already started in an earlier block.

Bonus points if it uses homomorphic encryption (http://en.wikipedia.org/wiki/Homomorphic_encryption), since a lot of FEA is done for private research. I'd also like a pony.

The first drawback is that even a very simple real-life FEA has a large file size and is harder to verify than a simple hash. It would be difficult for small miners to enter the market and typical users would require a thin client. I haven't really thought this through, so the math and economics might not work either - I'm just throwing the idea out there.  ;D