Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: Holliday on January 21, 2012, 01:31:07 AM



Title: Bringing decentralization back to the Bitcoin network.
Post by: Holliday on January 21, 2012, 01:31:07 AM
.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: bittenbob on January 21, 2012, 01:43:15 AM
The problem is there aren't very many good pools to choose from. I started with DeepBit because there was some sense of security of being with the biggest pool. I switched to ABCPool because of their no fee at the time which they have since raised to a whopping 4%. Since the 4% fee their reliability has taken a dump and I have lost a lot of mining productivity due to this. If it was a 0% pool then it wouldn't be a problem but at 4% this is just unacceptable. As a result I am very seriously considering a move back to DeepBit. I don't like all the mining power concentrated in one pool but I do see the benefit of that pool. I do understand that pools take money to operate and the smaller the pool the more difficult it becomes but they do have to compete with the bigger pools and they have to remember that.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: jojo69 on January 21, 2012, 01:47:58 AM
Good show Holliday, the deepbit problem has been bothering me for some time and I am glad to see this initiative in the community to deal with it.

Is it true that other small pools, those in the "other known" slice, can integrate into P2Pool as a "node"?

I have read posts to this effect but its pretty complex for me.  I would like to mine for P2Pool but I also feel allegiance to my small pool.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Serge on January 21, 2012, 02:00:39 AM
at least move over to other larger pools, or if you have many cards, distribute them among different pools.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on January 21, 2012, 02:52:22 AM
A quick example, DDoS the top 3 pools and you've disabled a large percentage of the network, which makes the 51% attack require less hardware to pull off. Another version is take control of the top pool, while DDoSing the next two smaller pools. Here you've managed to get 51% without any hardware investment what-so-ever.
I beg to differ. While you may be able to DDOS large pools to bring mining power offline, the difficulty remains the same for at least two more weeks. It is infeasible to perform such an attack for so long; and botnet operators know that a 2 week (or longer) DDOS spree would get large portions of their nets shut down.

Furthermore, as evidenced by previous experiences with DDOS (to Deepbit, Slush, BTC Guild, and other large pools), the mining power is not magically reduced by the offline-pool's total hashrate - many miners are configured to switch to solo-mode if they cannot reach any configured pools. This preserves the security of the network, even if it does reduce its efficiency for a while.

Finally, a 51% attack really would not achieve anything more then double-spends being possible by an attacker. While this is a bad thing, it isn't a total breach of security, a la side channel attack or similar.

I do agree that p2pool is eventually going to become more important - however in its current form it cannot scale well to support a huge network of miners. The more ideal situation will be to have p2pool being partially centralized and partially decentralized - this would spread the load and allow for the easier configuration that is currently possible with a regular pool.

Another option is mining over Tor to a hidden service - Slush is the only one that I know of that offers this right now, and it is something that might become necessary if some regulation is conferred upon Bitcoin, rendering mining illegal or some such.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2112 on January 21, 2012, 03:53:04 AM
I beg to differ. While you may be able to DDOS large pools to bring mining power offline, the difficulty remains the same for at least two more weeks.
Actually it is sufficient to DDoS pools when (block_height modulo 2016) = 2015. Each pool could then compute a different difficulty for the next period. Ultimately the global Bitcoin network will converge to a single longest chain. But the trajectory of the convergence will be different than with regular orphan blocks. The attack is still probabilistic, but the chances are different than during the remaining portion of the re-target period.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on January 21, 2012, 04:39:15 AM
I beg to differ. While you may be able to DDOS large pools to bring mining power offline, the difficulty remains the same for at least two more weeks.
Actually it is sufficient to DDoS pools when (block_height modulo 2016) = 2015. Each pool could then compute a different difficulty for the next period. Ultimately the global Bitcoin network will converge to a single longest chain. But the trajectory of the convergence will be different than with regular orphan blocks. The attack is still probabilistic, but the chances are different than during the remaining portion of the re-target period.

I would argue that the chances of this being successful would be minimal - all the nodes that are not subject to DDoS will compute the difficulty similarly, and since there is a majority of such nodes, the pools would have to agree, or else risk their blocks being rejected. Assuming they solve any blocks while they are being DDoSed. :)

There are a few ways of disrupting the network, but every time I look into its inner workings, I am amazed at how resilient it actually is in practice.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2112 on January 21, 2012, 05:41:26 AM
the pools would have to agree, or else risk their blocks being rejected.
Exactly: mutual rejection of blocks with slight (but non zero) difference in difficulty. This is actually an interesting and open problem both from the control theory point of view as well as game-theoretic point of view: whom to trust? For the original Bitcoin where the retarget period is two weeks this is a comparatively rare occurence.

There were several threads in this forum postulating changes in the retargeting algorithm. Some even were as aggresive as suggesting new difficulty for each new block using some complex formula.

"chances of this being successful would be minimal" is an intellectual cop-out similar to "chain reorganizations will never happen, right guys?"


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Syke on January 21, 2012, 05:48:18 AM
I do agree that p2pool is eventually going to become more important - however in its current form it cannot scale well to support a huge network of miners. The more ideal situation will be to have p2pool being partially centralized and partially decentralized - this would spread the load and allow for the easier configuration that is currently possible with a regular pool.
If the current p2pool grows 10x, it would still work quite well for most miners with at least 1 good GPU. If it grows much past that, it would be trivial to split the pool to p2poolA and p2poolB.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: istar on January 21, 2012, 07:51:15 AM
How about voting with your money? As in only buying from pools that are not the largest.

If its bad for the network I dont want to support it with my money. I would never want to buy from a pool thats 51% since its a weakness.

I rather support small pools but I dont want to donate to people earning money by selling their coins.

Would it be possible to know from which pool the coins come, and rather only buy coins from small pools?

Perhaps in an exchange where you can select if you want to buy coins only from pools less than X% size thus creating a natural support for small pools.
Since if all pools would be small you would still buy from all pools.

Ofcourse a pool operator could own several small pools...





Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: vuce on January 21, 2012, 08:00:04 AM
How about voting with your money? As in only buying from pools that are not the largest.

If its bad for the network I dont want to support it with my money. I would never want to buy from a pool thats 51% since its a weakness.

I rather support small pools but I dont want to donate to people earning money by selling their coins.

Would it be possible to know from which pool the coins come, and rather only buy coins from small pools?

Perhaps in an exchange where you can select if you want to buy coins only from pools less than X% size thus creating a natural support for small pools.
Since if all pools would be small you would still buy from all pools.

Ofcourse a pool operator could own several small pools...

What if it were your coins and no one would want to take them? :)


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: istar on January 21, 2012, 08:07:50 AM
How about voting with your money? As in only buying from pools that are not the largest.

If its bad for the network I dont want to support it with my money. I would never want to buy from a pool thats 51% since its a weakness.

I rather support small pools but I dont want to donate to people earning money by selling their coins.

Would it be possible to know from which pool the coins come, and rather only buy coins from small pools?

Perhaps in an exchange where you can select if you want to buy coins only from pools less than X% size thus creating a natural support for small pools.
Since if all pools would be small you would still buy from all pools.

Ofcourse a pool operator could own several small pools...

What if it were your coins and no one would want to take them? :)

Not saying noone would want to take them. Just optional.
But imagine you are an investor buying coins for $100.000 would you buy them from someone who makes the network less secure and makes it more likley that you lose that investment?  Or would you rather buy them from miners making the network more secure?



Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: vuce on January 21, 2012, 08:21:55 AM
How about voting with your money? As in only buying from pools that are not the largest.

If its bad for the network I dont want to support it with my money. I would never want to buy from a pool thats 51% since its a weakness.

I rather support small pools but I dont want to donate to people earning money by selling their coins.

Would it be possible to know from which pool the coins come, and rather only buy coins from small pools?

Perhaps in an exchange where you can select if you want to buy coins only from pools less than X% size thus creating a natural support for small pools.
Since if all pools would be small you would still buy from all pools.

Ofcourse a pool operator could own several small pools...

What if it were your coins and no one would want to take them? :)

