ZF Engineering Update: 2024 Sprint 24 (November 19th - December 2nd)

Hi everyone,

This is the Zcash Foundation’s Engineering update for Sprint 24 (November 19th - December 2nd.)

NU6 was successfully activated on the Zcash network during this sprint and ZF engineers monitored its activation on the network alongside ECC and other ecosystem engineers. We are happy to report that activation was successful on Zebra and it uncovered some strange behaviour whereby Zebra will return a txid when a transaction is sent even though it has not yet been validated (and would fail validation if it were.) Since NU6 activation, we have also updated Zebra’s initial minimum protocol version to NU6.

On zcashd deprecation, we have completed some of the work required to make the getblock RPC more closely match its zcashd counterpart.

We have also made some updates to our release process to ensure that it is more robust and in particular that we do not tag releases that won’t be publishable on crates.io.

Finally, we have been working on some improvements to zebra’s mempool, including an optimization to speed up verification of transactions in blocks that have already been verified in zebra’s mempool as well as ensuring that a verification result is returned by zebra after attempting to insert transactions in its mempool.

On the FROST reference implementation, the team have been working on a number of small fixes and improvements, including fixing a panic when hashing inputs (which could happen with negligible probability). We also fixed no_std support for the taproot ciphersuite and we now ensure that we do not allow a zero scalar in identifiers.

On the FROST for Zcash demo, we have been working on making it ready for use and integration by wallet developers by the end of the year. To that effect we are making some final improvements to the demo to make it production ready, including adding private key authentication and consequently removing username and password authentication, we are also adding session time-outs and improving error handling on the frost-server.

On DevOps, we have been focusing on restoring and fixing Mergify after changes to their configuration file format. We have also been investigating and number of CI failures and working with the rest of the engineering team to ensure that all tests are passing in our CI.

Thank you for reading!

10 Likes

Thanks for the updates! Looking forward to block size, chainSupply, and valuePools next :heart_eyes:

2 Likes

Hi, can you share your toCurl.sh?

1 Like

You can find the code in the dev folder here. Please note that toCurl.sh is for educational/development use and is not intended for production. Have fun :student:

1 Like