Motivation
“secp256r1” elliptic curve is a standardized curve by NIST which has the same calculations by different input parameters with “secp256k1” elliptic curve used by the “ecrecover” precompiled contract.
NIST standardized curve: The National Institute of Standards and Technology (NIST) has standardized certain elliptic curves for cryptographic purposes. One such curve is "secp256r1".
similar to “secp256k1”: This indicates that the proposed curve ("secp256r1") is similar in terms of mathematical operations to the curve Ethereum currently uses ("secp256k1"). However, they are different curves and are defined by different parameters.
The cost of combined attacks and the security conditions are almost the same for both curves.
security equivalence: This statement argues that the security profile of both curves is roughly equivalent. This is important as any newly introduced cryptographic primitive must not decrease the security of the system.
Adding a precompiled contract which is similar to “ecrecover” can provide signature verifications using the “secp256r1” elliptic curve in the smart contracts and multi-faceted benefits can occur.
Benefits of the new curve: The proposal suggests that there are numerous advantages to supporting the new curve in Ethereum.
One important factor is that this curve is widely used and supported in many modern devices such as Apple’s Secure Enclave, Webauthn, Android Keychain which proves the user adoption.
widespread support: One of the primary motivations is that "secp256r1" is already implemented and used in many modern devices and standards. Thus, supporting it could improve Ethereum's interoperability with these devices and standards.
Additionally, the introduction of this precompile could enable valuable features in the account abstraction which allows more efficient and flexible management of accounts by transaction signs in mobile devices.
Account abstraction: This is an advanced feature in Ethereum that aims to make the management of accounts more flexible. By supporting "secp256r1", the proposal suggests that account abstraction could be made more efficient, especially on mobile devices.
Most of the modern devices and applications rely on the “secp256r1” elliptic curve. The addition of this precompiled contract enables the verification of device native transaction signing mechanisms.
Device-native signing: Many modern devices have built-in mechanisms for securely signing transactions. By supporting the "secp256r1" curve, Ethereum could tap into these device-native mechanisms.
For example: (Apple’s Secure Enclave, Webauthn, Android Keystore, Passkeys)
Examples: The proposal lists several modern platforms and standards that use the "secp256r1" curve. This further emphasizes the potential benefits of integrating this curve into Ethereum.
Modern devices have these signing mechanisms that are designed to be more secure and they are able to sign transaction data, but none of the current wallets are utilizing these signing mechanisms. So, these secure signing methods can be enabled by the proposed precompiled contract to initiate the transactions natively from the devices and also, can be used for the key management.
Usage in modern wallets: The proposal identifies a gap in current Ethereum wallets: they aren't leveraging the secure signing mechanisms of modern devices. By introducing this precompiled contract, Ethereum could enable these more secure signing mechanisms, leading to improved security and user experience.
This proposal aims to reach maximum security and convenience for the key management.
Overall goal: The main objectives are improving security and making key management more convenient for users.
In summary, the motivation for this proposal is to enhance Ethereum's security and interoperability by adding support for a cryptographic curve that's already widely adopted in modern devices and standards. This could lead to better user experiences, more secure transaction signing, and increased utilization of device-native security features.
Last updated