Not saying noone would want to take them. Just optional.
But imagine you are an investor buying coins for $100.000 would you buy them from someone who makes the network less secure and makes it more likley that you lose that investment?  Or would you rather buy them from miners making the network more secure?


Why would you lose any of those coins? Unless you buy the whole 100k of coins from someone who has 51% of the network power and would double spend on you.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: a63ntsm1th on January 21, 2012, 10:44:17 AM
does a 51% not include clients who aren't mining?

I mean, do desktop clients and the like not take part transaction verification (I believe they dont)?

If not would there be a way to distribute the decision making on network transactions to include non-mining clients?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Gabi on January 21, 2012, 10:54:45 AM
does a 51% not include clients who aren't mining?

I mean, do desktop clients and the like not take part transaction verification (I believe they dont)?

If not would there be a way to distribute the decision making on network transactions to include non-mining clients?
A 51% is about mining blocks, so how can clients who aren't mining affect it? Sure, they relay transactions but if they receive a block they just accept it and relay it.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: a63ntsm1th on January 21, 2012, 11:06:18 AM
A 51% is about mining blocks, so how can clients who aren't mining affect it? Sure, they relay transactions but if they receive a block they just accept it and relay it.

Good question, I'm glad I asked it.

I don't really know enough to answer it, that's why I asked it.

Since we at least agree on the question, perhaps there is a possible solution.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: stochastic on January 21, 2012, 12:22:33 PM
One more thing, how can we, the supporters of Bitcoin, boast about the advantages of a decentralized network when the pie chart looks like that?

This is the natural tendency of networks.  From the internet to your cellular metabolic network, networks have a scale-free (https://en.wikipedia.org/wiki/Scale-free_network) network.

A scale-free network is basically where a few nodes hog all the connections.  You can think of them as hubs.  A lot of the nodes have few connections (measured as the degree, k) between the nodes and these hubs have a lot.  Why do networks have a tendency to form like this?  It is just preferential attachment.  Since these mining pools are already large, they can recruit more people to join or have the resources to get more computational power.  Thus they generate more bitcoins.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Brian DeLoach on January 21, 2012, 12:27:08 PM
I switched to ABCPool because of their no fee at the time which they have since raised to a whopping 4%. Since the 4% fee their reliability has taken a dump and I have lost a lot of mining productivity due to this.

One DDoS and their reliability "takes a dump"? Every single pool* is vulnerable to a DDoS and all the large ones have been attacked and taken down for hours or days at a time. ABCpool has a good track record of reliability and low stales. A whopping 4%? They are the cheapest PPS pool available right now. Deepbit charges 10%.

* All conventional centralized pools


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: BTConomist on January 21, 2012, 03:40:17 PM
.....

P2Pool is a bit more complicated than traditional pool mining, but there are people willing to help, and it's not as difficult as it might seem... But the added work, lack of software that is P2Pool friendly, and variance expected with a smaller pool has kept some miners away.

.....

TL;DR: I'm asking for donations to the miners of P2Pool because it promotes decentralization of the Bitcoin network. If you think decentralization is important, but aren't a miner yourself, consider offering a small donation.


It seems that the focus of your plea should be on subsidizing the creation of a P2Pool-friendly software and so on, not the P2Pool miners themselves.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: paraipan on January 21, 2012, 03:45:23 PM
.....

P2Pool is a bit more complicated than traditional pool mining, but there are people willing to help, and it's not as difficult as it might seem... But the added work, lack of software that is P2Pool friendly, and variance expected with a smaller pool has kept some miners away.

.....

TL;DR: I'm asking for donations to the miners of P2Pool because it promotes decentralization of the Bitcoin network. If you think decentralization is important, but aren't a miner yourself, consider offering a small donation.


It seems that the focus of you plea should be on subsidizing the creation of a P2Pool-friendly software and so on, not the P2Pool miners themselves.

+1 already mining on p2pool  :) ,and a bit off-topic we should consider using a decentralized community forum too, see my sig


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: paraipan on January 21, 2012, 04:08:51 PM
I do agree that p2pool is eventually going to become more important - however in its current form it cannot scale well to support a huge network of miners. The more ideal situation will be to have p2pool being partially centralized and partially decentralized - this would spread the load and allow for the easier configuration that is currently possible with a regular pool.

Why can't p2pool scale?

cause share difficulty works exactly as bitcoin blocks difficulty, increases with the number of miners, so you would have to spend a few days getting a share in a very large p2pool. In the future we will see a few distinct medium-sized p2pools that keep an acceptable share difficulty for their miners, i'm sure about that.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: jago25_98 on January 21, 2012, 04:23:55 PM

 I can understand why this is a better solution than solo mining psychologically but is there a technical advantage?

 How many people solo mine? Those people can achieve some good anonymity sending coins to an offline address and then selling the private key.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: jojo69 on January 21, 2012, 05:12:41 PM
Sorry to repeat myself, but I really want an answer and its getting lost in a growing thread...


Is it true that other small pools, those in the "other known" slice, can integrate into P2Pool as a "node"?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 21, 2012, 05:17:58 PM
Is it true that other small pools, those in the "other known" slice, can integrate into P2Pool as a "node"?
Any pool should be able to integrate into p2pool as a node.  They can even set fees.

However, most pools probably won't want to do this because of the increased share difficulty.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 21, 2012, 05:54:18 PM
Is it true that other small pools, those in the "other known" slice, can integrate into P2Pool as a "node"?
Any pool should be able to integrate into p2pool as a node.  They can even set fees.

However, most pools probably won't want to do this because of the increased share difficulty.

Isn't the p2pool share difficulty the difficulty of the miner finding the p2pool share not the difficulty of the pool finding a block?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 21, 2012, 07:42:53 PM
Is it true that other small pools, those in the "other known" slice, can integrate into P2Pool as a "node"?
Any pool should be able to integrate into p2pool as a node.  They can even set fees.

However, most pools probably won't want to do this because of the increased share difficulty.

Isn't the p2pool share difficulty the difficulty of the miner finding the p2pool share not the difficulty of the pool finding a block?

Yes, but this difficulty will get larger as p2pool gets larger.  People running miners with < 1 GH/s are going to take hours to find a p2pool share. With a traditional pool, the share difficulty is almost always 1.


Can you explain this to me? Try to do it in a way an 8 year old would understand. Thank you.

Assuming you already have bitcoind setup with "server=1", you probably already have the knowledge to get this done.  Rather than having your miners connect to whatever pool server you are currently using, you have them connect to p2pool.

I run p2pool with a command similar to this.

Code:
./run_p2pool.py -a <my bitcoin payout address> --p2pool-port 8335 -w 8336 --merged-url http://127.0.0.1:9332/ --merged-userpass <namecoind rpcuser>:<namecoind rpcpass> -f <fee percent you want for being the pool op> <bitcoind rpcuser> <bitcoind rpcpass>

This gives merged mining with namecoin.  I use non-default ports since they conflict with namecoind.    I'm not sure how you could figure out payout of the alt-chain for your miners. I'm sure theres a way though.

Users would then point their workers to port 8336 (or whatever else you decide) and set their username to the address where they want payout and done.

At least, I'm pretty sure thats how it works. I'm running it as a backup for when your pool goes down.

The readme at https://github.com/forrestv/p2pool is pretty much all you need as far as install instructions.  It's not too hard.

Your miners might freak out because their shares/minute will go down, but thats because of the variable difficulty shares and isn't actually anything to worry about.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 22, 2012, 05:42:36 AM
People keep mining at deepbit for ONE reason :
DeepBit hides to them by how much they're being ripped off.

DO YOU SEE THIS ? :  

(deepbit homepage)
Quote
Pay Per Share: You get a fixed amount for every share submitted. This method has zero variance but slightly higher fee (because pool takes the risk). Recommended if you like steady payouts.

We pay a competitive price:
    Pay per share: 0.00003441081600403 BTC per every submitted share.

PPS Value = 0.00003823425 BTC/shares

0.00003823425 / 0.0000344108160 = ~11.11% FEES

 (Sorry for size/caps, I am really pissed.)

The word "Slightly" is meaningless and is being abused hard in this case.

Claim of "Competitive price" is totally false. (not a single pool have higher fees)


