Post
Topic
Board Announcements (Altcoins)
Re: [ANN] [888] [SCRYPT] OctoCoin ◦ The Power of Eight ◦ Don't Blink
by
coinsolidation
on 10/12/2014, 15:21:00 UTC
Just an update on the Bittrex situation: we have received additional details from Richie and are digging into the issue. For those concerned about OctoCoin potentially being delisted from Bittrex, here are Richie's comments:

"Don't worry about delisting... I'm more concerned about this problem because it might impact a lot more than just octo."

Basically, as some of you have already gathered, some of the transaction comments are apparently being overwritten which is how Bittrex manages payouts. They froze 888 trading and put up a "delisting" warning both to prevent additional repeats and to expedite action on our part. While we have never experienced this issue nor seen reports of any issues until now, not all services operate in the same manner. It's possible this is an issue that has been corrected in the latest Bitcoin Core source code and, if that is the case, we will ensure the fix is implemented and release our new wallet ahead of schedule. Regardless, Bittrex may want to consider a new method for verifying withdrawals to avoid this potential issue with other currencies. We will get it all straightened out.

And this has happened again.  This only happens with this wallet so at this point we request an octocoin fix Sad

It is not an user forceable scenario but to provide more details, if ALL of these conditions are met, we end up double paying out twice:  

* If we send a withdrawal request
* If it times out before returning a txid
* If the send subsequently succeeds
* If the send uses input from a previously conflicted transaction

What happens is that the send succeeds, but uses the comment from the previous conflicted transaction.  This causes us to not see a payment match and we resubmit.  There is no reason why a sendtoaddress call made with a comment is replaced with a comment from a transaction from over 6 months ago.  Please figure this out and solve this issue.  At this time, we will be shutting down the wallet for deposits/withdrawals until we can find a solution.

Thanks,
richie@bittrex

Regarding the Bittrex bug, I've been trying to track it down for several hours, and can pinpoint the following:

When a tx is added to the wallet it calls AddToSpends(hash); which in turn calls https://github.com/bitcoin/bitcoin/blob/0.9/src/wallet.cpp#L281

    // We want all the wallet transactions in range to have the same metadata as
    // the oldest (smallest nOrderPos).
    // So: find smallest nOrderPos:

copyTo->mapValue = copyFrom->mapValue; <--- this copies comments.

Which explains "There is no reason why a sendtoaddress call made with a comment is replaced with a comment from a transaction from over 6 months ago."

So, after a bit more research, octocoin appears to be based on inutoshi, an unmaintained recreation of dogecoin from earlier in the year, and it doesn't have any of the updates from the past 7-8 months, which includes nicer handling of conflicted transactions and some changes to wallet locking.

I can't pin point the exact combination of updates which resolve this at this time, but can reasonably assert that that the problem boils down to existing conflicted transactions, and the timeout.

I'm assuming both the conflicts and timeouts would be resolved by doing a send to self of the full balance, to create a single new input, which would resolve both of these issues quickly, and allow you to re-enable octocoin, or at least gracefully send everybody their coins back and delist it.

I've updated Rirchie and will liaise further to see what can be done.

Community, as far as OctoCoin is concerned, you need a developer who will either update the code to current well known good version(s) and maintain it, or simply recreate it with the same chain setup from something maintained and new (like pfennig).

All the best,

Mark