eduffield
Core Developer
DarkSend+
Over the last week or two, Darksend+ has made some significant advances. We’re happy to say that we’re closing in on a finished product.
We've opted to employ a strategy for Darksend+ that is slightly different than the one we outlined in our last update. This new strategy has several advantages, and we think it is a significant improvement over the previous iteration in terms of both privacy and efficiency. The Darkcoin client will now store pre-mixed, denominated Darkcoins in the user’s wallet, to be used instantly at any time the user desires. The mixing and denomination process is seamless, automatic, and requires no intervention on the part of the user. The 10 DRK limit previously in place with Darksend v1 will be permanently removed. With RC4, the amount that users can send via Darksend+ is limited only by the available balance in their wallet.
Here's how it works:
Every 10 blocks, user clients network-wide will send any unmixed, traceable Darkcoins in their possession through an anonymization phase. In this phase, Masternodes are used in chained succession to mix the coins they receive from the network and break them down into homogenous denominations. After being processed by a minimum of 2 Masternodes, the coins are either sent to the next Masternode in the chain or back to the user’s wallet at randomly generated change addresses.
Depending on the desired depth of security and privacy, users may select between 2 and 8 “hops” to successive Masternodes before their coins are sent back to the client. Hops are made every 10 blocks, so anonymization at a depth of 2 hops will take 10*2*2.5=50 minutes, 3 hops 10*3*2.5=75 minutes, and so on. The desired mixing depth can be selected in the client GUI.
At the end of the anonymization phase, the user’s coins are returned to their client at randomly generated change addresses. When the user wishes to make a transaction, the client forwards the intended amount from these anonymous change addresses directly to the intended receiver’s address. There is no direct involvement of of Masternodes in the final person-to-person transaction.
Proof of payment will work as it always has: a user can see the send transaction with the receiver’s address in their own wallet, and the blockchain will show that the receiver’s address received an input in the corresponding amount.
A breakdown of the improved Darksend+ process:
fernando on the darkcointalk.org forums created a chart outlining the probability of unmasking a Darksend by way of Masternode collusion at depths of both 2 and 8 Masternode hops:
2 hops: http://goo.gl/g1dQ3C
8 hops: http://goo.gl/TcWoF0
Masternode Payment Soft Fork Compliance
We’re pleased to announce that through efforts lead by GhostPlayer/yidakee - with the assistance of many, many others - we’ve been able to reach a very high degree Masternode payment compliance from pools mining Darkcoin. This has been an outstanding show of participation from our community and a reassuring display of willingness on the part of those pools to see our vision for Darkcoin come to fruition. Thank you to everyone involved.
Testnet Phase
Development on RC4 is nearing an end and we expect that we’ll be firing up testnet in the coming week. Depending on what we find, testing and QA should take 2 to 4 weeks.
Code Review
Kristov Atlas has agreed to be the first to review the Darksend code. Kristov will be evaluating anonymity and overall design of our technology and will report his findings publicly. We’ll be sending the code to him soon and we anticipate that we will hear back from Kristov by the end of the month.
Separating main.cpp logic for faster compiling / development
Deathray will soon be splitting our main.cpp from it’s monolithic state to speed up compiling in the future.
Masternode List Differences
Clients will now be able to ask the network for information on Masternodes they didn’t previously know existed. This is an improvement over the old protocol, where a ping from an unknown Masternode would just be ignored by the client. This and other improvements should improve the Masternode list consistency throughout the network.
Bootstrapping Process
Flare has been working on getting redundant DNS seed servers setup. Results are very promising: when you start the client, you’re now instantly connected to 8 peers, and downloading the entire blockchain takes just 5 to 15 minutes.
Gitian Build Process
We’ve switched to a secure build system called Gitian for building the Darkcoin binaries for Windows, Mac and Linux. This means you can download trusted binaries that can be verified by multiple builders.
Gitian uses a determinist build process to allow multiple parties to create identical binaries. After comparing the binaries, the builders can determine that they were not tampered with and sign them. This creates a system in which the compiling process is not depended on a single point of failure.
Over the last week or two, Darksend+ has made some significant advances. We’re happy to say that we’re closing in on a finished product.
We've opted to employ a strategy for Darksend+ that is slightly different than the one we outlined in our last update. This new strategy has several advantages, and we think it is a significant improvement over the previous iteration in terms of both privacy and efficiency. The Darkcoin client will now store pre-mixed, denominated Darkcoins in the user’s wallet, to be used instantly at any time the user desires. The mixing and denomination process is seamless, automatic, and requires no intervention on the part of the user. The 10 DRK limit previously in place with Darksend v1 will be permanently removed. With RC4, the amount that users can send via Darksend+ is limited only by the available balance in their wallet.
Here's how it works:
Every 10 blocks, user clients network-wide will send any unmixed, traceable Darkcoins in their possession through an anonymization phase. In this phase, Masternodes are used in chained succession to mix the coins they receive from the network and break them down into homogenous denominations. After being processed by a minimum of 2 Masternodes, the coins are either sent to the next Masternode in the chain or back to the user’s wallet at randomly generated change addresses.
Depending on the desired depth of security and privacy, users may select between 2 and 8 “hops” to successive Masternodes before their coins are sent back to the client. Hops are made every 10 blocks, so anonymization at a depth of 2 hops will take 10*2*2.5=50 minutes, 3 hops 10*3*2.5=75 minutes, and so on. The desired mixing depth can be selected in the client GUI.
At the end of the anonymization phase, the user’s coins are returned to their client at randomly generated change addresses. When the user wishes to make a transaction, the client forwards the intended amount from these anonymous change addresses directly to the intended receiver’s address. There is no direct involvement of of Masternodes in the final person-to-person transaction.
Proof of payment will work as it always has: a user can see the send transaction with the receiver’s address in their own wallet, and the blockchain will show that the receiver’s address received an input in the corresponding amount.
A breakdown of the improved Darksend+ process:
fernando on the darkcointalk.org forums created a chart outlining the probability of unmasking a Darksend by way of Masternode collusion at depths of both 2 and 8 Masternode hops:
2 hops: http://goo.gl/g1dQ3C
8 hops: http://goo.gl/TcWoF0
Masternode Payment Soft Fork Compliance
We’re pleased to announce that through efforts lead by GhostPlayer/yidakee - with the assistance of many, many others - we’ve been able to reach a very high degree Masternode payment compliance from pools mining Darkcoin. This has been an outstanding show of participation from our community and a reassuring display of willingness on the part of those pools to see our vision for Darkcoin come to fruition. Thank you to everyone involved.
Testnet Phase
Development on RC4 is nearing an end and we expect that we’ll be firing up testnet in the coming week. Depending on what we find, testing and QA should take 2 to 4 weeks.
Code Review
Kristov Atlas has agreed to be the first to review the Darksend code. Kristov will be evaluating anonymity and overall design of our technology and will report his findings publicly. We’ll be sending the code to him soon and we anticipate that we will hear back from Kristov by the end of the month.
Separating main.cpp logic for faster compiling / development
Deathray will soon be splitting our main.cpp from it’s monolithic state to speed up compiling in the future.
Masternode List Differences
Clients will now be able to ask the network for information on Masternodes they didn’t previously know existed. This is an improvement over the old protocol, where a ping from an unknown Masternode would just be ignored by the client. This and other improvements should improve the Masternode list consistency throughout the network.
Bootstrapping Process
Flare has been working on getting redundant DNS seed servers setup. Results are very promising: when you start the client, you’re now instantly connected to 8 peers, and downloading the entire blockchain takes just 5 to 15 minutes.
Gitian Build Process
We’ve switched to a secure build system called Gitian for building the Darkcoin binaries for Windows, Mac and Linux. This means you can download trusted binaries that can be verified by multiple builders.
Gitian uses a determinist build process to allow multiple parties to create identical binaries. After comparing the binaries, the builders can determine that they were not tampered with and sign them. This creates a system in which the compiling process is not depended on a single point of failure.