Как написать ограничения для схемы zk-SNARK
Нужна помощь в определении ограничений для схемы zk-SNARK Всем привет!
Я разрабатываю SDK zk rollup, и мне нужна помощь в определении ограничений для схемы. В настоящее время у меня нет доступа к эксперту по криптографии, и я ищу ресурсы или членов сообщества, которые могут мне помочь.
Я использую библиотеку circomlib и имею общее представление о zk-SNARK, но я не уверен, как определить ограничения для схемы. Мои входные данные включают следующее:
- родительский хэш
- sha3Дядя
- шахтер
- stateRoot
- транзакцииКорень
- квитанцииКорень
- бревнаБлум
- трудность
- общая сложность
- размер
- число
- газлимит
- газиспользованный
- отметка времени
- дополнительные данные
- миксхэш
- одноразовый номер
- хэш
- транзакции[]
- uncles[] Если у кого-то есть опыт определения ограничений для цепей zk-SNARK и он может поделиться некоторыми рекомендациями или ресурсами, я был бы очень признателен. Заранее спасибо за вашу помощь!
С уважением, Шреян.
Я пытался сослаться на схемы других сборок, которые используют circom для своих схем, например, Fluidex, но я не могу понять, как они написали такую сложную схему и что именно происходит внутри схем. мне нужно создать схему с этими входами, а затем сгенерировать доказательство, а затем проверить его для нашего проекта свертки SDK.