eduffield
Core Developer
Masternode Forking Issues
When we launched the Masternode payment system today, the network exhibited some instability issues similar to those we experienced with the last fork. This new instability was nowhere near as serious as the first implementation, but we erred on the side of caution and disabled Masternode payments for the time being.
Immediately after the network problems were noticed, many users sent debug information from their clients. After a few hours of analysis, we discovered the root cause of the forks.
Two blocks are solved at nearly the same moment on the network, and both are propagated and accepted by the network. In the current implementation, both blocks have the same hash, but in these blocks there's some discrepancy about who to vote for.
In one block the miner votes for 88802 and 88803, in the other the miner abstains from voting. When the next block is solved, it's based on of one of the older blocks, so half of the network believes the miner cheated and rejects the block causing a fork.
Although the network was “pruning” the bad forks as intended, the amount of time it was taking to do so was beyond the confirmation window. This was untenable, so we decided to revert.
The solution to this is straightforward: any changes to the votes must also change the hash of the block, which will prevent the network from thinking these two blocks are the same. Next week we will begin testing code to fix this issue. This will include setting up hundreds of daemons and several more pools on testnet to better simulate mainnet. Barring any new issues, we should be ready to launch in 2-3 weeks.
If interested, here’s the debug information we used to track down the issue : http://pastebin.com/QmbM8dPH
New Developers
We are happy to announce the addition of two developers to the Darkcoin team. David (DRKLord) and Fabian (CHAOSiTEC).
DRKLord brings about 10 years of experience with C, C++, x84/64 ASM and many other skills to the team.
CHAOSiTEC is a long time Darkcoin supporter with extensive knowledge of cryptocurrency and programming.
We’re really excited that a core team is coming together and we’re look forward to seeing what we can accomplish.
When we launched the Masternode payment system today, the network exhibited some instability issues similar to those we experienced with the last fork. This new instability was nowhere near as serious as the first implementation, but we erred on the side of caution and disabled Masternode payments for the time being.
Immediately after the network problems were noticed, many users sent debug information from their clients. After a few hours of analysis, we discovered the root cause of the forks.
Two blocks are solved at nearly the same moment on the network, and both are propagated and accepted by the network. In the current implementation, both blocks have the same hash, but in these blocks there's some discrepancy about who to vote for.
In one block the miner votes for 88802 and 88803, in the other the miner abstains from voting. When the next block is solved, it's based on of one of the older blocks, so half of the network believes the miner cheated and rejects the block causing a fork.
Although the network was “pruning” the bad forks as intended, the amount of time it was taking to do so was beyond the confirmation window. This was untenable, so we decided to revert.
The solution to this is straightforward: any changes to the votes must also change the hash of the block, which will prevent the network from thinking these two blocks are the same. Next week we will begin testing code to fix this issue. This will include setting up hundreds of daemons and several more pools on testnet to better simulate mainnet. Barring any new issues, we should be ready to launch in 2-3 weeks.
If interested, here’s the debug information we used to track down the issue : http://pastebin.com/QmbM8dPH
New Developers
We are happy to announce the addition of two developers to the Darkcoin team. David (DRKLord) and Fabian (CHAOSiTEC).
DRKLord brings about 10 years of experience with C, C++, x84/64 ASM and many other skills to the team.
CHAOSiTEC is a long time Darkcoin supporter with extensive knowledge of cryptocurrency and programming.
We’re really excited that a core team is coming together and we’re look forward to seeing what we can accomplish.