# Abstract

> This proposal creates a precompiled contract that allows signature verifications in the “secp256r1” elliptic curve by given parameters of message hash, r - s components of the signature, and x - y coordinates of the public key.

1. **precompiled contract:** In Ethereum, certain computational-heavy operations are implemented as "precompiled contracts". These are special contracts that are not actually stored on the blockchain as EVM bytecode. Instead, they're hardcoded into Ethereum clients and are given a specific address. When called, their logic is executed directly by the Ethereum client, allowing for more optimized execution. This is because doing these operations in native EVM bytecode would be prohibitively expensive in terms of gas.
2. **signature verifications in the “secp256r1” elliptic curve:** The core functionality this proposal wants to add is the ability to verify signatures that were created using the "secp256r1" elliptic curve. This is a different curve from Ethereum's standard "secp256k1". The proposal suggests that there's a need for this other curve in Ethereum, which is not natively supported as of now.
3. **given parameters of message hash, r - s components of the signature, and x - y coordinates of the public key:** This describes the inputs that this new precompiled contract will expect. When you want to verify a signature:
   * You need the original **message hash** (the data that was signed).
   * The **r and s components** of the signature. These are values that come out of the elliptic curve digital signature algorithm (ECDSA) when you sign a message.
   * The **x and y coordinates** of the public key. These points represent the public key on the elliptic curve.

> So that, any EVM chain -principally Ethereum rollups- will be able to integrate this precompiled contract easily.

4. **any EVM chain:** This precompiled contract isn't just for the main Ethereum chain. Any chain or system that uses the Ethereum Virtual Machine (EVM) could benefit from this precompiled contract.
5. **principally Ethereum rollups:** Rollups are layer-2 scaling solutions that increase the throughput of Ethereum by rolling up many transactions off-chain into a single transaction on-chain. The mention here indicates that rollups might have a particular interest in using the "secp256r1" curve, perhaps for interoperability reasons with other systems or specific use cases that require this curve.

In essence, this EIP wants to add a new feature to Ethereum (and Ethereum-compatible systems) that makes it easy to verify signatures from the "secp256r1" elliptic curve, which is not natively supported in Ethereum right now.
