# Verify eddsa signatures on zk-snarks with Zokrates

**URL:** https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867
**Category:** Research and Development
**Tags:** zkrollups
**Created:** [November 30, 2022, 9:39pm UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867 "2022-11-30T21:39:03Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![alv-around](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/alv-around/32/1751_2.png) [@alv-around](https://forum.tezosagora.org/u/alv-around)
#### Post date: [November 30, 2022, 9:39pm UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/1 "2022-11-30T21:39:03Z")

</div>

In order to perform zkrollups of transactions, the zk-SNARKs has to be able to verify the validity of offline transactions.

Zokrates is a toolbox to generate zk-SNARKs on ethereum, however it has been proofed that it can be also used to generate zk-SNARKs on tezos:

- [ZoKraTez: How to play Zero Knowledge Proofs using ZoKrates and Tezos - DaiLambda, Inc.](https://www.dailambda.jp/blog/2021-02-21-zokratez/)
- [niki\_blu / Bachelorarbeit · GitLab](https://git.tu-berlin.de/niki_blu/bachelorarbeit)

The only issue preventing Zokrates to be able to create zk-rollups on Tezos, is the fact, that Zokrates stdlib only support signature verification using the `baby jubjub` curve which is based on the `bn128` used by ethereum. Adding support for the `jubjub` curve (suggested by Zcash and based on the `bls12_381`) in the zokrates stdlib ([ZoKrates/zokrates\_stdlib/stdlib/ecc at develop · Zokrates/ZoKrates · GitHub](https://github.com/Zokrates/ZoKrates/tree/develop/zokrates_stdlib/stdlib/ecc)) would solve the problem

---

<div class="post-metadata">

### Author: ![Britcoin](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/britcoin/32/1645_2.png) [@Britcoin](https://forum.tezosagora.org/u/Britcoin)
#### Post date: [December 3, 2022, 2:18am UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/2 "2022-12-03T02:18:47Z")

</div>

Very interesting read, thank you for sharing!

---

<div class="post-metadata">

### Author: ![jdsika](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/jdsika/32/252_2.png) [@jdsika](https://forum.tezosagora.org/u/jdsika)
#### Post date: [January 30, 2023, 2:26pm UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/3 "2023-01-30T14:26:00Z")

</div>

Is the tz4 curve scheduled for the Mumbai protocol upgrade the right one?

[https://tezos.gitlab.io/protocols/016\_mumbai.html#cryptography](https://tezos.gitlab.io/protocols/016_mumbai.html#cryptography)

---

<div class="post-metadata">

### Author: ![RonSwanson](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/ronswanson/32/1717_2.png) [@RonSwanson](https://forum.tezosagora.org/u/RonSwanson)
#### Post date: [January 31, 2023, 1:01am UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/4 "2023-01-31T01:01:21Z")

</div>

@murbard answer in slack: _The answer is yes, it’s the right one but no it’s not the one used by Ethereum and Zokrates._

---

<div class="post-metadata">

### Author: ![jdsika](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/jdsika/32/252_2.png) [@jdsika](https://forum.tezosagora.org/u/jdsika)
#### Post date: [January 31, 2023, 6:05am UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/5 "2023-01-31T06:05:14Z")

</div>

What makes the particular choice for the implementation behind tz4 superior and desirable e.g. for zokrates to adapt to this one?

---

<div class="post-metadata">

### Author: ![RonSwanson](https://forum.tezosagora.org/user_avatar/forum.tezosagora.org/ronswanson/32/1717_2.png) [@RonSwanson](https://forum.tezosagora.org/u/RonSwanson)
#### Post date: [February 4, 2023, 1:35am UTC](https://forum.tezosagora.org/t/verify-eddsa-signatures-on-zk-snarks-with-zokrates/4867/6 "2023-02-04T01:35:33Z")

</div>

I dont know, I forwarded your previous question to slack and got the answer. Probably good to follow up there. Although getting it in the forum would be good to preserve it for everyone.
