bitcoin-abc
bitcoin-abc copied to clipboard
Feature Request: Share pre-fork blockchain with Bitcoin Core or other Core-like clients in read-only fashion
Rationale: Full nodes are very expensive to run. Some have already bootstrapped their clients for Bitcoin (BTC), and would like to support hard forks of it as well. Forked clients use the same database format as Bitcoin Core. Since blocks before height 478559 are identical on every fork, clients should be able to share these blocks instead of storing duplicates for each client. This will save both disk space and bandwidth, and encourage current Bitcoin full nodes to join Bitcoin Cash with a shortened IBD time.
Methodology: Bitcoin ABC should be able to read another blockchain database (blocks/ and chainstate/). After verifying the history, it will then request blocks past 478559 from peers, stored in its own directory. To run Bitcoin ABC in this mode, an extra command line option must be provided to specify the directory of the Bitcoin Core blockchain database.
Patches are welcome at https://reviews.bitcoinabc.org
However, I think it's likely that the underlying database for Bitcoin ABC could change in the future, so the payoff for this feature may not be as high as expected.
It's also possible to sync Bitcoin ABC against your local Bitcoin Core node, speeding up IBD and reducing bandwidth usage. This doesn't fix your disk usage issue, but disk space is relatively cheap (~$0.10 per GB using consumer-grade hardware).