Minting while having your ppc in cold storage

Is it possible to mint ppc while to keep ppc in cold storage? Maybe import ppc every 30 days instead of running the client all day long? There are just too much risk for some people who have thousands of ppc to run the wallet 24x7. If I have 10k ppc I will not mint any if I can not ensure my coin is 100% secure while minting. I think this could be a big problem and if Sunny could slove this problem then it will make pos to be much easy and widely accepted and used.

I don’t have them at the moment, but there are definitely links on this forum that go to great length to show you how to secure your wallet for minting - yes there are some issues with using your wallet when it is encrypted, but when you mint it no longer asks for the password – only reason I don’t YET.

There will always be some risk with this - I am no programmer, nor will I claim to understand how EXACTLY it works, besides the system knowing the last date that a specific section of coins was moved into your personal wallet and will be ready for 30+ day minting.

Would there be a way to have a Minting Token represent your Coin Age? So… lets say Transactions on 3/09/2014. They are all the same Coin Age, could
it be set to generate a token to represent that “LOT” so you can send the token out for minting that represents those Coin Ages while still protecting your PPC from the potentially being attacked/stolen?

I have no idea how the programming works, this is just an outsider style idea.
I think the idea sounds cool, but typically if it sound good it doesn’t mesh up with the programming :slight_smile:

Just so you know this will be fixed in v0.4.

Isn’t this similar to the ‘cold-locked minting’ Sunny proposed many months back, coming in v0.4 or v0.5?

The purposes of minting, isn’t just to reward holders of Peercoin and create coins.

It’s primary purpose is using an algorithm other than proof-of-work to solve blocks, and bundle blockchain transactions together.

With paper wallets, cold-locked offline wallets, they could not solve blocks while they are in that state. The only thing they can do, is accrue coin-age for when the wallet comes back online.

So if anyone is hoping a paper wallet or cold-locked offline wallet can earn coins, simply for existing, that could never come true. Something has to be online to give the network a heartbeat and process transactions. Right now it is both MINTERS and MINERS who are online, and actively contributing to the network’s heath.

[quote=“ppcman, post:4, topic:1772”]The purposes of minting, isn’t just to reward holders of Peercoin and create coins.

It’s primary purpose is using an algorithm other than proof-of-work to solve blocks, and bundle blockchain transactions together.

With paper wallets, cold-locked offline wallets, they could not solve blocks while they are in that state. The only thing they can do, is accrue coin-age for when the wallet comes back online.

So if anyone is hoping a paper wallet or cold-locked offline wallet can earn coins, simply for existing, that could never come true. Something has to be online to give the network a heartbeat and process transactions. Right now it is both MINTERS and MINERS who are online, and actively contributing to the network’s heath.[/quote]

Absolutely, and I understood that before as well. I think it is only a fair/logical concern that anyone has about the security of their currency.
I think at this stage we are more or less just talking out loud to see what is out there. For as much as we all understand, there is still so much
more to speculate on. Whether it’s from the programming side, or from a more or less consumer side.

And like Yurizhai mentioned, the Minting Bug is suppose to be fixed in v0.4, which makes most of us feel tons better about feeling safer to mint/secure the network.

Thinking about this, I think it might be worthwhile to devise a Mint-by-proxy scheme that could keep your private key safe, offline, in cold-storage, or in a paper wallet.

I propose it could work this way in Peercoin 0.5 or later. It would again, be another mandatory upgrade, and a major revision to the network for it to be adopted.

DISCLAIMER: THIS IS A VERY ROUGH PROPOSED IDEA / DRAFT TO SPAWN DEBATE ON THE MERITS OF SOMETHING LIKE THIS

