I'm trying to add the current minimum required hashrate for miners on my p2pool frontend. I've seen such calculation for the litecoin network here.

For litecoin with quite a high p2pool rate and a low p2pool block spread setting the minimum recommended hashrate always seems to be very high, currently at around 2 MH/s.

Now I'm trying to figure out how this is calculated. I know the variables, currently for litecoin:

# Current snapshot:
diff_block  =         5895.581658 # Network difficulty (386M)
diff_share  =            3.919712 # P2pool share difficulty (257k)
hash_netwrk = 165000000000.0      # Network hashrate (165GH/s)
hash_p2pool =   1620000000.0      # P2pool hashrate (1.62GH/s)
block_24hr  =            5.51     # Expected blocks per day
block_sprd  =            3.0      # P2Pool blocks payout spread

For my calculations I assume I want to get static payouts every block, therefore I need to solve at least one share every 3 blocks with a diff of at least 257k.

solve_time  =  block_sprd / block_24hr * 24hr
solve_time  =           13.06715  # one target share every 13 hours

Now I know I need to find one share of at least 257k difficulty every 13 hours.

But now I get lost. How do I find out which hashrate do I need to find this share at this rate?

To find one 386M-share every 2.5 minutes I need 165GH/s.

# Difficulty; Blocktime; Hashrate
5895.581658; 150; 165000000000
3.919712; 47041.742; ???

But how many H/s do I need to find one 257k-share every 13 hours?

# Hashrate to find a block every 13 hours
47041.742 / 150 = 313.612
165000000000 / 313.612 = 526128472

To find one 386M-share every 13 hours I need 526MH/s.

# Hashrate to find a share every 13 hours
5895.581658 / 3.919712 = 1504.085
526128472 / 1504.085 = 349799.597

To find one 257k-share every 13 hours I need 350kH/s!? This differs from the link I posted above by factor 5. Where is my issue here? How to do this calculation right?

Your Answer


Browse other questions tagged or ask your own question.