Pages:
Author

Topic: Remove "generate bitcoins" from standard client? (Read 17985 times)

legendary
Activity: 1120
Merit: 1012
February 12, 2014, 08:06:35 PM
#99
I agree that a "proceed with caution" for mining bitcoins using a CPU vs using a GPU or any other processor should be a notice to those who wish to mine whether they mine for profit or to "help the community by running the Full-Bitcoin client" (Bitcoin.org/en/Choose-your-wallet).

Moreover, I agree that mining should be explained. However, I whole-heartedly disagree that "there's no need to tease every user with the option [mining] when a tiny fraction of them will be using it" (dsg: quote #5). If only a tiny fraction ... will be using it, then what is the problem if every user is teased? Also, I am appalled at "the thing I'm most worried about is people will start mining ... and will push more efficient & competent miners out of the market" (quote #9). Really, these comments explain why in 2014 people believe Bitcoin is a Madoff scam. For example, I have the Full-Bitcoin client and every inquiry or question I pose about solo Bitcoin mining (especially, "getgenerate" and/or "setgenerate [genproclimit]) I get responses "you won't make money by solo mining - join a pool." Yet, despite Satoshi warning us against third-party sites, it's apparent those responses are from those who have a capitalist centralized mentality because I get those responses despite posting I want to solo mine regardless my intentions. If I am helping the Community then I should be allowed to participate in solo-mining whether I do it for profit, a Satoshi, or do it because I can leave my system running the Full-Client 24/7.

I thought from reading Satoshi's genesis paper that Bitcoin was a peer2peer currency for those who participate in the network. It's people with these centralized ideas based on greed is why government regulation needs to be involved. Hell, if Bitinstant.com was up and running, then I could had easily invested my U.S. Fiat to purchase bitcoins via CVS or Walmart. Just think about the people who lost there. And let's not forget those who lost bitcoins using exchanges that I've read about that were hacked.

Satoshi, if you read this - please post instructions for solo-mining for those of us who are using the Full-Client. I have a AMD graphics card and I want to solo-mine, not merely for profit, but to help the community because I am running Bitcoin-QT from a computer that I can run 24/7. I am not a computer programming geek but I do hold a Master Degree in Business and have computer skills that if I need to create a Bitcoin.config file I can. I just do not understand how to use the functions in the Bitcoin-QT Debug Window:console. However, what's the use of running Bitcoin-QT 24/7 if these capitalists centralized greedy minds you have left in charge keep telling you what not to do instead of how to do it?

There is a decentralized pool model called P2Pool. It gives the network all the benefits of you solo mining, but shares the reward variance reduction of a traditional pool.

Most people say, "don't solo mine" because the chances of you actually finding a block with a single AMD graphics card is so low that you will simply be throwing money away (electricity). I don't think they are being "capitalist centralized greedy minds" so much as they are being realistic.

Anyway, get the best of both worlds while sticking to the decentralized ideals behind Bitcoin. Use P2Pool. (Although, you probably still won't earn anything.)

Here is a guide for P2Pool: https://bitcointalksearch.org/topic/a-guide-for-mining-efficiently-on-p2pool-includes-fud-repellent-and-faq-153232

The actual P2Pool thread: https://bitcointalksearch.org/topic/1500-th-p2pool-decentralized-dos-resistant-hop-proof-pool-18313

By the way, I am a greedy capitalist and I don't like centralization, so maybe relax with the generalizations.
newbie
Activity: 7
Merit: 0
I agree that a "proceed with caution" for mining bitcoins using a CPU vs using a GPU or any other processor should be a notice to those who wish to mine whether they mine for profit or to "help the community by running the Full-Bitcoin client" (Bitcoin.org/en/Choose-your-wallet).

Moreover, I agree that mining should be explained. However, I whole-heartedly disagree that "there's no need to tease every user with the option [mining] when a tiny fraction of them will be using it" (dsg: quote #5). If only a tiny fraction ... will be using it, then what is the problem if every user is teased? Also, I am appalled at "the thing I'm most worried about is people will start mining ... and will push more efficient & competent miners out of the market" (quote #9). Really, these comments explain why in 2014 people believe Bitcoin is a Madoff scam. For example, I have the Full-Bitcoin client and every inquiry or question I pose about solo Bitcoin mining (especially, "getgenerate" and/or "setgenerate [genproclimit]) I get responses "you won't make money by solo mining - join a pool." Yet, despite Satoshi warning us against third-party sites, it's apparent those responses are from those who have a capitalist centralized mentality because I get those responses despite posting I want to solo mine regardless my intentions. If I am helping the Community then I should be allowed to participate in solo-mining whether I do it for profit, a Satoshi, or do it because I can leave my system running the Full-Client 24/7.

I thought from reading Satoshi's genesis paper that Bitcoin was a peer2peer currency for those who participate in the network. It's people with these centralized ideas based on greed is why government regulation needs to be involved. Hell, if Bitinstant.com was up and running, then I could had easily invested my U.S. Fiat to purchase bitcoins via CVS or Walmart. Just think about the people who lost there. And let's not forget those who lost bitcoins using exchanges that I've read about that were hacked.

Satoshi, if you read this - please post instructions for solo-mining for those of us who are using the Full-Client. I have a AMD graphics card and I want to solo-mine, not merely for profit, but to help the community because I am running Bitcoin-QT from a computer that I can run 24/7. I am not a computer programming geek but I do hold a Master Degree in Business and have computer skills that if I need to create a Bitcoin.config file I can. I just do not understand how to use the functions in the Bitcoin-QT Debug Window:console. However, what's the use of running Bitcoin-QT 24/7 if these capitalists centralized greedy minds you have left in charge keep telling you what not to do instead of how to do it?
legendary
Activity: 1708
Merit: 1010

The alternative would be leaving miner code in the default client, and either only make it accessible through RPC, or at least rename the option in the GUI ("Verify transactions", or "Support network", or "Generate blocks", but not "Generate coins") and show a warning that it may take ages.


I'm okay with this.  I would agree that calling it "generate coins" gives the user the wrong idea.  "Support Network" or "Donate CPU Cycles" would be a better option, and it should be buried deeper into the menu and not on the main GUI screen by default.  But I do think that it should remain on the vanilla client.
legendary
Activity: 1072
Merit: 1189
I'm not sure what is best. On one hand, I think the "generate coins" option gives both the wrong impression (either "bitcoin = free money!", or "bitcoin = worthless, people can generate it themselves!") and gives people false hope ("what the fuck? it takes 137 years to generate something?! Bye"). On the other hand, the idea of mining may attract people to become involved (like myself...).

I am quite sure though that a "Generate coins" flag in the UI is a bad idea. The only reasonable thing to use it for is testnet, and people who need that, typically don't need a GUI flag. I'm in favor of removing the miner code from the default client, but have an simple reference RPC miner as a separate binary included in the distribution. Ideally, this program should look at the nBits field in the received work units, and give an estimate of expected BTC/time and time/block. Some explanation in a mining.txt file may be useful as well.

The alternative would be leaving miner code in the default client, and either only make it accessible through RPC, or at least rename the option in the GUI ("Verify transactions", or "Support network", or "Generate blocks", but not "Generate coins") and show a warning that it may take ages.


hero member
Activity: 540
Merit: 500
But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.

Although there will be 'lightweight' clients in the future, most likely those will be on consumer devices without the capacity to support a full client.  Future users of Bitcoin are as likely to have a client running on portable devices and home computers.  There is no reason to expect that future users are going to prefer lightweight clients on personal computers.
If Bitcoin is successful, a personal computer with a standard internet connection will not be able to download all the transaction data. These projections talk about an 8 Gbit/s link. My understanding is that only mining companies will have full nodes.
- 8 Gbit/s during 1mn and nothing sent during the other 9 minuts.

Quote
It's also possible to optimize the protocol somewhat. A solved block could be broadcast as only its header and merkle tree. Nodes would then check the transaction hashes against their own in-memory lists. If a block contains a transaction the node did not see for some reason, it'd then request only those transactions. For the common case of a node with good, 24/7 network connectivity, this would reduce the size of block broadcasts dramatically.
With this "small" optimisation, in the worst case, you will receive/send 2000 transaction/s from/to 50 nodes (2'000*1kB*50) per second + a list of transaction's hashes with a block "header" each 10mn (~50*2000 + ~500). So, in 10 to 100 years, you will need 1Gbps/s duplex to be a supernode, with a single optimisation. Wow, impressive :p
legendary
Activity: 980
Merit: 1020
Perhaps only mining companies will have their clients set to run as full nodes; but even if end users don't want their client running in full node mode, doesn't conclude that it won't have the capacity to do so at the user's will.  Those projections are highly speculative anyway, and depend upon the dual assumption that Bitcoin grows to nation-state-economy levels while never developing parrallel systems to mitigate traffic along the way.  Large assumptions, particularly since mitigating systems have already been considered by this forum.

We're also assuming that our internet connection won't get faster.
legendary
Activity: 1708
Merit: 1010
But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.

Although there will be 'lightweight' clients in the future, most likely those will be on consumer devices without the capacity to support a full client.  Future users of Bitcoin are as likely to have a client running on portable devices and home computers.  There is no reason to expect that future users are going to prefer lightweight clients on personal computers.
If Bitcoin is successful, a personal computer with a standard internet connection will not be able to download all the transaction data. These projections talk about an 8 Gbit/s link. My understanding is that only mining companies will have full nodes.

Perhaps only mining companies will have their clients set to run as full nodes; but even if end users don't want their client running in full node mode, doesn't conclude that it won't have the capacity to do so at the user's will.  Those projections are highly speculative anyway, and depend upon the dual assumption that Bitcoin grows to nation-state-economy levels while never developing parrallel systems to mitigate traffic along the way.  Large assumptions, particularly since mitigating systems have already been considered by this forum.
donator
Activity: 2058
Merit: 1054
But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.

Although there will be 'lightweight' clients in the future, most likely those will be on consumer devices without the capacity to support a full client.  Future users of Bitcoin are as likely to have a client running on portable devices and home computers.  There is no reason to expect that future users are going to prefer lightweight clients on personal computers.
If Bitcoin is successful, a personal computer with a standard internet connection will not be able to download all the transaction data. These projections talk about an 8 Gbit/s link. My understanding is that only mining companies will have full nodes.
legendary
Activity: 1708
Merit: 1010

 but you must have the entire block chain to accept Bitcoins, otherwise you can't protect yourself against a double-spend.

That's not entirely true, as there are other steps that can be taken to mitigate such risks without access to a local blockchain.  Yet, the client does not attempt these other methods at of yet, so your statement is practically true at present.
full member
Activity: 162
Merit: 100

I've already explained it.  Please read the thread.  If you are just thinking about what you personally gain from mining, then it is pointless to you.  If you consider the altruisic value of mining, particularly in a crisis event such as an ongoing attack upon the blockchain, then it's not unwise to have every possible cpu still have the ability to mine.  Even if there is no possibility of profit.

Ok, you do have very a good point there. I rest my case.
member
Activity: 98
Merit: 20
But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.
That will depend what the lightweight clients do.

You can spend Bitcoins without the block chain, but you must have the entire block chain to accept Bitcoins, otherwise you can't protect yourself against a double-spend.
legendary
Activity: 1708
Merit: 1010
As far as I know it would take forever to mine anything with just CPU even if you have a good processor so please explain why it's useful if you not have access to some kind of supercomputer?

I mean, doesn't this feature give new users false hopes and will make them waste their CPU on nothing?



I've already explained it.  Please read the thread.  If you are just thinking about what you personally gain from mining, then it is pointless to you.  If you consider the altruisic value of mining, particularly in a crisis event such as an ongoing attack upon the blockchain, then it's not unwise to have every possible cpu still have the ability to mine.  Even if there is no possibility of profit.
full member
Activity: 162
Merit: 100
As far as I know it would take forever to mine anything with just CPU even if you have a good processor so please explain why it's useful if you not have access to some kind of supercomputer?

I mean, doesn't this feature give new users false hopes and will make them waste their CPU on nothing?

legendary
Activity: 1708
Merit: 1010
What is the point of having it in the standard  client if it's pretty much useless?



It's not useless.
full member
Activity: 162
Merit: 100
What is the point of having it in the standard  client if it's pretty much useless?

legendary
Activity: 1708
Merit: 1010
But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.

Although there will be 'lightweight' clients in the future, most likely those will be on consumer devices without the capacity to support a full client.  Future users of Bitcoin are as likely to have a client running on portable devices and home computers.  There is no reason to expect that future users are going to prefer lightweight clients on personal computers.
legendary
Activity: 1708
Merit: 1010
It's also important to keep the ability to mine via cpu's in the vanilla client, should there ever come a day when the system is attacked, and the userbase is called upon to mine at a loss in order to defend against an ongoing blockchain attack.

But if they don't (or  1 or 2 lucky ones do) solve any blocks will that even help?

Yes.  Like raindrops form a river.
hero member
Activity: 540
Merit: 500
Non generating nodes will be numerous. More the difficulty augments and more nodes won't generate coins, because bitcoin will ben used like a money.
Do you think each people who will use bitcoin like a money will try to generate coins if they must wait 2 years ?

Now, imagine 100'000 nodes which can generate 1 block each 2 years (a quad core is currently more efficient than that), this leads to a significant hashing power (pool), even if from an individual perspective it is useless.


But, this argument will disappear if light clients (without the whole blockchain) are more used than the current one, because light clients can't generate blocks if i remember correctly what gavin write in another thread.
sr. member
Activity: 420
Merit: 250
It's also important to keep the ability to mine via cpu's in the vanilla client, should there ever come a day when the system is attacked, and the userbase is called upon to mine at a loss in order to defend against an ongoing blockchain attack.

But if they don't (or  1 or 2 lucky ones do) solve any blocks will that even help?
legendary
Activity: 1708
Merit: 1010
It's also important to keep the ability to mine via cpu's in the vanilla client, should there ever come a day when the system is attacked, and the userbase is called upon to mine at a loss in order to defend against an ongoing blockchain attack.
Pages:
Jump to: