• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

Development Update - Oct 1, 2014

eduffield

Core Developer
Development Update - October 1, 2014

Darksend seems to be very stable and now that we’re open source and we’ve passed an audit I think it’s time to work on some other functionality. We’re working out of development plan for the next weeks weeks and here’s what we have so far.

Masternode Security

There are a few things that are missing in Darkcoin to properly implement InstantX). One of the greatest objections to InstantX from the Bitcoin community was the possibility to DOS the selected masternodes that are responsible for consensus voting.

This would stop the consensus voting forcing the network to evaluate transactions using the mining network, bring the first confirmation from 10-20 seconds back to 2.5 minutes. While not a terrible issue, it’s something we can deal with by hiding the masternode identities and using a token based routing system to pass messages back and forth. This will be discussed in great detail in the v2 of the Darkcoin whitepaper.

To build a network that can withstand attacks, the masternodes must not publish their IPs. To do this we’re going to utilize a new multipath communication technology. This will add another layer of privacy to the system as it will allow users to communicate with the network securely without exposing their IPs and will also hide the identity of the Darksend mixing nodes making it extremely difficult, if not impossible, for third parties to spy on users information.

It uses multi-path routing so users can send more than one encrypted message using different routes on the mesh network for redundancy. This will allow us quick communication, robustness and anonymous two way communication.

The diagram below shows the new system in action:

z_PIZgpBnEdbIRzZW06AVSxOp9itMq8iGtYIXRbehXO3Sx9KxPcxnFHr82NmriEVYYcJUW981lKHFUOVWUWLPVHAZN8lLbtAbsbf1KJcxCNUn7Hn8gbyymaHV9_abqSucg



Enforcement

Currently there is a very basic version of enforcement that is going to be enabled soon.

The strategy employed by Darkcoin currently to protect masternode payments is definitely not a perfect solution and wasn’t meant to stay in this form forever. While it does make cheating much more difficult, it’s still remains possible.

The next version of enforcement will be a huge improvement over this current version and will introduce much greater security.

Masternode Reward Structure

The Darkcoin network relies heavily on the strength of the Masternode network. They are the foundation of our currency in provide great value to the network. Whether it be serving the blocks to a client that is syncing or proving the services such as Darksend and InstantX.

While writing the whitepaper for InstantX and v2 of Darkcoin, I’ve realized that the network would gain an incredible amount of security by increasing the amount of running Masternodes. When originally envisioned, the target number of masternodes was 2000-3000. I’ve waited some time to see if the amount of active Masternodes will increase alone, but I’m beginning to think some tweaking is in order.

The number of Masternodes reaches an equilibrium with the price of Darkcoin and the ROI of running a node over a period of time. Currently we have about 900 total Masternodes (some haven’t updated to RC5 yet, but you can see the stats here), with this amount of nodes each has a ROI of 23%

It can be calculated with: ((a/b)*c*d*e)/1000)
a is the amount of Masternodes you control
b is the total amount of Masternodes
c is the amount of blocks per day
d is the days in a year
e is payment per block won

So with that in mind the current profitability can be calculated by

((1/900.0)*576*365*(5*.20))/1000 = 0.23 (23% per year ROI in DRK)

The reward of 23% can be thought of as the current equilibrium that the network has found. So it is expected that no matter the reward structure, the network will come to rest as this level.

If our goal is to gain more Masternodes to improve the overall security of the network, I propose increasing the reward structure for Masternodes by 5% every month until the optimal amount of Masternodes is reached. This can be thought of as a type of price discovery. It's also worth noting, by adding 5% rewards per month we'll have a decreasing amount of impact each month thereafter. From 20% to 25% is a 25% change, from 25% to 30% is a 20% change, then 16.6%, 14.2%, 12.5%, etc. This will allow a good deal of reaction time.

This also means that Darkcoin must be purchased in order to start new Masternodes. This doesn’t include Masternodes selling their existing node’s Darkcoin in order to cash out (that wouldn’t change the Masternode total count). Considering this, we should see very long term steady growth, gain a lot of media attention and gain real-world adoption.