[font=arial][size=12pt]Keep Minting separate from the Wallet.[/size][/font]

  1. Your main wallet could generate a special “minting by-proxy keypair” that say has a one-time cost of 0.05, as a special proof-of-stake transaction, that is signed by your private key, which identifies the wallet address you will be placing in cold storage.

  2. This newly generated “minting-by-proxy keypair” now gives your minter the ability to:
    a) solve blocks by proof-of-stake
    b) As long as the keypair is authorized your cold-storage coins cannot be transferred or moved (even with the private key)

  3. Once you want access to your cold-storage coins again, you use the minting-by-proxy keypair to issue another “special proof-of-stake transaction” (a one-time cost of 0.05) to let the network know that the cold-storage coins are now able to be transferred and moved, and that the proxy minter is no longer authorized to mint coins anymore.

This solves these problems:

  1. Your actual private key disappears from an online computer or wallet, and can be safely stored offline, in any accessible form

  2. Your minter still mints on your behalf, because you authorize it (with PoS) to be able to do that before going into cold storage

  3. Even if someone “hacks your minter”, the only thing they can do is:
    a) Mint for you (which is stupid, why bother)
    b) unlock your cold storage and stop your proxy-minting capability but not gain access to your private keys to your wallet, because they are offline and inaccessible.

  4. The network maintains its primary objective: To have participating minting machines online and readily minting by proxy, while keeping your offline cold-locked private key safe.

  5. The 0.05 transaction fees are expensive on purpose for two reasons:
    a) putting something into cold storage should be done rarely and not often
    b) These fees will be destroyed and be put back into the network, which can increase the coin supply for better rewards than 1%

I agree with percy and ken 100%, cold storage minting will be a must. Also technically to expand peercoin protocol to implement this is doable.

[quote=“ppcman, post:6, topic:1772”]Thinking about this, I think it might be worthwhile to devise a Mint-by-proxy scheme that could keep your private key safe, offline, in cold-storage, or in a paper wallet.

I propose it could work this way in Peercoin 0.5 or later. It would again, be another mandatory upgrade, and a major revision to the network for it to be adopted.

DISCLAIMER: THIS IS A VERY ROUGH PROPOSED IDEA / DRAFT TO SPAWN DEBATE ON THE MERITS OF SOMETHING LIKE THIS

[font=arial][size=12pt]Keep Minting separate from the Wallet.[/size][/font]

  1. Your main wallet could generate a special “minting by-proxy keypair” that say has a one-time cost of 0.05, as a special proof-of-stake transaction, that is signed by your private key, which identifies the wallet address you will be placing in cold storage.

  2. This newly generated “minting-by-proxy keypair” now gives your minter the ability to:
    a) solve blocks by proof-of-stake
    b) As long as the keypair is authorized your cold-storage coins cannot be transferred or moved (even with the private key)

  3. Once you want access to your cold-storage coins again, you use the minting-by-proxy keypair to issue another “special proof-of-stake transaction” (a one-time cost of 0.05) to let the network know that the cold-storage coins are now able to be transferred and moved, and that the proxy minter is no longer authorized to mint coins anymore.

This solves these problems:

  1. Your actual private key disappears from an online computer or wallet, and can be safely stored offline, in any accessible form

  2. Your minter still mints on your behalf, because you authorize it (with PoS) to be able to do that before going into cold storage

  3. Even if someone “hacks your minter”, the only thing they can do is:
    a) Mint for you (which is stupid, why bother)
    b) unlock your cold storage and stop your proxy-minting capability but not gain access to your private keys to your wallet, because they are offline and inaccessible.

  4. The network maintains its primary objective: To have participating minting machines online and readily minting by proxy, while keeping your offline cold-locked private key safe.

  5. The 0.05 transaction fees are expensive on purpose for two reasons:
    a) putting something into cold storage should be done rarely and not often
    b) These fees will be destroyed and be put back into the network, which can increase the coin supply for better rewards than 1%[/quote]

It should never require going online with private key not even once.

You could simply just change ppc protocol to have 2 pairs of private-public keys. So when somebody sends coins he would have to specify 2 public addresses, one for spending (unable to mint) and other just for minting.

[quote=“petar87, post:8, topic:1772”]It should never require going online with private key not even once.

You could simply just change ppc protocol to have 2 pairs of private-public keys. So when somebody sends coins he would have to specify 2 public addresses, one for spending (unable to mint) and other just for minting.[/quote]

