IntersectMBO/cardano-base

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?

lehins commented

@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.