Skip to content

Commit ecaeccd

Browse files
rphairRyun1
andauthoredJan 6, 2024
CIP-0049 | Adjust preamble and structure w.r.t CIP-0001 (cardano-foundation#700)
* first draft remediation of CIP-0049 * proper RFC-822 format name + email address Co-authored-by: Ryan Williams <[email protected]> * proper RFC-822 format name + email address (2 of 3) Co-authored-by: Ryan Williams <[email protected]> * proper RFC-822 format name + email address (3 of 3) Co-authored-by: Ryan Williams <[email protected]> * evidence of Active status as of Valentine HF for SECP --------- Co-authored-by: Ryan Williams <[email protected]>
1 parent d0857df commit ecaeccd

File tree

1 file changed

+27
-20
lines changed

1 file changed

+27
-20
lines changed
 

‎CIP-0049/README.md

+27-20
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
---
22
CIP: 49
33
Title: ECDSA and Schnorr signatures in Plutus Core
4-
Authors: Koz Ross (koz@mlabs.city), Michael Peyton-Jones (michael.peyton-jones@iohk.io), Iñigo Querejeta Azurmendi (querejeta.azurmendi@iohk.io)
5-
Discussions-To: koz@mlabs.city
6-
Status: Proposed
7-
Type: Standards Track
4+
Status: Active
5+
Category: Plutus
6+
Authors:
7+
- Koz Ross <koz@mlabs.city>
8+
- Michael Peyton-Jones <michael.peyton-jones@iohk.io>
9+
- Iñigo Querejeta Azurmendi <querejeta.azurmendi@iohk.io>
10+
Implementors:
11+
- MLabs
12+
Discussions:
13+
- https://github.com/cardano-foundation/CIPs/pull/250
814
Created: 2022-04-27
15+
License: Apache-2.0
916
---
10-
## Simple Summary
11-
12-
Support ECDSA and Schnorr signatures over the SECP256k1 curve in Plutus Core;
13-
specifically, allow validation of such signatures as builtins.
1417

1518
## Abstract
1619

17-
Provides a way of verifying ECDSA and Schnorr signatures over the SECP256k1
18-
curve in Plutus Core, specifically with new builtins. These builtins work over
19-
``BuiltinByteString``s.
20+
Support ECDSA and Schnorr signatures over the SECP256k1 curve in Plutus Core;
21+
specifically, allow validation of such signatures as builtins.
22+
These builtins work over ``BuiltinByteString``s.
2023

21-
## Motivation
24+
## Motivation: why is this CIP necessary?
2225

2326
Signature schemes based on the SECP256k1 curve are common in the blockchain
2427
industry; a notable user of these is Bitcoin. Supporting signature schemes which
@@ -143,7 +146,7 @@ The builtin operations will error with a descriptive message if given inputs
143146
that don't correspond to the constraints above, return `False` if the signature
144147
fails to verify the input given the key, and `True` otherwise.
145148

146-
## Rationale
149+
## Rationale: how does this CIP achieve its goals?
147150

148151
We consider the implementation trustworthy: `secp256k1` is the reference
149152
implementation for both signature schemes, and is already being used in
@@ -171,7 +174,7 @@ It may be possible that some set of primitive can avoid both of these issues
171174
CIP](https://github.com/cardano-foundation/CIPs/pull/220)); in the meantime,
172175
providing direct support for commonly-used schemes such as these is worthwhile.
173176

174-
## Backward Compatibility
177+
### Backward Compatibility
175178

176179
At the Plutus Core level, implementing this proposal induces no
177180
backwards-incompatibility: the proposed new primitives do not break any existing
@@ -182,12 +185,16 @@ On-chain, this requires a hard fork.
182185

183186
## Path to Active
184187

185-
An implementation by MLabs already exists, and has been [merged into
186-
Plutus](https://github.com/input-output-hk/plutus/pull/4368). Tests of the
187-
functionality have also been included, although costing is currently
188-
outstanding, as it cannot be done by MLabs due to limitations in how costing is
189-
calculated. Costing will instead be done by the Plutus Core team.
188+
### Acceptance Criteria
189+
190+
- [x] Include tests of functionality with implementation.
191+
- [x] Satisfaction of CIP-0035 requirements ([Additions to the Plutus Core Builtins](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0035#additions-to-the-plutus-core-builtins)) including costing.
192+
- [x] Inclusion of SECP in Plutus core ([as of Valentine hard fork](https://docs.cardano.org/cardano-testnet/about/secp/)).
193+
194+
### Implementation Plan
195+
196+
- [x] Provide an implementation: by MLabs, [merged into Plutus](https://github.com/input-output-hk/plutus/pull/4368).
190197

191198
## Copyright
192199

193-
This CIP is licensed under Apache-2.0.
200+
This CIP is licensed under [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

0 commit comments

Comments
 (0)
Please sign in to comment.