Zaino, The Zallet Release

Hey Zcashers! We’ve extensively rearchitected zaino in order to fulfill the requirements of this grant.

We are concurrently rewriting two layers of abstraction, and extending the test framework.

Testing

In order to prove correctness in real-world stress scenarios with extensive reorgs, as might be expected in some attacks, we built a test framework which has detected multiple bugs that will be fixed prior to release.

Modification of ChainIndex Sync

The ChainIndex Sync algorithm incorrectly synced non-finalized state. This is corrected here.

Complete Deprecation of Local Cache, Zainod now uses ChainIndex

Previously Zainod used data structure that was:

  1. only suitable for use after the Sapling Epoch
  2. vulnerable to a state corruption bug
  3. unable to account for non-best chain blocks

These issues are fixed by the deprecation of local_cache in favor of the ChainIndex.

It’s been a bumpy ride, but we’re closing in on major bugfixes that will finally allow us to start leveraging the upsides of zaino!

7 Likes