Is p2pool ready for ASIC's or is there still work that needs to be done? Can it already do variable difficulty?

yes, vardiff works already. stratum is "ComingSoonTM"

Will stratum make the communication between cgminer and the local p2pool process more efficient or is that how variable difficult will be done?

local communication has no real latencys therefore its always efficient. variable difficulty is already implemented (altough it increases the diff for all miners, not only the fast one). for the unreleased(/undeveloped) stratum stuff ul have to ask forrestv.

Is p2pool ready for ASIC's or is there still work that needs to be done? Can it already do variable difficulty?

yes, vardiff works already. stratum is "ComingSoonTM"

Will stratum make the communication between cgminer and the local p2pool process more efficient or is that how variable difficult will be done?

local communication has no real latencys therefore its always efficient. variable difficulty is already implemented (altough it increases the diff for all miners, not only the fast one). for the unreleased(/undeveloped) stratum stuff ul have to ask forrestv.

So p2pool is not really ready for ASIC? Because the first one that comes along is going to screw it up for everyone else? Not really local variable difficulty?

Is p2pool ready for ASIC's or is there still work that needs to be done? Can it already do variable difficulty?

yes, vardiff works already. stratum is "ComingSoonTM"

Will stratum make the communication between cgminer and the local p2pool process more efficient or is that how variable difficult will be done?

local communication has no real latencys therefore its always efficient. variable difficulty is already implemented (altough it increases the diff for all miners, not only the fast one). for the unreleased(/undeveloped) stratum stuff ul have to ask forrestv.

So p2pool is not really ready for ASIC? Because the first one that comes along is going to screw it up for everyone else? Not really local variable difficulty?

Is p2pool ready for ASIC's or is there still work that needs to be done? Can it already do variable difficulty?

yes, vardiff works already. stratum is "ComingSoonTM"

Will stratum make the communication between cgminer and the local p2pool process more efficient or is that how variable difficult will be done?

local communication has no real latencys therefore its always efficient. variable difficulty is already implemented (altough it increases the diff for all miners, not only the fast one). for the unreleased(/undeveloped) stratum stuff ul have to ask forrestv.

So p2pool is not really ready for ASIC? Because the first one that comes along is going to screw it up for everyone else? Not really local variable difficulty?

ASIC is going to mess everyone up who doesn't have an ASIC. That isn't unique to p2pool.

i'm at 188 shares and 1 orphan now, after modifying source to allow more outgoing connections

u see i just improved ur mining alot

Well, now I'm at 20 shares and 3 orphans. Not a huge sample, but..

my conclusion would be that the initial outgoing # is too low. 10 as max is also too low. you should be able to set it up to 20-30.

but, most orphans come from the size of the blocks. i did ~250 shares with 2 orphans with a maxblocksize of 10000, essentially making blocks of 5 or 6 transactions... later on I changed that to nothing, so all blocks had just 1 transaction. that also lowered the "GetBlockTemplate Latency" to a couple milliseconds, as can be seen at: http://nogleg.com:9332/static/graphs.html?Day

Now I've set it back to a 500kB max block size and am at that 20 blocks w/ 3 orphans. My GetBlockTemplate latency has also increased, though tbh, I don't find that very relevant. It's a good diagnostic for spotting out possible issues, like if you have maxblocksize set to 0 and it's taking half a second, then that's a problem, I guess.

That 1/4th or 1/3rd of a second later may matter in 1 out of 500 orphans. The bigger issue would be network slowness & latency. A bigger problem for p2pool than the network as a whole, since most pools will be run on dedicated servers on good networks. p2pool is different, because it has all these people mining w/ many of them on crap connections. For me to make the most bitcoins, then I should make all blocks with 0 transactions, to limit orphans.

i doubt getting 25.5 instead of 25.01 would make up for all the extra orphans that are caused by having transactions included (in p2pool)

It seems to me like if you're keen on p2pool, you'd be better off running a private network with a select group of people, rather than losing 5, 10, or 15% of your hashing power due to people with poor connections... or else just set your maxblocksize to 0.

i'm at 188 shares and 1 orphan now, after modifying source to allow more outgoing connections

u see i just improved ur mining alot

Well, now I'm at 20 shares and 3 orphans. Not a huge sample, but..

my conclusion would be that the initial outgoing # is too low. 10 as max is also too low. you should be able to set it up to 20-30.

