Page 1 of 1

Status as of Monday, January 19

Posted: Mon Jan 19, 2015 12:14 pm
by Steve Sokolowski
Here's today's status of development:
  • Over the weekend, we were able to get the audit tables for the new multiple-exchange code to within a few satoshi of the real values. It took us several days just to determine how to handle Poloniex trading, which is implemented in a strange manner designed to increase their profits.
  • Imagine if you buy a pound of potatoes. If Cryptsy or most other exchanges sold potatoes, you would end up paying the price of the pound of potatoes plus a fee, and you would get a pound of potatoes. With Poloniex, you would pay for the price of a pound of potatoes, but you would actually end up with 99.8% of the potatoes you thought you were getting. This might seem like a minor difference, but there are two problems. First, when you go to the store, you buy a pound of potatoes because that's how many you need. You don't expect to walk out with too little food, and someone in the family doesn't have a potato to eat that night. Second, Poloniex's method is actually a way of extracting more fees than other exchanges charge. It takes algebra to prove that although they advertise 0.2% fees, those fees are actually higher because of the way that the 0.2% is charged differently than other exchanges.
  • Poloniex also appears to round numbers differently than humans expect, and since we don't have access to their code, we can't figure out why. We store numbers at 24 decimal places, but Poloniex appears to do math at some other level of precision. Also, they don't seem to round numbers from more than 8 decimal places accurately: even if you send them 8 decimal places, and you multiply times the price charged, the result of 0.000001116 doesn't come out to be 0.00000112 like one would expect.
  • We're getting closer to exact arithmetic, but Chris doesn't want to release at least until we can get the errors down to a few satoshis in either direction. Otherwise, the balances may eventually cause failed payouts and require constant manual intervention.
In other news, I plan to post a job at /r/jobs4bitcoin to find someone who will fork cgminer to submit invalid shares so that we can use it for testing. I'll probably start with an offer of 2 bitcoins or so when I post it. The idea would be that since this fork of cgminer is an isolated task, we can pay someone to create the tester and focus on the important work.

In preparation for the release of the multiple exchange code, Chris needs to delete coins to free up resources. Comment on his thread if you care about the coins to be deleted. Unfortunately, the balances in those coins are likely to be lost, since we have no way of withdrawing the coins. We can't even purchase them to pay people out, because they aren't offered at any other exchange, and Cryptsy's wallet is in permanent "maintenance mode."

By the way, someone asked me how the payouts and the amount being displayed at the top of the page can be higher almost all the time than what is being shown in the individual coin profitability charts. The reason is that the big money is made by quickly identifying coins that have large decreases in difficulty or increases in price and mining those coins quickly before switching. Sometimes, the pool will mine a coin that is worth 20 or even 30 cents for a few seconds, and then switch to litecoins afterward. These brief intervals, which are difficult to spot if you're just looking at current data, drive up profitability well above the current profitability in most cases.