LoginSignup
1
0

More than 1 year has passed since last update.

【16億連の】Ethereumで秘密鍵ガチャ【自己満足】

Last updated at Posted at 2023-04-01

はじめに

EthereScan」とかで不思議なアドレスを見たことはありませんか?

たとえば「OpenSea」の販売スマコンのアドレスは「0x00000000000001ad428e4906ae43d8f9852d0dd6」です。
頭から「0」の文字がずらりと13文字並んでいて、中の人たちの無駄なこだわりを感じることができます。

「物好きな開発者もいるもんだなぁ」

などと呆れつつ、こういった遊び心をちょっと羨ましくも思いました。
なので、Ethereumの秘密鍵をガチャガチャするプログラムを作って、かっこいいアドレスが出るまでひたすら回してみました。

プログラム

下記のリポジトリへあげてあります。
https://github.com/hakumai-iida/PrivateKeyGacha

Ethereumアドレスは秘密鍵から一意に決定されます。
秘密鍵はランダムで生成されますが「いくらでも好きなだけ」作成することができます。

このプログラムは「指定された回数」「秘密鍵を生成」して「アドレスに指定の文字列があるか判定」するとてもシンプルなものです。
環境は「Visual Studio 2022」、ライブラリとしては「Nethereum」を使っています。

回してみた

動作確認として、先頭が「BEEF」、末尾が「FACE」となるアドレスを探すことにしました。
Ethereumのアドレスは40桁の16進数なので、1文字がマッチする確率は「16分の1」となります。

今回テストで探す文字数は8文字なので「16の8乗分の1」=「約42億分の1」の確率でお目当てのアドレスを引ける計算になります。

また、プログラムの指定では「大文字小文字の区別」が可能です。
が、8文字の英数字の場合、42億分の1の確率に「2の8乗=256分の1」が上乗せされて「1兆分の1」を下回る狭き門となるので、今回は大文字小文字を「区別せず」としました。

で、プログラムを走らせて放置すること10日以上。
ss5
1,620,276,399連目で当たりました!

1%のガチャに換算すると38連目あたりで引いたことになります。
これは大勝利の部類では!?

自己満足

早速、OpenSeaのプロフィールに設定してみました。
https://opensea.io/ja/BEEF-FaCE

スクリーンショット 2023-04-01 16.41.12.png
OpenSeaは Ethereumアドレスの先頭4文字+末尾4文字で短縮するのでなかなかイカした感じになりました!

おわりに

通常は味気のない Ethereumアドレスですが、ちょっとした工夫で大きな自己満足を得ることができました。
マシンパワーと忍耐力に自信がある人は 10桁以上の文字数に挑戦してみるのはいかがでしょうか?

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0