bn254 host functions #1772
Replies: 5 comments 8 replies
-
|
Elaborating on @tomerweller's original post, the most popular Noir proving backend thus far is UltraHonk Barretenberg (which is BN254-based). Introducing host functions on Stellar would fundamentally improve Noir devs' journeys in building and deploying privacy apps with Stellar. On top of that, there are also many new researches and developments on top of BN254 still (e.g. PSE recently released their Metal MSM v2 research). It's a popular and active elliptic curve, and could likely remain so. |
Beta Was this translation helpful? Give feedback.
-
|
In addition to the points already discussed, these host functions will also enable the possibility of defining algebraic hash functions (e.g., Poseidon2) over BN254. This will enable having the same hashes as other popular implementations, facilitating adoption and interoperability:
|
Beta Was this translation helpful? Give feedback.
-
|
Hi, we are building an UltraHonk (Noir/Barretenberg, BN254) verifier for Soroban.
Minimal host functions we need
Questions
We’re happy to integrate against early/flagged BN254 host functions and provide conformance & performance feedback (with Barretenberg v0.87.0 vectors for G1/G2, pairings, MSM). Repos:
Thanks! |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the feedback! For my own understanding, I wanted to ask how feasible it would be to adapt these applications that use bn254 to bls12-381. What are the challenges? |
Beta Was this translation helpful? Give feedback.
-
|
Are the following host functions sufficient? The EVM has support for addition, scalar multiplication, and the pairing check, which are more than covered here. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Should we introduce host functions to support the bn254 pairing friendly ellipctic curve?
Creating this issue to collect signal and to unpack the required set of host functions.
Currently, Soroban only supports the bls12-381 pairing friendly elliptic curve (prior discussion). Originally we chose bls12-381 over bn254 given its better security properties and adoption/momentum within the zk community. Bls12-381 has indeed gained more adoption (eip2537 is in the Ethereum Pectra upgrade). However, many ZK applications still rely on the bn254 ellptic curve.
Some of these applications include:
Beta Was this translation helpful? Give feedback.
All reactions