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

Darkcoin Update / Masternode requirements / Masternode Payments

Status
Not open for further replies.

eduffield

Core Developer
From this point forward, we are locking all core fundamentals of the coin (Name, coin supply, etc.). This will improve the stability of the coin and create better environment for growth. I want to personally focus on the technology and keep doing what has made us successful up to this point, great technology and innovation.

Masternode Requirements

These nodes are the foundation of DarkSend, all transactions will be routed through these nodes. Each masternode requires that 1000DRK be kept on the node and each time that node is selected the network will dedicate 10% of that block to these nodes. If you are running a masternode you need to be fairly familiar with network administration and securing your host.

The point is to make it very expensive to acquire them. Imagine the following:

FeedbackLoop:
- User asks "Should I create a masternode?"
- it costs $XXX, they would earn $X.XX/day. That's X days till they earn 100% of their investment.
- User buys 1000 DRK, creates masternode
- Price goes higher, 1000DRK gets pulled out of the supply
- Go to FeedbackLoop

This is a feedback loop that this strategy is creating. We should add masternodes until the price finds equilibrium with the masternode capacity.

1x Masternode = 576 blocks * 10% of the reward = 1036DRK/day
8x Masternodes = (576/8) blocks * 10% of the reward = 129DRK/day
16x Masternodes = (576/32) blocks * 10% of the reward = 32DRK/day
128x Masternodes = (576/128) blocks * 10% of the reward = 8.1DRK/day

Let's say after the feedback loop completes the price of Darkcoin is $5 and we have 1200 nodes. At that point we have six million dollar in masternodes, to gain 50% of the network to do an attack would probably cost much more than six million dollars, so it's not possible anymore. Also, an influx of six million dollars would create much higher prices, making it profitable for others to start masternodes again.

The other problem is all nodes need to keep a list of all of the masternodes. If the requirement is too low we'll end up with excessive amounts of network traffic from all of the discovery chatter.

How to create a masternode?

- Get a machine with a static ip
- Setup some ddos protection
- Setup firewall rules to block any ports that are not needed
- Open port 9999
- Download the beta daemon of darkcoin
- Use ./darkcoind getaccountaddress 0 to get an address on that daemon
- Send EXACTLY 1000DRK to that daemon
- Encrypt the wallet with a strong password, make a backup of the wallet, do not copy the wallet while the daemon is running
- In the darkcoin.conf add "connect=23.23.186.131" and "masternode=1"
- Restart the daemon
- darkcoind masternode start `head -1` (type your password on the next line)
- In the logs you should see this if successful:

2014-04-07 18:37:18 IS DARKSEND MASTER NODE
2014-04-07 18:37:22 AddLocal(23.23.186.131:19999,4)
2014-04-07 18:37:22 RegisterAsMasterNode
2014-04-07 18:37:22 Found unspent output equal to nValue
2014-04-07 18:37:22 Is capable master node!
2014-04-07 18:37:22 Adding myself to masternode list CTxIn(COutPoint(d54dd4fcf52caa5fc23fbfadf106eb184e380f5a53306d3fc15f8ee7f4ce0c79, 0), scriptSig=)​

When will you get paid?

We're just testing the election of masternodes and darksend updates at this point. All of the code is done and appears to work, at some point in the next future (3-4 weeks I'm guessing) we'll hard fork the public client and open source parts of DarkSend to enable the payments.

How will the payments work?

We're going to extend the blockchain by adding a voting system. Each block that is solved the miner will add the address of the masternode that he believes should get paid and increment a counter. Upon reaching six confirmations an extra transaction will be added to the block paying out that masternode and removing the vote. This means that to cheat the system you'll need 51% of the hashing power.

Worst case a miner will solve a block and try to pay themself, in which case 20 blocks will pass with no more confirmations and their entry will be removed.

The last thing we need to decide is where this extra money comes from. We have two options:

1) Block Reward = 18DRK + fees to miner, 1.8DRK to master node (10% more money supply)
2) Block Reward = 18DRK + fees to miner - 1.8DRK, 1.8DRK to master node

We will be working on creating AWS AMI’s for you to use as well as Ubuntu ISO images for you to setup a server, you will still be responsible for making sure the host is secure and firewall rules are complete based on your specific configuration. When these are created we will put out additional information on what you will need to do after installation.

Where's the beta?

We're compiling it and updating the docs. We changed ALOT.
 
Last edited by a moderator:
FAQ
  1. In one of the steps you say to send over exactly 1000 DRK. Does this have to be sent in one go? I'd feel better sending over 0.1 DRK to test, then send over 999.9 after. Would that be okay?
    - You have to send 1000DRK at once. It needs one single input for technical reasons.

  2. Do we have to use the ISOs? Or is this just recommended?
    - That's for people that want something quick, definitely not required.

  3. Can you get the 1000 DRK back out of the daemon or are they lost once sent?
    - The money is still good, it's just locked while you're a masternode. To send it back out of the daemon you would need to disable the "masternode=1" in the config and restart.

  4. You specify that I must have a static IP address, why can't I use a dynamic DNS service?
    - I'll enable that at some point.
 
Last edited by a moderator:
In one of the steps you say to send over exactly 1000 DRK. Does this have to be sent in one go? I'd feel better sending over 0.1 DRK to test, then send over 999.9 after. Would that be okay?
  1. - You have to send 1000DRK at once. It needs one single input for technical reasons.
And what happens If I have 1000 DRK on a masternode and get a reward, lets say 1.8 DRK and now there are 1001.8 DRK on the wallet?
 
Correct me if I'm wrong, but I believe it's ok to have coin already in the wallet, but a single deposit of 1000 coin is required to use the masternode function.

