Puzzle 1

16th January

19:00 UTC

Built by:


Nullify me once, shame on you. Nullify me twice, shame on me.

View the solution

Puzzle Preparation

To give you a better chance of solving this puzzle, we suggest that you look through some relevant background materials.

See puzzle details on Github

Puzzle link

Puzzle Hints

1. See lemma 5.4.7 in the Zcash specs for Bob's reasoning on why to only use the x coordinate when storing the public keys

2. Note that the MNT curves are represented in Weierstrass from in the circuit, and use the fact that both (x,y) and (x,-y) are valid points for spending

3. Make sure you negate the y coordinate in the right scalar field, being the base field of MNT4

Puzzle Winners

gold 01


Puzzle completed



silver 02


Puzzle completed



bronze 03


Puzzle completed



You can see all of the scores for this puzzle in the spreadsheet here.

Puzzle Solutions and Write-ups

The winner of the puzzle write-up was submitted by niooss-ledger. You can view the solution and puzzle write-up here. The background material required to solve the puzzle is also covered in the write up.
There were many interesting write-up submissions which are linked below:
* Winning write-up by niooss-ledger
* Write-up by tjsharp1
* Write-up by sylvainpelissier
* Write-up by TrapdoorHeader
* Write-up by yannickseurin
* Write-up by rishotics
* Write-up by timgestson
* Write-up by 10to4
* Write-up by thor314
* Write-up by ndkoo
* Write-up by huy-tn
* Write-up by brozorec
* Write-up by dorebell
* Write-up by kkstar0