Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 338. (Read 2591964 times)

member
Activity: 85
Merit: 10

See pull request #187 ( https://github.com/forrestv/p2pool/pull/187 ) created March 3, 2014 for p2pool main code.

I continue to play a little bit with point 1 and 4 from your initial list and created 2 more experimental patches:

First patch is to request work restart only once for each block.
https://github.com/jaketri/p2pool/commit/0b0c3473c0a67f24f4bc9b95de002770c69828ef

Second patch is to accept any valid work even stale or DOA and let the share verification decide if share is valid or not.
https://github.com/jaketri/p2pool/commit/875c3483b82d50ce77f153f46ce7c20e193f17c0

This 2 patches help a lot for my Bitfury miner (without them I have about 25-30% DOA) but unfortunately I do not have an S2 to test.

Here is my experimental p2pool node running on port 19332 with this patches applied in case anyone want to do a quick test with S2 and let me know if they see any improvement.

p2pool.25u.com:19332

Keep in mind that p2pool node with above patches will not reject any valid work but the shares may get rejected later when adding them to share chain.

Note: On same address but on the standard p2pool port 9332 is a p2pool server without this patches if you want to see results with and without the patches.

[/quote]

I am hooked in there with you....lets see.......... this is a single S2
sr. member
Activity: 434
Merit: 250
installing blockchain on iceland.centralcavern.uk
hero member
Activity: 1246
Merit: 501
I'm hopefully going to have a p2pool node up and running again in the next week or so, it'll be on a VPS with a static IP, rather than hanging off my home ADSL line as before.  Details to follow. Smiley
full member
Activity: 154
Merit: 100
At the moment my conclusion is a proxy isn't going to help getting S2s working with p2pool.

I believe the problem is the constant "drop EVERYTHING you are doing and restart" messages that p2pool sends every 30 seconds.  Then it rejects all the old work coming p2pool leading to large DOA.

My recommendations for p2pool to become more S2 friendly:

1 - Sending new work every 30 seconds is fine.  It's apparently not necessary to force the miner to restart "clean jobs" = true.  It also needs to gracefully accept work from prior job IDs for a period of time like other pools do.

2 - Start at a higher pseudo difficulty than 1.

3 - Allow a higher pseudo difficulty than 1000.

4 - Send the actual errors back for rejected work, instead of just "false".

If I understood python I'd take a stab at 2 through 4.  1 might be a big deal.

Here are 2 patches for p2pool that address point 2 and 3 from your list.

First a simple patch that allow higher than 1000 pseudo-difficulty.
https://github.com/jaketri/p2pool/commit/05b630f2c8f93b78093043b28c0c543fafa0a856

And another patch that add "--min-difficulty" parameter to p2pool. For my setup I use 256 as start pseudo difficulty.

https://github.com/jaketri/p2pool/commit/5f02f893490f2b9bfa48926184c4b1329c4d1554

Thanks, that's good.  Now why isn't it in the main code?

M
See pull request #187 ( https://github.com/forrestv/p2pool/pull/187 ) created March 3, 2014 for p2pool main code.

I continue to play a little bit with point 1 and 4 from your initial list and created 2 more experimental patches:

First patch is to request work restart only once for each block.
https://github.com/jaketri/p2pool/commit/0b0c3473c0a67f24f4bc9b95de002770c69828ef

Second patch is to accept any valid work even stale or DOA and let the share verification decide if share is valid or not.
https://github.com/jaketri/p2pool/commit/875c3483b82d50ce77f153f46ce7c20e193f17c0

This 2 patches help a lot for my Bitfury miner (without them I have about 25-30% DOA) but unfortunately I do not have an S2 to test.

Here is my experimental p2pool node running on port 19332 with this patches applied in case anyone want to do a quick test with S2 and let me know if they see any improvement.

p2pool.25u.com:19332

Keep in mind that p2pool node with above patches will not reject any valid work but the shares may get rejected later when adding them to share chain.

Note: On same address but on the standard p2pool port 9332 is a p2pool server without this patches if you want to see results with and without the patches.
full member
Activity: 932
Merit: 100
arcs-chain.com

Dont count the rejects, count the shares you get.
Dont mine with minimal settings with 1th hardware - its for usb block erupters, use minimium walletaddress/10 000000 and see what happens in a week or two...

Remember to relax Wink

hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
The problem, as I've said on many occasions, is not a lack of nodes - there are literally hundreds of public nodes & hundreds more private nodes. Even if there were millions of nodes p2pool would be in exactly the same situation - all the nodes in the world won't make a difference if there is no hardware capable of mining on them efficiently/effectively. The number of nodes will increase with the number of miners who are able to use them - why would anyone want to set-up a node (and pay for the privilege) if nobody can mine on it?

I'm afraid the fate of p2pool is in the hands of hardware manufacturers, as it's obvious the p2pool dev doesn't give a shit. If Bitmain can't/don't manage to release a firmware that works with p2pool, then it will only be a matter of time before the older asics that currently work with p2pool become unprofitable to run & get switched off, as is already happening with the S1's depending on the cost of electricity in any particular country. This is what has happened to me, after mining with p2pool for over 2 years, and it will happen to everyone else soon enough unless p2pool &/or hardware manufacturers bang their heads together & work something out.

It's sad that p2pool is relying completely on third parties for it's existence, expecting hardware manufacturers to change their set-ups to accommodate p2pool instead of p2pool developing to accommodate more hardware. I hold forrestv 100% responsible for this situation, even more so after his last cry baby statement. It's not as if he wasn't warned about this 15 months ago - but absolutely nothing has been done & he continues to ignore everyone. It's sad really.
sr. member
Activity: 295
Merit: 250
The actual setup of the p2pool servers is the easy bit.  If I were doing it I would use Amazon EC2 with SSD's etc... (Auzure is just insane for a project like this) Load Balances to mitagate DDOS, DNS to direct the user to the closes server ... all the good stuff.  My real life job has me doing something similar.

The real issue is getting community support behind it in order to pay for it.  If I could work out how to do that I would spin up a set of servers tomorrow.  Perhaps a crowdfunding campaign?

Neil

I think we're talking about two different things. The setups we're suggesting so far are suitable for smaller installs, like a pool suited for a few users, or one user with a goodly-sized farm. If we're talking about pools that can handle industrial-strength mining farms, or a "centralized" p2pool node with thousands of users, then it becomes a whole other ballgame. In that case, you're correct, it would take a much more resilient configuration.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool


The actual setup of the p2pool servers is the easy bit.  If I were doing it I would use Amazon EC2 with SSD's etc... (Auzure is just insane for a project like this) Load Balances to mitagate DDOS, DNS to direct the user to the closes server ... all the good stuff.  My real life job has me doing something similar.

The real issue is getting community support behind it in order to pay for it.  If I could work out how to do that I would spin up a set of servers tomorrow.  Perhaps a crowdfunding campaign?

Neil

why is Azure insane for a project like this? I was suggesting it for individuals to run nodes. All you need is a business or to be a student. it's a good deal and I have nodes running on the Singapore dc's with great stats.

Azure has full load balancing and all the good stuff that Amazon has. To be quite frank they are almost identical but I've managed to get the Azure credit with free hosting and Amazon provide nothing like that.
 
full member
Activity: 932
Merit: 100
arcs-chain.com
What should be edited in the code to be able to increase nodes minimium share difficulty, it would be much easier than change it with every miner. (walletaddress/100 000000)...100M

legendary
Activity: 896
Merit: 1000
sign up to BizSpark or dreamspark and get access to free Azure credit. enough to run a dual core 3.5gb sever for the whole moth for free.

http://www.microsoft.com/bizspark/default.aspx
https://www.dreamspark.com/

That doesn't solve any issues, the blockchain download alone to run p2pool is greater than 3.5 gb

Edit: I'm sorry, I'm tired and didn't realize you were talking about RAM.  You could also use a service like linode.com.  $20/mth gets you 2gb or RAM and a dual core for a month, where Azure becomes $111 to $134 /mth after your free month.  You can also get 4gb of RAM and 4 cores from linode.com for $40/mth.  There is also digitalocean.com.
Another option I've mentioned before is a company called CrownCloud.net. They're a bitcoin-friendly hosting provider. They don't allow cloud mining, but they do allow you to run a bitcoin node and pool software, and they also take payment in bitcoin. Two of their packages in particular stand out. One's an OpenVPS package in Frankfurt, Germany, and the other is in their LA location. Both offer 3GB RAM, 50GB HDD, and plenty of CPU and bandwidth for $30 annually. Perfect for hosting a full bitcoin node and p2pool.  Those particular packages are frequently out of stock; I was able to nab one by following them on Twitter and waiting for them to announce more capacity.

