Masternodes with offline (paper) wallets

Ra1

New Member
May 31, 2014
1
0
1
Can masternodes be run with offline paper wallets? If not, are there plans to support that in the future? I think it would be a great way to improve security of the masternodes.
 

donho

Member
Masternode Owner/Operator
Apr 16, 2014
96
20
58
cold storage/paperwallet Masternode are not currently supported.
there is the option of running a remote/local Masternode Setup where the 1000DRK don't have to be on the same machine that does the mixing (and has a publicly known ip). But the local wallet with the 1000DRK has to remain online aswell for the time being.
AFAIK Evan posted some time ago that cold storage is planned for a future version
 

Joshua

New Member
May 29, 2014
6
0
1
"Evan posted some time ago that cold storage is planned for a future version"

I was just thinking of cold storage when it came to Masternodes today, glad to see it'll be in a future version. :)
 

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
Running this concept through my brain and I think I see a flaw..... could be wrong..... but

If the DASH is on Paper and not in a Qt then anybody with the MN info would be able to run the 'masternode start....' command(s) and send any MN to the end of the payout list, never to be paid.
 

IronVape

Member
Masternode Owner/Operator
Mar 26, 2016
117
75
78
Running this concept through my brain and I think I see a flaw..... could be wrong..... but

If the DASH is on Paper and not in a Qt then anybody with the MN info would be able to run the 'masternode start....' command(s) and send any MN to the end of the payout list, never to be paid.
Wouldn't you need the private key for the public address associated with that masternode in order to send the start command? If you had that, then you would just steal the 1,000 dash rather than bumping the node over and over.
 

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
Wouldn't you need the private key for the public address associated with that masternode in order to send the start command? If you had that, then you would just steal the 1,000 dash rather than bumping the node over and over.
The so called MN 'private key' is not the ACTUAL private key needed to steal the funds
 

IronVape

Member
Masternode Owner/Operator
Mar 26, 2016
117
75
78
The so called MN 'private key' is not the ACTUAL private key needed to steal the funds
Cool! So is that what the voting sites like dashwhale use? I've been afraid to use one because of not wanting to expose my "real key".
 

lombardo2

New Member
Oct 26, 2016
12
0
1
50
Running this concept through my brain and I think I see a flaw..... could be wrong..... but

If the DASH is on Paper and not in a Qt then anybody with the MN info would be able to run the 'masternode start....' command(s) and send any MN to the end of the payout list, never to be paid.
What about starting the masternode then removing the private key from QT?
 

t0dd

Active Member
Mar 21, 2016
150
132
103
keybase.io
Dash Address
XyxQq4qgp9B53QWQgSqSxJb4xddhzk5Zhh
I hate to ask this question but...
What's the average network data consumption requirements for running a qt wallet (that's the requirement, right?) continuously in support of a masternode? I'm data constrained believe it or not. And how intermittent can that wallet be?
 
Last edited:

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
I hate to ask this question but...
What's the average bandwidth requirements for running qt wallet (that's the requirement, right?) continuously in support of a masternode? I'm bandwidth contained believe it or not. And how intermittent can that wallet be?
You'll want 100-ish minimum
 

dashman2

New Member
Sep 8, 2017
6
1
3
17
Master nodes give me the shivers. Will Dash ever get rid of them, or most here are a fan of them?
 

Bertrand256

Active Member
Feb 13, 2017
253
304
123
Dash Address
XwZzf7yqYoUBnDFqE7r3zuNmpwKo1CYLMC
Any updates on the paper wallet but I see lot of interest now that big time investors are jumping on to dash
This is an interesting idea that I am considering whether to implement this feature in the future release of DashMasternodeTool application.

In this case, you would have two instances of the app: one offline, one online. A purpose of the online instance would be to prepare 'start masternode' message and sign it with a private key, imported from a paper wallet. In turn, a purpose of the online instance would be to broadcast that signed 'start masternode' message. A file with a signed message would be moved on a pendrive.

I do not promise yet whether and when I will implement it. First I have to investigate whether there are any constraints in the time between signing the message and its broadcasting on the network - in practice this activity will take at least a few minutes.
 

Tony

New Member
Sep 11, 2017
10
3
3
42
Master nodes give me the shivers. Will Dash ever get rid of them, or most here are a fan of them?
Getting rid of MasterNodes is like throwing all the nice features DASH has, out of the window. Features like InstantSend, PrivateSend and Decentralized Governance, without which DASH would be so feature-less like ... Bitcoin! :p
 
  • Like
Reactions: Dashmaximalist

ndrezza

New Member
Apr 17, 2018
6
0
1
39
This is an interesting idea that I am considering whether to implement this feature in the future release of DashMasternodeTool application.

In this case, you would have two instances of the app: one offline, one online. A purpose of the online instance would be to prepare 'start masternode' message and sign it with a private key, imported from a paper wallet. In turn, a purpose of the online instance would be to broadcast that signed 'start masternode' message. A file with a signed message would be moved on a pendrive.

I do not promise yet whether and when I will implement it. First I have to investigate whether there are any constraints in the time between signing the message and its broadcasting on the network - in practice this activity will take at least a few minutes.
I'm really interested in hearing your findings. Are there any contraints that prevent this.
Looking at the code I'm seeing; block_hash, sig_time and lastping going into the Broadcast (masternode start) - so I'm guessing it has to be fast if possible at all?

