Bitcoin Forum
November 02, 2024, 06:38:41 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin Generation and Alternative Applications  (Read 13919 times)
RHorning (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
July 12, 2010, 09:02:46 PM
 #1

I've been trying to go over the algorithm for coin generation, and I still don't get it even after reading the PDF file, the FAQ, and the source code for where it is apparently generated.  Please correct me if I'm wrong here:

Bitcoin generation is restricted due to the fact that the method of generating the coin in the first place is a computationally difficult task that consumes many CPU clock cycles and therefore only can be generated slowly by participating nodes on the network.

I guess I'm having problems seeing where this algorithm is necessarily all that difficult and can't be sped up in some manner where a dedicated coin generator wouldn't have a huge advantage over a normal ordinary client in terms of the creation of Bitcoins.  It would have to take requests from other nodes to "look legitimate", but the creation of the currency seems like a major technical hole in the algorithm.

I'm looking at this through the perspective of perhaps implementing a network similar to this, but for the purposes of perhaps a distributed MMORPG where the coins, monsters, resources, and objects found within the game are allocated in a decentralized manner.  A distributed game has the advantage of not relying upon a central server to perform the bookkeeping functions and allows a more natural economic model to emerge.  It also allows for an "open source" model for client development... something that doesn't work when the development model is security through obscurity.

There is nothing special about a particular monetary unit, such as a bitcoin, and it certainly could represent Linden Dollars, Pounds Sterling, or some other monetary unit as well or even describing some unit of a commodity.  In terms of a role playing game of some sort, resources or alternate currencies need to have some sort of scarcity in order to keep a "cheater" hack of the game from destroying the economy.  Try as you might, you can't keep real-world money from interacting with virtual currencies, even if that is an explicit goal of the software developers.  I know of several companies who have tried (notably Bilzzard and Jagex).  I just think the Bitcoin generation system is an effective means of developing a network of clients in a shared virtual reality that could even offer persistent interaction without the need of a server.

I've seen much in the way of hackers that have gone on to wreck on-line games, and indeed I would argue that the development of a virtual economy would do wonders to bullet proof the eventual deployment of something like Bitcoins as an alternative currency.  It is sad to say, but some kids are more concerned about trying to get 1 million coins for World of Warcraft than they are to get 1 million dollars.

With all of this, I'm just trying to understand the Bitcoin generation process a little more thoroughly, and perhaps have somebody who really understands it to explain what is going on in the first place.
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2301


Chief Scientist


View Profile WWW
July 12, 2010, 09:30:21 PM
Merited by bones261 (1)
 #2

I guess I'm having problems seeing where this algorithm is necessarily all that difficult and can't be sped up in some manner where a dedicated coin generator wouldn't have a huge advantage over a normal ordinary client in terms of the creation of Bitcoins.

Sure, you could build specialized hardware that computed SHA256 hashes faster than ANYBODY!
And then you'd be able to generate most of the bitcoins.

So:  how much would it cost you, in dollars or euros-- and don't forget to pay yourself for the time needed to design and build such a system?

Because you'd be able to generate, at most, 50 bitcoins every 10 minutes or so.  Soon after you started generating, all the other nodes on the network notice that bitcoins are being generated quicker than normal and increase the difficulty of the problem being solved (you've gotta twiddle the block header more times to find SHA256Hash(block_header) < target_value ).

If Bitcoins become even more wildly popular, then maybe people will think they can profit by building or renting specialized hardware.  That would be a very good problem for Bitcoin to have.

How often do you get the chance to work on a potentially world-changing project?
RHorning (OP)
Full Member
***
Offline Offline

Activity: 224
Merit: 141


View Profile
July 13, 2010, 12:47:10 AM
 #3

I guess the hope here is that something like Shor's algorithm isn't discovered that would make this a trivial calculation with either some new kind of computational equipment (like quantum computing in that case) or discovering some method to perform the calculation faster (like happens with many calculations of Pi that seem to be improving over time).

Computers will get faster and faster, but the difficulty level in bitcoin automatically increases with time. It is much easier to gain wealth in bitcoins by selling goods or services in exchange for them. Think of bitcoins like gold. You could mine some yourself with time and effort, or you can trade for gold. Right?

Considering my family owned a gold mine in Oregon for awhile, my personal history is such that hauling the ore out of the ground isn't completely out of the question either.  Then again, the saying goes that far more money goes into the ground than ever gets out.

Considering some of the connections I have to some electrical engineers and software developers, I certainly could put together such a dedicated system built with some kind of FPGA creating Bitcoins on dedicated hardware that would spit back the results to some computer, where the marginal cost per processor would be on the order of a dozen dollars or so, minimal electrical costs, with an overall cost of perhaps a couple thousand dollars in terms of engineering time and rough development costs (ignoring overhead and management issues as it would be friends involved here as a hobby project).  I'd likely have some sort of USB connection to report the results from this hardware.

BTW, thanks for the explanation here and it pretty much confirms what I thought was going on.  There might be a few people who would get more bitcoins than others, but as has been pointed out it would be a self-defeating process too.  Even a concerted effort with dedicated hardware will eventually become unprofitable and really only is useful as the network is getting established in the first place, and presumes that the alternative currency will catch on and be useful to others.
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2384


View Profile
July 13, 2010, 02:09:54 AM
 #4

Those with more computing resources will generate a larger portion of bitcoins over time but it is definitely not a maintainable thing as the algorithm adjusts difficulty in response to how fast the generation gets and it can only get slower thus limiting supply even if a lot of compute power is added.

BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!