Guys, look into both of those programs. I've had $160US/month of Azure credit for 3 years now. It's not just one month free!
They have dropped the allowance now to $110us/month but still great for any student or person with registered business or tax id.
you get quite a bit of storage included in that. I a whole bunch of machines under my msdn account but I can tell you that the $110 allowance would be plenty of ram, cpu, storage and bandwidth to run a node quite happily.

The actual setup of the p2pool servers is the easy bit.  If I were doing it I would use Amazon EC2 with SSD's etc... (Auzure is just insane for a project like this) Load Balances to mitagate DDOS, DNS to direct the user to the closes server ... all the good stuff.  My real life job has me doing something similar.

The real issue is getting community support behind it in order to pay for it.  If I could work out how to do that I would spin up a set of servers tomorrow.  Perhaps a crowdfunding campaign?

Neil
full member
Activity: 161
Merit: 100
digging in the bits... now ant powered!
I will set one up here in cloud crown and see how it goes. Would appreciate any support from miners there once complete
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
sign up to BizSpark or dreamspark and get access to free Azure credit. enough to run a dual core 3.5gb sever for the whole moth for free.

http://www.microsoft.com/bizspark/default.aspx
https://www.dreamspark.com/

That doesn't solve any issues, the blockchain download alone to run p2pool is greater than 3.5 gb

Edit: I'm sorry, I'm tired and didn't realize you were talking about RAM.  You could also use a service like linode.com.  $20/mth gets you 2gb or RAM and a dual core for a month, where Azure becomes $111 to $134 /mth after your free month.  You can also get 4gb of RAM and 4 cores from linode.com for $40/mth.  There is also digitalocean.com.
Another option I've mentioned before is a company called CrownCloud.net. They're a bitcoin-friendly hosting provider. They don't allow cloud mining, but they do allow you to run a bitcoin node and pool software, and they also take payment in bitcoin. Two of their packages in particular stand out. One's an OpenVPS package in Frankfurt, Germany, and the other is in their LA location. Both offer 3GB RAM, 50GB HDD, and plenty of CPU and bandwidth for $30 annually. Perfect for hosting a full bitcoin node and p2pool.  Those particular packages are frequently out of stock; I was able to nab one by following them on Twitter and waiting for them to announce more capacity.

Guys, look into both of those programs. I've had $160US/month of Azure credit for 3 years now. It's not just one month free!
They have dropped the allowance now to $110us/month but still great for any student or person with registered business or tax id.
you get quite a bit of storage included in that. I a whole bunch of machines under my msdn account but I can tell you that the $110 allowance would be plenty of ram, cpu, storage and bandwidth to run a node quite happily.
sr. member
Activity: 295
Merit: 250
sign up to BizSpark or dreamspark and get access to free Azure credit. enough to run a dual core 3.5gb sever for the whole moth for free.

http://www.microsoft.com/bizspark/default.aspx
https://www.dreamspark.com/

That doesn't solve any issues, the blockchain download alone to run p2pool is greater than 3.5 gb

Edit: I'm sorry, I'm tired and didn't realize you were talking about RAM.  You could also use a service like linode.com.  $20/mth gets you 2gb or RAM and a dual core for a month, where Azure becomes $111 to $134 /mth after your free month.  You can also get 4gb of RAM and 4 cores from linode.com for $40/mth.  There is also digitalocean.com.
Another option I've mentioned before is a company called CrownCloud.net. They're a bitcoin-friendly hosting provider. They don't allow cloud mining, but they do allow you to run a bitcoin node and pool software, and they also take payment in bitcoin. Two of their packages in particular stand out. One's an OpenVPS package in Frankfurt, Germany, and the other is in their LA location. Both offer 3GB RAM, 50GB HDD, and plenty of CPU and bandwidth for $30 annually. Perfect for hosting a full bitcoin node and p2pool.  Those particular packages are frequently out of stock; I was able to nab one by following them on Twitter and waiting for them to announce more capacity.
sr. member
Activity: 295
Merit: 250
1. Problem: installation is too difficult
Murdof and I have made some tools to install p2pool more easily on Ubuntu; the thread is here:

https://bitcointalksearch.org/topic/how-to-run-your-own-p2pool-in-ubuntu-1404-lts-with-merged-mining-651819

It would be trivial for someone to create a Windows installation package for p2pool; however, that would require trusting the package maker and having the user run an effectively arbitrary executable on their system.
sr. member
Activity: 543
Merit: 250
Orjinal üyelik ToRiKaN banlanalı asır ol
1. Problem: installation is too difficult