The reason behind my questing is I'm working on a small tool that can work on air gapped / cold system using ShamirSS to produce the priv-key (paper-a-like), and optical (QR-code) moving of messages only. A tool to essentially produces two types of messages;
1. to transfer rewards from a masternode running on paperwallet collateral.
2. to produce masternode start.
Both types of messages moved via optical data transfer (QR) to an online system where from they can be broadcasted to the network.
 
Last edited:

Bertrand256

Active Member
Feb 13, 2017
253
304
123
Dash Address
XwZzf7yqYoUBnDFqE7r3zuNmpwKo1CYLMC
I'm really interested in hearing your findings. Are there any contraints that prevent this.
Looking at the code I'm seeing; block_hash, sig_time and lastping going into the Broadcast (masternode start) - so I'm guessing it has to be fast if possible at all?

The reason behind my questing is I'm working on a small tool that can work on air gapped / cold system using ShamirSS to produce the priv-key (paper-a-like), and optical (QR-code) moving of messages only. A tool to essentially produces two types of messages;
1. to transfer rewards from a masternode running on paperwallet collateral.
2. to produce masternode start.
Both types of messages moved via optical data transfer (QR) to an online system where from they can be broadcasted to the network.
I started testing this solution quite recently, so I have not checked all the possible scenarios yet (and there are a lot of them). For now I know, that despite a few restrictions, the case looks quite promising. In a few days I should have quite definitive conclusions.
 
  • Like
Reactions: t0dd

ndrezza

New Member
Apr 17, 2018
6
0
1
39
I started testing this solution quite recently, so I have not checked all the possible scenarios yet (and there are a lot of them). For now I know, that despite a few restrictions, the case looks quite promising. In a few days I should have quite definitive conclusions.
Sounds good - let me know if I can help with anything.

On the same note - are you able to provide info about the format/construct of the Masternode Start Alias message? Or point me to any (literally any) documentation of the construct of such message?

Thanks a bunch :)

BR. Ndrezza
 
Last edited:

Bertrand256

Active Member
Feb 13, 2017
253
304
123
Dash Address
XwZzf7yqYoUBnDFqE7r3zuNmpwKo1CYLMC
Sounds good - let me know if I can help with anything.

On the same note - are you able to provide info about the format/construct of the Masternode Start Alias message? Or point me to any (literally any) documentation of the construct of such message?

Thanks a bunch :)

BR. Ndrezza
The best source, in my opinion, is the official protocol documentation: https://github.com/dashpay/dash/blob/master/dash-docs/protocol-documentation.md#mnannounce---mnb

Here's how I implemended it in DashMasternodeTool:

Message classes:
https://github.com/Bertrand256/dash...0dd1096dd42e9bd17/src/dash_utils.py#L349-L448

In line 419 there is a function that signs the message using a hardware wallet. At this point you must apply your own solution.

Message construction:
https://github.com/Bertrand256/dash...0dd1096dd42e9bd17/src/main_dlg.py#L1400-L1409

And finally, adding the number of mn boradcast messages in one RPC call:
https://github.com/Bertrand256/dash...0dd1096dd42e9bd17/src/main_dlg.py#L1557-L1558

BTW, you probably know that along with Dash v12.4 this approach will be obsolete, so in my opinion it might not make much sense to use too much energy for this solution.
 
Nov 19, 2017
46
8
48
40
If i understand correctly broadcasted masternode activation message require sigTime and lastPing so its impossible to store on paper activation message and use many times.
But i am not sure what key is used for signature: masternode private key or wallet private key.
 

ndrezza

New Member
Apr 17, 2018
6
0
1
39
Thanks

If i understand correctly broadcasted masternode activation message require sigTime and lastPing so its impossible to store on paper activation message and use many times.
But i am not sure what key is used for signature: masternode private key or wallet private key.
Yes, but I imagine much as with Armory or Electrum, you produce the message on an online client, QR-code move it to an offline/air gapped/cold, sign it, QR-code move it back, and broadcast it.
 

Bertrand256

Active Member
Feb 13, 2017
253
304
123
Dash Address
XwZzf7yqYoUBnDFqE7r3zuNmpwKo1CYLMC
If i understand correctly broadcasted masternode activation message require sigTime and lastPing so its impossible to store on paper activation message and use many times.
Yes, you can not re-use mn broadcast messages - if the message is the same as the previous one, it is skipped.

But i am not sure what key is used for signature: masternode private key or wallet private key.
CMasternodePing part of the masternode broadcast message (CMasternodeBroadcast) is signed with the masternode private key and the rest of the message is signed with the collateral private key.

Yes, but I imagine much as with Armory or Electrum, you produce the message on an online client, QR-code move it to an offline/air gapped/cold, sign it, QR-code move it back, and broadcast it.
Yes, it is feasible. The only information you need to attach to the message that can not be faked/guessed/computed is the hash of the block, which is not older by more than 24 from the latest block at the time of processing the message by a dash node.

In other words, you have 24 blocks of time (i.e. about an hour) to get the hash of the lastet block, create a message and sign it on an offline computer, transfer to an online one, and finally, send it to the network. If your offline computer is not on the opposite side of the city than your online location, you have more than enough time to do so.
 
Nov 19, 2017
46
8
48
40
Yes, it would be good to have an opportunity to use air-gaped PC for messages generation. Even if have to use QR codes.
But what plans are for 12.4? MN announcement messages will be changed?