Shielded Bitcoin enables transferring Bitcoin without publicly revealing the transaction sender, receiver, or transfer amount