地址生成的原理
以太坊生成地址的方式跟比特币比较类似,也是 私钥 -> 公钥 -> 地址,以太坊只是在公钥 -> 地址做了简化。 以太坊使用Secp256k1椭圆曲线得到私钥、公钥,比特币使用的也是相同的椭圆曲线算法。 得到公钥后,对公钥做Keccak-256哈希运算,然后取最后的40位16进制字符,得到的就是以太坊地址。
疑问
- 同一个私钥,生成的以太坊地址和比特币地址是否相同?
既然以太坊使用Secp256k1椭圆曲线得到私钥、公钥,比特币使用的也是相同的椭圆曲线算法。
那我们就用 Bitcoin地址是如何生成的得到的公钥 04d061e9c5891f579fd548cfd22ff29f5c642714cc7e7a9215f0071ef5a5723f691757b28e31be71f09f24673eed52348e58d53bcfd26f4d96ec6bf1489eab429d
,生成一个以太坊地址。 这个公钥是通过openSSL得到的未压缩公钥,以太坊不需要使用这种类型的公钥,只要把首位的04
去掉即可。
- 椭圆曲线算法如何保证巨量生成的私钥和公钥不与之前生成的重复?
- 椭圆曲线算法一共能生成多少个私钥对?
- 为什么根据公钥推出私钥非常难?