Author

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

hero member
Activity: 924
Merit: 1000
Watch out for the "Neg-Rep-Dogie-Police".....
What nonnakip says is correct, his p2pool implementation uses the p2pool share chain & is of benefit to the p2pool network as well as smaller miners, and he should be commended for what he has tried to do. It is completely different to what Bitmain have done with their p2pool butchery setup & fake/false claims.

I could easily rewrite it in c given enough time, and have been asked many times over about this.

That would be me - guilty as charged..... Wink  However, I believe that having p2pool rewritten in C would open up the code to a far wider range of coders/developers, which could lead to a better chance of the variance problem being solved, as well as improving the performance of p2pool generally. Python devs are hard to come by, especially ones that are familiar with the Bitcoin/p2pool system, and it's also very sloooooow.

As ckolivas says, this has been discussed many, many times over the last couple of years, but as long as nothing happens I'm sure it will continue to be bought up again & again - until something is done, as it should be.
legendary
Activity: 1540
Merit: 1001
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..
I could easily rewrite it in c given enough time, and have been asked many times over about this. However it doesn't fix the fatal design flaw in p2pool's design, and no one has a meaningful workaround for it, so I would never embark on a futile task like that.

...fatal design flaw?

The larger the pool, the larger the pseudoshare difficulty, the harder it is for smaller miners to use it.  I'd also argue that the 30 second work restarts is pretty high up there, as long as there are cheap ASIC manufacturers like Bitmain that make hardware that doesn't like work restarts.

M
hero member
Activity: 633
Merit: 591
Wow. Lots of false information here.

OGNasty's implementation has all miners on the node mine to a single address and tracks the balance owed to each miner in a separate user DB based on valid shares (registration required), this could be a pool wide solution for smaller miners, but you have to trust your node, and it would be nice to eliminate registration.

There is no registration required. There never was.

I would also like a solution to creating P2Pool-subpools without trusting the node. I do not know how such a thing could exist. Sidechains maybe?

i.e. miner username is payout address, but shares are lumped to a single node address on the pool side and then paid out automatically (trustlessly) by the node when they reach X payout threshold...

NastyPool also allows mining using P2Pool payouts. What you describe is the optional NastyPoP payout method which is our attempt to make P2Pool more accessible to smaller or non-P2Pool miners. (It also does not require registration.)

Nasty has said they will not release the implementation as open source.

OgNasty does not own the code. I do. And there is nothing useful to open source since the NastyPoP implementation is part of the nastyfans framework and not part of P2Pool software. I talk about how NastyPoP is implemented here.

It's built on top of the existing p2pool python codebase, not C

What I implemented is pure C (just as all of nastyfans framework). It does not touch P2Pool code. NastyPool is running a unmmodified P2Pool node. Currently version 13.4-54-ge9b4018.

We are working to try to improve NastyPoP. Currently we work to integrate ckpool as a P2Pool frontend. But this is only for NastyPoP. NastyPool is not trying to make P2Pool better. We are trying to make it more popular by providing a frontend that will hopefully attract non-P2Pool miners that are used to reoccuring payouts with less variance.

I would also support P2Pool reimplementation in C for testing and code review and minor development. But my hands are too much filled already to take on that task myself. And I think such a large task should not only be a port from language A to language B but also involve a serious look at the problems with P2Pool to see if we can fix them. Such as share latencies and the exclusion of smaller miners. ckolivas would have my full backing for such a task.
full member
Activity: 238
Merit: 100
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..
I could easily rewrite it in c given enough time, and have been asked many times over about this. However it doesn't fix the fatal design flaw in p2pool's design, and no one has a meaningful workaround for it, so I would never embark on a futile task like that.

...fatal design flaw?
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..
I could easily rewrite it in c given enough time, and have been asked many times over about this. However it doesn't fix the fatal design flaw in p2pool's design, and no one has a meaningful workaround for it, so I would never embark on a futile task like that.
legendary
Activity: 1500
Merit: 1002
Mine Mine Mine
Isn't p2pool an open source?

Then why nasty is using it and not opening it?  Any violations there? https://github.com/forrestv/p2pool/blob/master/COPYING

Nasty has done a good job but tbh his pool small, pass it on to bigger pools around the world and others to let p2pool grow.

Sharing is caring. Not being nasty but just want to help p2pool ...
full member
Activity: 238
Merit: 100
If cgminer suports extranonce is it better to use it with p2pool or not?
legendary
Activity: 1258
Merit: 1027
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..



Agreed, show me the developer, and I'll show him/her a paycheck...