I believe this update will be great for Darkcoin by increasing the security of InstantX and Darksend, while providing significant growth for Darkcoin. An update like this requires a very solid version of enforcement along with updates to the daemon to tell the pool operators how much Darkcoin is suppose to be paid to the current Masternode operator.

FAQ:

Can't we just decrease the amount required to run a Masternode: https://darkcointalk.org/threads/development-update-oct-1-2014.2561/page-4#post-23297

PS. Thanks to BabyGiraffe for inspiring this conversation about Masternode Payments.
 
Last edited by a moderator:
This also means that Darkcoin must be purchased in order to start new Masternodes. This doesn’t include Masternodes selling their existing node’s Darkcoin in order to cash out (that wouldn’t change the Masternode total count)

how do you control that ?!
 
Development still needs to fix the micro wallet issue. Do not neglect this.

Secondly, it was a tough enough pill for the miners to swallow increasing the rewards from 10% to 20%, not sure what the reaction will be further giving up mining profits on a coin that so far isn't the best in terms of profitability (and for some even results in losses). Obviously the difficulty will adjust lower and the reward will increase but it goes without saying, miners aren't going to be happy and they are the ones securing the coin.
 
So, increase the MN service fee (or however you want to describe it) from the current 20% by 5% per month until we have >2000 Masternodes?
 
...and it goes without saying that I understand the increase in minimal but it still will be felt. As someone that runs masternodes, I like the idea but there also needs to be strength in the miners to actually secure the coin itself, not just the masternodes processing transactions.
 
Development still needs to fix the micro wallet issue. Do not neglect this.

Secondly, it was a tough enough pill for the miners to swallow increasing the rewards from 10% to 20%, not sure what the reaction will be further giving up mining profits on a coin that so far isn't the best in terms of profitability (and for some even results in losses). Obviously the difficulty will adjust lower and the reward will increase but it goes without saying, miners aren't going to be happy and they are the ones securing the coin.
A thought occurs to me: since total hash is irrelevant, it's only the distribution that matters, if MNs can robustly enforce MN payments then why can't they robustly enforce hash distribution - eg, blocks from any pool with >50% of the total net hash get orphaned...?

This wouldn't stop an attack mounted by several colluding parties, but might be a step in the right direction.
 
A thought occurs to me: since total hash is irrelevant, it's only the distribution that matters, if MNs can robustly enforce MN payments then why can't they robustly enforce hash distribution - eg, blocks from any pool with >50% of the total net hash get orphaned...?
Definitely an interesting idea, not sure how such a thing would come in to play but not needing to worry about a 51% attack would be quite an achievement.
 
Development still needs to fix the micro wallet issue. Do not neglect this.

Secondly, it was a tough enough pill for the miners to swallow increasing the rewards from 10% to 20%, not sure what the reaction will be further giving up mining profits on a coin that so far isn't the best in terms of profitability (and for some even results in losses). Obviously the difficulty will adjust lower and the reward will increase but it goes without saying, miners aren't going to be happy and they are the ones securing the coin.

I could be wrong, but I always envisage that the top darkcoin miners are ALSO the top masternode holders. Isn't that the case?
So.... not really a problem here is it? It's like the left and right hand of the same person, right?
Both miners and masternode admins want the value of darkcoins to be stable and grow, so why make it look like they are competing parties? They are not.
Ofcourse there are exceptions, but we can't please everybody.
 
I could be wrong, but I always envisage that the top darkcoin miners are ALSO the top masternode holders. Isn't that the case?
So.... not really a problem here is it? It's like the left and right hand of the same person, right?
Both miners and masternode admins want the value of darkcoins to be stable and grow, so why make it look like they are competing parties? They are not.
https://drk.mn/blocks.html

There are too many multipools that sell DRK to payout in BTC that don't agree with that idea.
 
