Bitcoin Forum
July 07, 2024, 11:38:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Has Bitcoin Mining Differed From What Satoshi Intended?  (Read 1389 times)
Bitcoinm (OP)
Member
**
Offline Offline

Activity: 87
Merit: 10



View Profile
April 06, 2013, 06:00:30 PM
 #1

So the way Bitcoin worked in the early days is you would download your Bitcoin-qt client, download the entire blockchain, and then start mining coins/processing transactions while running the software.  This was extremely sensible because anyone who was using Bitcoin was also strengthening the transactions and creating additional nodes with which to verify the blockchain.  When computers increased in power, and more users started using Bitcoin, the difficulty would increase and everyone would get less coins.

However, as we know this is very different from the situation we have today.  Luckily many Bitcoin sites operate an up-to-date Bitcoin-qt client with the full blockchain, and some users do as well, but for the majority of Bitcoin users, storing the entire blockchain is not convenient.  Even further, mining has now become so specialized that a home computer can only capture a negligible amount of hash power.  Think of this: not only is it inconvenient to mine independently (nearly everyone mining is part of a pool), but even further most individuals cannot mine nearly at all.

So my question is... do we like this, or were things intended to work a bit differently?
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


View Profile
April 06, 2013, 07:31:34 PM
 #2

He referred to people using GPU miners very early on, back in 2009. I don't think he anticipated pools, but never had much comment on it when they did exist and he was around.

He once said this to me in a private email:

Quote
Client is a less daunting challenge than full implementation.  If it's within reach of more developers, they'll come up with more polished UI and other things I didn't think of.  I expect the original software will become the industrial old thing used by GPU farms and pool servers.

BTW, later a good feature for a client version is to keep your private keys encrypted and you give your password each time you send.

So he didn't seem to care much about pooling.

Later in the same thread, he said this:

Quote
The simplified payment verification in the paper imagined you would receive transactions directly, as with sending to IP address which nobody uses, or a node would index all transactions by public key and you could download them like downloading mail from a mail server.

Instead, I think client-only nodes should receive full blocks so they can scan them for their own transactions.  They don't need to store them or index them.  For the initial download, they only need to download headers, since there couldn't be any payments before the first time the program was run (a header download command was added in 0.3.18).  From then on, they download full blocks (but only store the headers).

....

With very high transaction volume, network nodes would consolidate and there would be more pooled mining and GPU farms, and users would run client-only.  With dev work on optimising and parallelising, it can keep scaling up.

(this was in response to a question about scaling and block sizes in spv mode)

He clearly wasn't worried about network nodes consolidating and people shifting to SPV. We actually ended up with something in between his two ideas for how SPV would work ... every node maintaining an index of every pubkey turned out to be quite expensive, but so did downloading the full contents of every block, so we split the difference with Bloom filtering.
Killdozer
Full Member
***
Offline Offline

Activity: 203
Merit: 100



View Profile
April 06, 2013, 08:00:42 PM
 #3

Who cares who and how intended what? It's an open source project, and as such, it is not created once and then used, it evolves over time, by the community. There is the current state and there are changes that could be done.

forbun
Member
**
Offline Offline

Activity: 107
Merit: 10


View Profile WWW
April 06, 2013, 08:44:47 PM
 #4

Although it would be ideal for everyone in the world to participate in generating coins, I think the limitation is technical. There's no way, technologically speaking, for this to be practical. People will figure out a way to create custom optimized hardware for mining, and large farms will eventually become dominant -- unfortunately.

What name would you give to the smallest unit of bitcoin (0.00000001)? sat. What name would you give to 100 sats? bit. 1 bit = 1 uBTC. 1,000,000 bits = 1 BTC. It's bits
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!