Look at bittenbob post :
The problem is there aren't very many good pools to choose from. I started with DeepBit because there was some sense of security of being with the biggest pool. I switched to ABCPool because of their no fee at the time which they have since raised to a whopping 4%. Since the 4% fee their reliability has taken a dump and I have lost a lot of mining productivity due to this. If it was a 0% pool then it wouldn't be a problem but at 4% this is just unacceptable. As a result I am very seriously considering a move back to DeepBit. I don't like all the mining power concentrated in one pool but I do see the benefit of that pool. I do understand that pools take money to operate and the smaller the pool the more difficult it becomes but they do have to compete with the bigger pools and they have to remember that.
If a user with 600+ posts can be so clueless then we can't expect any better from the average Deepbit miner.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on January 22, 2012, 05:58:20 AM
Well, If there is a need to run more p2p pools I will be happy to support one (money/time) if the community helps me. I lack programing skills or anything like that.

The best way to handle it would simply update p2pool protocol to query nodes and those advise new nodes on which subpools exist.  New nodes join the smallest subpool.  If a subpool gets too large it splits after the next block into two smaller subpools.  If subpools die out (or get too small) they join other subpools.

Obviously handling all this is a distributed decentralized manner is complex but it would allow an arbitrary number of p2pools to co-exist.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 22, 2012, 06:06:17 AM
(Sorry for size/caps, I am really pissed.)

I appreciate the information, and I think more people need to wake up and realize they are giving up more than they are gaining when mining at a traditional pool.

That said, I would prefer this thread didn't become a forum for bashing any particular pool. I tried to keep it very generic in the OP.

Perhaps starting a new thread discussing what you've posted here would be not only be appropriate, it would develop into more productive conversation.

Don't get me wrong, the big pools need to go or give up some power. I want this thread to be about how we can speed up the process. I don't want it to turn into a bash fest.   :)

Thanks Holliday, I really apreciate the time you've put into this.  But the fastest/easiest method for now is a DeepBit awareness campaign.  I think good competition itself can bring equilibrium.

Given the blatant lies by DeepBit to it's customers, We do not have to convince anyone to move elsewhere arguing network security.

I'd also like to point out that setting up p2pool is way,way to complicated as it is.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: finway on January 22, 2012, 11:23:25 AM
I like p2pool.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 22, 2012, 04:14:07 PM
I'd also like to point out that setting up p2pool is way,way to complicated as it is.

I think the instructions are way to complicated, the setup isn't that difficult.  Many miners already run a miner and the bitcoin client, just add in p2pool node software (which is the easiest) and reconfigure and it's done. I don't use Windows though, maybe it's just easier on Linux - but I suck at Linux and hate command line and I just needed a couple questions answered and it was done.  The subsidies more than made up for the down time.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: PrintCoins on January 22, 2012, 04:42:08 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 22, 2012, 04:49:43 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.

That's the idea behind p2pool, solo mining with pooled reward.  Unless you have a 100Ghash farm hiding in your garage to reduce the variance???


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on January 23, 2012, 03:47:21 PM
I'd also like to point out that setting up p2pool is way,way to complicated as it is.

I disagree. The instructions only make it seem way more complicated than it actually is. Since I already had my bitcoin configured for remote access (server=1 with login and password), all I had to do was download p2pool and cgminer, and then run p2pool and cgminer with option parameters copy/pasted from instructions (suggest they include those options in .bat files for Windows users). Downloading and running two files isn't all that complicated.

I'm also very glad switching has forced me to try cgminer. I used to use GUI Miner, since I'm not too tech savvy, but that involved manually testing the overclocking limits of my GPUs, then running Sapphire TRIXX to manually overclock my cards every time I wanted to mine, and deal with coming home to a locked up computer if my cards accidentally overheated. With cgminer, my overclocking is done automatically, and it monitors my temperatures and controls fan speeds and such for me. I just run a .bat file to start it, and forget about it. Despite my average hashing speed being about 20 to 40Mhash higher than before, I haven't had a mining related system lockup in a week, where as they were fairly common with GUI miner.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: ShadowOfHarbringer on January 23, 2012, 07:45:58 PM
+1 to OP.

The centralization of pools is currently probably the weakest point of Bitcoin currently. We should remember that CIA/FBI/Governments/Banks/Whatever can have extremely large amounts of money & fire/manpower to bribe/intimidate pool operators.

This should be fixed as soon as possible.



Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 23, 2012, 08:30:58 PM
I'd also like to point out that setting up p2pool is way,way to complicated as it is.

I disagree...

I also disagree. I didn't think p2pool was that hard to setup.  I am pretty experienced with command line linux, but all you have to do is install a couple packages (that are listed in the readme so thats no trouble) and start up python.

What part is too complicated? Where are people getting stuck?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 24, 2012, 03:15:43 AM
I'd also like to point out that setting up p2pool is way,way to complicated as it is.

I disagree...

I also disagree. I didn't think p2pool was that hard to setup.  I am pretty experienced with command line linux, but all you have to do is install a couple packages (that are listed in the readme so thats no trouble) and start up python.

What part is too complicated? Where are people getting stuck?

I found it to be easier to start a new pool than to run p2pool,  If people were starting many more pool and would not be all mining at the "worst" pool there would be far less centralization.

For one, it require running a bitcoind with an up to date blockchain.  And this has to be done on every rig or you have to point your miners to your server pc.

The one thing we must ask ourself is ; How complicated is it installing p2pool Vs. understanding Deepbit is stealing you at the rate of 10% ?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: chrisrico on January 24, 2012, 03:38:18 AM
I sent a donation of 9.74853958 BTC to the address in the OP, but I will also be sending out a 10 BTC donation to the miners using the following command sometime in the next week.

