BenWestgate / Bails

Bails is a Bitcoin solution protecting against surveillance, censorship, and confiscation. It installs Bitcoin Core to Tails encrypted Persistent Storage, creates and recovers Bitcoin Core wallets from Codex32 (BIP93) seed backups, and creates backup Bails USB sticks and shareable blank Bails USB sticks. Learn more in README.md.
MIT License
45 stars 8 forks source link

New Feature: Switch to AssumeUTXO #92

Closed BenWestgate closed 2 months ago

BenWestgate commented 11 months ago

When Bitcoin Core 26.0 is released, switch Bails to use AssumeUTXO.

This will reduce initial time to use from hours or days to minutes, even on slower computers or flash drives.

It will however require a higher minimum USB size than 16GB as there will be two copies of the chainstate folder (now up to 7GB), 32GB will be the new minimum size to support this feature. It won't be worth allowing 16GB to sync without it as they have less than 1GB of free space for blocks at this time and also, 32GB USB flash drives are cheaper than 16GB on Amazon.

BenWestgate commented 11 months ago

Marked high priority as I've had two testers need more than week to sync due to 4GB of RAM and a slow USB stick.

BenWestgate commented 9 months ago

https://github.com/bitcoin/bitcoin/blob/master/doc/design/assumeutxo.md#generating-a-snapshot

BenWestgate commented 6 months ago

@epiccurious have you tried the new commands in v26.0 to sync with AssumeUTXO, it involves hardcoding some chainstate snapshot mirrors or onion services. (I guess I could host one, to keep track of how many people are using this.) Currently there's no P2P for distributing the snapshot. But the checksum of the snapshot is hardcoded into Bitcoin Core so any option works.

Since it's a huge download I would probably want to display a progress bar for the users since it is happening outside of Bitcoin Core.

BenWestgate commented 6 months ago

I consider this a Beta required feature. Otherwise dozens of people are going to be downloading for days and maybe most wont finish and certainly most won't recommend this to others due to the long time until being useful.

github-actions[bot] commented 4 months ago

Stale issue message

BenWestgate commented 4 months ago

This will be the first of the 3 headline BETA features worked on.

Remember to account for double the assumed_chainstate size when initially setting prune.

After the node catches up, we can increase the prune setting at that time for better future performance.

github-actions[bot] commented 2 months ago

Stale issue message