Also, wouldn't the impact of generating 10% extra funds to pay for masternodes undo what was done and then some, with the 7% reduction per year? It just seems like another bag of worms...
 
Last edited by a moderator:
Does each masternode recquire a unique ip? Just checking that I couldn't set up multiple masternodes under the same vps.
 
I am eagerly awaiting an AWS AMI - I'll throw up a master node as soon as you folks make that available.
 
And what happens If I have 1000 DRK on a masternode and get a reward, lets say 1.8 DRK and now there are 1001.8 DRK on the wallet?
I am wondering the same thing.
Can we please have a p2p style redirection so we dont have to keep checking and sweeping coins away with potential spend. We dont want the system to become more of a target if the potential to have more coins is there.
 
Correct me if I'm wrong, but I believe it's ok to have coin already in the wallet, but a single deposit of 1000 coin is required to use the masternode function.

Also, wouldn't the impact of generating 10% extra funds to pay for masternodes undo what was done and then some, with the 7% reduction per year? It just seems like another bag of worms...
I don't think it's extra, it's 10% of the block. The miners get 90% and the master nodes get 10% and the 7% per year reduction still applies.

Edit: I see Evan gave two examples I guess we're going to have another vote to decide that.
 
If i well understand,
1200x Masternodes = (576/1200) blocks * 10% of the reward = 0,86DRK/day
for 1000 DRK in, you need 1162,79 days to have your coins back. mean 3 years.
AT 5$ the DRK, win 4,3$/day, 129$/m.
I hop just 1 thing, than you are wrong in the DRK price.;)

Does one day, you can change the 10% or the 1000 DRK need ?
 
Any idea why my windows qt wallet won't send 1000 DRK? It just states "transaction too large" regardless of whether or not I include a transaction fee. The QT wallet is 9.1.2 running on Windows Server 2008R2
 
Any idea why my windows qt wallet won't send 1000 DRK? It just states "transaction too large" regardless of whether or not I include a transaction fee. The QT wallet is 9.1.2 running on Windows Server 2008R2

1.) Do you have darksend checkbox ticked by accident?

2.) If you don't, is your 1000 DRK among a LOT of inputs? If that is the case what I would do is send a transaction to yourself on a new address with as many as it will let you send. Repeat until you have shrunk the the number of inputs of the next transaction enough to where it can send 1000.
 
I'm going to try doing some sends to clean it up and see if that helps.

EDIT: OK, I was able to send to another wallet and then send 1k DRK from there. Thanks for the assist :)
 
Last edited by a moderator:
here is a question to the experts to set up a master node
though i'm no expert for this, but i would like to set up one:
VPS-server with DDoS-protection + hardware-firewall (configurable to open port 9999) by the provider, static IP, 100 MBit/s
2 vCores, 2 GB RAM, 25 GB space, Windows server 2008
is that enough to do this?
 
Interesting hardfork of Leafcoin.

1. announce : https://bitcointalk.org/index.php?topic=514032.msg5981542#msg5981542
CHANGE : DIGISHIELD + FLATREWARDS + CHECKPOINTS + MERGE ++++ Foundation FEE
* Foundation FEE : mined block has a tx which send 50 coins to Leafcoin Foundation.
* https://github.com/leafcoin/leafcoin/blob/master/src/main.cpp#L2060-L2112
* https://github.com/leafcoin/leafcoin/blob/master/src/main.h#L31-L44

2. result
* wallet hardforked
* mpos pool stratum changed
* multipool stratum changed
* p2pool dead

* stratum change : https://bitcointalk.org/index.php?topic=514032.msg6073072#msg6073072
* p2pool status : https://github.com/Rav3nPL/p2pool-rav/issues/77#issuecomment-40005483


Masternode/DarkSend has a seperate payout tx after six confirmation.
Each block that is solved the miner will add the address of the masternode that he believes should get paid and increment a counter.

I think extra tx will be passed out to miner by wallet(getblocktemplate).
 
Last edited by a moderator:
user@sv3:~/.leafcoin> leafcoind getblocktemplate
{
"version" : 5046274,
"previousblockhash" : "afa8a47352dd0417e2547a9e4b9e00c61728e66c75023316ad6963c6f83962bc",
"transactions" : [
],
"coinbaseaux" : {
"flags" : "062f503253482f"
},
"coinbasevalue" : 15624000000,
"target" : "00000000836e0000000000000000000000000000000000000000000000000000",
"mintime" : 1397329417,
"mutable" : [
"time",
"transactions",
"prevblock"
],
"noncerange" : "00000000ffffffff",
"sigoplimit" : 20000,
"sizelimit" : 1000000,
"curtime" : 1397329738,
"bits" : "1d00836e",
"height" : 104027
}

LOL.
 
I've been busy, but I just managed to download the latest betas 4/14/14 (according to wherever it's stored, still 13th here, LOL) Anyway, I'm wondering, after I sent the 3rd transaction, to get it moving through the system, there was no time before it showed up. Aren't there supposed to be some confirmations? I mean, it was immediate?
Also, Evan used to have some kind of script running so that darksend transactions could be "pushed" through, by providing some of the entries when nobody else was darksending. Is there a way we can do that automatically with our master nodes, so that people who just want to use darksend, can do so without sending multiple amounts?
 
here is a question to the experts to set up a master node
though i'm no expert for this, but i would like to set up one:
VPS-server with DDoS-protection + hardware-firewall (configurable to open port 9999) by the provider, static IP, 100 MBit/s
2 vCores, 2 GB RAM, 25 GB space, Windows server 2008
is that enough to do this?
yes, even an amazon tiny one core is enough. But then you have to set up your own protections.
 
Status
Not open for further replies.
Back
Top