In July 2023, I discussed the importance of adding P256 elliptic curve support in Ethereum Layer 1 and how ENS DAO played a role in moving the proposal forward. Although it hasn't been included in an EVM hardfork yet, here's a quick update on where things are at:
July 2023: EIP-7212 was introduced to enable secure, cost-effective verification for the secp256r1 (P256) curve.
December 2023: The EIP became a Rollup Improvement Proposal (RIP).
August 2024: Adopted by several rollups and blockchains, including ZKsync Era, OP Mainnet, and Polygon. Development for Arbitrum and Scroll is ongoing.
Challenges: Pectra's complexity, along with limited testing on Ethereum execution level clients, have delayed its inclusion in the next hardfork. Testing is currently being done in Python, but we still need a test writer familiar with the Pytest framework. Additionally, Pectra is such a significant upgrade, inclusive of a record number of EIPs, that Ethereum Core Developers do not have the bandwidth to include this EIP.
Benefits: Enables onchain DNSSEC, WebAuthn, and other 'real world' crypto proofs
While it's now unlikely that this precompile will be included in the Pectra hardfork, finding a Python/Pytest-proficient test writer for Ethereum EL client testing could prove helpful. I'm actively looking for a test writer and want to highlight the potential of P256 for integrating Ethereum with traditional web infrastructure to whet the palate. I'll also provide a brief overview of how this class of ECC originated and its impact on supporting global infrastructure.
I'll speak more on this at Devcon 2024 in Bangkok: "Universal ECCs: Use Cases of the P256 Precompile in Decentralized Internet Infrastructure". If you know any test writers interested in a short-term gig (3-4 months), please reach out!
Understanding the efficiency and widespread adoption of P256 gives us insight into why expanding its support within the Ethereum ecosystem is such a critical, yet challenging endeavor.
The P256 curve, built on the foundational work of Neal Koblitz and Victor Miller on Elliptic Curve Cryptography (ECC) in 1985, offers improved efficiency over RSA by providing equivalent cryptographic security with smaller key sizes. This makes it ideal for resource-constrained environments like mobile devices.
Introduced by the National Institute of Standards and Technology (NIST) in 1999 via the FIPS 186-2 standard, P256 is a pseudorandom curve. Although the seed chosen by NIST for generating the curve parameters has raised concerns about potential backdoors, the curve remains widely used in cryptography today.
P256 powers Elliptic Curve Digital Signature Algorithms (ECDSA), crucial for securing TLS/SSL web traffic, SSH, IoT device authentication, DNSSEC, and WebAuthn. Every time you browse securely or use passwordless login, P256 and ECDSA are working behind the scenes.
My original post was in response to Nick.eth's call for a team to develop a precompile for P256 support in Ethereum L1. The aim was to enhance Ethereum's utility by extending the EVM's limited cryptographic capabilities. Currently, Ethereum's cryptographic support is somewhat constrained, restricting it to its own ecosystem and hindering integration with broader web standards.
Without native P256 support, Ethereum cannot easily interface with systems that rely on WebAuthn, which uses ECDSA with P256 for passwordless authentication. Another limitation is Ethereum's inability to fully support certain IoT devices or secure government communications, where P256 is the cryptographic standard for lightweight and efficient security protocols. This restricts Ethereum's potential to break into industries that heavily rely on these standards.
While many support its integration into the EVM, some argue against it due to the curve being less efficient than the Koblitz curve secp256k1, which is more commonly used in DeFi ecosystems. Secp256k1 is favored for its higher performance and security, particularly in environments where transactions require a high level of trust and security. However, this does not rule out the use of P256 in specific use cases. For example, it could enable users to sign into WebAuthn supported platforms with their ENS, creating portable, verifiable digital identities compatible with enterprise-level authentication frameworks and other existing web infrastructure.
Imagine this: your website as your verified identity, seamlessly integrated with everyday financial and logistical services, such as bill payments, credit card transactions, and secure messaging. Your identity becomes portable, secure, and recognized across platforms. By leveraging Ethereum's P256 precompile with DNSSEC and WebAuthn, this vision becomes tangible. Imagine logging into your email or any other WebAuthn-supported platform using your ENS—creating a seamless, unified experience. These technologies ensure secure authentication, making interactions more seamless and decentralized.
Now, consider using your ENS as a universal identity—one that connects vendors, customers, and institutions alike. Today, our identities are fragmented. We juggle multiple profiles on different platforms, each demanding separate logins, permissions, and data trails.
In his essay Multitudes of Self, Nick Susi introduces the concept of "Profilicity," where we tailor different identities based on external perceptions. This, however, leads to what he calls "digiphrenia"—the mental strain of managing multiple online selves, a condition that creates stress, increases cortisol levels, and diminishes our sense of agency.
So how do we regain control? The answer lies in identity unification. By implementing P256 on Ethereum, we engender an opportunity to create a secure, unified digital identity framework. This would allow each individual to consolidate their digital presence into one verified source, reducing the mental fatigue of managing numerous profiles and putting sovereignty back into our hands.
Susi challenges us to ask, "How can we put more choice and control over our identity back into our hands—more sovereignty, more autonomy?" The solution is simple: reclaim our sovereignty by embracing a unified identity system. The execution, however, involves a little more than a mere upgrade. It demands profound societal change. We are inextricably connected with the internet infrastructures we use daily, and shifting from fragmented identities to a unified, Ethereum-based model will renew our agency in both our digital and personal lives.
With Pectra being split into two separate parts, I believe it's still possible to achieve the vision for identity unification before the end of next year—or at the very least, open the door for it. Significant progress has already been made by the team behind the P256 implementation. However, their bandwidth is limited as they focus on their business, built on the RIP-7212 specification. This is why it's crucial to find a test writer proficient in Python and Pytest, with a strong understanding of Ethereum's Execution Layer and EVM, to implement Ethereum spec tests and fixtures for RIP-7212 in preparation for the upcoming Pectra hardfork.
By integrating traditional web infrastructure and pushing the boundaries of Ethereum's capabilities, we not only improve its scalability but also bring the technology closer to fulfilling its promise of a secure, unified, decentralized internet. Finding a proficient test writer is crucial for this effort. This work is pivotal for the broader community, as it will enable Ethereum to connect seamlessly with existing web standards and open doors to mass adoption through unified digital identities.
Rushkoff, D. (2013). Present shock: When everything happens now. Current.
Follows, T. (n.d.). Identity century: On the future of business [Presentation]. Canva. https://www.canva.com/design/DAFrapqZWbo/view#32
Susi, N. (2024). Multitudes of self. Substack. https://substack.com/home/post/p-148120740