Edit:
Requirements:
  • Core code re-written in C++ (preferably without a hard fork on the share chain)
  • Payouts for smaller miners solved (I've had an idea that involves trusting the node your mining on, but you kind of have to do that anyway...)

Doesnt Nastys solution for Payouts for smaller miners work? Should nodes donate to nasty some amount to get it on every node? Theres much needed, but if we are donating to a retired developer or not donating at all...

OGNasty's implementation has all miners on the node mine to a single address and tracks the balance owed to each miner in a separate user DB based on valid shares (registration required), this could be a pool wide solution for smaller miners, but you have to trust your node, and it would be nice to eliminate registration.

i.e. miner username is payout address, but shares are lumped to a single node address on the pool side and then paid out automatically (trustlessly) by the node when they reach X payout threshold...

Nasty has said they will not release the implementation as open source.

It's built on top of the existing p2pool python codebase, not C

Edit: Not knocking OgNasty, really like what he has built. He is an evangelist for bitcoin and his solution is the only implemented solution for smaller miners I have seen...
full member
Activity: 932
Merit: 100
arcs-chain.com
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..



Agreed, show me the developer, and I'll show him/her a paycheck...

Edit:
Requirements:
  • Core code re-written in C++ (preferably without a hard fork on the share chain)
  • Payouts for smaller miners solved (I've had an idea that involves trusting the node your mining on, but you kind of have to do that anyway...)

Doesnt Nastys solution for Payouts for smaller miners work? Should nodes donate to nasty some amount to get it on every node? Theres much needed, but if we are donating to a retired developer or not donating at all...
legendary
Activity: 1258
Merit: 1027
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..



Agreed, show me the developer, and I'll show him/her a paycheck...

Edit:
Requirements:
  • Core code re-written in C++ (preferably without a hard fork on the share chain)
  • Payouts for smaller miners solved (I've had an idea that involves trusting the node your mining on, but you kind of have to do that anyway...)
full member
Activity: 932
Merit: 100
arcs-chain.com
How can p2pool ever be written in C ?
Someone should take the job and donation address should be changed so it goes to developers, but is it enough to get started?
Its too difficult to even change the donation btc address now, if something like the ckproxy that works with pool gets done I would like to support that, but cant do that because cant change the code..  Donation could be a tool in p2pool to get things better (--donation btcaddress reason)
No one donates anything anymore, and development has stopped Sad  
P2pool could be running just fine on 4 cores atom if it was written in C..

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Ok thanks, good to know. You suggest setting queue to 1 instead of 0? I keep seeing people say queue 0 for p2pool, but if you say 1 is best that's what I'll set.

I don't mean to turn this thread into an S4 thread, but while you're here.. I noticed you compiled cgminer 4.9 for S5, any chance you'll do the same for the S4?
There's almost no real difference between 0 and 1 though some have claimed lower rejects with zero, there is a possibility of slightly lower hashrates on underpowered devices, of which all the bitmain gear is.

The 4.9 I compiled for S5 is based on bitmain's branch with a handful of my fixes, so it's not a real, official 4.9 and there's no advantage to updating the S4 binary. With time there will be a real driver for these in the master cgminer branch, and  that's when more binaries would have anything to offer.
legendary
Activity: 1500
Merit: 1002
Mine Mine Mine

Do they antpool p2pool nodes get payments from p2pool blocks??

Hope they close down their nodes soon enough.

No, as IYF mentioned, they don't use the standard p2pool share chain.

So do I. Sooner the better.

The way I see it, and please correct me someone if I'm wrong, but they are simply piggy backing off p2pool decentralization marketing, and by using the same ports as p2pool they are stealing/fooling miners into thinking that they are actually helping p2pool decentralization/network - when the opposite is in fact the case. As things are, they are harming the p2pool network.

What can be done? Well, short of every p2pool node banning the IP of antp2pool & pestering them to change their ports - not a lot  Angry

Again, someone please correct me if I'm wrong.
You're not wrong.  I spent some time going through their p2pool code when they released it.  All they did was add some reliance upon a database to capture/store worker/share info.  It wasn't complete and I don't know that they ever pursued it any further.  They certainly jumped on the decentralized bandwagon, but have done nothing except for talk about how they support it, while behind the scenes they aren't doing squat.  The last update to the code was on November, 13, 2014.

+1000 to this!

I think it's about time the p2pool community put a little pressure on Bitmain "p2p" in an effort to sort this little misconception out once & for all. I see a few comments have been posted already........

I'm in   Wink

i'll start by bumping up the p2pool hashrate . . .
hero member
Activity: 686
Merit: 500
WANTED: Active dev to fix & re-write p2pool in C

Do they antpool p2pool nodes get payments from p2pool blocks??

Hope they close down their nodes soon enough.

No, as IYF mentioned, they don't use the standard p2pool share chain.

So do I. Sooner the better.

The way I see it, and please correct me someone if I'm wrong, but they are simply piggy backing off p2pool decentralization marketing, and by using the same ports as p2pool they are stealing/fooling miners into thinking that they are actually helping p2pool decentralization/network - when the opposite is in fact the case. As things are, they are harming the p2pool network.

What can be done? Well, short of every p2pool node banning the IP of antp2pool & pestering them to change their ports - not a lot  Angry

Again, someone please correct me if I'm wrong.
You're not wrong.  I spent some time going through their p2pool code when they released it.  All they did was add some reliance upon a database to capture/store worker/share info.  It wasn't complete and I don't know that they ever pursued it any further.  They certainly jumped on the decentralized bandwagon, but have done nothing except for talk about how they support it, while behind the scenes they aren't doing squat.  The last update to the code was on November, 13, 2014.

+1000 to this!

I think it's about time the p2pool community put a little pressure on Bitmain "p2p" in an effort to sort this little misconception out once & for all. I see a few comments have been posted already........

I'm in   Wink
legendary
Activity: 1500
Merit: 1002
Mine Mine Mine
thx windpath for leading the post here https://bitcointalk.org/index.php?topic=855548.180

c'mon guys lets support the REAL p2pool & not the FAKE !
legendary
Activity: 1258
Merit: 1027
legendary
Activity: 1596
Merit: 1000
just add this line at the end of /config/cgminer.conf: "queue" : "1"
and if You want to set queue from shell use: /usr/bin/cgminer-api "setconfig|queue,1" (You can also let ssh do it remotely)
I did not find any difference between queue 0 and 1 in results and I do not use --lowmem

I'm guessing adding it to cgminer.conf would make the setting persistent across reboots? Definitely going to do that if so.
Files changed in /config are permanent across reboots. In the S5 there is a file /config/user_setting which has just
Code:
queue 8192
I'm not sure if the S4 is the same but if it is, that's all you need to modify, to say queue 1

Ok thanks, good to know. You suggest setting queue to 1 instead of 0? I keep seeing people say queue 0 for p2pool, but if you say 1 is best that's what I'll set.

I don't mean to turn this thread into an S4 thread, but while you're here.. I noticed you compiled cgminer 4.9 for S5, any chance you'll do the same for the S4?

Quote from: idonothave
Yes. As far as I know it is persistent accross reboots. Smiley

Thanks again for bringing that up, you've just saved me a lot of annoyance.  Cheesy
full member
Activity: 238
Merit: 100
I did not try if it is lost if I push "save & apply", I do not use UI. I have just added it into cgminer.conf file, then I did "/etc/init.d/cgminer restart" and it works. And it is persistent accross reboots...

This is on your S4?

Sounds like we're doing about the same thing except I tweak my pool settings, causing settings to get lost.  So I use cgminer-api to set the queue setting.

M

Yes, my S4 unit. It seems any change of pool settings is changing file to defaults.
legendary
Activity: 1540
Merit: 1001
I did not try if it is lost if I push "save & apply", I do not use UI. I have just added it into cgminer.conf file, then I did "/etc/init.d/cgminer restart" and it works. And it is persistent accross reboots...

This is on your S4?

Sounds like we're doing about the same thing except I tweak my pool settings, causing settings to get lost.  So I use cgminer-api to set the queue setting.

M
full member
Activity: 238
Merit: 100
root@antMiner:~# cat /config/cgminer.conf
{
"pools" : [
...
"bitmain-freq" : "7:200:0782",
"bitmain-voltage" : "0725",
"queue" : "1",
"scan-time" : "1"
}


After the pools I have this:

Code:
,
"api-listen" : true,
"api-network" : true,
"api-allow" : "W:0/0",
"bitmain-freq" : "7:200:0782",
"bitmain-voltage" : "0725"
}


I'll probably try adding the queue setting and see what happens.

M

You have to add it there manually Smiley use vi editor

I added it.  Didn't do a thing.  Next time I changed the pools, it got lost.

M

I did not try if it is lost if I push "save & apply", I do not use UI. I have just added it into cgminer.conf file, then I did "/etc/init.d/cgminer restart" and it works. And it is persistent accross reboots...

edit: as was mentioned above, I suppose this also could solve the thing: echo "queue 1" > /config/user_setting
but personaly I did not try it because of no need
Jump to: