You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
4.3 KiB
88 lines
4.3 KiB
<?php |
|
# |
|
function dopayout($data, $user) |
|
{ |
|
$N = 5; |
|
$t = "<span class=nn>$N</span>"; |
|
$ot = "<span class=nn>1/$N</span>"; |
|
$n = "<span class=nn>${N}Nd</span>"; |
|
$n1 = '<span class=nn>N</span>'; |
|
$n1d = '<span class=nn>Nd</span>'; |
|
$bc = '+101 Confirms'; |
|
$bm = 'Matured'; |
|
$nd = 0; |
|
if (isset($data['info']['currndiff'])) |
|
$nd = $data['info']['currndiff']; |
|
$nv = number_format($nd, 1); |
|
$nvx = '<b>'.number_format($N*$nd, 1).'</b>'; |
|
$pd = $data['info']['p_hashrate24hr']; |
|
$hr = 'is <b>?</b>'; |
|
$hrt = '<b>?</b>'; |
|
if ($pd != '?' && $pd != '' && $pd > 0) |
|
{ |
|
$hr = 'for the last day is roughly <b>'.siprefmt($pd,2).'Hs</b>'; |
|
if ($nd > 0) |
|
$hrt = '<b>'.howmanyhrs($nd * $N / ($pd / pow(2,32)), true, true).'</b>'; |
|
} |
|
|
|
$pg = "<h1>Payouts</h1> |
|
<table width=75% cellpadding=0 cellspacing=0 border=0><tr><td> |
|
|
|
<span class=hdr>What payout method does the pool use?</span><br><br> |
|
We use <b>PPL${n1}S</b> (<b>P</b>ay <b>P</b>er <b>L</b>ast $n1 <b>S</b>hares)<br><br> |
|
<b>PPL${n1}S</b> 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.<br> |
|
The $n1 value the pool uses is $t times the network difficulty when the block is found - '$n'.<br><br> |
|
|
|
<span class=hdr>How much of each block does the pool reward?</span><br><br> |
|
Transaction fees are included in the miner reward.<br> |
|
Pool fee is 0.9% of the total.<br><br> |
|
|
|
<span class=hdr>PPL${n1}S acts like the reward 'ramps up' when you first start mining.<br>What actually happens?</span><br><br> |
|
The $n means it takes that long to reward your shares.<br> |
|
The ramp isn't missing rewards, it's delaying them to reduce variance.<br> |
|
Each share is rewarded in all the blocks found in the $n after the share.<br> |
|
That's simply how it reduces variance. Each share's reward is averaged out over the $n after it.<br> |
|
The pool hash rate $hr which means the $n 'ramp' is roughly $hrt.<br><br> |
|
|
|
Continue reading below for more detail about how it works:<br><br> |
|
|
|
<span class=hdr>How do the <b>PPL${n1}S</b> payments work?</span><br><br> |
|
The $n means the pool rewards $t times the expected number of shares, each time a block is found.<br> |
|
So each share will be paid approximately $ot of it's expected value, in each block it gets a reward,<br> |
|
but each share is also expected, on average, to be rewarded $t times in blocks found after the share is submitted to the pool.<br> |
|
i.e. if pool luck was always 100% then each share is expected to be rewarded $t times.<br><br> |
|
If pool luck is better than 100%, then the average share reward will be better than $t times.<br> |
|
If pool luck is lower than 100%, then the average share reward will be less than $t times.<br><br> |
|
|
|
<span class=hdr>What's a shift?</span></br><br> |
|
When your miner sends shares to the pool, the shares are not stored individually, but rather summarised into shifts.<br> |
|
Shifts are ~50min or less in length.<br> |
|
Aproximately every 30s, the pool generates new work and sends that to all the miners.<br> |
|
The pool also sends new work every time a block is found on the Bitcoin network.<br> |
|
A shift summarises all the shares submitted to the pool for 100 work changes.<br> |
|
However, when we find pool blocks, the current shift ends at the work in which the block was found<br> |
|
and a new shift starts.<br> |
|
A ckpool restart will also end the current shift and start a new shift.<br> |
|
A network difficulty change will also end the current shift and start a new shift.<br><br> |
|
|
|
<span class=hdr>So, what's the $n value?</span><br><br> |
|
The current Bitcoin network value for $n1d is $nv and thus $n is $nvx<br> |
|
Bitcoin adjusts the $n1d value every 2016 blocks, which is about every 2 weeks.<br><br> |
|
When a block is found, the reward process counts back shifts until the total share difficulty included is $n.<br> |
|
Since shares are summarised into shifts, it will include the full shift at the end of the range counting backwards,<br> |
|
so it usually will be a bit more than $n.<br><br> |
|
|
|
<span class=hdr>When are payments sent out?</span><br><br> |
|
The block 'Status' must first reach '$bc' on the Blocks page, and then is flagged as '$bm', before the reward is distributed.<br> |
|
The block reward is sent out manually soon after that.<br><br> |
|
|
|
</td></tr></table>"; |
|
return $pg; |
|
} |
|
# |
|
function show_payout($info, $page, $menu, $name, $user) |
|
{ |
|
gopage($info, NULL, 'dopayout', $page, $menu, $name, $user); |
|
} |
|
# |
|
?>
|
|
|