Skip to content

Commit 92b6f20

Browse files
authored
CIP-0381 | Adjust preamble and structure w.r.t CIP-0001 (cardano-foundation#719)
* first draft remediation of CIP-0381 * messed up Markdown link syntax * spelled NA instead of standard N/A * added @kwxm as implementor CIP-0381
1 parent bf84c22 commit 92b6f20

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

CIP-0381/README.md

+22-9
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
11
---
22
CIP: 0381
33
Title: Plutus support for Pairings over BLS12-381
4-
Authors: Iñigo Querejeta-Azurmendi <[email protected]>
5-
Discussions-To: https://github.com/cardano-foundation/CIPs/pull/220
6-
Comments-URI: https://github.com/cardano-foundation/CIPs/pull/220
7-
Category: Plutus
84
Status: Proposed
9-
Type: Standards Track
5+
Category: Plutus
6+
Authors:
7+
- Iñigo Querejeta-Azurmendi <[email protected]>
8+
Implementors:
9+
- Kenneth MacKenzie <[email protected]>
10+
Discussions:
11+
- https://github.com/cardano-foundation/CIPs/pull/220
12+
- https://github.com/cardano-foundation/CIPs/pull/506
1013
Created: 2022-02-11
1114
License: Apache-2.0
1215
---
1316

14-
1517
## Abstract
1618
This CIP proposes an extension of the current plutus functions to provide support for basic operations over BLS12-381
1719
curve to the plutus language. We expose a candidate implementation, and describe clearly the benefits that this
1820
would bring. In a nutshell, pairing friendly curves will enable a large number of cryptographic primitives that will
1921
be essential for the scalability of Cardano.
2022

21-
## Motivation
23+
## Motivation: why is this CIP necessary?
2224
Pairing Friendly Curves are a type of curves that provide the functionality of computing pairings. A pairing is a
2325
binary function that maps two points from two groups to a third element in a third target group. For a more in-depth
2426
introduction to pairings, we recommend reading [Pairings for Beginners](https://www.craigcostello.com.au/tutorials) or
@@ -395,7 +397,7 @@ x is negative = true
395397
```
396398
One should note that base field modulus is equal to 3 mod 4 that allows an efficient square root extraction.
397399

398-
### Rationale
400+
### Rationale: how does this CIP achieve its goals?
399401
The reason for choosing the BLS12-381 over the BN256 curve is that the former is claimed to provide 128 bits of security,
400402
while the latter was reduced to 100 bits of security after the extended number field sieve (a new algorithm to compute
401403
the discrete logarithm) was [shown to reduce the security](https://eprint.iacr.org/2016/1102.pdf) of these curves.
@@ -487,4 +489,15 @@ Groth16 (~23% of the execution budget required for a proof verification) were co
487489
IOG internal. PR open for Plutus bindings https://github.com/input-output-hk/plutus/pull/5231
488490

489491
## Path to Active
490-
Release in upcoming update.
492+
493+
### Acceptance Criteria
494+
495+
- [ ] Confirmation from IOG Plutus Team that this curve support is included in a scheduled Plutus release.
496+
497+
### Implementation Plan
498+
499+
- [ ] Confirmation from IOG Plutus Team that [CIP-0035 Processes](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0035#processes) for changes to Plutus have been satisfied.
500+
501+
## Copyright
502+
503+
This CIP is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

0 commit comments

Comments
 (0)