Open1

Ethereum, Bitcoin などアドレス生成ロジックに関する比較調査

bati668bati668

アドレス生成には、楕円曲線暗号が用いられている。

楕円暗号曲線の式はこれ

y^2 = x^3 - ax + b

例えば、a = -3, b = 5だと以下のような図になる
alt a = -3, b = 5の時の楕円曲線の図

Bitcoinの場合は、secp256k1という楕円曲線なので、a = 0, b = 7

y^2 = x^3 + 7

Ethereumも同じsecp256k1を使っている。
しかし、
Bitcoinのアドレスはこんな感じで、1HXeUdHCk2FnHf9Q3toqoxQKXngJVZACAL
Ethereumのアドレスはこんな感じ0xe7891281ad2e94950de410b792bcced440ebfc71
なので、同じ楕円曲線のパラメーターだけど、使い方が違う

違いを整理する