Blastcoin daemon bug
Posted: Tue Dec 17, 2019 10:43 am
There is a bug in the Blastcoin daemon that causes the system to interpret all of its found blocks as reversals.
When a block is submitted to the network, bitcoin forks return null or an error message depending on whether the block was valid. Blastcoin and all other daemons usually return null, indicating the submitted block is valid.
Next, the system calls getblock to check if the block is present on the coin's blockchain. Other daemons usually find the block on the chain, which the system interprets to mean that the block was accepted by the network. Sometimes, getblock does not find the block on the chain, so the system identifies the block as orphaned. Blastcoin, unlike other coins, incorrectly never finds the block on the blockchain immediately after submission, so all its blocks are interpreted as orphaned.
When the system finalizes the block's state hundreds of blocks later before payouts are settled, Blastcoin now reports that the block is found. Since the block had previously been orphaned, the system interprets that result as a chain reversal caused by our mining on top of the existing block that had previously been orphaned.
In the cast of Blastcoin, the system is operating correctly and no money is being lost. No customer action is necessary, and because changes to the system would create bugs dealing with the daemons that work correctly, we aren't taking any action either. Chris has contacted the Blastcoin developer to ask him why the coin reports all submitted blocks as missing from the blockchain until a long time has passed. Until the developer resolves the issue, all Blastcoin blocks will be reported as orphaned initially, and then will be changed to reversals.
When a block is submitted to the network, bitcoin forks return null or an error message depending on whether the block was valid. Blastcoin and all other daemons usually return null, indicating the submitted block is valid.
Next, the system calls getblock to check if the block is present on the coin's blockchain. Other daemons usually find the block on the chain, which the system interprets to mean that the block was accepted by the network. Sometimes, getblock does not find the block on the chain, so the system identifies the block as orphaned. Blastcoin, unlike other coins, incorrectly never finds the block on the blockchain immediately after submission, so all its blocks are interpreted as orphaned.
When the system finalizes the block's state hundreds of blocks later before payouts are settled, Blastcoin now reports that the block is found. Since the block had previously been orphaned, the system interprets that result as a chain reversal caused by our mining on top of the existing block that had previously been orphaned.
In the cast of Blastcoin, the system is operating correctly and no money is being lost. No customer action is necessary, and because changes to the system would create bugs dealing with the daemons that work correctly, we aren't taking any action either. Chris has contacted the Blastcoin developer to ask him why the coin reports all submitted blocks as missing from the blockchain until a long time has passed. Until the developer resolves the issue, all Blastcoin blocks will be reported as orphaned initially, and then will be changed to reversals.