Code:
bitcoind sendmany "" "$(GET http://forre.st:9332/patron_sendmany?total=10.0)"


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: chrisrico on January 25, 2012, 11:17:03 PM
As promised (http://blockchain.info/tx-index/14745317/b2bb82014d4f318ca33c8fbd11e7d9c47f3c42723b64f9c443f2f7d4ece28094).


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 25, 2012, 11:24:02 PM
Thank you!


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 06:47:43 AM
By how much big pool hashing power has dropped due to this post + p2pool ?

Wouldn't congratulate myself for increasing payout of p2pool, the reason people don't use p2pool and stay at say DeepB, is
A: don't know better, lazy, clueless of the ripoff fees,
B: Because of how complicated it is to set it up.

I would rather donate to someone making p2pool easier to use. Then I'd donate to publicize it against deepbit.

I'm not personally interested in using p2pool but is it correct to say I would have to install a bitcoind on all my miners OR have to port forward my router for external miners and live with this new point of failure ?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on January 30, 2012, 01:30:03 PM
I'm not personally interested in using p2pool but is it correct to say I would have to install a bitcoind on all my miners OR have to port forward my router for external miners and live with this new point of failure ?

Why would you need to port forward?  Aren't all your miners on the same subnet?  If so you just need a LAN accessible system to run bitcoind & p2pool.  If you are worried about single point of failure (and I would be  if you have a significant hashing farm) you can easily setup two (or more) systems to run bitcoind & p2pool and have each miner configured with server A & B in fall over configuration.

If you miners are on different subnets then yes you would either need port forwarding or one bitcoind running per subnet.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Ranvier on January 30, 2012, 02:20:41 PM
p2pool is really easy to set up, but the instructions aren't always clear. Because of this I wrote a script that automates the installation of p2pool and cgminer. Bitcoin must be already installed.

http://u.forre.st/u/axuzbykp/p2pool%20Automator%20v0.52.zip

It walks users through the installation process in a quick, precise manner. It includes the ability to configure the p2pool mining address, add additional cgminer flags, and generates an easily modified .bat file which launches both p2pool and cgminer.

-Ranvier


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 30, 2012, 05:17:52 PM
I'm not personally interested in using p2pool but is it correct to say I would have to install a bitcoind on all my miners OR have to port forward my router for external miners and live with this new point of failure ?

I don't have bitcoind or p2pool running on any of my miners, all they do is mine. I have the nodes on a separate server where all the miners connect - much easier to set up. And I use a backup pool just as I would with any other pool. You can use a centralized pool or another p2pool node. There are several people who set up p2pool nodes that anyone can connect to as well, no need to run anything but the miner.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 30, 2012, 05:42:05 PM
I'm not personally interested in using p2pool but is it correct to say I would have to install a bitcoind on all my miners OR have to port forward my router for external miners and live with this new point of failure ?

I don't have bitcoind or p2pool running on any of my miners, all they do is mine. I have the nodes on a separate server where all the miners connect - much easier to set up. And I use a backup pool just as I would with any other pool. You can use a centralized pool or another p2pool node. There are several people who set up p2pool nodes that anyone can connect to as well, no need to run anything but the miner.

I do the same.  Multiple machines with mining programs installed and one machine with bitcoind and p2pool.

This is no different than running your own pool with any other software.  It is a little more work than connecting to someone else's pool, but that's because you are letting someone else do the work.

As other people said, if you are on the same subnet, you don't need to do anything with your router.  However, I wanted people on the internet to be able to connect to my pool, so I opened some ports.  It isn't necessary, but I think it's good for the network.  If you want to use my server (p2pool.stitthappens.com:8336) as a way to try out p2pool, as a backup pool or even as your primary pool, go ahead, I'm not taking any fees (although I am going to turn donate author on soon).



Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: btc_artist on January 30, 2012, 06:32:11 PM
Good thread.  I guess I need to bite the bullet and set up P2Pool.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 07:42:13 PM
p2pool is really easy to set up, but the instructions aren't always clear. Because of this I wrote a script that automates the installation of p2pool and cgminer. Bitcoin must be already installed.

http://u.forre.st/u/axuzbykp/p2pool%20Automator%20v0.52.zip

It walks users through the installation process in a quick, precise manner. It includes the ability to configure the p2pool mining address, add additional cgminer flags, and generates an easily modified .bat file which launches both p2pool and cgminer.

-Ranvier

Thanks, that is awesome.

The P2pool error message I encountered is not self explanatory, "bitcoind identity problem"
meaning , need updated version or bitcoin not running.


Also the Bitcoin-qt client crash at p2pool startup if it's not started already,  why not kill and restart it via RanvierRun ?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on January 30, 2012, 08:47:15 PM
p2pool is really easy to set up, but the instructions aren't always clear. Because of this I wrote a script that automates the installation of p2pool and cgminer. Bitcoin must be already installed.

http://u.forre.st/u/axuzbykp/p2pool%20Automator%20v0.52.zip

It walks users through the installation process in a quick, precise manner. It includes the ability to configure the p2pool mining address, add additional cgminer flags, and generates an easily modified .bat file which launches both p2pool and cgminer.

-Ranvier

I run my cgminer with the following options:
Quote
-I 9 --auto-fan --auto-gpu --gpu-engine 750-950 --gpu-memclock 300

Would this be GPU specific? (I'm on ATI 5830) I'm a bit worried people using the default P2Pool/cgminer config may get turned away after seeing their hash rate not be as high as their old customized miners.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 08:49:44 PM
Would this be GPU specific? (I'm on ATI 5830) I'm a bit worried people using the default P2Pool/cgminer config may get turned away after seeing their hash rate not be as high as their old customized miners.
Thus the need for a clause : Is this a dedicated mining PC ? Y : Get better hashrate N : Get a better faster desktop experience.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Ranvier on January 30, 2012, 09:07:58 PM
I think I might write a little "guide" into the code instructing ideal cgminer flags. The current script is something that a threw together really quick.

I'll also add namecoin setup if I have time.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 09:11:27 PM
I'll also add namecoin setup if I have time.
That would be a must since profitability is what make it or break it for heavy miners.

Count me in to support your work.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on January 30, 2012, 09:23:58 PM
I'll also add namecoin setup if I have time.
That would be a must since profitability is what make it or break it for heavy miners.

Count me in to support your work.

Namecoin is worth only about 1.2% extra revenue.  It is a nice luxury but I would hardly call it make or break.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 10:18:23 PM
I'll also add namecoin setup if I have time.
That would be a must since profitability is what make it or break it for heavy miners.

Count me in to support your work.

Namecoin is worth only about 1.2% extra revenue.  It is a nice luxury but I would hardly call it make or break.
Timely addition to Pool Comparison wiki : ↑ P2Pool supports merged mining but payouts in the merged chain are not pooled.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 30, 2012, 10:22:00 PM
I'll also add namecoin setup if I have time.
That would be a must since profitability is what make it or break it for heavy miners.

Count me in to support your work.

Namecoin is worth only about 1.2% extra revenue.  It is a nice luxury but I would hardly call it make or break.
I don't personally care about the namecoin revenue. I mine namecoin because I want a distributed DNS to succeed.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: PrintCoins on January 30, 2012, 10:25:26 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.

That's the idea behind p2pool, solo mining with pooled reward.  Unless you have a 100Ghash farm hiding in your garage to reduce the variance???

Variance... whatever. You get paid once every 2 months a lump sum or a little bit every day. Why does it matter except to satisfy the monkey brain.

If you do have a garage farm that can get a block ever other day, reducing variance is really pointless.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 30, 2012, 10:35:32 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.

That's the idea behind p2pool, solo mining with pooled reward.  Unless you have a 100Ghash farm hiding in your garage to reduce the variance???

Variance... whatever. You get paid once every 2 months a lump sum or a little bit every day. Why does it matter except to satisfy the monkey brain.

If you do have a garage farm that can get a block ever other day, reducing variance is really pointless.
Money now is better than money later IMO. I can invest money now. In 2 months, who knows what investment opportunities will be gone or if I'll have even solved a block.  Variance matters.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 30, 2012, 10:41:07 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.

That's the idea behind p2pool, solo mining with pooled reward.  Unless you have a 100Ghash farm hiding in your garage to reduce the variance???

Variance... whatever. You get paid once every 2 months a lump sum or a little bit every day. Why does it matter except to satisfy the monkey brain.

If you do have a garage farm that can get a block ever other day, reducing variance is really pointless.
Money now is better than money later IMO. I can invest money now. In 2 months, who knows what investment opportunities will be gone or if I'll have even solved a block.  Variance matters.
There is variance then there is variance, a payout every other day has little to do with one every 2 month.

A problem with solo is that you waste 5 minute everyday to check if you've found a block and while you wait for a first block you wonder if it's working or not.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on January 30, 2012, 11:50:40 PM
The best way to bring decentralization to the network is just to mine for yourself. I don't know what I think about so much control of the network going to so few.

That's the idea behind p2pool, solo mining with pooled reward.  Unless you have a 100Ghash farm hiding in your garage to reduce the variance???

Variance... whatever. You get paid once every 2 months a lump sum or a little bit every day. Why does it matter except to satisfy the monkey brain.

If you do have a garage farm that can get a block ever other day, reducing variance is really pointless.
Money now is better than money later IMO. I can invest money now. In 2 months, who knows what investment opportunities will be gone or if I'll have even solved a block.  Variance matters.
There is variance then there is variance, a payout every other day has little to do with one every 2 month.

A problem with solo is that you waste 5 minute everyday to check if you've found a block and while you wait for a first block you wonder if it's working or not.

Don't forget about difficulty increases.  Variance evens out over the long term with constant difficulty.  What happens if you are solo mining with an expected reward every 2 months and hit an unlucky streak with a large difficulty increase streak??


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Transisto on January 31, 2012, 12:24:41 AM
A : Don't mine at the big 3 and have a few backup pools ready.
B : Mine using P2Pool
C : Mine Solo
D : All the above

Thank You.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: kais3r on January 31, 2012, 02:57:41 AM
i believe the 51% attack will happen if deepbit controls this much.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: btc_jumpnrl on January 31, 2012, 03:25:43 AM
I don't mind making the switch to p2pool. However i'm not a dedicated 24/7/365 miner. Sometimes I mine for a few weeks or for just few hours a day. Also I'm only contributing ~300Mh/s when I do. Should i still switch?

As well, guiminer is quite stable with my OC and doesn't require any extra resources. Is the switch to cgminer just to use p2pool needed?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: smiles on January 31, 2012, 03:29:37 AM
Ok, dumb this down for me.  The bitcoins have to come from somewhere.  Even if Deepbit had 100% monopoly on the mining, as a hypothetical Bitcoin user, why do I care? 


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: btc_artist on January 31, 2012, 03:33:59 AM
I don't mind making the switch to p2pool. However i'm not a dedicated 24/7/365 miner. Sometimes I mine for a few weeks or for just few hours a day. Also I'm only contributing ~300Mh/s when I do. Should i still switch?

As well, guiminer is quite stable with my OC and doesn't require any extra resources. Is the switch to cgminer just to use p2pool needed?
If I understand it correctly, p2pool pays you based on your mining rate for the last 24 hours, so if you on and off, it may not be the best.  Correct me if I'm wrong.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on January 31, 2012, 03:35:49 AM
Ok, dumb this down for me.  The bitcoins have to come from somewhere.  Even if Deepbit had 100% monopoly on the mining, as a hypothetical Bitcoin user, why do I care?  
The fears are largely unjustified, and more a fear of anyone having 100% control than specifically Deepbit.

With a large portion of the hashing power, the network is yours.

You could only accept transactions with a fee and ignore all others. This means most transactions would be forever at 0/unconfirmed.

Even if there are still others mining, you could ignore their blocks and only build on your own.  As long as you maintain the majority of hashing power, you will be able to control the longest chain.

Transactions can never be stolen or redirected, but they can be stopped and even reversed (if they aren't too deep in the block chain).


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: btc_artist on January 31, 2012, 03:42:13 AM
Ok, dumb this down for me.  The bitcoins have to come from somewhere.  Even if Deepbit had 100% monopoly on the mining, as a hypothetical Bitcoin user, why do I care?  
Non-technical explanation: The problem with a monopoly is that, due to the way Bitcoin works, if anyone controls 51% or more of the hashing power they can invalidate Bitcoins and control/destroy Bitcoin.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on January 31, 2012, 04:14:52 AM
As well, guiminer is quite stable with my OC and doesn't require any extra resources. Is the switch to cgminer just to use p2pool needed?

I loved guiminer, and was annoyed I had to switch to cgminer, too. Until I tried it. Turns out cgminer is WAY better. With the auto-overclocking, temperature monitoring, and auto fan control it has, I'm getting about 50MHash more than I did with guiminer, and my system never locks up any more, whereas guiminer with manual overclocking caused it to lock up a few times a week.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on January 31, 2012, 04:30:48 AM
Ok, dumb this down for me.  The bitcoins have to come from somewhere.  Even if Deepbit had 100% monopoly on the mining, as a hypothetical Bitcoin user, why do I care? 

Double spend coins at will.
Reverse transactions spent by "friends of deepbit"
Hold transactions hostage (refuse to process)
Require giant fees (essentially turn Bitcoin into DeepPayPalBit) on transaction
Offer to sell double spending service to others for fee.

One entity gains 51% control of hashing power they have the ability to compromise the network.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: btc_jumpnrl on January 31, 2012, 05:00:34 AM
I loved guiminer, and was annoyed I had to switch to cgminer, too. Until I tried it. Turns out cgminer is WAY better. With the auto-overclocking, temperature monitoring, and auto fan control it has, I'm getting about 50MHash more than I did with guiminer, and my system never locks up any more, whereas guiminer with manual overclocking caused it to lock up a few times a week.

I doubt i'll see a boost that high but i'll make some time to try it out. Call me lucky, but I've NEVER had a crash/lock up while mining. Afterburner auto-sets my OC and fan control.

Guess i'll just have to deal with/remember not to close the command prompt windows in the taskbar if i switch. I wish i could minimize them to an icon in the tray. That's the only reason i really use guiminer.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: dooglus on January 31, 2012, 06:10:10 AM
I received 0.0011 BTC earlier today at my p2pool address from this transaction:
  http://blockexplorer.com/tx/2d3006cf1e16cb9f4097894fdaa0739c66d38eb9e0356be3fd8daf63810cf375

It's been over 3 days since I found a single p2pool share, so I'm wondering why I got anything.  The amount I received was more than 20% of the average that people received from this transaction, but I've only ever found 3 or 4 shares whereas lots of people have found hundreds.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: dooglus on January 31, 2012, 06:22:32 AM
I received 0.0011 BTC earlier today at my p2pool address from this transaction:
  http://blockexplorer.com/tx/2d3006cf1e16cb9f4097894fdaa0739c66d38eb9e0356be3fd8daf63810cf375

It's been over 3 days since I found a single p2pool share, so I'm wondering why I got anything.  The amount I received was more than 20% of the average that people received from this transaction, but I've only ever found 3 or 4 shares whereas lots of people have found hundreds.

https://bitcointalk.org/index.php?topic=61429.msg722975#msg722975

Quote
If the amount would be less than 0.0011 bitcoins, then I rounded the amount awarded up to 0.0011.  Just because eleven is my favorite number (well, and because I like the idea of rewarding p2pool users, I think p2pool is neat).

That exactly explains what happened.  Thanks Holliday!

I did try googling for the transaction ID before posting, but nothing showed up.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on January 31, 2012, 07:03:57 PM
I loved guiminer, and was annoyed I had to switch to cgminer, too. Until I tried it. Turns out cgminer is WAY better. With the auto-overclocking, temperature monitoring, and auto fan control it has, I'm getting about 50MHash more than I did with guiminer, and my system never locks up any more, whereas guiminer with manual overclocking caused it to lock up a few times a week.

I doubt i'll see a boost that high but i'll make some time to try it out. Call me lucky, but I've NEVER had a crash/lock up while mining. Afterburner auto-sets my OC and fan control.

Guess i'll just have to deal with/remember not to close the command prompt windows in the taskbar if i switch. I wish i could minimize them to an icon in the tray. That's the only reason i really use guiminer.

More specifically, I had a 25Mhash boost per card. I have two of them. Overclocking beyond 900Mhz would cause my system to lock up, and pushing 900 was barely stable, to. With cgminer I use

-I 9 --auto-fan --auto-gpu --gpu-engine 750-950 --gpu-memclock 300

and it keeps it at 950 without problems. I used to use Sapphire Trixx to overclock mine. Cg does it within the program. It then displays all the GPU stats (temp, fan rpm, hash speed) within the window for you.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2_Thumbs_Up on January 31, 2012, 09:45:59 PM
I remember reading an old thread about when the idea of pooled mining came up, but I can't find it now. Could anyone please link it to me if you have it?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: dooglus on January 31, 2012, 10:39:56 PM
I remember reading an old thread about when the idea of pooled mining came up, but I can't find it now. Could anyone please link it to me if you have it?

This?  https://bitcointalk.org/index.php?topic=861

It's from August 18, 2010, and is the first mention of pooled mining I can find.

Or did you mean the idea of p2p pooled mining?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2_Thumbs_Up on January 31, 2012, 11:05:33 PM
I found the thread I was talking about (thanks for the effort though, seems like my thread was few months younger).

https://bitcointalk.org/index.php?topic=1458.0

Really, I believe the weakness here is the very concept of pooled mining. It wasn't intended. It's a bug, not a feature. It provides unneccessary centralization and disrupts the incentives inherent in bitcoin. The only feature is for variance-sensitive miners, but this issue would surely solve itself without pooled mining. If miners would be irrationally risk averse the profitability of bitcoin mining would rise and incentivize more risk seeking miners to join. So I think the proper solution to this problem is to make pooled mining impossible or at least severely disincentivized, if that's even possible.

A post I find interesting in the above thread is this:

The client can cheat if it generates the winning hash in a naive implementation by failing to transmit the winning hash to the server and just transmitting it directly like a normal Bitcoin client and taking the 50BTC for itself.
No, I don't think so.

The block being hashed includes the 50BTC transaction awarded to the generator. So a client must decide (before looking for hashes) whether it is hashing a block that will pay itself, or a block that will pay the server. It can't find a hash first, and then decide who it is for.

So there's no risk of cheating. If the client is looking for hashes that will pay itself, it's not participating in the shared mining and won't have any low-difficulty results to send back to the server either.
Theoretically, could this possibly work in another way? If miners could "steal" the generated block from the pool operator, I believe the ultimate consequence will be that pools will be forced to shrink to smaller trusted circles, thus providing far more decentralization. I may very well be wrong, but I don't see why the miner reward adress needs to be hashed in the block itself, as long as it's hashed in future blocks.

EDIT: Actually I do see a very serious problem here since the winning miner needs to be sure that anyone he relays the block to doesn't simply change the reward adress to its own.

But I still think the optimal solution would be to disincentivize pooled mining within the actual bitcoin protocol, I'm just not sure how. Any suggestions of how this would be possible?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on February 01, 2012, 02:50:47 AM
The client can cheat if it generates the winning hash in a naive implementation by failing to transmit the winning hash to the server and just transmitting it directly like a normal Bitcoin client and taking the 50BTC for itself.
No, I don't think so.

The block being hashed includes the 50BTC transaction awarded to the generator. So a client must decide (before looking for hashes) whether it is hashing a block that will pay itself, or a block that will pay the server. It can't find a hash first, and then decide who it is for.

So there's no risk of cheating. If the client is looking for hashes that will pay itself, it's not participating in the shared mining and won't have any low-difficulty results to send back to the server either.
Theoretically, could this possibly work in another way? If miners could "steal" the generated block from the pool operator, I believe the ultimate consequence will be that pools will be forced to shrink to smaller trusted circles, thus providing far more decentralization. I may very well be wrong, but I don't see why the miner reward adress needs to be hashed in the block itself, as long as it's hashed in future blocks.

EDIT: Actually I do see a very serious problem here since the winning miner needs to be sure that anyone he relays the block to doesn't simply change the reward adress to its own.

You don't have good reading comprehension. I bolded the relevant parts for you. The miner cannot change the block's payout address.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on February 01, 2012, 03:18:36 AM
You don't have good reading comprehension.

That is unnecessary.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on February 01, 2012, 03:33:31 AM
You don't have good reading comprehension.

That is unnecessary.
Not at all, it is important to use care when reading anything, and to take the time to understand it, instead of giving it only the slightest cursory overview and assuming the bulk of its content.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2_Thumbs_Up on February 01, 2012, 09:05:56 PM
The client can cheat if it generates the winning hash in a naive implementation by failing to transmit the winning hash to the server and just transmitting it directly like a normal Bitcoin client and taking the 50BTC for itself.
No, I don't think so.

The block being hashed includes the 50BTC transaction awarded to the generator. So a client must decide (before looking for hashes) whether it is hashing a block that will pay itself, or a block that will pay the server. It can't find a hash first, and then decide who it is for.

So there's no risk of cheating. If the client is looking for hashes that will pay itself, it's not participating in the shared mining and won't have any low-difficulty results to send back to the server either.
Theoretically, could this possibly work in another way? If miners could "steal" the generated block from the pool operator, I believe the ultimate consequence will be that pools will be forced to shrink to smaller trusted circles, thus providing far more decentralization. I may very well be wrong, but I don't see why the miner reward adress needs to be hashed in the block itself, as long as it's hashed in future blocks.

EDIT: Actually I do see a very serious problem here since the winning miner needs to be sure that anyone he relays the block to doesn't simply change the reward adress to its own.

You don't have good reading comprehension. I bolded the relevant parts for you. The miner cannot change the block's payout address.
Maybe you should try to make sure you understand what someone else is saying before you accuse them of bad reading comprehension. I know it's impossible for miners to change the adress after they mine a block with the current implementation. I was wondering if an alternative protocol in theory could make it so that they actually could change the adress afterwards without any negative side-effects, thus creating an environment where pooled mining requires trust and will be reduced to smaller circles of people.

My point is that pooled mining should be looked upon as a flaw in the protocol, not a feature. The centralization that pools create was never intended. When pooled mining was created everyone was saying "Oh cool, this reduces variance" when they should have been like "Oh fuck, this creates unnecessary centralization while adding nothing for the end users, can we patch it somehow?" I don't know if the protocol could be changed to make pooled mining heavily disincentivized, and I think you should be very conservative with protocol changes, but it's worth some thought at least.

P2Pool seem cool though, and is definitely an improvement. The problem is that it relies on other people to voluntary switch to it, which won't necessarily happen (just look at how many are unwilling to switch to a smaller pool). Pool owners are those who are most heavily incentivized to spread the idea of bitcoin mining, and their incentives certainly don't point towards P2Pool. So to truly decentralize bitcoin, we need something more.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on February 01, 2012, 09:20:25 PM
I was wondering if an alternative protocol in theory could make it so that they actually could change the adress afterwards without any negative side-effects, thus creating an environment where pooled mining requires trust and will be reduced to smaller circles of people.

My point is that pooled mining should be looked upon as a flaw in the protocol, not a feature. The centralization that pools create was never intended. When pooled mining was created everyone was saying "Oh cool, this reduces variance" when they should have been like "Oh fuck, this creates unnecessary centralization while adding nothing for the end users, can we patch it somehow?" I don't know if the protocol could be changed to make pooled mining heavily disincentivized, and I think you should be very conservative with protocol changes, but it's worth some thought at least.
Why in the fuck would you do this? There wouldn't be a single set of users that would voluntarily leave the block untouched, if they could claim the reward as their own.

In addition, eliminating all pools would mean that everyone is solo mining again. Why is this bad? Because at the current difficulty, CPU and slow GPU miners are certainly not going to  wait around for literally months at a time waiting for a block, and they will simply stop mining, instead of getting a trickle of bit-pennies every day or so. Having the additional hash power, even if it is somewhat centralized, is going a long way towards the ultimate goal of securing the network.

Besides that, the large miners (30-200 ghash) would become de-facto pools, because of the efficiency increases of running a set of miners on a pool that is on-location. The high variance would push many users out of the market, causing a) a drop in value, b) a drop in difficulty, making it easier for them to monopolize a portion of the network, and c) consolidation of hash power to the people that would eventually get much of the payout due to this monopoly.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2_Thumbs_Up on February 01, 2012, 10:07:48 PM
I was wondering if an alternative protocol in theory could make it so that they actually could change the adress afterwards without any negative side-effects, thus creating an environment where pooled mining requires trust and will be reduced to smaller circles of people.

My point is that pooled mining should be looked upon as a flaw in the protocol, not a feature. The centralization that pools create was never intended. When pooled mining was created everyone was saying "Oh cool, this reduces variance" when they should have been like "Oh fuck, this creates unnecessary centralization while adding nothing for the end users, can we patch it somehow?" I don't know if the protocol could be changed to make pooled mining heavily disincentivized, and I think you should be very conservative with protocol changes, but it's worth some thought at least.
Why in the fuck would you do this? There wouldn't be a single set of users that would voluntarily leave the block untouched, if they could claim the reward as their own.
Yes, I already noted that problem. I'll bold the relevant parts for you.

Theoretically, could this possibly work in another way? If miners could "steal" the generated block from the pool operator, I believe the ultimate consequence will be that pools will be forced to shrink to smaller trusted circles, thus providing far more decentralization. I may very well be wrong, but I don't see why the miner reward adress needs to be hashed in the block itself, as long as it's hashed in future blocks.

EDIT: Actually I do see a very serious problem here since the winning miner needs to be sure that anyone he relays the block to doesn't simply change the reward adress to its own.

But I still think the optimal solution would be to disincentivize pooled mining within the actual bitcoin protocol, I'm just not sure how. Any suggestions of how this would be possible?
So yes, that is a very serious problem, and I'm aware of it. But the thing I have been asking about all this time is wether it's possible to disincentivize pooled mining in the bitcoin protocol without any negative side-effects like that one. I'm leaning towards it not being possible, but I'm not actually sure.

In addition, eliminating all pools would mean that everyone is solo mining again. Why is this bad? Because at the current difficulty, CPU and slow GPU miners are certainly not going to wait around for literally months at a time waiting for a block, and they will simply stop mining, instead of getting a trickle of bit-pennies every day or so. Having the additional hash power, even if it is somewhat centralized, is going a long way towards the ultimate goal of securing the network.
Millions of people play in the lottery so I'm sure they could mine for bitcoins as well even if it's somewhat of a gamble. Bitcoin unlike the lottery would actually still have a positive expected value. If we have some weak risk averse miners, others will come in and profit from the weak miners' irrational -EV move.

Also, I don't think we could possibly lose nearly enough processing power for it to matter. The profitability of mining goes through the roof long before that ever happens. Suppose we lost something extreme like 9 tenths of the current hashing power. We would still have a substantial amount, and those left in the game would gain 10x the amount of bitcoins while their costs remain constant. If a miner recieves $10 of bitcoin for $9 of expenses now, he would get $100 of bitcoin for $9 of expenses in the new scenario with less hashing power. That kind of ROI would surely lure the quitters back in to mining, regardless of variance. Rational miners will endure the variance and gain if others quit.

So I think my point still stands. Pooled mining does nothing for the end-users except creating a potential security risk from centralization.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on February 01, 2012, 10:12:31 PM

Maybe you should try to make sure you understand what someone else is saying before you accuse them of bad reading comprehension. I know it's impossible for miners to change the adress after they mine a block with the current implementation. I was wondering if an alternative protocol in theory could make it so that they actually could change the adress afterwards without any negative side-effects, thus creating an environment where pooled mining requires trust and will be reduced to smaller circles of people.

My point is that pooled mining should be looked upon as a flaw in the protocol, not a feature. The centralization that pools create was never intended. When pooled mining was created everyone was saying "Oh cool, this reduces variance" when they should have been like "Oh fuck, this creates unnecessary centralization while adding nothing for the end users, can we patch it somehow?" I don't know if the protocol could be changed to make pooled mining heavily disincentivized, and I think you should be very conservative with protocol changes, but it's worth some thought at least.

P2Pool seem cool though, and is definitely an improvement. The problem is that it relies on other people to voluntary switch to it, which won't necessarily happen (just look at how many are unwilling to switch to a smaller pool). Pool owners are those who are most heavily incentivized to spread the idea of bitcoin mining, and their incentives certainly don't point towards P2Pool. So to truly decentralize bitcoin, we need something more.

No alternative is possible.  The reward is a transaction thus it is part of the block thus it is part of the merkle tree thus it is part of the merkle root thus it is part of the block header.

If you could change the reward transaction without it affecting the block hash well I would change every block's reward transaction to my address.  All the bitcoins are mine.  :)  Of course so would everyone else and thus there would be no value in it.

Still even if you DID do that you wouldn't eliminate pool mining.  Pools would simply require you put up a deposit to join the pool.  A deposit you lose if you steal a block.  If anything it would centralize power more among large hashing farms and mining companies as putting up a 50 BTC deposit is a lot easier on 20 GH/s then it is with 300 MH/s.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: 2_Thumbs_Up on February 01, 2012, 10:41:39 PM

Maybe you should try to make sure you understand what someone else is saying before you accuse them of bad reading comprehension. I know it's impossible for miners to change the adress after they mine a block with the current implementation. I was wondering if an alternative protocol in theory could make it so that they actually could change the adress afterwards without any negative side-effects, thus creating an environment where pooled mining requires trust and will be reduced to smaller circles of people.

My point is that pooled mining should be looked upon as a flaw in the protocol, not a feature. The centralization that pools create was never intended. When pooled mining was created everyone was saying "Oh cool, this reduces variance" when they should have been like "Oh fuck, this creates unnecessary centralization while adding nothing for the end users, can we patch it somehow?" I don't know if the protocol could be changed to make pooled mining heavily disincentivized, and I think you should be very conservative with protocol changes, but it's worth some thought at least.

P2Pool seem cool though, and is definitely an improvement. The problem is that it relies on other people to voluntary switch to it, which won't necessarily happen (just look at how many are unwilling to switch to a smaller pool). Pool owners are those who are most heavily incentivized to spread the idea of bitcoin mining, and their incentives certainly don't point towards P2Pool. So to truly decentralize bitcoin, we need something more.

No alternative is possible.  The reward is a transaction thus it is part of the block thus it is part of the merkle tree thus it is part of the merkle root thus it is part of the block header.

If you could change the reward transaction without it affecting the block hash well I would change every block's reward transaction to my address.  All the bitcoins are mine.  :)  Of course so would everyone else and thus there would be no value in it.

Still even if you DID do that you wouldn't eliminate pool mining.  Pools would simply require you put up a deposit to join the pool.  A deposit you lose if you steal a block.  If anything it would centralize power more among large hashing farms and mining companies as putting up a 50 BTC deposit is a lot easier on 20 GH/s then it is with 300 MH/s.
Ok, thanks. I was trying to think of some other authentication method for who solved the block, but I couldn't get it to work securely in my head either the more I thought about it. I still felt like I had to ask since I've been surprised of what you can achieve with cryptography every other day since I learned about bitcoin and became more interested in the subject. And even if it wouldn't eliminate pooled mining it would disincentivize it and generate some decentralization compared to today. I don't see how adding costs to centralization would centralize the network even more. But that discussion is kind of irrelevant if it's not even possible.

P2Pool is pretty interesting though. But from how mining currently works, miners don't seem to value network security nearly as high as they value reduced variance, so I remain sceptical in how well it will kick of. But it's certainly a great inovation that should be encouraged.

Is there some scalability issues with P2Pool? For example, could every single miner join a P2Pool, or would we need multiple P2Pools? If it's the former I could see a point where even the variance-reducing miners would prefer P2Pool over other pools. A 95% Pie chart for P2Pool on bitcoinwatch would be neat.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on February 01, 2012, 10:48:42 PM
Is there some scalability issues with P2Pool? For example, could every single miner join a P2Pool, or would we need multiple P2Pools? If it's the former I could see a point where even the variance-reducing miners would prefer P2Pool over other pools. A 95% Pie chart for P2Pool on bitcoinwatch would be neat.

The issue comes from the fact that there is a limit on how fast the pool (in aggregate) can produce shares.  Every share must be shared with every client.  p2pool handles this by using dynamic difficulty to keep avg share time at 10 seconds (just like Bitcoin uses dynamic difficulty to keep avg block time at 10 minutes).  If p2pool was 5x as big the difficulty of shares would be 5x as high.  Eventually difficulty becomes so high that for small miners the variance they worry about is the share time variance.

There are methods around this.  The protocol could be expanded so that in a p2p fashion the pool dynamically creates, splits, merges, and closes subpools.  New nodes would be assigned to subpool most appropriate.  So while p2pool could have theoretically 2 TH/s it may consists of 5 independent pools with 400 GH/s on average.

Another method would be a master-slave network.  There is a high level p2pool.  The only thing operating at this level would be traditional small pools, entire p2pools, and major hashing farms.  Difficulty would be very high so it wouldn't be advisable for a small miner to join.  However using this p2pool-backbone smaller p2pools & small traditional pools could connect.

So yes it is an issue and yes there are potential solutions.



Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Rassah on February 02, 2012, 04:01:32 AM
But from how mining currently works, miners don't seem to value network security nearly as high as they value reduced variance, so I remain sceptical in how well it will kick of. But it's certainly a great inovation that should be encouraged.

That's one example of Satoshi's genius ideas. People involved with Bitcoin only need to be interested in themselves. Miners, being normal (rational) people, only care about making money, not about securing the network. Just securing the network would be charity work. But, by only caring about themselves, the end up securing the network in the process as well.

Just fyi, my system currently ca do about 550Mhash on average. Not a huge mining farm, but not a weak system either. I would guess about average that someone who wanted to have dedicated mining going without splurging too much would have. With my system and the current difficulty, I will get one block every 6 months to a year (most likely every year). There's NO WAY I am willing to spend $50 a month with the hope of getting paid a year down the road, with the risk of the difficulty perpetually going up, and my chances perpetually dwindling to 0. That is basically what was happening in June; you have a chance of one block in a month, two weeks later you have a chance of one block in 2 months, 2 weeks later it's one block in 4 months, and so on, with the goal constantly moving away. That's why I am using pooled mining, and why I suspect everyone else does too: a single hash is worth a specific amount now, and may be almost worthless by comparison just a few weeks from now.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: kano on February 09, 2012, 08:32:27 AM
I'll also add namecoin setup if I have time.
That would be a must since profitability is what make it or break it for heavy miners.

Count me in to support your work.

Namecoin is worth only about 1.2% extra revenue.  It is a nice luxury but I would hardly call it make or break.
Timely addition to Pool Comparison wiki : ↑ P2Pool supports merged mining but payouts in the merged chain are not pooled.
Anyone got an answer to this comment?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: kano on February 09, 2012, 10:25:27 AM
Anyone got an answer to this comment?

Maybe you could be more specific. What is your question? Or perhaps it would be better to ask this in the P2Pool thread where more knowledgeable individuals will see it.
The bold bit ...
Can anyone put whatever they like in the coinbase?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: gnar1ta$ on February 09, 2012, 02:12:13 PM
Anyone got an answer to this comment?

Maybe you could be more specific. What is your question? Or perhaps it would be better to ask this in the P2Pool thread where more knowledgeable individuals will see it.
The bold bit ...
Can anyone put whatever they like in the coinbase?

I guess that would be yes since you are running your own bitcoind and namecoind? I think the comment was about namecoin mining not being pooled.  When you use merged mining with p2pool you get the 50NMC reward block to yourself - I've mined a few NMC blocks already.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Gabi on February 09, 2012, 02:50:14 PM
Reward in p2pool are higher than in most pool (ppl in deepbit pay 10% to mine LOL, poor noobs, wasting money), that is an incentive for ppl to switch to it.

Variance? P2pool find some blocks everyday, no problem about variance...


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: kano on February 09, 2012, 03:11:19 PM
Anyone got an answer to this comment?

Maybe you could be more specific. What is your question? Or perhaps it would be better to ask this in the P2Pool thread where more knowledgeable individuals will see it.
The bold bit ...
Can anyone put whatever they like in the coinbase?

I guess that would be yes since you are running your own bitcoind and namecoind? I think the comment was about namecoin mining not being pooled.  When you use merged mining with p2pool you get the 50NMC reward block to yourself - I've mined a few NMC blocks already.
Yes actually that was what I was asking ...
You can merge mine as many related chains as you like
If you find the pool block you can keep all the other chain coins yourself.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on February 09, 2012, 04:03:47 PM
Can anyone put whatever they like in the coinbase?

Yes.  In essence you are solo mining.  The p2pool network only checks to ensure the coinbase transaction is valid (and matches share chain reward split).  p2pool can be best summed up as solo mining w/ shared rewards.

Quote
If you find the pool block you can keep all the other chain coins yourself.
You have no choice but to keep any alt-chain coins to yourself. The p2pool network & share chain only has "knowledge" of Bitcoin.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: dooglus on February 09, 2012, 09:21:53 PM
Reward in p2pool are higher than in most pool (ppl in deepbit pay 10% to mine LOL, poor noobs, wasting money), that is an incentive for ppl to switch to it.

Variance? P2pool find some blocks everyday, no problem about variance...

http://blockexplorer.com/address/1Kz5QaUPDtKrj5SqW5tFkn7WZh8LmQaQi4 lists all the blocks found by p2pool.

6 blocks yesterday, 5 so far today.  It's been a lucky couple of days when the expected "Average time between blocks" is 0.36 days.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: ThiagoCMC on February 13, 2012, 08:46:44 PM
I would be happy when P2Pool reaches ~700GHash... We are now at 240GHash!

The documents are done, so, everybody with little Linux or Windows knowledge can run your P2Pool node in minutes...

Come on guys! P2Pool is the future of Bitcoin / Litecoin mining!

This huge centralization of power in the pools must go.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on February 14, 2012, 01:25:56 AM
The documents are done, so, everybody with little Linux or Windows knowledge can run your P2Pool node in minutes after waiting hours for the blockchain to download...
FTFY :)


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: jothan on February 14, 2012, 01:42:14 AM
Can anyone put whatever they like in the coinbase?

