dcrdocs
dcrdocs copied to clipboard
Update StakeShuffle/Privacy Documentation
This PR addresses #1151 and #1152.
- The term StakeShuffle is used to describe Decred's implementation of the CoinShuffle++ protocol to create CoinJoin transactions. I attempted to replace the reference to CoinShuffle++ where StakeShuffle is more appropriate without making it too confusing as a lot of the URLs and documentation for command still references "cspp".
- I've updated verbiage in overview to reflect recent developments that have addressed limitations of the code since the docs were last updated. (VSPD allows mixing and staking/delegated voting rights, GUI is now available, regular non-staking transactions can be mixed)
- I've added a link to Exitus's privacy tutorial for participating in mixing via Decrediton on the "How to use StakeShuffle" page.
Please review and let me know of any changes anyone would like to see before merging. Given this is a very important area to Decred stakeholders, I want to ensure the verbiage changes are satisfactory.
Can you update the urls and provide redirects for the old urls?
You could add a definition for CoinJoin to the glossary for consistency.
Rebranding this feature is silly, and afaict, was not discussed or approved anywhere else.
The protocol is still CoinShuffle++ no matter how it is used and what amounts are mixed. In fact, the server does not even know the current ticket price. It only groups peers which are mixing the same amounts.
The function of CSPP is distinct from coinjoins on chain. Due to the original branding of CSPP, people are frequently using the term incorrectly to describe the properties of the coinjoins on chain. CSPP is the client-server protocol for creating the coinjoin transactions. StakeShuffle was proposed as the branding for what people have been calling Decred Privacy. It makes a lot of sense since the primary usage is with the ticket system. The goal is to make this easier to understand for users and for terms to be used correctly.
I had some reservations about these changes myself that I'm more concerned with after jrick's response. CSPP is referenced a lot in the underlying code and documentation for the applications in their current versions. A rebranding needs wider consensus between developers and marketing. I think it may be best to revert most of the rebranding changes and perhaps just include a note that CSPP CoinJoin transactions used in combination with Staking have been referred to as "StakeShuffle". Calling it all StakeShuffle when it's not only ticket purchasing transactions that are mixed definitely seems off. This change introduces more confusion in it's current state. I will clean up and separate my changes into separate commits.
Agreed @dezryth, if there is not enough consensus we need to discuss this further and undo the relevant changes here to not block this PR.
There has been more discussion on this topic and I feel more comfortable that this PR addresses the current takeaways I saw in this discussion.
- Component CSPP++ needs to be mentioned/given credit in docs
- Most seem amenable to the overall process referred to as StakeShuffle
- DCRWallet CLI commands etc will remain as is regarding cspp until a deprecation cycle
I think my PR here accomplishes this actually, and I’m seeing more support than I expected for the branded name for the mixing process than I initially thought existed between marketing/dev. Can someone take a look at the changes here and let me know what parts in particular you take issue with in the review? I want to move it forward and this most recent conversation has been really helpful.
Great work! Looks good to me. I thought it might be valuable to link to the new glossary terms in the "Overview" section, but then I realized you had pretty much the exact same content covered there, so it would be redundant.
I'd also replace the cspp
in the URLs, but in a way that cspp
links still work and redirects to the new ones.