Improve privacy in Peercoin suggestion

peerchemist suggested it would be a great feature to have Stealth addresses feature like Vertcoin has:

“Stealth addresses increase privacy for a recipient by allowing you to publish a stealth address, which is like a seed which the sender then uses to generate a unique one-use Vertcoin address for the transaction. All the transactions remain public on the blockchain, but knowing the entire transactional history of your stealth address is now no-longer possible except for you, the holder of the secret key.”

I agree, it is important for a backbone currency to have this , looks nicer than coinjoin, but have to read more about it myself

what do you think?

http://www.reddit.com/r/vertcoin/comments/27veq7/trying_to_wrap_my_head_around_stealth_addresses/

The guy interviewed here (http://letstalkbitcoin.com/blog/post/beyond-bitcoin-5-delegates-and-forgers) had some interesting things to say about stealth addresses. If I’m not mistaken they can be used to get rid of the cumbersome address. I’m not to sure I would trust it as a way to ensure the anonymity of your wallet when used like that, but good thing to know about anyway I think.

A lot of different privacy ideas are being considered and tested in various altcoins. However, it’s not clear what approach is best, and none of them is currently being integrated in bitcoin if a hard fork is required. I think peercoin should take the same stance as bitcoin in this matter, at least for the medium-term.

Good point! +1.

There is no BIP for Stealth. I believe that it doesn’t require hardfork.

Stealth prevents from:

  • “let’s see how much he received” lurking
  • “look how much he received, he has to be trustworthy, and time is running for this offer” scams [f.e. NXT JaBoT case]
    There are probably few more cases where it may be very useful.

Counter-args for inter-core implementation:

  • requires advanced coin control and additional anonymization steps to protect from determined spy - may give false sense of security
  • can be implemented outside of the core ( coins separation, core simplicity ) or using different techniques (f.e. HD wallet [generate address, send key path to recipient] and BitMessage [send message w/ unspent output and privkey] )
  • ? unknown DoS potential
  • public fundraising is probably more effective w/ transparency
  • last but not least - stealth addresses are useless for core minting, at least w/o fork

tl;dr core implementation -1, separate tool +1

I agree
Stealth addresses are very useful
Should be pretty easy to add too.

[quote=“zeded, post:6, topic:2555”]I agree
Stealth addresses are very useful
Should be pretty easy to add too.[/quote]

I would be interested in helping implement this. If you decide you want to do it, let me know. I think that we can make a separate wallet that pulls from the PPC source code to keep the source up to date while under development, and then it could be merged into the main Qt wallet if there it works well and people want it included.

Do you have a recommendation on where to learn exactly how stealth addresses work, on a technical level? Again, does this require any change to the core protocol, or just to the sender’s and/or receiver’s wallet software?

It does not require change in protocol. We have already discussed this, when Vertcoin released the feature.
More info was already posted on forum, if you cant find search the internet for “Vertcoin stealth address”.

It does not require change in protocol. We have already discussed this, when Vertcoin released the feature.
More info was already posted on forum, if you cant find search the internet for “Vertcoin stealth address”.[/quote]
Thanks. I don’t know if this makes sense to anyone else, but I did find this.

Correct me if I’m wrong, but does this provide any benefit over just using a new address for each incoming payment?

It does not require change in protocol. We have already discussed this, when Vertcoin released the feature.
More info was already posted on forum, if you cant find search the internet for “Vertcoin stealth address”.[/quote]
Thanks. I don’t know if this makes sense to anyone else, but I did find this.

Correct me if I’m wrong, but does this provide any benefit over just using a new address for each incoming payment?[/quote]

I believe that the benefit is that I can tell all of peercointalk.org what my stealth address is, and everyone can send stuff to it, but no one can actually tell that it was sent to me. It basically automizes “just using a new address”.

In other words, the sleath address redirects the payment to a secret address that only I know about. You get to confirm that it was received at an address, but no one else can tell that it was sent to my address. As opposed to ring signatures (monero) that make it impossible to see where anything went afaik, or mixers (darkcoin) which require centralized mixers. Everything is still public, it is just a ton harder to tell who owns what.

Got it. This sounds like a great feature.

Does the sender have to use a special client in order to send to a stealth address? It seems that a typical use case would be to put a stealth address in a forum signature. However, if using this address requires custom wallet software, that locks out some users.

I’m not sure, but I asked something along these lines on the vertcoin subreddit when they introduced Stealth, and my understanding was that you could send from the android wallet to a stealth address, but not send something to the android wallet using stealth.

In other words, a regular wallet could send to a stealth address. It just wouldn’t have a stealth address to receive stealth transactions with.

[quote=“bigreddmachine, post:7, topic:2555”][quote=“zeded, post:6, topic:2555”]I agree
Stealth addresses are very useful
Should be pretty easy to add too.[/quote]

I would be interested in helping implement this. If you decide you want to do it, let me know. I think that we can make a separate wallet that pulls from the PPC source code to keep the source up to date while under development, and then it could be merged into the main Qt wallet if there it works well and people want it included.[/quote]
That sounds like a great idea.

We can implement it like sdc did https://github.com/SDCDev/shadowcoin/commit/8d3d3be2156386fc0017dd0e4c9938ba9c1b3ac1
The only thing that is different is that sdc is a blackcoin clone, so some things are different.

Which wallet would it be better to use, PeerUnity wallet or Peercoin official wallet?

[quote=“zeded, post:14, topic:2555”][quote=“bigreddmachine, post:7, topic:2555”][quote=“zeded, post:6, topic:2555”]I agree
Stealth addresses are very useful
Should be pretty easy to add too.[/quote]

I would be interested in helping implement this. If you decide you want to do it, let me know. I think that we can make a separate wallet that pulls from the PPC source code to keep the source up to date while under development, and then it could be merged into the main Qt wallet if there it works well and people want it included.[/quote]

That sounds like a great idea.

We can implement it like sdc did https://github.com/SDCDev/shadowcoin/commit/8d3d3be2156386fc0017dd0e4c9938ba9c1b3ac1
The only thing that is different is that sdc is a blackcoin clone, so some things are different.

Which wallet would it be better to use, PeerUnity wallet or Peercoin official wallet?[/quote]

That’s a good point and a good question.

I’m a little bit familiar with the BlackCoin source and I don’t think that is as huge of a problem. It might be a good idea to use the ppcoin source so that it is easier to merge updates in the future. On the other hand, we could do that just as easily with peerunity, and it is probably more likely that we could merge a working stealth feature into that wallet than the main source.

I’ve looked at the Shadowcoin code and I think it is a manageable addition. We’ll still have to be careful with it though.

EDIT: The next question becomes, is this something the community is interested in?

Peerunity wallet. The official wallet is kept very minimalist, in order to maximize security.

More privacy is always good in these Orwellian times. Especially when it does not take a protocol change or much more data in the blockchain ;D

It would be useful for those few merchants accepting PPC without a payment provider. It protects them from having others sneak peaking in their sells. I have no idea what the effort of implementing this is though. Any thoughts?

Rather have a finished Android client than this when it comes to priorities.

[quote=“Cybnate, post:18, topic:2555”]It would be useful for those few merchants accepting PPC without a payment provider. It protects them from having others sneak peaking in their sells. I have no idea what the effort of implementing this is though. Any thoughts?

Rather have a finished Android client than this when it comes to priorities.[/quote]

That’s a really good point about merchant privacy. I don’t think it is trivial, but I also don’t think it is terribly difficult to pull off either. Since there is open-source Stealth code available, we at least have a place to start.

I don’t know enough about Mobile development to be of immediate help there. But I can certainly give a peerunity fork a shot, and if it works, it can be merged into the peerunity wallet if people would like.

If anyone would like to join zeded and I in this, let me know.

add 2FA to wallet