Understanding Ethereum Elliptic Curve Cryptography (ECC)
Elliptic curve cryptography (ECC) is a type of public key cryptography that uses the properties of an elliptic curve to secure online transactions. In this article, we will take a closer look at the details of Bitcoin ECC and compare it to Ethereum’s curve.
Bitcoin Elliptic Curve
Bitcoin’s ECC implementation is based on the secp256k1 curve (also known as ElGamal). This curve was chosen for its simplicity and efficiency. Here is an illustration of what a secp256k1 curve might look like:
E(2)
/ \
C(0) ~
\ /
G
In this diagram, E is the point at infinity on the curve (a special “zero” point), C is the private key (secret number), and G is the public key (digital signature). The equation for the curve is “y^2 = x^3 + px + q”, where “(x, y)” are the points on the curve.
Ethereum Elliptic Curve
Ethereum, like Bitcoin, also uses secp256k1 to implement ECC. However, the Ethereum curve has a slightly different formula:
E(2)
/ \
C(0) ~
\ /
G
The main difference is that the private key is not explicitly specified in the C diagram. Instead, it appears as “C = (k x^3 + py)^-1″, where “(x, y)” are the points on the curve and “k” is a constant.
Comparison with the Bitcoin curve
Although both secp256k1 curves share similar features, there are some differences between them:
- Private key order: In Ethereum, the private key C appears in a specific order if specified as [C, G], while in Bitcoin it only specifies G.
- Constant k
: The constant “k” used to calculate the public key in Ethereum is different from the value used in Bitcoin.
- Point Representation: In the Ethereum chart, points on the curve are represented by “E(2)”, while in the Bitcoin chart it is simply “G”.
Conclusion
Finally, both Bitcoin and Ethereum use secp256k1 ECC to implement elliptic curve cryptography. Although these curves have similar properties, there are some differences in their construction and representation. Understanding these differences can provide deeper insight into the mathematics underlying cryptographic systems.
Additional Resources
More information on ECC and its applications:
- The Ethereum White Paper (2014) provides an overview of the Ethereum ECC implementation.
- The Bitcoin Green Paper (2009) provides a description of the Bitcoin ECC algorithm.
- Research from prominent contributors such as Vitalik Buterin and Gavin Wood offers in-depth analysis and insight into the mathematics behind ECC.