but, most orphans come from the size of the blocks. i did ~250 shares with 2 orphans with a maxblocksize of 10000, essentially making blocks of 5 or 6 transactions... later on I changed that to nothing, so all blocks had just 1 transaction. that also lowered the "GetBlockTemplate Latency" to a couple milliseconds, as can be seen at: http://nogleg.com:9332/static/graphs.html?Day

Now I've set it back to a 500kB max block size and am at that 20 blocks w/ 3 orphans. My GetBlockTemplate latency has also increased, though tbh, I don't find that very relevant. It's a good diagnostic for spotting out possible issues, like if you have maxblocksize set to 0 and it's taking half a second, then that's a problem, I guess.

That 1/4th or 1/3rd of a second later may matter in 1 out of 500 orphans. The bigger issue would be network slowness & latency. A bigger problem for p2pool than the network as a whole, since most pools will be run on dedicated servers on good networks. p2pool is different, because it has all these people mining w/ many of them on crap connections. For me to make the most bitcoins, then I should make all blocks with 0 transactions, to limit orphans.

i doubt getting 25.5 instead of 25.01 would make up for all the extra orphans that are caused by having transactions included (in p2pool)

It seems to me like if you're keen on p2pool, you'd be better off running a private network with a select group of people, rather than losing 5, 10, or 15% of your hashing power due to people with poor connections... or else just set your maxblocksize to 0.

ps: i'm changing my maxblocksize back to 0

it depends how "good" the network is, for example:BTC -> 25 connections are good (0% stale so far for me)LTC -> 50 connections to get 70 submited, 6 stale (needs more connections).

The Coin got 2 sides, the more connection the more broadcast so send/validate/calc. This may lead to more DOA. so dont use astronomical numbers.

If the p2pool client is running on your computer at home then the upload speed is probably the bottleneck for most people.I have 30 KB/s upload speed for example. A 500KB block would need almost 17 seconds to upload. With 10 p2pool connections this would be 170 seconds.

If the p2pool client is running on your computer at home then the upload speed is probably the bottleneck for most people.I have 30 KB/s upload speed for example. A 500KB block would need almost 17 seconds to upload. With 10 p2pool connections this would be 170 seconds.

I believe p2pool doesn't transfer all the block's content: IIRC transactions are preemptively exchanged between nodes before a block is found and only a shorter representation of the block with references to these transactions should be transfered.

If the p2pool client is running on your computer at home then the upload speed is probably the bottleneck for most people.I have 30 KB/s upload speed for example. A 500KB block would need almost 17 seconds to upload. With 10 p2pool connections this would be 170 seconds.

I believe p2pool doesn't transfer all the block's content: IIRC transactions are preemptively exchanged between nodes before a block is found and only a shorter representation of the block with references to these transactions should be transfered.

It may not transfer the whole thing, but from my experience w/ the larger block sizes, you get tons more orphans.

I wish it showed local orphans/DOA on the graphs so that it could be analyzed more quickly..

I'll dig through my logs later and check the orphan amts compared to block size sometime in the next few days...

I do see the reasoning behind the lower amt of outgoing connections though, it does make sense... since not everyone will be on a dedicated server like a 'pool'. I still think it'd be nice if it were configurable up to 30 instead of maxing out at 10, though.... I believe the # of incoming connections is default capped at 30? That should probably be lower, actually..

and I've solved two blocks out of equiv of 200,000 difficulty 1 shares so far.... -48 btc.... sadface

#How many bytes of the block should be dedicated to high-priority transactions,#included regardless of the fees they payblockprioritysize=4096

#Minimum block size you want to create; block will be filled with free transactions#until there are no more or the block reaches this size:blockminsize=8192

#Fee-per-kilobyte amount (in BTC) considered the same as "free"#Be careful setting this: if you set it to zero then#a transaction spammer can cheaply fill blocks using#1-satoshi-fee transactions. It should be set above the real#cost to you of processing a transaction.mintxfee=0.005

This way you're mining blocks of 32kB max, you can also lower it till you find a good spot, but this way you're still helping the BTC network.

#How many bytes of the block should be dedicated to high-priority transactions,#included regardless of the fees they payblockprioritysize=4096

#Minimum block size you want to create; block will be filled with free transactions#until there are no more or the block reaches this size:blockminsize=8192

#Fee-per-kilobyte amount (in BTC) considered the same as "free"#Be careful setting this: if you set it to zero then#a transaction spammer can cheaply fill blocks using#1-satoshi-fee transactions. It should be set above the real#cost to you of processing a transaction.mintxfee=0.005

This way you're mining blocks of 32kB max, you can also lower it till you find a good spot, but this way you're still helping the BTC network.