From c469ad83c0978ec81ddb1eef518a843f8e83ad69 Mon Sep 17 00:00:00 2001 From: kanoi Date: Thu, 16 Jul 2015 10:16:46 +1000 Subject: [PATCH] php - update payout explanation --- pool/inc.php | 2 ++ pool/page_payout.php | 63 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 51 insertions(+), 14 deletions(-) diff --git a/pool/inc.php b/pool/inc.php index 9710fe8b..dea5baf0 100644 --- a/pool/inc.php +++ b/pool/inc.php @@ -91,6 +91,8 @@ span.login {float:right;margin-left:8px;margin-right:24px;} span.hil {color:blue;} span.user {color:green;} span.addr {color:brown;} +span.hdr {font-weight:bold;text-decoration:underline;} +span.nn {font-weight:bold;color:red;} span.warn {color:orange;font-weight:bold;} span.urg {color:red;font-weight:bold;} span.err {color:red;font-weight:bold;font-size:120%;} diff --git a/pool/page_payout.php b/pool/page_payout.php index 2363c1a3..a4fda932 100644 --- a/pool/page_payout.php +++ b/pool/page_payout.php @@ -2,20 +2,55 @@ # function dopayout($data, $user) { - $pg = '

Payouts

'; - $pg .= ''; - $pg .= '
'; - $pg .= 'We use PPLNS (pay per last N shares)

'; - $pg .= 'The N value used for PPLNS is 5 times the network difficulty'; - $pg .= ' when a block is found,
'; - $pg .= 'but includes the full shift at the start and end of the range,
'; - $pg .= 'so it usually will be a bit more than 5N.

'; - $pg .= 'Shifts are ~50min long, however, when we find any pool blocks
'; - $pg .= 'the current shift ends at the point the block was found.
'; - $pg .= 'A ckpool restart will also start a new shift.

'; - $pg .= 'Transaction fees are included in the miner payout.
'; - $pg .= 'Pool fee is 0.9% of the total.
'; - $pg .= '
'; + $t = '5'; + $ot = '1/5'; + $n = '5Nd'; + $n1 = 'N'; + $bc = '+101 Confirms'; + $bm = 'Matured'; + $nd = 0; + if (isset($data['info']['currndiff'])) + $nd = $data['info']['currndiff']; + $nv = number_format($nd, 1); + $nv5 = number_format(5.0*$nd, 1); + $pg = "

Payouts

+
+ +What payout method does the pool use?

+We use PPL${n1}S (Pay Per Last $n1 Shares)

+PPL${n1}S means that when a block is found, the block reward is shared among the last $n1 shares that miners sent to the pool, up to when the block was found.
+The $n1 value the pool uses is $t times the network difficulty when the block is found - '$n'.

+ +How much of each block does the pool reward?

+Transaction fees are included in the miner reward.
+Pool fee is 0.9% of the total.

+ +How do the payments work?

+The $n means the pool rewards $t times the expected number of shares, each time a block is found.
+So each share will be paid appoximately $ot of it's expected value, in each block it gets a reward,
+but each share is also expected, on average, to be rewarded $t times in blocks found after the share is submitted to the pool.
+i.e. if pool luck was always 100% then each share is expected to be rewarded $t times.

+If pool luck is better than 100%, then the average share reward wil be better than $t times.
+If pool luck is lower than 100%, then the average share reward will be less than $t times.

+ +What's a shift?

+When your miner sends shares to the pool, the shares are not stored individually, but rather summarised into shifts.
+Shifts are ~50min or less in length, however, when we find any pool blocks the current shift ends early,
+at the point the block was found.
+A ckpool restart will also end the current shift and start a new one.

+ +So, what's the $n value?

+The current Bitcoin network value for $n1 is $nv and thus $n is $nv5
+Bitcoin adjusts the $n1 value every 2016 blocks, which is about every 2 weeks.

+When a block is found, the reward process counts back shifts until the total share difficulty included is $n.
+Since shares are summaried into shifts, it will includes the full shift at the end of the range counting backwards,
+so it usually will be a bit more than $n.

+ +When are payments sent out?

+The block 'Status' must first reach '$bc' on the Blocks page, and then is flagged as '$bm', before the reward is distributed.
+The block reward is sent out manually soon after that.

+ +
"; return $pg; } #