This is an idea. The only trick is explaining to the network which key is for what… I assume it would still be a special proof-of-stake transaction that you’d enter into the blockchain for a specific cost?

Otherwise how would the network know which key is for what?

It could be specified by order, like firs key is for spending and second one for minting, second key should even be optional.

[quote=“ppcman, post:9, topic:1772”][quote=“petar87, post:8, topic:1772”]It should never require going online with private key not even once.

You could simply just change ppc protocol to have 2 pairs of private-public keys. So when somebody sends coins he would have to specify 2 public addresses, one for spending (unable to mint) and other just for minting.[/quote]

This is an idea. The only trick is explaining to the network which key is for what… I assume it would still be a special proof-of-stake transaction that you’d enter into the blockchain for a specific cost?

Otherwise how would the network know which key is for what?[/quote]

Well I though actually that public address could be expanded to accommodate this. If we have double size of public address then 2 public keys can fit in each output of transaction. It would increase block chain a bit, something like if peercoin is SHA-512 instead of SHA-256.

Going back to what I was originally saying about a “Minting Token” or ppcman’s idea of by proxy. I guess they both define themselves equally for this purpose.
ppcman - you sound like you know the software much better then I can possibly hope to. So I’ll leave you to translate my laymen into something understandable ;D

  • I would say I agree with having a fee of some sort for “creating” a Minting Proxy Token (whatever you wanna call it), however I will disagree with
    this point

[quote=“ppcman”]5) The 0.05 transaction fees are expensive on purpose for two reasons:
a) putting something into cold storage should be done rarely and not often[/quote]

Wasn’t the whole purpose of Peercoins long term ? If you can’t readily use cold storage for ‘saving’ your investments for future, then what is the point of or incentive to mint at all? One point would be security - if you can readily, and nearly at will, remove your coins from harms way and place them into cold storage while still having a Minting Proxy Token to claim a temporary ownership of your coin ages - that alone in incentive enough to keep the network secure. Far too many people will refuse to take big risks, so reducing it wherever possibly would likely increase interest and usage.

It becomes a partially moot point I suppose - as previously stated v.04 should have fixed the pass phrase issue while in minting mode, but giving someone
added security is still a huge bonus.

The other point suggested keys.

Having 1 key as 100% private and offline - a secondary layer in the wallet with a separate pass phrase with zero communication allowed to the internet directly unless it is passed through the primary key and it’s pass phrase. I know this seems redundant, and truly it is if someone has a keylogger on your system, but outwardly this has the potential to be more secure - again I am no programmer, this just becomes an option to discuss :stuck_out_tongue:

