CoinJoin was originally developed as a privacy tool for concealing a user’s Bitcoin transactions. “CoinJoining” involves many users combining their funds into one large transaction, which is then sent back to them in a way that hides their transaction paths. CoinJoin is a non-custodial solution, which means users never lose control of their funds during the CoinJoining process. Different versions and variations of CoinJoin can now be found on multiple protocols outside of Bitcoin.