Development Update - Oct 1, 2014

eduffield

Core Developer
Mar 9, 2014
1,084
5,319
183
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:




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:

tungfa

Administrator
Dash Core Team
Moderator
Foundation Member
Masternode Owner/Operator
Apr 9, 2014
8,895
6,723
1,283
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 ?!
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
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.
 
  • Like
Reactions: moli

thelonecrouton

Well-known Member
Foundation Member
Apr 15, 2014
1,135
813
283
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?
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
...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.
 

thelonecrouton

Well-known Member
Foundation Member
Apr 15, 2014
1,135
813
283
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.
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
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.
 

georgem

Active Member
Jul 10, 2014
82
110
93
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.
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
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.
 
  • Like
Reactions: UdjinM6 and georgem

HinnomTX

Active Member
Jul 22, 2014
166
196
103
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:
  • Like
Reactions: tungfa

georgem

Active Member
Jul 10, 2014
82
110
93
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?
 

thelonecrouton

Well-known Member
Foundation Member
Apr 15, 2014
1,135
813
283
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. :D

edit: g8...j4 above makes a very good point!
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
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:

HinnomTX

Active Member
Jul 22, 2014
166
196
103
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.
 

thelonecrouton

Well-known Member
Foundation Member
Apr 15, 2014
1,135
813
283
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.
 
  • Like
Reactions: Tesquenure

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
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,
Doesn't matter for currency tied up as each unit can be traded and used down to a duff. We aren't talking about 4.8M whole coins.
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
Doesn't matter for currency tied up as each unit can be traded and used down to a duff. We aren't talking about 4.8M whole coins.
OK so maybe that is neither here nor there, but I still say raising the MN percentage is not a good idea.
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
Before any of this crap can even be considered, microwallets need to be fixed. Priority number 1 at the moment IMHO. Enforcement is obvious. I've already beaten that horse to death though.
By "microwallet" do you mean denomination of sub 1 coin? I though the solution to that was just adding smaller denomination levels when the price increase warranted,
 

HinnomTX

Active Member
Jul 22, 2014
166
196
103
Also effectively doubling the hosting fees in the process for needing double the instances.
You have a point, but that's not how it usually works. The masternode operators simply buy more static IPs and run multiple darkcoind daemons on the same servers. The extra IPs come at an incremental cost.
Perhaps reducing the MN requirement from 1000 to 500 DRK should coincide with a static payout increase from 20% to 25%. It stands to reason that some newcomers will be attracted to the lower MN cost requirement AND better payout. So new money probably will flow into DRK.
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
By "microwallet" do you mean denomination of sub 1 coin? I though the solution to that was just adding smaller denomination levels when the price increase warranted,
No, Evan already stated to me that Darksend pretty much sucks for anyone trying to denominate under 10 coins. Try it and it doesn't work. For a new user getting into the currency and trying to understand the process, you'd generally start out with smaller amounts and see if it works. Right now it doesn't. Darksend isn't functional for everyone and that's crippling.
 

oblox

Well-known Member
Aug 6, 2014
1,032
537
183
You have a point, but that's not how it usually works. The masternode operators simply buy more static IPs and run multiple darkcoind daemons on the same servers. The extra IPs come at an incremental cost.
Perhaps reducing the MN requirement from 1000 to 500 DRK should coincide with a static payout increase from 20% to 25%. It stands to reason that some newcomers will be attracted to the lower MN cost requirement AND better payout. So new money probably will flow into DRK.
Not all VPS allow the option of adding static IPs to instances, rather, you have to buy a new instance to get a new IP.
 

HinnomTX

Active Member
Jul 22, 2014
166
196
103
No, Evan already stated to me that Darksend pretty much sucks for anyone trying to denominate under 10 coins. Try it and it doesn't work. For a new user getting into the currency and trying to understand the process, you'd generally start out with smaller amounts and see if it works. Right now it doesn't. Darksend isn't functional for everyone and that's crippling.
So the minimum denomination amount needs to change to 0.1 DRK. Is this a problem to add?
 

Minotaur

Well-known Member
Foundation Member
Apr 7, 2014
452
1,079
263
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.
But reducing the collateral from 1000DRK to 500DRK, wouldnt secure the network from sybil attacks since bad actors could acquire the same percentage of the masternode network they could before. Meaning a network with a 1000DRK collateral and 1000 masternodes is just as secure as a network with a 500DRK collateral and 2000 masternodes, is exactly the same thing we wouldn't gain anything. The important thing is to increase the masternode count while keeping the same collateral, that really improves network security.
 

JGCMiner

Moderator
Moderator
Jun 8, 2014
360
211
113
No, Evan already stated to me that Darksend pretty much sucks for anyone trying to denominate under 10 coins. Try it and it doesn't work. For a new user getting into the currency and trying to understand the process, you'd generally start out with smaller amounts and see if it works. Right now it doesn't. Darksend isn't functional for everyone and that's crippling.
I just assumed that was just because there where never enough people using small amounts. Jira is down right now so I can't check if the issue has been posted, but if it has then it will get taken care of just like everything else that has been posted.

However, I don't see how that relates to the topic at hand.