halo2-verifier.move
halo2-verifier.move copied to clipboard
todo list of make the verifier production usable on aptos
Although we had verified the correctness of the verifier. Still many problems to be resolved to make it usable on aptos mainnet.
- [ ] aptos limit on elments mem usage during a session. see #47
- [ ] the problem of different serialization of bn254 curve point between halo2 and arkworks.
- [ ] to solve the problem above, we have to calculate Y based on X which needs a sqrt function on base field. That's missing on atpos. we implemented it with a
pow(u256)
, https://github.com/zkmove/halo2-verifier.move/blob/ac00bde56f0608031cdb19867706ea79406c5943/sources/bn254_utils.move#L55 which has very low efficiency. - [ ] currently, we implement pow function with pure move, https://github.com/zkmove/halo2-verifier.move/blob/ac00bde56f0608031cdb19867706ea79406c5943/sources/bn254_utils.move#L64 which can consume many gas when the power is big. should be optimized.
- [ ] currently, we cannot store a crypto element in state. Had to store them in serialized form. It's inconvenient for developers.