This document has been updated for Electrum 2.9.
A blockchain fork (or blockchain split) occurs when a deviating network begins to generate and maintain a conflicting chain of blocks branching from the original, essentially creating another "version of bitcoin" or cryptocurrency, with its very own blockchain, set of rules, and market value.
If there is a fork of the Bitcoin blockchain, two distinct currencies will coexist, having different market values.
An address on the original blockchain will now also contain the same amount on the new chain.
If you own Bitcoins before the fork, a transaction that spends these coins after the fork will, in general, be valid on both chains. This means that you might be spending both coins simultaneously. This is called 'replay'. To prevent this, you need to move your coins using transactions that differ on both chains.
Electrum (version 2.9 and higher) is able to detect consensus failures between servers (blockchain forks), and lets users select their branch of the fork.
- Electrum will download and validate block headers sent by servers that may follow different branches of a fork in the Bitcoin blockchain. Instead of a linear sequence, block headers are organized in a tree structure. Branching points are located efficiently using binary search. The purpose of MCV is to detect and handle blockchain forks that are invisible to the classical SPV model.
- The desired branch of a blockchain fork can be selected using the network dialog. Branches are identified by the hash and height of the diverging block. Coin splitting is possible using RBF transaction (a tutorial will be added).
This feature allows you to pick and choose which chain and network you spend on.
Preparation
- Menu ➞ View ➞ Show Coins
- Menu ➞ Tools ➞ Preferences ➞ Propose Replace-By-Fee ➞ "Always"
Select a chain / network
Send your coins to yourself
- Copy your receiving address to the sending tab.
- Enter how many coins you'd like to split. (enter " ! " for ALL)
- Check "Replaceable"
- Send ➞ Sign ➞ Broadcast
Wait for the transaction to confirm on one network.
Wait for both chains to confirm the transaction.
Verify the transaction has a different TXID on each chain.
You will now have coins seperately spendable on each chain. If it failed, no harm done, you sent to yourself! Just try again.