P2Pool comes complete with a partial solution for this one, you could have public servers so people don't have to go through all that it takes to setup and maintain your own.

The issue is paying for them.  I have been hashing through different ideas in my head but as of yet I have not come up with anything that floats.

Neil

sign up to BizSpark or dreamspark and get access to free Azure credit. enough to run a dual core 3.5gb sever for the whole moth for free.

http://www.microsoft.com/bizspark/default.aspx
https://www.dreamspark.com/

That doesn't solve any issues, the blockchain download alone to run p2pool is greater than 3.5 gb

Edit: I'm sorry, I'm tired and didn't realize you were talking about RAM.  You could also use a service like linode.com.  $20/mth gets you 2gb or RAM and a dual core for a month, where Azure becomes $111 to $134 /mth after your free month.  You can also get 4gb of RAM and 4 cores from linode.com for $40/mth.  There is also digitalocean.com.
sr. member
Activity: 543
Merit: 250
Orjinal üyelik ToRiKaN banlanalı asır ol
4. Problem: P2Pool has an increasingly high share difficulty

I had a possible solution for this, though I don't know easy it would be to implement, or if it would even be worth it.  My inspiration for this comes from the bitcoin itself.  Our sharechain is designed to work just like the bitcoin blockchain only with a shorter retarget window.  One thing the bitcoin blockchain does that the sharechain doesn't (at least to my knowledge, other than when we find blocks) is transmit the bitcoin transaction.  What if we told the nodes to treat the pseudo shares of either 10% of current difficulty, or of a fixed difficulty, like the bitcoin network does when you send bitcoins to someone else?  The node accepting the share, would broadcast the share to the network, much like the bitcoin network does when you send bitcoin.  Then when a share is found, the node that finds it, bundles the "mini-shares" just like the bitcoin network does bitcoin being transmitted.  We could even include a bonus of say 0.5% of the share value submitted with that share to the finder like transaction fees.  

So at current difficulty, the node would broadcast shares of 200k or higher to the network to be included in the next share (block).  When the share is found they are broadcast to the network and thus included in the sharechain, while maintaining a 30 second share time.  This would allow lower hashrate miners to come in and contribute to the network.
sr. member
Activity: 308
Merit: 250
Decentralize your hashing - p2pool - Norgz Pool
1. Problem: installation is too difficult

P2Pool comes complete with a partial solution for this one, you could have public servers so people don't have to go through all that it takes to setup and maintain your own.

The issue is paying for them.  I have been hashing through different ideas in my head but as of yet I have not come up with anything that floats.

Neil

sign up to BizSpark or dreamspark and get access to free Azure credit. enough to run a dual core 3.5gb sever for the whole moth for free.

http://www.microsoft.com/bizspark/default.aspx
https://www.dreamspark.com/
legendary
Activity: 896
Merit: 1000
1. Problem: installation is too difficult

P2Pool comes complete with a partial solution for this one, you could have public servers so people don't have to go through all that it takes to setup and maintain your own.

The issue is paying for them.  I have been hashing through different ideas in my head but as of yet I have not come up with anything that floats.

Neil
hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
He's not exactly stated anything new, it's been like this for over a year......
legendary
Activity: 1258
Merit: 1027
Mining Decentralisation: The Low Hanging Fruit

Mike Hearn posted today on the Bitcoin Foundation website about 2 methods of improving mining decentralization, p2pool was one of them...

He made 4 suggestions to improve p2pool

1. Problem: installation is too difficult
2. Problem: the p2pool website is hard to find
3. Problem: P2Pool feels clunky compared to centralised pools
4. Problem: P2Pool has an increasingly high share difficulty

Mike's problems 1-3 are relatively easy to fix, #4 is one we have all been discussing lately...

His proposed solution:

Quote
P2Pool could split itself into multiple independent p2pools, amoeba style, whenever it gets too large for small miners to benefit.

Without mass adoption of p2pool (and possibly even with it) this solution has 1 glaring flaw: Every time p2pool variance was significantly reduced by adding more miners/hashpower the "split" would increase the variance right back to high levels. Even at our current 400-500 TH/s we are still over a day to find a block.

What level of "expected time to block" would be acceptable?

Problem 4 needs a better solution. I already suggested what I thought was a decent starting point, but will take some serious work to get done.

Anyone else have any ideas on how to address high share difficulty?

Link to article:
https://bitcoinfoundation.org/2014/07/03/mining-decentralisation-the-low-hanging-fruit/
Jump to: