You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
all comparisons will require two interactions with WCP (48 byte data)
well formedness of coordinates is ok in circuit
48 byte modular arithmetic isn't
understanding logic of EVM for the precompiles
understanding the relevant gnark circuit API's
Existing modules:
HUB precompile processing
OOB for detecting FAILURE_KNOWN_TO_HUB
TRM for updated IS_PRECOMPILE flag
MMIO for lookup to new BLS module
Notes
From an arithmetization perspective, our focus is on:
Understanding the meaning of the inputs and the outputs of each precompile (e.g., what does success = 1 mean?).
What operations need to be delegated to external circuits. We likely can internally check for the correctness of the encoding, the length and if a point is at infinity. Group and subgroup membership need to be delegated to external circuits.
Define the interface to communicate with external circuits.
Input length, specifically whether a small point coordinate belongs to $\mathbb{F}p$ ($< p$) or a large point coordinate belongs to $\mathbb{F}{p^2}$ ($< p^2$).
Point at infinity
Checks performed by external circuits
Let $\mathbb{G}_1$ be $\mathbb{C}_1$ subgroup and $\mathbb{G}_2$ be $\mathbb{C}_2$ subgroup.
EIP-2537: Precompile for BLS12-381 curve operations
Progress
Impact
FAILURE_KNOWN_TO_HUBIS_PRECOMPILEflagNotes
From an arithmetization perspective, our focus is on:
success = 1mean?).Test vectors
Checks performed by the arithmetization
Checks performed by external circuits
Let$\mathbb{G}_1$ be $\mathbb{C}_1$ subgroup and $\mathbb{G}_2$ be $\mathbb{C}_2$ subgroup.
Checks overview