How about a simple 2:1 masternode split? Require just 500 DRKs to run a masternode. Existing MN holders (which I would characterize as the loyal die hards) will most definitely re-do their setups, effectively doubling the number of masternodes from 900 to 1800. This would be painful for MN holders, but it would be a one-time event to raise the total number of nodes.
Then the lurkers on the sidelines who think $2600 is too much to save for a MN will re-consider when they can run their own for $1300.
Of course, we don't have to struggle with miners complying with the 20%-30% payout. Miner payouts to MNs have historically been the weak point with this economy, so constantly tinkering with the payout percentage does not seem like the way to go. Frankly I'm amazed at the voluntary payout compliance we have today.
 
Last edited by a moderator:
Thanks for the update! Interesting stuff. NiceHash is not going to be happy......:grin:

EDIT: Running with the term "InstantX" on Twitter, well done, cool!
 
Last edited by a moderator:
How about a simple 2:1 masternode split? Require just 500 DRKs to run a masternode.

Masternodes are the elephants (or whales) of the darkcoin flora and fauna.
Maybe we need to add some sort of new animal, that requires just 100 DRK or something and that fulfills a specific task (like helping the masternodes (think cleaner fish, sanitizing the network or whatever))...
lol, but hey, why not?
 
How about a simple 2:1 masternode split? Require just 500 DRKs to run a masternode. Existing MN holders (which I would characterize as the loyal die hards) will most definitely re-do their setups, effectively doubling the number of masternodes from 900 to 1800. This would be painful for MN holders, but it would be a one-time event to raise the total number of nodes.
Then the lurkers on the sidelines who think $2600 is too much to save for a MN will re-consider when they can run their own for $1300.
Of course, we don't have to struggle with miners complying with the 20%-30% payout. Miner payouts to MNs have historically been the weak point with this economy, so constantly tinkering with the payout percentage does not seem like the way to go. Frankly I'm amazed at the voluntary payout compliance we have today.
If the goal is to keep the ROI > say 20%, this solution would still need an increase in income. If the MN % doubled, I would predict 100% of existing MN ops would happily embrace this kind of pain. :grin:

edit: g8...j4 above makes a very good point!
 
How about a simple 2:1 masternode split? Require just 500 DRKs to run a masternode. Existing MN holders (which I would characterize as the loyal die hards) will most definitely re-do their setups, effectively doubling the number of masternodes from 900 to 1800. This would be painful for MN holders, but it would be a one-time event to raise the total number of nodes.
Then the lurkers on the sidelines who think $2600 is too much to save for a MN will re-consider when they can run their own for $1300.
Of course, we don't have to struggle with miners complying with the 20%-30% payout.

My thoughts as well. For 2000 nodes you would need the payment to be about 40% which I personally think is too much even if the masternodes are handing instant confirmation in the future. POW is expensive and miners should be well compensated. Plus from a liquidity standpoint having 40~50% of the currency tied up in masternodes is not a good thing (I think).

If we really need that many masternodes then reducing 1000 should be changed to 500DRK.

EDIT: Not to mention that continually changing these ratios makes it look like the dev team is trying to manipulate the market (trying to force money into DRK). There were complainants about this when we went from 10% to 20%. I know that is not the dev teams intention, but appearances matter.
 
Last edited by a moderator:
The problem with that solution is it does not involve an influx of money into DRK!
I know, but we are simply not being patient enough. This coin is only 8 months old, and we are on day 3 of open sourcing. We have come a long way over a short period of time. We must learn from the history of Bitcoin. There were many points in time when it seemed all hope was lost. We may be entering another BTC hibernation phase now. Everyone will wake up again when the next banking/currency crisis hits.
 
Make MN's p2pool nodes and require miners to use them? I've heard the 'forcing people to mine on p2pool is bad, you shouldn't be telling people wher to mine' argument and I think it's spurious. Want to mine DRK, mine on p2pool, it's in everyone's interests. Want to mine DRK, mine on a Masternood p2pool node, it's in everyone's interests and since MNs are already earning income, there need be no pool fee.
 
Back
Top