Alright guys, here is what happened.
When we found our last block the accounting portion of the software (not coded or edited by me) ran for 8 hours straight on the 4.2 million share round. I decided it was never going to finish because the RAM and vRAM on the server was completely filled. I tried to kill the process inside mysql, which took another 20 mins just to kill. After that, I re-ran the accounting and it finished in about 10 minutes. I thought we were good to go, but the account balances were completely screwed up. There were account balances with NEGATIVE amounts (wtf?), some with scientific decimal notation, and some with wild numbers. In all, it tried to pay out 96BTC for a 50BTC block. I caught this error within 5 minutes of the account balances being updated. HOWEVER, a user by the name of Gomad was able to cash out 8.3BTC before I had a chance to shut down payments. He would have earned 0.00009402 BTC for submitting 8 shares out of a 4.2 million share round. Either his automation software, or himself, was able to cash out in less than 5 minutes of the account balances being updated. He had not been active in like a month and only submitted 8 shares. After I updated over 300 account balances by hand (zOMG, that was not fun) this left us in a position with not enough BTC to pay out all our users. This is the e-mail I sent to him, with his full details in case you guys want to track him down. I gave him a week to reply.
Gomad,
We had a major accounting error happen on the back end of our website. The result was account balances being updated as negative, with a scientific decimal notation within, or a wild number due to lines of code that were not written by me. The lines of code came from the Mining Farm project created by Xenland. Your mining account has been largely inactive on our site. On the third round you submitted a total of 8 shares out of 4,254,281. This would have netted you 0.00009402 BTC for the 4,254,281 share round. Instead, our software incorrectly rewarded you with 8.33638151 BTC. Immediately after the account balances were updated on our server, you, or your automation program, cashed out with your PIN. We then disabled the website to prevent firther cashouts while we manually processed account balances. We are left in a position now where we do not have enough BTC to pay out to the rest of our users. Would you be kind enough to return the difference in BTC so that we can pay out our other users?
mysql> SELECT * FROM shares_dead WHERE username LIKE "GoMaD%";
+---------+--------------+-------------+------------+--------------------+----------+------------+-----------------+--------+
| id | shareCounted | blockNumber | time | rem_host | username | our_result | upstream_result | reason |
+---------+--------------+-------------+------------+--------------------+----------+------------+-----------------+--------+
| 5952576 | 1 | 142119 | 1312813663 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5952577 | 1 | 142119 | 1312813663 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5952618 | 1 | 142119 | 1312813730 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5952619 | 1 | 142119 | 1312813730 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5952620 | 1 | 142119 | 1312813730 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5954968 | 1 | 142119 | 1312817921 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5954976 | 1 | 142119 | 1312817932 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
| 5954977 | 1 | 142119 | 1312817932 | ::ffff:91.64.68.98 | GoMaD.w1 | Y | NULL | NULL |
+---------+--------------+-------------+------------+--------------------+----------+------------+-----------------+--------+
8 rows in set (0.00 sec)
./bitcoind listtransactions
{
"account" : "",
"address" : "1BFa9Nf2FBcJzU3qboqDVtQDfPjgCxEKia",
"category" : "send",
"amount" : -8.33638151,
"fee" : -0.00050000,
"confirmations" : 272,
"txid" : "17256b3a17ad5d2aaafd53fd5020eb4088a10d69afa13c12524c56641b6c7682",
"time" : 1314569304
},
mysql> select id, username, loggedIp, email from websiteUsers where username like "GoMaD%";
+-----+----------+-----------------+------------------------+
| id | username | loggedIp | email |
+-----+----------+-----------------+------------------------+
| 144 | GoMaD | 188.103.120.110 |
[email protected] |
+-----+----------+-----------------+------------------------+
1 row in set (0.00 sec)
Thank you,
-Matt Mead (phorensic)
BitcoinMonkey.com
Since he never replied I have sent enough BTC to the server so that everyone can pay out. I just re-enabled the account details page to pay out. I'm sorry about this guys.
The hosting for our server is too expensive, we made 0 profit because nobody hashed for us besides a handful of my personal friends plus the pool hopper scripts. We have decided to shut down BitcoinMonkey once the hosting runs out. This was a very fun project for me and I've learned a boatload about many things.