Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIP-0109? | Modular Exponentiation Built-in for Plutus Core #641

Merged
merged 17 commits into from
Feb 8, 2024
Merged

CIP-0109? | Modular Exponentiation Built-in for Plutus Core #641

merged 17 commits into from
Feb 8, 2024

Conversation

perturbing
Copy link
Collaborator

@perturbing perturbing commented Dec 18, 2023

Hi

This CIP proposes an extension of the current plutus functions to provide support for the efficient calculation of modular exponentiation with inverses.


Rendered proposal on branch.

@perturbing perturbing changed the title add readme for modular exponentiation CIP CIP-???? | Modular Exponentiation Built-in for Plutus Core Dec 18, 2023
@rphair rphair added the Category: Plutus Proposals belonging to the 'Plutus' category. label Dec 19, 2023
@MicroProofs
Copy link
Contributor

I would say the use cases are both simplifying the usage of the new BLS builtins. Currently you have to pass in the inverses of scalars because calculating them is prohibitively expensive (close to 10% cpu). In the case of a Plonk implementation made by perturbing.

This also allows for signature and pub key aggregation on-chain to be used for other signature schemes like schnorr and ecdsa256k. Currently adding points on those curves is prohibitively expensive since the calculation of adding points requires an inverse calculation.

Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@perturbing thanks for your submission but this isn't fully ready for review unless you add a Path to Active that addresses the items here, and maybe also update the other sections with these particulars:

@rphair rphair changed the title CIP-???? | Modular Exponentiation Built-in for Plutus Core CIP-0109 | Modular Exponentiation Built-in for Plutus Core Jan 10, 2024
@rphair rphair changed the title CIP-0109 | Modular Exponentiation Built-in for Plutus Core CIP-0109? | Modular Exponentiation Built-in for Plutus Core Jan 10, 2024
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@perturbing you're all set for CIP number 109... please rename your CIP directory as well 🎉

Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The feedback on this from Plutus reps has been good, and my own question (from last CIP meeting # 79, repeating #641 (review)), about CIP-0035 compliance, appears addressed by 52baecf and d120768 unless @michaelpj thinks anything is missing from Path to Active.

@perturbing this is coming up for review in today's CIP meeting (https://hackmd.io/@cip-editors/80) and I would say it's good to move to Last Check where the Plutus team & experts can give it further/final confirmation.

Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(meant to include this fix in last review)

@rphair rphair added the State: Last Check Review favourable with disputes resolved; staged for merging. label Jan 23, 2024
rphair and others added 2 commits February 8, 2024 16:44
Editor consensus to resolve current deadlock from CIP meeting 81 in which Rationale was identified to be "thin" but still not being able to get supplementary writing from authors.
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inter- and post- CIP meeting editor's consensus produced ebcd2ec and confirmed f426619 which I've committed to avoid deadlock over formalities of document format & structure. 😇

@rphair rphair requested review from Ryun1 and Crypto2099 February 8, 2024 11:21
Copy link
Collaborator

@Ryun1 Ryun1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@rphair rphair merged commit 089a154 into cardano-foundation:master Feb 8, 2024
Ryun1 added a commit to Ryun1/CIPs that referenced this pull request Feb 20, 2024
…foundation#641)

* add readme for modular exponentiation CIP

* add other authors

* remove unwanted semi-colon

* remove unwanted semi-colon

* add path to active

* add historic note, extra acceptance criteria and formatting

* assign official CIP number 109

* change directory name to match assigned cip number

* delete old CIP-XXXX dir

* pin github links

* add implementors

* formatting

* corrected missing CC license link

* formatting

* Update CIP-0109/README.md

* moved Rationale paragraph to Rationale from Motivation

Editor consensus to resolve current deadlock from CIP meeting 81 in which Rationale was identified to be "thin" but still not being able to get supplementary writing from authors.

* more detail in satisfaction of implementation requirements

Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>

---------

Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
Ryun1 added a commit to Ryun1/CIPs that referenced this pull request Mar 6, 2024
…foundation#641)

* add readme for modular exponentiation CIP

* add other authors

* remove unwanted semi-colon

* remove unwanted semi-colon

* add path to active

* add historic note, extra acceptance criteria and formatting

* assign official CIP number 109

* change directory name to match assigned cip number

* delete old CIP-XXXX dir

* pin github links

* add implementors

* formatting

* corrected missing CC license link

* formatting

* Update CIP-0109/README.md

* moved Rationale paragraph to Rationale from Motivation

Editor consensus to resolve current deadlock from CIP meeting 81 in which Rationale was identified to be "thin" but still not being able to get supplementary writing from authors.

* more detail in satisfaction of implementation requirements

Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>

---------

Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
@rphair rphair removed the State: Last Check Review favourable with disputes resolved; staged for merging. label Sep 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Plutus Proposals belonging to the 'Plutus' category.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants