Elysium Pool is releasing a blockchain bootstrap download service

Syncing the Chia blockchain from scratch is extremely slow. To accelerate the process, we are releasing a Chia Blockchain Database Bootstrap service to download a snapshot of the Chia blockchain quickly and get using it right away.

Our blockchain snapshots are distributed efficiently by torrents, and are available at https://elysiumpool.com/bootstrap.

We are always open to feedback, and hope that this simple service can help contribute positively to the community.

3 Likes

@elysiumpool
That is a nice service;-)
Why did you choose a torrent instead of just a direct download option? Advantages/disadvantages for you as provider of the service and/or for the user?
Thanks.

Torrents have the following advantages:

  1. Allow people on slow/unreliable internet connections to resume large downloads part-way through trivially
  2. Allow people on very fast internet connections to download at the maximum speed available
  3. Allow people with excess bandwidth to contribute to content distribution by seeding the torrent (hence why we publish the RSS feed URL)
  4. MITM attacks are significantly harder with torrents.
  5. File integrity checks are performed automatically during/after the transfer
3 Likes

Except this is totally advised against Chia Network because it makes it for it to be compromised and spread in the network with tampered data :slight_smile:

This vulnerability is discussed in detail on the bootstrap page, but it is absolutely worth discussing further. The risk is that the copy of the blockchain could be tampered for individual users, but could not be tampered for other users syncing the blockchain from other nodes.

The hash of each block is checked against the blockchain when new nodes sync conventionally peer-to-peer, preventing propagation of “counterfeit” blocks. This hash checking of blocks forms the foundation of blockchain distribution, and is what prevents malicious nodes on the network from trying to distribute counterfeit blockchains. Furthermore, such tampering would be identified in the database during the wallet sync/transaction location process in the wallet module.

TL;DR: We could, theoretically, modify the blockchain for users who download the snapshot from us. Such tampering is completely unable to propagate, however, and would be identified during the wallet sync process.

3 Likes

I was hit with the dreaded DB corruption issues and this brought me online much faster. thanks @elysiumpool

For security, I am manually syncing a database copy and will swap it out when complete.

In case this helps anyone, this is the Dockerfile I built for syncing the DB in a separate process

FROM ubuntu:latest

RUN apt-get update && apt-get upgrade -y
RUN apt install lsb-release bc python3.8-venv git -y
RUN echo "#!/usr/bin/sh">/usr/bin/sudo && echo "exit 0">>/usr/bin/sudo && chmod +x /usr/bin/sudo
RUN git clone https://github.com/Chia-Network/chia-blockchain.git -b latest --recurse-submodules
RUN cd chia-blockchain && sh install.sh
CMD cd chia-blockchain && . ./activate && chia init && chia keys generate && chia start node && tail -F /root/.chia/mainnet/log/debug.log

Then run with something like:

docker run -v $PWD:/root/.chia ...

You will need to change the default port if running on the same machine as your farmer.

1 Like

The blockchain bootstrap has been upgraded to the v2 blockchain database. A final copy of the v1 database is also available for users during this awkward transition period.

The v2 database can be downloaded and used on an existing v1 node, so long as the config.json file is updated to reference the v2 database. Thus, users with limited disk space do not need to perform the chia db upgrade command as they upgrade from v1 to v2, but can rather delete their v1 database and download this v2 database in its place.

Elysium Pool Blockchain Bootstrap

1 Like

Does that mean that pre v1.3 nodes can also use it?

1 Like
  • Pre-v1.3.0 nodes must use the v1 blockchain download.
  • >=v1.3.0 nodes should use the new v2 blockchain.
  • Users upgrading from pre-v1.3.0 to >=1.3.0 can download the v2 database instead of using the chia db upgrade command (especially if they are very low on disk space).
3 Likes