Hm, I gave it some more thoughts and that’s actually bad idea to have separate key for minting :(.

Imagine this, if you can mint risk-free then you won’t care much if somebody steals your credentials as he can just mint a block for you. Then people could give their keys in public so others can mint for them, and those minters would have potential to double spend then.

Now I think cold storage minting is not possible?

A better question, “Should cold-storage minting be possible?”

Because minting is done to support the network, my opinion is “no, it should not be, unless we change the definition/meaning of ‘cold storage’”.

The proof-of-stake block reward is there to motivate people to stay on the network and support it, in the same way that proof-of-work rewards are paid to miners. It’s not there to reward holders of peercoins, just for being holders of peercoins.

I completely agree that enhancing client security and educating holders on ways to securely support the network is paramount, but I believe that’s the thing we need to work on first, before we try to re-engineer the protocol. It would provide a much larger benefit to all holders of peercoins.

[quote=“petar87, post:13, topic:1772”]Imagine this, if you can mint risk-free then you won’t care much if somebody steals your credentials as he can just mint a block for you. Then people could give their keys in public so others can mint for them, and those minters would have potential to double spend then.

Now I think cold storage minting is not possible?[/quote]

With my proxy proposal:

How could they double spend? They still cause the original coins used as stake for 520 block informations. The only person who can spend, is the holder of the private key to that wallet.

[quote=“Ben, post:14, topic:1772”]A better question, “Should cold-storage minting be possible?”

Because minting is done to support the network, my opinion is “no, it should not be, unless we change the definition/meaning of ‘cold storage’”.[/quote]

I prefer the question, of why does the Minter need to be linked to your wallet that holds your private key? If coins cannot be moved without the use of the private key, then the private key should be as far away from the internet as possible when it is not in use.

This would greatly improve the security of Peercoin over ever other Bitcoin forked coin in existence.

It’s worth talking about, for sure.

[quote=“Ben, post:14, topic:1772”]A better question, “Should cold-storage minting be possible?”

Because minting is done to support the network, my opinion is “no, it should not be, unless we change the definition/meaning of ‘cold storage’”.

The proof-of-stake block reward is there to motivate people to stay on the network and support it, in the same way that proof-of-work rewards are paid to miners. It’s not there to reward holders of peercoins, just for being holders of peercoins.

I completely agree that enhancing client security and educating holders on ways to securely support the network is paramount, but I believe that’s the thing we need to work on first, before we try to re-engineer the protocol. It would provide a much larger benefit to all holders of peercoins.[/quote]

If cold storage minting is impossible then I think it will be tough for ppc to be as successful as bitcoin.
I do still hope Sunny can come out with some innovative solution to make it possible.

Why does the POS blocks have to be signed by the private key? Why can’t the protocol be such that the network only accepts new POS coins sent to the same address where the stake was from? Then only the public key would be enough. The bottom of the idea is that the coin age of all transaction outputs can be found in the blockchain. Theoretically a public service could do all the minting for every transaction without knowing the private key at all. But we know that it wouldn’t be good for a decentralized network. So the “burden” of finding the POS for an transaction should still be on the owner. But the owner’s minting program doesn’t need to know the private key, either. It can do all the POS block searching and once it finds it, it broadcasts for the network to accept. The network only accepts if the block is verified and the destination is the same address of the source transaction output.

Either that or I still don’t totally understand the minting process.

ed: typo

Agreed. The Minting process should always be done from the users side. Making it safer is great, but keeping it in our own hands helps keep it safe. The question remains - how and is it possible to make it safer using a Mint Token/proxy? Is it even possible with the current code? The idea seems great, but is it?

[quote=“Ben, post:14, topic:1772”]A better question, “Should cold-storage minting be possible?”

Because minting is done to support the network, my opinion is “no, it should not be, unless we change the definition/meaning of ‘cold storage’”.

The proof-of-stake block reward is there to motivate people to stay on the network and support it, in the same way that proof-of-work rewards are paid to miners. It’s not there to reward holders of peercoins, just for being holders of peercoins.

I completely agree that enhancing client security and educating holders on ways to securely support the network is paramount, but I believe that’s the thing we need to work on first, before we try to re-engineer the protocol. It would provide a much larger benefit to all holders of peercoins.[/quote]

Maybe my feeble attempt to explain this is my failing point, Ben. I didn’t mean remove the user from the network. Just to ensure their coins where SAFER during the Mint process, that was why a Mint Token/Proxy was suggested. To ensure the user remained on the network to help with security and transactions, but still have a better piece of mind with the added bonus of more security for their savings.

Because the ultimate reward for solving a block continues to accumulate at a rate of 1% per year, whether or not you bring your coins online and attempt it, you (personally) aren’t missing out on much more than a bit of compounding.

Today, even if you use v0.3.0 (the unpatched build that doesn’t include the v0.3.1 fix for the “transactions don’t require pass phrases while unlocked” defect), you can safely mint using the Peercoin daemon, ppcoind, from the command line without running PPCoin-Qt at the same time.

I’ve started looking into the prospect of using multi-signature addresses, exclusively, where I control both of the signing keys. That way, even if my primary key was somehow deduced, the attacker will have to compromise my secondary key as well – possible, but an order of difficulty harder, as long as I take reasonable steps not to expose it.

I’d love to figure out a way to use a long-life hardware device with a rotating cypher, or optical recognition, to act as the secondary key. Anything that I can do to distribute the sources that need to be compromised.