POPKORN

You need to login in order to like this zkApp. Click Here

POPKORN

You need to login in order to like this zkApp. Click Here

The implementation of cryptographic primitives on o1js enhances the capabilities available to users for building complex circuits on Mina. Challenges Overcome Developing cryptographic functionalities posed several challenges which were effectively addressed during the development process: BLS: Initially, integrating the BLS12-381 elliptic curve proved challenging due to limitations in o1js’s elliptic curve API, which supported a maximum prime field size of 256 bits. After extensive research and valuable guidance from ZKHack mentors, the team successfully pivoted to the AltBN128 elliptic curve, compatible with o1js, ensuring seamless integration for the BLS signature scheme. Additionally, extending the elliptic curve over field extensions, not initially supported by o1js, prompted the team to embark on custom implementations. Although time constraints prevented full implementation, the experience provided deep insights into abstract mathematics and its practical translation into code, contributing significantly to the team’s expertise in o1js. Shamir Secret Sharing: Implementing Shamir Secret Sharing presented challenges related to adhering to library constraints and determining the optimal storage of values on-chain versus off-chain. Generating valid proofs for each share generation process, while ensuring easy verification, required meticulous decision-making and implementation. Overall, these challenges were pivotal learning opportunities, reinforcing proficiency in o1js and refining strategies for translating complex cryptographic concepts into functional code. This project was awarded with a prize by the Mina Foundation at zkHack - Krakow View the code on GitHub