From 1c8885e4ca933e4c1713f139abfb0f6ad4394a66 Mon Sep 17 00:00:00 2001 From: AndrewCLu Date: Mon, 9 Oct 2023 16:53:54 -0400 Subject: [PATCH] add serialization for proofs with tests --- .../circuits/instances/example_input.json | 20 +++++++++ .../circuits/instances/example_proof.json | 28 ++++++++++++ .../circuits/instances/example_public.json | 9 ++++ .../circuits/instances/example_witness.wtns | Bin 0 -> 161100 bytes packages/lib/src/babyJubjub.ts | 25 +++++++++++ packages/lib/src/inputGen.ts | 4 +- packages/lib/src/prove.ts | 4 +- packages/lib/src/utils.ts | 27 ++++++++++- packages/lib/src/verify.ts | 12 +++-- packages/lib/test/babyJubjub.test.ts | 32 +++++++++++++ .../example_pubkey_membership_proof.json | 28 ++++++++++++ .../example_pubkey_membership_public.json | 9 ++++ packages/lib/test/prove.test.ts | 30 +++++++++++++ packages/lib/test/utils.test.ts | 42 ++++++++++++++++++ 14 files changed, 261 insertions(+), 9 deletions(-) create mode 100644 packages/circuits/instances/example_input.json create mode 100644 packages/circuits/instances/example_proof.json create mode 100644 packages/circuits/instances/example_public.json create mode 100644 packages/circuits/instances/example_witness.wtns create mode 100644 packages/lib/test/circuits/example_pubkey_membership_proof.json create mode 100644 packages/lib/test/circuits/example_pubkey_membership_public.json diff --git a/packages/circuits/instances/example_input.json b/packages/circuits/instances/example_input.json new file mode 100644 index 0000000..5c12086 --- /dev/null +++ b/packages/circuits/instances/example_input.json @@ -0,0 +1,20 @@ +{ + "s": "1556192236082850800011477753789706164136184180458744644984084897070345066570", + "root": "1799182282238172949735919814155076722550339245418717182904975644657694908682", + "Tx": "11796026433945242671642728009981778919257130899633207712788256867701213124641", + "Ty": "14123514812924309349601388555201142092835117152213858542018278815110993732603", + "Ux": "0", + "Uy": "1", + "pathIndices": [0, 1, 0, 0, 0, 0, 0, 0], + "siblings": [ + "19588054228312086345868691355666543386017663516009792796758663539234820257351", + "17039564632945388764306088555981902867518200276453168439618972583980589320757", + "7423237065226347324353380772367382631490014989348495481811164164159255474657", + "11286972368698509976183087595462810875513684078608517520839298933882497716792", + "3607627140608796879659380071776844901612302623152076817094415224584923813162", + "19712377064642672829441595136074946683621277828620209496774504837737984048981", + "20775607673010627194014556968476266066927294572720319469184847051418138353016", + "3396914609616007258851405644437304192397291162432396347162513310381425243293" + ], + "nullifierRandomness": "0" +} \ No newline at end of file diff --git a/packages/circuits/instances/example_proof.json b/packages/circuits/instances/example_proof.json new file mode 100644 index 0000000..883927c --- /dev/null +++ b/packages/circuits/instances/example_proof.json @@ -0,0 +1,28 @@ +{ + "pi_a": [ + "5880605639562721042099077587951260330226387809088309339996151506399349325339", + "7096901602761248668503897659955309997393895397922447381528780747125571090245", + "1" + ], + "pi_b": [ + [ + "18576773105084491115543591258364978342831549325867424921401856027434420822064", + "10279670701863395962518281136133097461939970707963724808289856065805928035565" + ], + [ + "4456673949340011695522128695389117223374330783056666386614554999699832656589", + "10775645183456742273212890664091724274969162427612538237794050697901024603323" + ], + [ + "1", + "0" + ] + ], + "pi_c": [ + "15459569549714798131271839827181190193543932132060983652373983789485730666035", + "1428509297855179783720746751267718262192801713365121898583005715695231837332", + "1" + ], + "protocol": "groth16", + "curve": "bn128" +} \ No newline at end of file diff --git a/packages/circuits/instances/example_public.json b/packages/circuits/instances/example_public.json new file mode 100644 index 0000000..1039f3a --- /dev/null +++ b/packages/circuits/instances/example_public.json @@ -0,0 +1,9 @@ +[ + "17825334909698573620993222371821585663772073121519814540615199066752100895281", + "1799182282238172949735919814155076722550339245418717182904975644657694908682", + "11796026433945242671642728009981778919257130899633207712788256867701213124641", + "14123514812924309349601388555201142092835117152213858542018278815110993732603", + "0", + "1", + "0" +] \ No newline at end of file diff --git a/packages/circuits/instances/example_witness.wtns b/packages/circuits/instances/example_witness.wtns new file mode 100644 index 0000000000000000000000000000000000000000..923b7f72c24f039383ef929fddf3fed4b7188e1e GIT binary patch literal 161100 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≪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 literal 0 HcmV?d00001 diff --git a/packages/lib/src/babyJubjub.ts b/packages/lib/src/babyJubjub.ts index 0613001..5a1d8ae 100644 --- a/packages/lib/src/babyJubjub.ts +++ b/packages/lib/src/babyJubjub.ts @@ -3,6 +3,7 @@ import * as hash from "hash.js"; // @ts-ignore import { ZqField } from "ffjavascript"; import { BabyJubJub } from "./types"; +import { bigIntToHex, hexToBigInt } from "./utils"; // Define short Weierstrass parameters const curveOptions = { @@ -106,6 +107,18 @@ export class WeierstrassPoint implements CurvePoint { toString(): string { return `Weierstrass: (${this.x.toString()}, ${this.y.toString()})`; } + + serialize(): string { + return JSON.stringify({ + x: bigIntToHex(this.x), + y: bigIntToHex(this.y), + }); + } + + static deserialize(serialized: string): WeierstrassPoint { + const { x, y } = JSON.parse(serialized); + return new WeierstrassPoint(hexToBigInt(x), hexToBigInt(y)); + } } export class EdwardsPoint implements CurvePoint { @@ -156,4 +169,16 @@ export class EdwardsPoint implements CurvePoint { toString(): string { return `Edwards: (${this.x.toString()}, ${this.y.toString()})`; } + + serialize(): string { + return JSON.stringify({ + x: bigIntToHex(this.x), + y: bigIntToHex(this.y), + }); + } + + static deserialize(serialized: string): EdwardsPoint { + const { x, y } = JSON.parse(serialized); + return new EdwardsPoint(hexToBigInt(x), hexToBigInt(y)); + } } diff --git a/packages/lib/src/inputGen.ts b/packages/lib/src/inputGen.ts index 1bbc8ac..5a7c6bd 100644 --- a/packages/lib/src/inputGen.ts +++ b/packages/lib/src/inputGen.ts @@ -16,7 +16,7 @@ import { hashEdwardsPublicKey, hexToBigInt } from "./utils"; */ export const computeMerkleRoot = async ( pubKeys: EdwardsPoint[], - hashFn: any | undefined = undefined + hashFn: any = undefined ): Promise => { const proof = await generateMerkleProof(pubKeys, 0, hashFn); return proof.root; @@ -33,7 +33,7 @@ export const computeMerkleRoot = async ( export const generateMerkleProof = async ( pubKeys: EdwardsPoint[], index: number, - hashFn: any | undefined = undefined + hashFn: any = undefined ): Promise => { const TREE_DEPTH = 8; // We used a fixed depth merkle tree for now // Precomputed hashes of zero for each layer of the merkle tree diff --git a/packages/lib/src/prove.ts b/packages/lib/src/prove.ts index 4cc5d11..ba81373 100644 --- a/packages/lib/src/prove.ts +++ b/packages/lib/src/prove.ts @@ -28,7 +28,7 @@ export const proveMembership = async ( msgHash: bigint, nullifierRandomness: bigint = BigInt(0), pathToCircuits: string | undefined = undefined, - hashFn: any | undefined = undefined + hashFn: any = undefined ): Promise => { console.time("Membership Proof Generation"); console.time("T and U Generation"); @@ -93,7 +93,7 @@ export const batchProveMembership = async ( msgHashes: bigint[], nullifierRandomness: bigint = BigInt(0), pathToCircuits: string | undefined = undefined, - hashFn: any | undefined = undefined + hashFn: any = undefined ): Promise => { const numProofs = sigs.length; if (numProofs !== indexes.length || numProofs !== msgHashes.length) { diff --git a/packages/lib/src/utils.ts b/packages/lib/src/utils.ts index 19da110..f2043bb 100644 --- a/packages/lib/src/utils.ts +++ b/packages/lib/src/utils.ts @@ -1,5 +1,5 @@ import { EdwardsPoint, WeierstrassPoint } from "./babyJubjub"; -import { Signature } from "./types"; +import { EcdsaMembershipProof, Signature } from "./types"; // @ts-ignore import { buildPoseidonReference } from "circomlibjs"; @@ -49,6 +49,31 @@ export const hashEdwardsPublicKey = async ( return hexToBigInt(poseidon.F.toString(hash, 16)); }; +export const serializeEcdsaMembershipProof = ( + proof: EcdsaMembershipProof +): string => { + const R = proof.R.serialize(); + const msgHash = bigIntToHex(proof.msgHash); + const T = proof.T.serialize(); + const U = proof.U.serialize(); + const zkp = proof.zkp; + + return JSON.stringify({ R, msgHash, T, U, zkp }); +}; + +export const deserializeEcdsaMembershipProof = ( + serializedProof: string +): EcdsaMembershipProof => { + const proof = JSON.parse(serializedProof); + const R = EdwardsPoint.deserialize(proof.R); + const msgHash = hexToBigInt(proof.msgHash); + const T = EdwardsPoint.deserialize(proof.T); + const U = EdwardsPoint.deserialize(proof.U); + const zkp = proof.zkp; + + return { R, msgHash, T, U, zkp }; +}; + export const hexToBigInt = (hex: string): bigint => { return BigInt(`0x${hex}`); }; diff --git a/packages/lib/src/verify.ts b/packages/lib/src/verify.ts index 38784a1..3e65ab3 100644 --- a/packages/lib/src/verify.ts +++ b/packages/lib/src/verify.ts @@ -14,13 +14,15 @@ import { isNode } from "./utils"; * @param pubKeys - The list of public keys comprising the anonymity set for the proof * @param nullifierRandomness - Optional nullifier randomness used to generate unique nullifiers * @param pathToCircuits - The path to the verification key. Only needed for server side verification + * @param hashFn - The hash function to use for the merkle tree. Defaults to Poseidon * @returns - A boolean indicating whether or not the proof is valid */ export const verifyMembership = async ( proof: EcdsaMembershipProof, pubKeys: WeierstrassPoint[], nullifierRandomness: bigint = BigInt(0), - pathToCircuits: string | undefined = undefined + pathToCircuits: string | undefined = undefined, + hashFn: any = undefined ): Promise => { if (isNode() && pathToCircuits === undefined) { throw new Error( @@ -33,7 +35,7 @@ export const verifyMembership = async ( const publicSignals = proof.zkp.publicSignals; const merkleRoot = BigInt(publicSignals[1]); const edwardsPubKeys = pubKeys.map((pubKey) => pubKey.toEdwards()); - const computedMerkleRoot = await computeMerkleRoot(edwardsPubKeys); + const computedMerkleRoot = await computeMerkleRoot(edwardsPubKeys, hashFn); if (computedMerkleRoot !== merkleRoot) { return false; } @@ -86,13 +88,15 @@ export const verifyMembership = async ( * @param pubKeys - The list of public keys comprising the anonymity set for the proof * @param nullifierRandomness - Optional nullifier randomness used to generate unique nullifiers * @param pathToCircuits - The path to the verification key. Only needed for server side verification + * @param hashFn - The hash function to use for the merkle tree. Defaults to Poseidon * @returns - A boolean indicating whether or not all of the proofs are valid */ export const batchVerifyMembership = async ( proofs: EcdsaMembershipProof[], pubKeys: WeierstrassPoint[], nullifierRandomness: bigint = BigInt(0), - pathToCircuits: string | undefined = undefined + pathToCircuits: string | undefined = undefined, + hashFn: any = undefined ): Promise => { if (isNode() && pathToCircuits === undefined) { throw new Error( @@ -103,7 +107,7 @@ export const batchVerifyMembership = async ( console.time("Batch Membership Proof Verification"); console.time("Batch Merkle Root Computation"); const edwardsPubKeys = pubKeys.map((pubKey) => pubKey.toEdwards()); - const computedMerkleRoot = await computeMerkleRoot(edwardsPubKeys); + const computedMerkleRoot = await computeMerkleRoot(edwardsPubKeys, hashFn); console.timeEnd("Batch Merkle Root Computation"); console.time("Fetching Verification Key"); diff --git a/packages/lib/test/babyJubjub.test.ts b/packages/lib/test/babyJubjub.test.ts index 6afe759..86646e5 100644 --- a/packages/lib/test/babyJubjub.test.ts +++ b/packages/lib/test/babyJubjub.test.ts @@ -79,4 +79,36 @@ describe("baby jubjub curve definition", () => { expect(edwardsPoint.toWeierstrass()).toEqual(weierstrassPoint); expect(weierstrassPoint.toEdwards()).toEqual(edwardsPoint); }); + + test("should serialize and deserialize weierstrass points correctly", () => { + const weierstrassPoint = new WeierstrassPoint( + BigInt( + "4561812309240861642917635986636818826442846353062159251237759819544681210360" + ), + BigInt( + "4047434573331865975122957359703219020835673338643881982088616311845542612717" + ) + ); + + const serialized = weierstrassPoint.serialize(); + const deserialized = WeierstrassPoint.deserialize(serialized); + + expect(deserialized).toEqual(weierstrassPoint); + }); + + test("should serialize and deserialize edwards points correctly", () => { + const edwardsPoint = new EdwardsPoint( + BigInt( + "11049791236506940775725016544774320801686704107093911375737399460678915074436" + ), + BigInt( + "14122061015030538160275787174689078850141853547608413074819581224165574773574" + ) + ); + + const serialized = edwardsPoint.serialize(); + const deserialized = EdwardsPoint.deserialize(serialized); + + expect(deserialized).toEqual(edwardsPoint); + }); }); diff --git a/packages/lib/test/circuits/example_pubkey_membership_proof.json b/packages/lib/test/circuits/example_pubkey_membership_proof.json new file mode 100644 index 0000000..cfbe31a --- /dev/null +++ b/packages/lib/test/circuits/example_pubkey_membership_proof.json @@ -0,0 +1,28 @@ +{ + "pi_a": [ + "5880605639562721042099077587951260330226387809088309339996151506399349325339", + "7096901602761248668503897659955309997393895397922447381528780747125571090245", + "1" + ], + "pi_b": [ + [ + "18576773105084491115543591258364978342831549325867424921401856027434420822064", + "10279670701863395962518281136133097461939970707963724808289856065805928035565" + ], + [ + "4456673949340011695522128695389117223374330783056666386614554999699832656589", + "10775645183456742273212890664091724274969162427612538237794050697901024603323" + ], + [ + "1", + "0" + ] + ], + "pi_c": [ + "15459569549714798131271839827181190193543932132060983652373983789485730666035", + "1428509297855179783720746751267718262192801713365121898583005715695231837332", + "1" + ], + "protocol": "groth16", + "curve": "bn128" +} \ No newline at end of file diff --git a/packages/lib/test/circuits/example_pubkey_membership_public.json b/packages/lib/test/circuits/example_pubkey_membership_public.json new file mode 100644 index 0000000..2aa4f24 --- /dev/null +++ b/packages/lib/test/circuits/example_pubkey_membership_public.json @@ -0,0 +1,9 @@ +[ + "17825334909698573620993222371821585663772073121519814540615199066752100895281", + "1799182282238172949735919814155076722550339245418717182904975644657694908682", + "11796026433945242671642728009981778919257130899633207712788256867701213124641", + "14123514812924309349601388555201142092835117152213858542018278815110993732603", + "0", + "1", + "0" +] \ No newline at end of file diff --git a/packages/lib/test/prove.test.ts b/packages/lib/test/prove.test.ts index 0a29072..0bbb235 100644 --- a/packages/lib/test/prove.test.ts +++ b/packages/lib/test/prove.test.ts @@ -1,8 +1,10 @@ +const fs = require("fs"); import { batchProveMembership, proveMembership } from "../src/prove"; import { batchVerifyMembership, getNullifierFromMembershipProof, verifyMembership, + verifyMembershipZKP, } from "../src/verify"; import { derDecode, hexToBigInt, publicKeyFromString } from "../src/utils"; import { WeierstrassPoint } from "../src/babyJubjub"; @@ -213,4 +215,32 @@ describe("ECDSA membership proof generation and verification", () => { expect(recoveredNullifier).toEqual(expectedNullifier); }); }); + + describe("zero knowledge proof generation and verification", () => { + test("should verify a zero knowledge proof generated by snarkjs", async () => { + const vKey = JSON.parse( + fs.readFileSync(pathToCircuits + "pubkey_membership_vkey.json") + ); + const proof = JSON.parse( + fs.readFileSync(pathToCircuits + "example_pubkey_membership_proof.json") + ); + const publicSignals = JSON.parse( + fs.readFileSync( + pathToCircuits + "example_pubkey_membership_public.json" + ) + ); + const zkp = { + proof, + publicSignals, + }; + + const verified = await verifyMembershipZKP(vKey, zkp); + + // @ts-ignore + await globalThis.curve_bn128.terminate(); + console.timeEnd("Batch Membership Proof Verification"); + + expect(verified).toBe(true); + }); + }); }); diff --git a/packages/lib/test/utils.test.ts b/packages/lib/test/utils.test.ts index 76da7be..5a05d29 100644 --- a/packages/lib/test/utils.test.ts +++ b/packages/lib/test/utils.test.ts @@ -4,14 +4,17 @@ import { bytesToBigInt, bytesToHex, derDecode, + deserializeEcdsaMembershipProof, hashEdwardsPublicKey, hexToBigInt, hexToBytes, publicKeyFromString, + serializeEcdsaMembershipProof, } from "../src/utils"; import { EdwardsPoint, WeierstrassPoint } from "../src/babyJubjub"; // @ts-ignore import { buildPoseidonReference } from "circomlibjs"; +import { proveMembership } from "../src/prove"; // All magic expected values are based on a combination of values // derived from a Python implementation of the same functions: @@ -124,6 +127,45 @@ describe("signature and key parsing utilities", () => { ); }); + test("should serialize and deserialize an ECDSA membership proof correctly", async () => { + const pathToCircuits = process.cwd() + "/test/circuits/"; + const pubKeys = [ + "041941f5abe4f903af965d707182b688bd1fa725fd2cbc648fc435feb42a3794593275a2e9b4ad4bc0d2f3ecc8d23e3cf89da889d7aa35ce33f132d87b5bb5c393", + "049ae9f2ec6a4db43f0e081a436f885b0d3f5753a45b00d2f2e3da38956848c4ff0205d89e14a2e36976bfe033407dbce6b48261d84d201277de0c3b82f08ddb09", + "041052d6da0c3d7248e39e08912e2daa53c4e54cd9f2d96e3702fa15e77b199a501cd835bbddcc77134dc59dbbde2aa702183a68c90877906a31536eef972fac36", + "044d9d03f3266f24777ac488f04ec579e1c4bea984398c9b98d99a9e31bc75ef0f13a19471a7297a6f2bf0126ed93d4c55b6e98ec286203e3d761c61922e3a4cda", + ]; + const pubKeyPoints = pubKeys.map(publicKeyFromString); + const nullifierRandomness = BigInt(0); + const msgHash = BigInt("0"); + const sig = { + r: hexToBigInt( + "00EF7145470CEC0B683C629CBA8ED58110000FFE657366F7D5A91F2D149DD8B5" + ), + s: hexToBigInt( + "0370C60A23266F520C56DA088B4C4AFAAAF6BB1993A501980F6D8FB6F343984A" + ), + }; + + const proof = await proveMembership( + sig, + pubKeyPoints, + 2, + msgHash, + nullifierRandomness, + pathToCircuits + ); + + const serializedProof = serializeEcdsaMembershipProof(proof); + const deserializedProof = deserializeEcdsaMembershipProof(serializedProof); + + expect(deserializedProof.R.equals(proof.R)).toBe(true); + expect(deserializedProof.msgHash).toEqual(proof.msgHash); + expect(deserializedProof.T.equals(proof.T)).toBe(true); + expect(deserializedProof.U.equals(proof.U)).toBe(true); + expect(deserializedProof.zkp).toEqual(proof.zkp); + }); + test("poseidon reference is correct 0", async () => { const expected = "115cc0f5e7d690413df64c6b9662e9cf2a3617f2743245519e19607a4417189a";