DRKLord
Member
I'm still not an "official" Darkcoin dev, but I've started digging into the source and doing some studying so that I will soon be of some use to the dev team and the Darkcoin project. I am by no means an expert on Darkcoin's code or the Darkcoin / Bitcoin protocols for that matter. But I have a suggestion that may be able to help (or, with some luck, outright fix) the problems the network is experiencing...
It's my understanding that the problem is arising because a large number of users neglected to update their clients, and some are saying p2pool miners failed to update and were thus creating these bad forks and growing them. If this is indeed the case, we're faced with a software incompatability issue here. There's also the possibility that opponents of DRK could be running large numbers of "bad nodes" with incompatible client software to intentionally foil our progress. I doubt there's any "conspiracy" like this really taking place, just saying it's theoretically possible... But in any case, the problem is that we can't force people to update and thus the network is in conflict about what blocks are valid and which are not... However, I may have a solution to this dilemma...
If my understanding of the problem is indeed correct, then I think it would be possible to modify the p2p networking / connection code of the Darkcoin-qt client so that when the new client searches for peers it will ONLY connect to peers running the new, correct client version...
I think that this could be achieved by several different methods, but the simplest and most straight-forward route (IMO, at least) would be to have the client and peers it's attempting to connect to "ping" each other with a "magic number"... similar to the way a file importer/loader checks a file header for the "magic number" field to make sure the file is valid. In this same way, peers can "talk" to each other and make sure they're on the correct version of the client software. Connections to peers running the old/buggy software will be refused. Connections to peers running the correct software will be accepted. In this way, perhaps we can "shut out" all of the "bad nodes" out there running the wrong client.
If this works, we could "shelter" the network from these forking issues and other problems caused by miners and users who have neglected to (or refused to) update, and perhaps we can get Darksend and everything up and running the way it should...
Criticisms, ideas and input welcomed...
Regards,
The DRK Lord
It's my understanding that the problem is arising because a large number of users neglected to update their clients, and some are saying p2pool miners failed to update and were thus creating these bad forks and growing them. If this is indeed the case, we're faced with a software incompatability issue here. There's also the possibility that opponents of DRK could be running large numbers of "bad nodes" with incompatible client software to intentionally foil our progress. I doubt there's any "conspiracy" like this really taking place, just saying it's theoretically possible... But in any case, the problem is that we can't force people to update and thus the network is in conflict about what blocks are valid and which are not... However, I may have a solution to this dilemma...
If my understanding of the problem is indeed correct, then I think it would be possible to modify the p2p networking / connection code of the Darkcoin-qt client so that when the new client searches for peers it will ONLY connect to peers running the new, correct client version...
I think that this could be achieved by several different methods, but the simplest and most straight-forward route (IMO, at least) would be to have the client and peers it's attempting to connect to "ping" each other with a "magic number"... similar to the way a file importer/loader checks a file header for the "magic number" field to make sure the file is valid. In this same way, peers can "talk" to each other and make sure they're on the correct version of the client software. Connections to peers running the old/buggy software will be refused. Connections to peers running the correct software will be accepted. In this way, perhaps we can "shut out" all of the "bad nodes" out there running the wrong client.
If this works, we could "shelter" the network from these forking issues and other problems caused by miners and users who have neglected to (or refused to) update, and perhaps we can get Darksend and everything up and running the way it should...
Criticisms, ideas and input welcomed...
Regards,
The DRK Lord