pull down to refresh
Here's a safer procedure that doesn't involve running shady wallets:
- Create a throwaway Electrum wallet, and send $5 worth of BTC to it
- Do the scary pay-to-many transaction for that coin only with a destination address of your real wallet
- Now you have a SHA256-only coin in your real wallet!
- Create an annonymous account on the shady exchange, enable 2FA (needed later for withdrawal), generate a BTC2B deposit address, note it
- In the real Electrum wallet, create a transaction that sends all your coins (EXCLUDING the SHA256-only one!) to the deposit address
- Do NOT sign that transaction yet, just export it into a file
- In the real Electrum wallet, create a transaction that consolidates all your coins (INCLUDING the SHA256-only one!) into one (or multiple) change addresses
- Triple check everything is going to your own address, verify the color of the output (must be green/yellow)
- Sign and broadcast, wait for 6+ confirmations
- Now load the unsigned transaction from step 6, sign it, export it to clipboard
- Open mempool.guide in Tor Browser, click Broadcast Transaction, paste and broadcast
- You should see the deposit in the exchange, after about 6 confirmations, it will be tradable
- Sell for USDC (more liquidity) or BTC, withdraw (USDC through swap) to own wallet
This is all correct, but there are privacy implications to consider.
One may have UTXOs in sha256-bitcoin that are valuable enough to not consolidate for privacy reasons, that is, where the privacy value of keeping them unconsolidated outweighs any benefits that would accrue from doing so. They may perhaps be valuable enough to just spend/trade some day one by one.
Then you take the same UTXOs on blake2b-bitcoin, they have much lower market value and you end up consolidating them. This unfortunately allows a sophisticated multi-chain analysis entities to take information given on bitcoin-blake2b and apply it for ownership heuristics on bitcoin sha256.
I wonder how many OP_RETURNS are out there that show intention to fork coins and what further inferences can be made from them. A cluster of "random" data ones in a short time frame may be reason enough to suspect some corellation.
Very good advice about using electrum to cache a movement transaction first. If one forgets to do that, I came to realize that electrum has a way to make a synthetic history: take it offline (invalid localhost server will do), load a fresh wallet and there will be no transaction history. A desirable history of relevant UTXOs can be loaded via tools->load from *, and the popups have a add to history button.
It is tricky to know for sure that a UTXO that seems to be on bitcoin-sha256 only (origin story not known) will stay that way. A send to self at least creates a checkpoint, a competing transaction that one expects to use on blake2b-bitcoin only will at least not relay on that network if it turns out the competing send to self sent first relayed on both networks.
Another bit of electrum fun, the movement of a known bitcoin-sha256 only UTXO from one wallet can be paired up with self-movement of another UTXO from another wallet by way of coin join features done before any signing. This doesn't provide any coinjoin privacy (the one to one movements are obvious), but it does help normalize coinjoin and reduce a wallet to wallet transfer step.
One thing folks can eventually look forward to is taking delivery of bitcoin-SHA256 only coins when receiving on-chain bitcoin from various custodians/services and when closing lightning channels / requesting submarine swaps.
I sent some bitcoin-SHA256 (only) to a non-KYC custodian today to help get the party started. Helping the world of liquid bitcoin along next, it sucks that Boltz died but at least there are a few other services out there than can do smart contract swaps.
Bottom line, check your new UTXOs to see if you received bitcoin-SHA256 only. Every time you do is an opportunity to have an input that can be used with other send to self transactions to create deliberate splits. It's rewarding to actually spend and replace bitcoin vs just sitting on the pile.
Knowing bitcoin-SHA256 only UTXOs are coming your way is helpful for folks who are afraid of creating an unspendable output with the pay to many with OP_RETURN in the post here. (seems fine to me in theory, Electrum should take care to create a spendable output, Electrum also allows for to many where instead of that ! you put a small amount and it will then direct the rest to a change address)
Once one has a single spendable UTXO that is bitcoin-SHA256 only its possible to start consolidating all UTXOs to go even further on splitting ones own coins with self-sends in trusted wallets. But, folks should remember the privacy implications of consolidation as well, so personally I'm looking forward to taking possession of multiple bitcoin-SHA256 only UTXOs that can be paired with longer held UTXOs on self-spends. Done late enough in the game that won't be a pattern that ties UTXOs together as lots of people will routinely create transactions that spend bitcoin-SHA256 UTXOs in combination with mixed UTXOs.
Before self-sending a big UTXO some bitcoin-SHA256 only mixed in it may be worth while to construct, sign, but not broadcast a different self-send for a different target wallet that can be used for bitcoin-blake2b only purposes later. Electrum is good for this. Such transactions can be manually pushed into bitcoin-blake2b via the block explorer per this post at a later time when one feels confident that bitcoin-SHA256 utxos to elsewhere have already happened.
Folks with deeply protected vaults with big UTXOs should be careful about the approach here where they are potentially passing all coins through a wallet where their usual levels of security are not assured, for example temporarily downgrading a multi-sig to a single sig. Better perhaps to accumulate UTOXs that are bitcoin-SHA256 only and then use them later to facilitate shelf transfers from one secure vault to another.