2024-01-18
ยท 2 min read
- The need for zk-enabling encryption curves like BLS12-381. Github thread.
- Use cases that ecosystem is interestd in:
- Excellar, i.e. folks that kicked off this conversation by submitting a PR for BLS12-381, wants to add a DAO-controlled oracle where the elliptical curve provides the ability to add new DAO voters
- Zkbricks wants to build an L2 system for that enables secret state for arbitrary smart contracts
- Skyhitz wants to use stellar for efficient compute, cost, and scalability while using zk to prove ownership of high-value assets on another chain
- Use case enumeration continues in the discord thread.
- Considerations for host function implementation
- Core devs questioned whether BLS12-381 was the right curve and also highlighted the need to determine the correct level of abstraction given there is a tradeoff between flexibility and efficiency. Lower level of abstraction will enable more flexibility but result in more hot loops in the wasm while a higher level of abstraction will be highly efficient but will restrict generality.
- ZkBricks thought that there is a need to directly expose pairings and group operations without any level of abstraction. The space is in active development and flexibility is needed to try out new approaches and proof systems. From the point of view of crypto agility, it would be good to expose a generic interface that supports a variety of curves in the backend.
- Path Forward
- Core devs mentioned crypto curves can be experimented locally by linking rust crates, which it turns out, had failed in the past. This will be explored and fixed.
- ZkBricks and others will prototype locally and provide feedback.
- What are the best practices for managing transactions in the frontend, with respect to transaction ordering.
- Core devs confirmed that ordering is intentionally arbitrary.
- Request for an API for current version of the environment/sdk
- Github issue filed for the RPC to return versions of the current node.