The error first appears in the balance, this is before the payment. It is correct when a block is "cleared" but the balance
is short. Then the payment just pays out the already short balance.
With this much information it should be a matter of 1-2 hours to track down the 20%. Is zpool running yiimp or yaamp?
I agree, I've given it my best shot and narrowed the problem as you quoted above. It looks like the user data for each block
is stored in SQL and the payout data is taken from SQL. They should match. The next step seems obvious although I've stated
it many times already.
Yiimp vs yaamp might be part of the problem. The original yaamp supported auto-exchange of mined coins but when TPruvot forked it
he dropped auto-exchange for his yiimp pool. Somewhere along the way Zpool came out and supported auto-exchange using
the yiimp fork.
Although the problem appears not to be related to exchange (ie the loss also occurs when mining same coin as payout)
it is possible the exchange code is still being run and performning a null-exchange of some kind when calculating the
balance. But that's just speculation.
yes it would be up to crackfoo to check the logs.. it would be time consuming but possible to go through all the users and add up the payouts to make sure the block is 100% accounted for..
there could be something hidden in the code he doesnt even know about sending a small amount of coins to someone..