CashShuffle - CoinShuffle for Electron Cash

CashShuffle is both a protocol and an implementation for Bitcoin Cash privacy-enhanced transactions, based on the CoinShuffle protocol.

- FAQ -

What is Bitcoin Cash?

Bitcoin Cash is peer to peer electronic cash, based on the Bitcoin protocol. Click here to learn more.

What is the difference between coin mixing and cash shuffle?

"Coin mixing" commonly refers to the use of services that allow a user to replace his or her coins with a different set of coins.

Cash shuffle is different. It allows users to combine their transactions with others, creating obfuscation.

The disadvantages of coin mixing is that the user must trust the mixing service, and usually has to pay a fee. But with Cash Shuffle, there is no risk of lost funds, and no additional fees.

What coordinates the shuffle between users?

Cash Shuffle uses a client-server model. The servers coordinate which users are shuffling.

Are you running a shuffling service? Are you running one of these servers?

No. We simply publish code. It is up to the community to run servers.

In practical terms then, how do I use this? How does the network get bootstrapped?

As servers come online, they can request inclusion to the client side seed server list via GitHub.

What is the client side software?

Our client side implementation is a plugin to the popular Electron Cash wallet. Instructions for running it are here.

But this is just one implementation. CashShuffle could be implemented in other front end tools and wallets by following the documented protocol.

What is the server side software?

The server side software is written in Golang and available on GitHub.

What is "CoinJoin"?

CoinJoin is the simple, but effective idea of combining inputs and outputs from what would otherwise be separate transactions, into one jumbo transaction. This makes it extremely difficult to know which outputs correspond to which inputs.

What is "CoinShuffle"?

Coin Shuffle is a protocol which implements CoinJoin in a practical way. A layered encryption scheme is used so that none of the participants know the outputs of the other participants. In addition, a blame protocol is used to mitigate time-wasting denial-of-service type attacks.

What is the difference between CoinShuffle and CashShuffle?

CoinShuffle is an excellent protocol once the participants for a joined transaction have already been chosen. However, it provides no means for establishing such groupings. CashShuffle builds upon CoinShuffle and adds a matching service. As such, it is a more complete and usable protocol.

The server, like the individual participants, also has no knowledge of which input corresponds to which output.

Can this be used for illegal purposes?

We do not advocate, condone, or promote the use of this technology for illegal purposes. It is intended for legal privacy use only.

What are the use-cases for CashShuffle?

CashShuffle is intended for confidential business purchases, personal privacy, and increasing overall coin fungibility.

Can the server(s) steal money?

The server cannot steal money in a proper CashShuffle implementation because the transactions are only signed on the client side if they are valid.

Should users set up as many servers as possible so its more decentralized?

No. In the beginning, fewer, but more reliable servers are ideal. Too many servers means users will be thinly spread and will have a harder time finding join partners.

Will the software be improved in the future? Is there a roadmap?

We are constantly working, building, and researching. Our goal is to bring fully decentralized, frictionless, and peer-to-peer privacy and fungibility solutions to Bitcoin Cash.

- Donations -