Bitcoin Forum
December 04, 2016, 08:31:40 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: How to overthrow the GPU Oligarchs  (Read 6374 times)
chickenado
Full Member
***
Offline Offline

Activity: 172


View Profile
October 01, 2010, 11:31:46 AM
 #1

The strength of this project was meant to be its distributedness.

But now, it seems that an increasingly small and exclusive elite has taken charge of coin/block generation. It's dominated by specialists who have access to wholesale means of production and secret, proprietary GPU code.

The average user no longer has a fighting chance and has given up generating blocks altogether.

What does this remind me of? That's right, bitcoin is becoming like the physical money economy, where a small number of central banks now guarantee the trustworthiness of paper money.

There are two problems: One, the possibility of market manipulation, and more importantly, if only a handful of people do most of the proof of work, what is the point of a decentralized currency in the first place? It weakens us, because a powerful attacker would only need to bribe a few people to gain more than 50% of khash/s.

To stop this, I suggest the following:

1) Add more hash functions that must be solved in addition to SHA-2. The more, the better. The function ecosystem should include functions with very different requirements, eg. some that require lots of memory, some that can't be paralellized, some that require lots of disk space,...
Also, function parameters that change randomly every time difficulty changes. This would take away some advantage from people who are highly specialized at solving just one hash function.

2) Pooled block generation. For instance, if 100 users join a pool and one block is solved, the 50 coins are distributed among those users. This would encourage amateur users to start generating again.
1480840300
Hero Member
*
Offline Offline

Posts: 1480840300

View Profile Personal Message (Offline)

Ignore
1480840300
Reply with quote  #2

1480840300
Report to moderator
1480840300
Hero Member
*
Offline Offline

Posts: 1480840300

View Profile Personal Message (Offline)

Ignore
1480840300
Reply with quote  #2

1480840300
Report to moderator
1480840300
Hero Member
*
Offline Offline

Posts: 1480840300

View Profile Personal Message (Offline)

Ignore
1480840300
Reply with quote  #2

1480840300
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480840300
Hero Member
*
Offline Offline

Posts: 1480840300

View Profile Personal Message (Offline)

Ignore
1480840300
Reply with quote  #2

1480840300
Report to moderator
1480840300
Hero Member
*
Offline Offline

Posts: 1480840300

View Profile Personal Message (Offline)

Ignore
1480840300
Reply with quote  #2

1480840300
Report to moderator
nelisky
Legendary
*
Offline Offline

Activity: 1554


View Profile
October 01, 2010, 12:05:43 PM
 #2

Pooled generation: +1

Add more hash functions... how would this balance the generation? People with better hw would still generate more, in all hash functions. Maybe not GPU / massive parallel, but any problem more/better hardware can't help resolve is probably out of general user's boundaries.

GPU and unfairness. Realize that the hardware needed to stand a chance of generating isn't all that cutting edge or expensive. Any mid-level gamer machine has the engine to put out 20 or 30 million hashes/sec, at least. The real issue is software, as this gives the owner of such software a huge advantage for a very small price, thus people will obviously take advantage of this as long as possible.

I feel stupid, really. I could put a little more money/effort into this, say nothing about it, and generate away. Instead here I am with my sense of community duty and such... damn, I'll never get rich this way Smiley

If you feel strongly as to the need for fairness, why don't you Help the little ol CUDA developer?
hugolp
Hero Member
*****
Offline Offline

Activity: 742



View Profile
October 01, 2010, 12:25:42 PM
 #3

Someone should work on making the GPU code open. That is the best way to stop this.
chickenado
Full Member
***
Offline Offline

Activity: 172


View Profile
October 01, 2010, 12:32:18 PM
 #4

If you feel strongly as to the need for fairness, why don't you Help the little ol CUDA developer?

My concern isn't really fairness, it's stability.

I buy about $20 worth of BTC each month, but I spend most of them straight away. What is keeping me from buying $1000 worth of BTC is my concern with the problems I mentioned. As a way of transferring money Bitcoin is great, as a way of saving money it is still too risky for my tastes. To succeed as a currency it must be good at both.
nelisky
Legendary
*
Offline Offline

Activity: 1554


View Profile
October 01, 2010, 12:38:00 PM
 #5

Someone should work on making the GPU code open. That is the best way to stop this.
That's exactly what nelisky is doing. Feel free to follow his link and help him.

