Pages:
Author

Topic: Bringing decentralization back to the Bitcoin network. (Read 10601 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
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.
legendary
Activity: 2940
Merit: 1090
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-
hero member
Activity: 742
Merit: 500
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 Smiley

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

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  Tongue) 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.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
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?
full member
Activity: 184
Merit: 100
Feel the coffee, be the coffee.
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.
hero member
Activity: 742
Merit: 500
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 Smiley
legendary
Activity: 1204
Merit: 1000
฿itcoin: Currency of Resistance!
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.
legendary
Activity: 2940
Merit: 1333
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
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.
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
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...
donator
Activity: 798
Merit: 500
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.
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
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?
legendary
Activity: 4592
Merit: 1851
Linux since 1997 RedHat 4
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?
legendary
Activity: 1680
Merit: 1035
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.
donator
Activity: 1218
Merit: 1079
Gerald Davis
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.

sr. member
Activity: 323
Merit: 251

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.  Smiley  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.
donator
Activity: 1218
Merit: 1079
Gerald Davis

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.  Smiley  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.
sr. member
Activity: 323
Merit: 251
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.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
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.
Pages:
Jump to: