Status as of Monday, February 23
Posted: Mon Feb 23, 2015 12:24 pm
A few status points for today:
- The problem with rejected shares for variable difficulty miners at first connection was resolved in an update on Saturday. The cause of the problem was that these miners were not being sent a difficulty until the next block was received, so they would mine at difficulty 1, and all their shares would be rejected.
- There seems to be a stability problem that I determined this morning is caused by being unable to assign a miner to a coin. There could be many reasons for that: there aren't any coins available that are difficult enough for high hashrate miners, or all the coins went into an error state, or some programming error elsewhere. I don't know what the solution to this is just yet, but I made two changes to increase stability: first, the server will restart itself if it no shares are detected in the database for five minutes. Second, if a miner can't be assigned a coin, that one miner will be disconnected (and will probably reconnect) while everyone else continues on. That should stop an exception that prevents all miners from mining, but won't help the one person who disconnects. Hopefully the debug code I've added will allow us to investigate the problem more tonight.
- Our primary focus right now is on increasing stability, but when there were no known bugs (such as on Sunday before this came to my attention), I continue to work on ways to increase profitability. I finished the ability for the trader to trade through intermediate markets, like DOGE -> LTC -> BTC, if the price is more favorable. Chris determined that the code works fine in perfect conditions, so he will continue testing today with edge cases. We hope to get this released by Sunday.
- After Chris's testing on this intermediate market trading is finished, our goal is to lock down the code and focus only on changes that increase performance or stability. Releases will become larger and farther between, as we will be focusing on maintaining a stable system and growing the business side of the system.
- After that stability is achieved, our next profitability feature will be something called "selfish mining." Selfish mining is a technique described in bitcoin mining papers that involves withholding blocks to increase profitability. What's great about selfish mining is that it not only increases your profitability, but it also decreases the profitability of other pools like Coinking at the same time by increasing their orphan rates. However, selfish mining may not be viable for an altcoin pool because many coins don't compute their next difficulty until a block is submitted to their networks. This will be an interesting R&D area.
- While some have requested us to enable multiple algorithms, we don't plan to do so until the system is rock solid and had reached the theoretical maximum profitability for scrypt mining. If the business is proven viable by a large increase in scrypt hashrate over the next few months as stability is achieved, then everything we have done this far can be turned on in other algorithms within a week.