Created on 13th February 2025
•
Proof of Med solves the issue of fraudulent medical prescriptions in online pharmacy transactions. Currently, verifying prescriptions is challenging due to:
How Proof of Med Makes It Safer & Easier:
🚀 Privacy-Preserving Verification – Uses Zero-Knowledge Proofs (ZKPs) to prove a prescription’s authenticity without revealing patient details.
🔒 Decentralized & Tamper-Proof – Stores verification results on Arbitrum Sepolia, ensuring immutability.
⚡ Seamless for Pharmacies – Pharmacies only receive verified prescriptions, reducing fraud risks.
🤖 Automated Proof Verification – Utilizes zkVerify to confirm proof validity before allowing medication purchase.
🔗 Efficient & Scalable – Proofs are generated using Sindri, ensuring fast and cost-effective verification.
By eliminating fake prescriptions and ensuring secure, trustless verification, Proof of Med makes online pharmacy transactions safer, faster, and more reliable.
1️⃣ Locally Generating Ultraplonk Proofs
Initially, I faced issues while generating Ultraplonk proofs locally using Noir. The key challenges were:
Ensuring the circuit compiled correctly without version mismatches.
Formatting public inputs and proof data correctly for verification.
✅ Solution:
Debugged the Noir circuit thoroughly.
Ensured the correct Noir compiler version was used.
Generated proofs locally and structured them properly for verification.
2️⃣ Errors While Sending Proofs to zkVerify
The generated proof data wasn't directly compatible with zkVerify, leading to errors.
zkVerify required proof and public inputs in a specific format.
The attestation process needed proper structuring.
✅ Solution:
Converted Noir-generated proofs into zkVerify-compatible format using noir-cli proof-data.
Ensured proofs were correctly hashed and attested before submission.
Successfully verified proofs on-chain, allowing users to buy medicine securely.
Final Takeaway :
🔹 Noir Ultraplonk was successfully used for local proof generation.
🔹 Proper formatting & debugging helped integrate zkVerify smoothly.
🔹 Minimal on-chain logic ensured seamless prescription verification!
Tracks Applied (2)
Arbitrum
Technologies used