Have done, actually. There is working (and generating) code already available here. It is known to work on OSX 10.6 (my dev environment) and linux (myself on ubuntu 10.04 and the Russian folks I'm not sure what OS).

The mentioned thread is a request for help in pursuing this, which I will with or without said help so you can safely ignore and still have a go at the outcome. The difference will be the amount of effort I put in this and thus the time to completion.

I'd also be happy to have someone else pick up the code too, but I fear all that have done so already are generating on their own, not giving anything back. The complete lack of developer feedback seems to point that way, at least. But, hey, we're only human, and we were taught to take advantage of the situation everytime we can, I understand. I'm just trying to teach my kids otherwise, by showing them being generous can work too Smiley
Anonymous
Guest

October 01, 2010, 01:37:12 PM
 #6

Someone should work on making the GPU code open. That is the best way to stop this.
That's exactly what nelisky is doing. Feel free to follow his link and help him.

Have done, actually. There is working (and generating) code already available here. It is known to work on OSX 10.6 (my dev environment) and linux (myself on ubuntu 10.04 and the Russian folks I'm not sure what OS).

The mentioned thread is a request for help in pursuing this, which I will with or without said help so you can safely ignore and still have a go at the outcome. The difference will be the amount of effort I put in this and thus the time to completion.

I'd also be happy to have someone else pick up the code too, but I fear all that have done so already are generating on their own, not giving anything back. The complete lack of developer feedback seems to point that way, at least. But, hey, we're only human, and we were taught to take advantage of the situation everytime we can, I understand. I'm just trying to teach my kids otherwise, by showing them being generous can work too Smiley

Thanks for the work you are doing.
nelisky
Legendary
*
Offline Offline

Activity: 1554


View Profile
October 01, 2010, 02:01:31 PM
 #7

Someone should work on making the GPU code open. That is the best way to stop this.
That's exactly what nelisky is doing. Feel free to follow his link and help him.

Have done, actually. There is working (and generating) code already available here. It is known to work on OSX 10.6 (my dev environment) and linux (myself on ubuntu 10.04 and the Russian folks I'm not sure what OS).

The mentioned thread is a request for help in pursuing this, which I will with or without said help so you can safely ignore and still have a go at the outcome. The difference will be the amount of effort I put in this and thus the time to completion.

I'd also be happy to have someone else pick up the code too, but I fear all that have done so already are generating on their own, not giving anything back. The complete lack of developer feedback seems to point that way, at least. But, hey, we're only human, and we were taught to take advantage of the situation everytime we can, I understand. I'm just trying to teach my kids otherwise, by showing them being generous can work too Smiley

Thanks for the work you are doing.

My pleasure, really. But in all fairness, it is not true I don't get both appreciation and donations. What happens is the folks that do support me do so in a very altruistic way, as in "that sounds great for the community, keep it up" kind of way. These helping members do not have, to the best of my knowledge, any particular interest in the work I do, just think it helps everyone out.

The ones that have the hardware to take advantage of this, if they do exist, keep very, very silent Smiley
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2492


View Profile
October 01, 2010, 03:30:19 PM
 #8

But now, it seems that an increasingly small and exclusive elite has taken charge of coin/block generation. It's dominated by specialists who have access to wholesale means of production and secret, proprietary GPU code.

The average user no longer has a fighting chance and has given up generating blocks altogether.

It's always been the plan for block generation to not be profitable for most people. It's supposed to be done mainly by dedicated "backbone" entities. What's stronger: a thousand people producing 1 Gh/s with hardly any individual economic interest in preserving the network's integrity, or five businesses producing the same Gh/s that will fail if they or someone else destabilizes the network?

I'm not saying that GPU code shouldn't be made, but it's not fair to say that GPU generators are "taking without giving back". People dedicated to generating deserve a head-start on new technologies.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
kiba
Legendary
*
Offline Offline

Activity: 980


View Profile
October 01, 2010, 03:47:09 PM
 #9

This is a non-issue. Nothing to see here, keep moving.

nelisky
Legendary
*
Offline Offline

Activity: 1554


View Profile
October 01, 2010, 04:01:25 PM
 #10

But now, it seems that an increasingly small and exclusive elite has taken charge of coin/block generation. It's dominated by specialists who have access to wholesale means of production and secret, proprietary GPU code.

The average user no longer has a fighting chance and has given up generating blocks altogether.

It's always been the plan for block generation to not be profitable for most people. It's supposed to be done mainly by dedicated "backbone" entities. What's stronger: a thousand people producing 1 Gh/s with hardly any individual economic interest in preserving the network's integrity, or five businesses producing the same Gh/s that will fail if they or someone else destabilizes the network?

I'm not saying that GPU code shouldn't be made, but it's not fair to say that GPU generators are "taking without giving back". People dedicated to generating deserve a head-start on new technologies.

I was under the impression that coin generation was a way to make sure everyone had a fair chance of putting effort against coins, thus avoiding any central committee of deciding the future of bitcoins. Decentralized is the word, I believe...

But I get it, if you put the time and money into getting better miners, you should be able to keep it to yourself, so the 4way patch should never had been merged into mainline, as its creator would have 2x+ performance over the same machine running common clients.

I have to disagree here. Yes, competition is good and valuable, and people should not get into bitcoins for the mining alone, but if you let a small subset of people hold most of the future generated coins you are putting the whole project in danger of abuse and destruction... but I may be overreacting.

I'll be glad to stop posting code, buy some serious hw and just do the generation myself. As difficulty goes up and people stop generating, this gets more and more statistically interesting... you say I should, right?
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2492


View Profile
October 01, 2010, 04:12:31 PM
 #11

I'll be glad to stop posting code, buy some serious hw and just do the generation myself. As difficulty goes up and people stop generating, this gets more and more statistically interesting... you say I should, right?

The network will eventually be run by "oligarchs". Once software is optimized as far as it can be, it will come down to hardware, bandwidth, and, in the long-term, electricity generation. Most people won't be able to keep up.

Posting GPU code now will just prolong the period when generation is feasible for normal people. This will attract a few users, and it might increase the network's total power on the short-term, but on the long-term it'll have little value. If I were you, I'd keep the code private. Publishing it wouldn't be bad for the network, though.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
TTBit
Legendary
*
Offline Offline

Activity: 1136


View Profile
October 01, 2010, 04:15:17 PM
 #12

Start a pool yourself. If you are generating 4000k/sec 10 others are generating 20,000k/sec combined, you get 4,000/24,000 of each block generated. Seems this code could be introduced. I don't think the GPU Oligarchs are making a mint, in fact, I bet they are losing money to my benefit.

I bet you could pay nelisky for proprietary code yourself. But, the economics won't work out.


good judgment comes from experience, and experience comes from bad judgment
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2492


View Profile
October 01, 2010, 04:22:59 PM
 #13

Pools won't eliminate the "problem" because pools are not more profitable than normal generation; they just pay out more often. They can't beat companies that have invested in specialized hardware. They also delegate all of the important network decisions to the pool maintainer, so there's no security benefit.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
chickenado
Full Member
***
Offline Offline

Activity: 172


View Profile
October 01, 2010, 05:03:52 PM
 #14

Quote
The network will eventually be run by "oligarchs". Once software is optimized as far as it can be, it will come down to hardware, bandwidth, and, in the long-term, electricity generation. Most people won't be able to keep up.

It will if proof-of-work comes down to something as specialized as solving a single, well-defined, simple, and predictable hash function such as SHA-2.

We need to make proof-of-work more choatic and complex if we want to avoid this. 

SHA-2 was actually designed to be computationally EASY because it's original purpose was digital signing, not proof-of-work. 

Otherwise, it will end just like you say.

Think of this vision of the year 2020: 2/3 of the world's Ghash/s is controlled by just three companies. They manufacture their own specialilsed HPUs (hash processing units) and feed them with custom-built power plants. The Chinese goverment then persuades the three companies to double spend 10% of all transactions into the Chinese government's bitcoin address, in return the companies get an exclusive deal on the rare earths they badly need for the HPU manufacture. Some people leave Bitcoin for alternative currencies without the 10% "tax", but most tolerate it because by then Bitcoin is accepted almost universally.



nelisky
Legendary
*
Offline Offline

Activity: 1554


View Profile
October 01, 2010, 05:11:49 PM
 #15

Quote
The network will eventually be run by "oligarchs". Once software is optimized as far as it can be, it will come down to hardware, bandwidth, and, in the long-term, electricity generation. Most people won't be able to keep up.

It will if proof-of-work comes down to something as specialized as solving a single, well-defined, simple, and predictable hash function such as SHA-2.

We need to make proof-of-work more choatic and complex if we want to avoid this. 

SHA-2 was actually designed to be computationally EASY because it's original purpose was digital signing, not proof-of-work. 

Otherwise, it will end just like you say.

Think of this vision of the year 2020: 2/3 of the world's Ghash/s is controlled by just three companies. They manufacture their own specialilsed HPUs (hash processing units) and feed them with custom-built power plants. The Chinese goverment then persuades the three companies to double spend 10% of all transactions into the Chinese government's bitcoin address, in return the companies get an exclusive deal on the rare earths they badly need for the HPU manufacture. Some people leave Bitcoin for alternative currencies without the 10% "tax", but most tolerate it because by then Bitcoin is accepted almost universally.





Generation will be less and less interesting in that way, as the coins per block will divide by 2 until there's no coins generated at all, and the system will need to be run by "volunteers", which aren't really volunteers because if no block is generated no coins can be transfered, thus removing all value from all coins...

I think it's an arms wrestle to try to avoid having a few people holding most of the coins, that's all. I was trying to leverage that by making everyone have a fair chance at getting coins while they are still being generated, but I fear that it is not practical.. When it comes to currencies (and I don't want to get into a semantics discussion, humour me with 'currency') people are just wired in a very egotistic way, and even when offered the chance to balance the scoreboard, they will just try and use that to their own advantage, not everyone's... it saddens me, really, but hey I'll keep on doing what I do because I strongly believe in it, just as others believe in taking the largest slice.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 2492


View Profile
October 01, 2010, 05:45:40 PM
 #16

Generation will be less and less interesting in that way, as the coins per block will divide by 2 until there's no coins generated at all, and the system will need to be run by "volunteers", which aren't really volunteers because if no block is generated no coins can be transfered, thus removing all value from all coins...

The companies can raise fees if generations aren't enough to profit.

Every calculation can be made more efficient in hardware. Trying to prevent it is pointless. It'd be a lot like making effective DRM.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
MoonShadow
Legendary
*
Offline Offline

Activity: 1666



View Profile
October 01, 2010, 06:35:39 PM
 #17

The strength of this project was meant to be its distributedness.

But now, it seems that an increasingly small and exclusive elite has taken charge of coin/block generation. It's dominated by specialists who have access to wholesale means of production and secret, proprietary GPU code.

The average user no longer has a fighting chance and has given up generating blocks altogether.

What does this remind me of? That's right, bitcoin is becoming like the physical money economy, where a small number of central banks now guarantee the trustworthiness of paper money.

You seem to have missed the point.  The distributed nature of Bitcoin is not compromised by the consentration of block generation.  Because, unlike fiat currencies and central banking, no one group or person has monopoly control of the currency, and no one can manipulate it as such.  Not even the GPU oligarchs.  Also, they are competing among themselves.  If one of them starts thinking that he has a majority of the block generation locked up, and decides he is going to try and fork-steal, the rest are going to notice the changes and they all have a strong incentive to overtake the market leader.

"The powers of financial capitalism had another far-reaching aim, nothing less than to create a world system of financial control in private hands able to dominate the political system of each country and the economy of the world as a whole. This system was to be controlled in a feudalist fashion by the central banks of the world acting in concert, by secret agreements arrived at in frequent meetings and conferences. The apex of the systems was to be the Bank for International Settlements in Basel, Switzerland, a private bank owned and controlled by the world's central banks which were themselves private corporations. Each central bank...sought to dominate its government by its ability to control Treasury loans, to manipulate foreign exchanges, to influence the level of economic activity in the country, and to influence cooperative politicians by subsequent economic rewards in the business world."

- Carroll Quigley, CFR member, mentor to Bill Clinton, from 'Tragedy And Hope'
martin
Full Member
***
Offline Offline

Activity: 150



View Profile WWW
October 01, 2010, 07:01:05 PM
 #18

SHA-2 was actually designed to be computationally EASY because it's original purpose was digital signing, not proof-of-work.

SHA is easy to calculate, but it's difficult to calculate a piece of data which will generate a given hash (which is [almost] what bitcoindoes). The proof of work must be difficult to calculate but easy to prove, which SHA is

hugolp
Hero Member
*****
Offline Offline

Activity: 742



View Profile
October 01, 2010, 07:06:37 PM
 #19

If you feel strongly as to the need for fairness, why don't you Help the little ol CUDA developer?

My concern isn't really fairness, it's stability.

I buy about $20 worth of BTC each month, but I spend most of them straight away. What is keeping me from buying $1000 worth of BTC is my concern with the problems I mentioned. As a way of transferring money Bitcoin is great, as a way of saving money it is still too risky for my tastes. To succeed as a currency it must be good at both.

Mmm... Are you sure your dollars dont depreciate quicker than bitcoins? Dollars are worthless to create.

Also, thinking that holding dollars is less risky than bitcoins might be a bit naive.
Anonymous
Guest

October 02, 2010, 12:46:14 AM
 #20

How many Ghash's do you think Google would do if it started to generate?

Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!