Yes.  In essence you are solo mining.  The p2pool network only checks to ensure the coinbase transaction is valid (and matches share chain reward split).  p2pool can be best summed up as solo mining w/ shared rewards.

Quote
If you find the pool block you can keep all the other chain coins yourself.
You have no choice but to keep any alt-chain coins to yourself. The p2pool network & share chain only has "knowledge" of Bitcoin.

Right, but I think if P2Pool supported Namecoin in addition to BTC and LTC, you could point your BTC P2Pool to the NMC P2Pool merged mining url.

Or, what is possible right now, join a NMC merged mining pool and point your P2Pool instance to that.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: rjk on February 14, 2012, 01:53:43 AM
Whatever happened to p2poolparty.net? The stats pages still seem to be running and working, but the mining servers are offline and not responding. It was cool while it lasted for a little while, can someone make another clone of it?


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: Red Emerald on February 15, 2012, 12:18:56 AM
The documents are done, so, everybody with little Linux or Windows knowledge can run your P2Pool node in minutes after waiting hours for the blockchain to download...
FTFY :)

You don't have to sit in front of the computer with bated breath waiting for the block chain to download.  ;)

In fact, some people were mentioning that they didn't want to lose mining time while getting P2Pool running. Well, you don't have to.

While continuing to mine at your usual pool, install bitcoin (if you don't have it installed already, shame on you for not running a node  :P) and go to sleep, then work. Come home and the block chain is downloaded. Install P2Pool and get everything working properly. Finally point your miners at your P2Pool instead of your usual pool. Total time in front of the computer, 10 - 15 minutes. Total mining downtime, 2 seconds.

I did it with no downtime.  I added my p2pool settings to my miner before even setting up the pool.  As soon as the pool was up, cgminer switched to it instantly.

I just think it should be made very clear that you have to have the whole blockchain downloaded for p2pool to run and that the shares are not difficulty 1.  So many people keep on asking about both those things.


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: markm on February 15, 2012, 06:26:26 PM
Or, what is possible right now, join a NMC merged mining pool and point your P2Pool instance to that.

If I run p2pool myself, merged mining all the alt chains I want to that mmpool at bitparking does not, can I also point my p2pool at the mmpool that already merged mines several types of coin?

Won't the headers sent by the merged mining pool be expected back un-messed-with by the merged mining pool, so that your addition of more chains for your own merged mining might make the pool reject your blocks/shares?

Maybe it varies from pool to pool, what kind of checks they do on your blocks/shares, like whether they only check that the merkles are there for the chains they are merging or also in the process check that you have not added more chains's merkles there?

I had thought I would have to merge for myself all the chains the mmpool does and stop using the pool, but if I can use the pool but still add on a bunch more chains the pool for whatever reason has not seen fit to merge yet that would be great...

-MarkM-


Title: Re: Bringing decentralization back to the Bitcoin network.
Post by: DeathAndTaxes on February 15, 2012, 06:29:49 PM
Or, what is possible right now, join a NMC merged mining pool and point your P2Pool instance to that.

If I run p2pool myself, merged mining all the alt chains I want to that mmpool at bitparking does not, can I also point my p2pool at the mmpool that already merged mines several types of coin?

Won't the headers sent by the merged mining pool be expected back un-messed-with by the merged mining pool, so that your addition of more chains for your own merged mining might make the pool reject your blocks/shares?

Maybe it varies from pool to pool, what kind of checks they do on your blocks/shares, like whether they only check that the merkles are there for the chains they are merging or also in the process check that you have not added more chains's merkles there?

I had thought I would have to merge for myself all the chains the mmpool does and stop using the pool, but if I can use the pool but still add on a bunch more chains the pool for whatever reason has not seen fit to merge yet that would be great...

-MarkM-


You can't use the pool. 

When you hash a block and find a share you only return the hash.   The pool verifies the hash you return matches the work you were given and the hash is good otherwise you get a reject.

A hash is only good for EXACTLY that block header.  The block header contains the merkle root which contains hashes of the transaction including the coinbase.  A pool expects the coinbase to have its reward address.  p2pool expects the coinbase to have the split determined by the share chain.

TL/DR version:
The hashes produced from the work generated by p2pool is only good for p2pool.
the hashes produced from the work generated by a pool is only good for that pool.