(refactor) Update K for KZG params in Halo2 web-worker (#524)

* feat: benchmarking halo2-eth-membership

* feat: adding a benchmark plot

* chore: add changeset

* refactor: ignore benchmark results files

* refactor: rename config extension to .cfg and update README with benchmark

* chore: add changeset

* refactor: change k to be 14 based on the benchmarks

* chore: add changeset

* Delete .changeset/afraid-carrots-exist.md

* refactor: fix conflict

* Delete .changeset/short-cows-shake.md
This commit is contained in:
Iskander
2024-09-18 12:44:38 +02:00
committed by GitHub
parent 02d1afd0f3
commit b8526b2a12
4 changed files with 11 additions and 7 deletions

View File

@@ -0,0 +1,5 @@
---
"@anonklub/halo2-eth-membership-worker": minor
---
Change k to 14 based on the benchmark results for better client-side performance

0
copy Normal file
View File

View File

@@ -27,7 +27,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@anonklub/halo2-eth-membership": "0.1.2",
"@anonklub/halo2-eth-membership": "0.2.0",
"comlink": "^4.4.1",
"viem": "^1.21.4"
}

View File

@@ -5,6 +5,7 @@ import { calculateSigRecovery, fetchKzgParams, hexToLittleEndianBytes } from './
let halo2EthMembershipWasm: IHalo2EthMembershipWasm
let initialized = false
let params: Uint8Array
export const Halo2EthMembershipWorker: IHalo2EthMembershipWorker = {
// eslint-disable-next-line @typescript-eslint/no-misused-promises
@@ -24,6 +25,10 @@ export const Halo2EthMembershipWorker: IHalo2EthMembershipWorker = {
if (!initialized) {
const numThreads = navigator.hardwareConcurrency
await halo2EthMembershipWasm.initThreadPool(numThreads)
// Please note that K = 14 only supported for now until benchmarking is finished
params = await fetchKzgParams(14)
initialized = true
}
},
@@ -37,9 +42,6 @@ export const Halo2EthMembershipWorker: IHalo2EthMembershipWorker = {
const isYOdd = calculateSigRecovery(v)
const msgHash = hashMessage(message, 'bytes')
// Please note that K = 15 only supported for now until benchmarking is finished
const params = await fetchKzgParams(15)
return halo2EthMembershipWasm.prove_membership(
sBytes,
rBytes,
@@ -51,9 +53,6 @@ export const Halo2EthMembershipWorker: IHalo2EthMembershipWorker = {
},
async verifyMembership({ membershipProofSerialized }): Promise<boolean> {
// Please note that K = 15 only supported for now until benchmarking is finished
const params = await fetchKzgParams(15)
return halo2EthMembershipWasm.verify_membership(
membershipProofSerialized,
params,