tldr;
- Zecwallet Lite can now sync the entire blockchain - from the 1st sapling block - in < 60 seconds; but wait, there’s more
- Wallet funds are ready to be spent in seconds! No need to wait for sync to finish
- Requests the exact same data from LightwalletD, so no change in security/trust assumptions.
BlazeSync
Zecwallet is happy to introduce today our first Beta of BlazeSync - A new light client sync algorithm that is blazing fast. It can sync the entire zcash blockchain, from the first sapling block, in under a minute.
We’re making the beta release of the Zecwallet Lite CLI wallet and SDK today. Head over to our downloads page to try it out: Releases · adityapk00/zecwallet-light-cli · GitHub. Desktop and Mobile apps will be updated to use BlazeSync in the next 3 weeks.
As with all beta releases, if you run into bugs, please let us know
Why is it so fast?
-
Does less work: BlazeSync scans the blockchain backwards - i.e., highest block first. This means the wallet sees spends before receives, which allows it to simply skip updating the witnesses for funds that have already been spent. This saves a lot of time!
-
Out-of-order scanning: BlazeSync decouples the components of the sync from each other - Downloading blocks, doing trial decryptions, updating witnesses. Further, all of these pieces are done out-of-order, and synced together, which removes bottlenecks, allowing all available processing power to be used in parallel.
-
Ready to spend funds instantly : By scanning blocks backwards (highest block first), Zecwallet can now update witnesses for sapling notes very fast, which means your wallet’s funds are ready to be spent almost instantly. You no longer have to wait for the sync to finish to start using your wallet and sending funds.
BlazeSync does all of this without changing any trust or security assumptions. It requests the exact same data from LightwalletD (albeit requests blocks in reverse order), it does all the checkpoint and block verification as before. Just much faster!
And because spending funds no longer depends on the sync finishing, the UX on the mobile and desktop apps improves significantly, allowing you to get on using your funds and sending shielded transactions just like you would with transparent addresses.
What’s the catch?
BlazeSync uses more RAM than the vanilla sync. The extra ram used is proportional to the number of blocks that are being synced in one go. It uses about ~0.7kB of RAM per block synced (i.e, 700MB of RAM to sync the entire blockchain).
When can I use it?
You can try out the beta release of our CLI wallet today. Over the next 3 weeks, we’ll work on ironing out the bugs and shipping it inside the desktop and mobile lite client apps.
What’s next?
BlazeSync was a big undertaking, and it cleans up a lot of the legacy infrastructure issues that Zecwallet Lite had, which was slowing down progress on new features. We have a lot more new and exciting features in the pipeline, and we’ll ship several of them in the next couple of months!