Zcash Elastic Subnet Bridge on Avalanche

ZavaX is good, simple and original

2 Likes

Hello Community! You’re overdue for an update from us. We are still working on Milestone 3, completion date estimate is soon, July 15. Apart from deliverables, I have spent the bulk of my time recently coalition-building around ZavaX. This is a tricky and time-consuming business, and I hope to have some results to report to you soon.

I’m going to work to do more frequent and shorter updates for the community here. We have a two-week sprint pace, so I will try to keep up with that.

At least two of us who have been working on ZavaX will be attending Z|ECC Summit in San Diego next week. We find these in-person events really helpful as we build. Also, for anyone in the New York City area or Northeast US who would like to meet, please reach out!

Re branding, two notes. One is that Avalanche has rebranded subnet as Avalanche L1. Personally, I like it better overall.

Re ZavaX thanks for your comments above. Based on them, we are sticking with ZavaX for the Zcash-Avalanche bridge. The Avalanche L1 on which it resides will be called red·bridge. This is based on feedback from the Avalanche community. (The red·bridge L1 may contain other bridges in the future.)

We can’t wait to complete Milestone 3 and move onto Milestone 4 in which we begin to put it all together!

15 Likes

Hello,

Today we are providing Deliverable 3.1, “A written analysis posted to the forum of whether or not FROST should replace BLS for threshold signature signing, and if so, a redesign of UML diagrams to reflect this change.” Analysis follows. This will also be our update for this sprint.

In our initial design, we had assumed that we would be using BLS threshold signatures in the ZavaX bridge on red·bridge design because BLS was already being used by Avalanchego, the Avalanche node software, and is also used by Ethereum. FROST was also being considered, as it was first brought to my attention as a viable solution by @nathan-at-least at Zcon4.

Since then, after analysis, we have decided to use FROST threshold signatures instead. We have decided to do so for three reasons:

  1. We had been under the impression that because Avalanche used BLS signatures, it also used threshold BLS signatures. We assumed that audited libraries for threshold BLS signing, and signing group creation and maintenance, would already be available to us in Avalanchego. However, after showing the design to people deeply familiar with the Avalanchego codebase, I was informed that this assumption was incorrect. Avalanchego does support BLS, but it does not support threshold BLS. While it would be possible to implement threshold BLS from another codebase, it may not have been audited, and it would introduce another possible attack vector and complexity. Tight integration with Avalanchego was a major selling point for using threshold BLS, and with this not actually possible, other threshold signing options such as FROST looked more appealing.

  2. The Zcash Foundation has created and supports audited FROST libraries specifically for use with Zcash transactions. In our consideration of FROST, we have found the Zcash-FROST development team from ZF extremely accessible and helpful to us. We are a small team, so having support around us as we build is crucial for the bridge’s success. Also, Zcash-FROST was written to integrate with bridges such as ZavaX. It has everything we need for decentralized signature generation and threshold signing. Also, like BLS, it is scalable for our needs, supporting one thousand signature groups easily.

  3. We are funded by the Zcash community through @ZcashGrants, and as such, it makes sense for us to help strengthen Zcash software. The ZavaX bridge will be one of the first implementations of Zcash-FROST and as such can serve as a reference implementation for other projects. We hope this will help to expand the Zcash-FROST user base.

With the decision made to switch to FROST, we revised the ZavaX Bridge architectural documents, and you can find them here. Much thanks to @pacu (also funded by ZCG) for his invaluable help with these revisions. Also thanks to @conradoplg and @nsheep (on Discord) from ZF!

22 Likes

:100: :people_hugging: :+1:

3 Likes