eduffield
Core Developer
Last night, we implemented code that ‘soft-forked’ the Darkcoin network and successfully launched RC3. At this time, Masternode payments are live using a non-enforced payment protocol. Roughly half the network has updated and Masternode payments are going out about 12 times an hour!
Testing of non-enforcement mode
With this launch, we introduced a new soft-fork method, which some users have affectionately dubbed the “spork”. As clients update, new features - Masternode payments, in this case - are implemented and available, though not strictly enforced by the network. After almost all users are updated, the fork can be remotely activated, which would enforce the new feature rules. If successful, the new feature(s) would be permanently activated and enforced. If unsuccessful, enforcement can be deactivated remotely for the whole network without the need for users to update their clients. In the latter case, a checkpoint would be added to put the whole network back on the same chain.
This allows us to test higher risk, innovative features in mainnet without having to hard fork the network and without the risk of a live rollback where all users must update.
New enforcement strategy
Over the last few days we’ve been looking at a few different options to enforce Masternode payments in RC4. We’ve settled on a brand new implementation that is much more simple, yet robust enough to protect the network.
Each round, a winning Masternode is chosen to carry out Darksend transactions. This process is carried out by the individual nodes across the network independently using the masternode election algorithm. This algorithm chooses a winning node for Darksend, but there is also a runner up, third, forth, fifth place, etc.
Utilizing this code, we can make a deterministic list of the “top 10 masternodes” with the winning scores. These will be the same nodes accross the network and they will vote on who they believe should get paid for that round. The winning Masternode will be the one with the most votes (up to 10 votes) and the network will reject blocks not containing that payment entry.
Other functionality
RC4 will also still include improvements to the anonymity of Darksend. After the implementation phase is complete we will begin by testing the non-enforcement / enforcement switch and the new anonymity layer on testnet.
Thanks,
The Darkcoin Team
Testing of non-enforcement mode
With this launch, we introduced a new soft-fork method, which some users have affectionately dubbed the “spork”. As clients update, new features - Masternode payments, in this case - are implemented and available, though not strictly enforced by the network. After almost all users are updated, the fork can be remotely activated, which would enforce the new feature rules. If successful, the new feature(s) would be permanently activated and enforced. If unsuccessful, enforcement can be deactivated remotely for the whole network without the need for users to update their clients. In the latter case, a checkpoint would be added to put the whole network back on the same chain.
This allows us to test higher risk, innovative features in mainnet without having to hard fork the network and without the risk of a live rollback where all users must update.
New enforcement strategy
Over the last few days we’ve been looking at a few different options to enforce Masternode payments in RC4. We’ve settled on a brand new implementation that is much more simple, yet robust enough to protect the network.
Each round, a winning Masternode is chosen to carry out Darksend transactions. This process is carried out by the individual nodes across the network independently using the masternode election algorithm. This algorithm chooses a winning node for Darksend, but there is also a runner up, third, forth, fifth place, etc.
Utilizing this code, we can make a deterministic list of the “top 10 masternodes” with the winning scores. These will be the same nodes accross the network and they will vote on who they believe should get paid for that round. The winning Masternode will be the one with the most votes (up to 10 votes) and the network will reject blocks not containing that payment entry.
Other functionality
RC4 will also still include improvements to the anonymity of Darksend. After the implementation phase is complete we will begin by testing the non-enforcement / enforcement switch and the new anonymity layer on testnet.
Thanks,
The Darkcoin Team