Pairing functions new built ins
Closed this issue · 4 comments
What
Pairing functions are cryptographic functions that enable a big number of use cases to be run on main-net. Some examples of these are compact sidechain signatures, zero knowledge proofs or on-chain verification of mithril certificates. More information can be found in CIP-0381. We want to include built-in functions to be able to use such primitives in plutus.
Why
Enable ATMS signatures (which would facilitate projects such as Mamba) and allow for Zero Knowledge Proof verification on chain.
Functional requirements
- Move CIP to accepted
- Implement bindings to blst librrary from supranational
- Implement built-in functions in plutus
- Define acceptance criteria
- Update plutus version
External dependencies
- Plutus Tribe (they need to run benchmarks to determined whether the built-ins can be used in practice)
Risks
Long backlog of plutus core team. Uncertain planning time for new types and costing non-constant functions.
Acceptance Criteria
We have a positive audit accepted by Charles Morgan. Plutus functions are costed and tested.
Definition of Done
Plutus contains the new built-in functions in it.
Working Assumptions
- Hard fork required
Waiting for benchmarks from Plutus teams.
Waiting for benchmarks from Plutus teams.
Hi - is there an estimate on when the benchmark will be completed?
@iquerejeta Can this ticket considered to be done? Or do we need for final Plutus integration and release before closing this ticket?
We can close this. Don't think anyone is using this ticket to track work, and anyways, the BLS work on the case side is finished.