Vanitygen
Vanitygen 'は、コマンドラインのバニティビットコインアドレスジェネレータです。
通常のBitcoinクライアントで生成されたランダムな、潜在的なアドレスに疲れている場合は、vanitygenを使用してよりパーソナライズされたアドレスを作成できます。 1stDownqyMHHqnDPRSfiZ5GXJ8Gk9dbjOにビットコインを送るように人々に指示するときは、ユニークな感覚を付け加えてください。 あるいは、vanitygenを使用して、オフラインでランダムなアドレスを生成することもできます。
Vanitygenは入力としてパターンまたはパターンのリストを検索し、アドレスと秘密鍵のリストを生成します。 Vanitygenの検索は確率的であり、与えられたパターンを見つけるために必要な時間は、パターンの複雑さ、コンピュータの速度、そしてあなたが幸運になるかどうかによって決まります。
下の例は、vanitygenのセッションを示しています。 x86-64 LinuxでCore 2 Duo E6600 CPUを使用するのが一般的で、終了には約10秒かかります。 <syntaxhighlight lang = "bash"> $ ./vanitygen 1Boat 難易度:4476342 パターン:1Boat アドレス:1BoatSLRHtKNngkdXEeobR76b53LETtpyT 特権:5J4XJRyLVgzbXEgh8VNi4qovLzxRftzMd8a18KkdXv4EqAwX3tS </ syntaxhighlight>
Vanitygenには、CPU(vanitygen)とOpenCL互換GPU(oclvanitygen)でアドレス検索を実行するためのコンポーネントが含まれています。どちらもソースからビルドでき、両方ともWindowsバイナリパッケージに含まれています。バニティ・アドレス・マイニング・クライアントoclvanityminerも含まれています。 Oclvanityminerは ThePiachu Vanity Poolなどのサイトで自動的に賞金を請求するために使用できます。
最新バージョン:0.22
Windows x86 + x64バイナリ[1]。 PGP署名[2]。
GitHubからソースを入手してください。 LinuxおよびMac OS X用のMakefileが含まれています。
主な議論はBitCoinTalk
最新のソースは、ハイエンドAMDカード(7XXX以上)では正しく動作しません。解決策は、oclengine.cの459行を以下から変更することです。return quirks; 〜を返す:&VG_OCL_AMD_BFI_INT; この問題を解決し、圧縮されたキーhereをサポートするWindows x86 + x64バイナリ。 PGP署名[3]。バイナリに問題がある場合は、関連するBitCoinTalkディスカッションに参加してください。
期待されるキーサーチ速度[編集]
ハードウェアXではどのような主要な検索速度が期待できますか?
'Keysearch Rates'
CPU | GPU | キー/秒 | コメント |
---|---|---|---|
コアi5 750 @ 2.67 GHz | nVidia GTS 250 | 1.54 Mkey / s | CPU 110%[4] |
Core2 Duo 6600 | nVidia GTX 285 | 3.5 Mkey / s | 100%CPU / 90%GPU [5] |
セムプロン140 | AMD 5830 | 5.5 Mkey / s | 100%CPU / 60%GPU [6] |
AMD Radeon r7 240 | 4 Mkey / s | [7] | |
コアi7 | AMD 6500M | 4.5 Mkey / s | 98%GPU |
nVidia GeForce GTX 680M | 14-16 Mkey / s | [8] | |
nVidia GeForce GTX 970 | 38 Mkey / s | [9] | |
コアi7-4702MQ 2.2GHz | 1.09 Mkey / s | ||
コアi7-4702MQ 2.2GHz | GeForce GT750M | 5.38 Mkey / s | |
AMD Radeon r9 280x | 25-35 Mkey / s | ||
サファイアのRadeon HD 7970 | 28Mkey / s | [10] | |
AMD Radeon HD 5870 | 30 Mkey / s | [11] | |
Asus Strix GTX 970 | 40Mkey / s | [12] | |
nVidia GeForce GTX 780 Ti(3GB 384-bit GDDR5) | 50-60 Mkey / s | [13] | |
コアi5-2500K @ 3.30GHz | AMD RX 480 | 57-64 Mkey / s | AMDのパッチ[14] |
vanitygenは多くの大規模整数演算を実行するため、64ビットモードで実行すると、キー検索速度に大きな違いがあり、32ビットモードよりも50%向上します。 64ビット版のWindowsを使用していて、GPUを使用していない場合は、必ずvanitygen64.exeを使用してください。
Radeon 58XXはRadeon 69XXに比べて非常に快適です。 Oclvanitygenは整数倍のスループットに敏感で、Radeon 58XXは他の操作と同時に掛けることができます。同様の時計で、握手されたRadeon 5830はRadeon 6970を上回ります。
カスタムビルドでは、OpenSSLライブラリが古いバージョン(<1.0.0d)であるか、適切な最適化を有効にしてビルドされていないと、CPUのパフォーマンスが期待よりも低くなります。
虚栄心を見つけることの難しさ[編集]
バニティアドレスを見つけるのが難しいのは、その正確な構造(文字と数字の先頭)と、そのような出力にどの程度の確率のアルゴリズムが含まれているかによって異なります。
虚栄心 | 困難 | コメント |
---|---|---|
1AAAAA | 259,627,881 | |
1QLbz6 | 259,627,881 | この虚栄心はアルファベット順になり、RIPEMD160ハッシュ値0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF(アドレス:1QLbz7JHiBTspS962RLKV8GndWFwi5j6Qr) |
1QLbz7JHiBTspS962RLKV8GndWE | 2.9597E + 45 | |
1QLbz7 | 837,596,142 | この虚栄心は部分的にピボットと困難の後に増加します |
1QLbz7JHiBTspS962RLKV8GndWG | 1.6489E + 47 | メジャーなピボットの後、 'E'の虚栄心の59倍の難度。 |
1QLbz8 | 837,596,142 | |
1aaaaa | 15,318,045,009 | さまざまなピボットの後、その後はより困難です。 |
1zzzzz | 15,318,045,009 | |
111111 | 1,099,511,627,776 | 特別な場合、先行する数字1(1)は特に困難です。 |
アドレスを攻撃しようとするvanitygenの使用[編集]
vanitygenを使用すると、特定のアドレスの秘密鍵を見つけることができると思われるかもしれません。実際には、これは不可能と考えられている。難易度が指数関数的に上がるにつれて、あなたの虚栄心が長くなるほど、その虚栄心を見つけるために必要な平均時間も長くなります。下の表の例は、ますます複雑な虚栄心が、毎秒100万の鍵を見渡すことができるマシンの完全なアドレスではなく、その虚栄心だけを見つけるのに必要な難易度と平均時間にどのように影響するかを示しています。
虚栄心 | 困難 | 平均時間 |
---|---|---|
1B | 22 | <1秒 |
1Bi | 1,330 | <1秒 |
1Bit | 77,178 | <1秒 |
1Bitc | 4,476,342(4.48E + 6) | <10秒 |
1Bitco | 259,627,881(2.6E + 8) | 3分 |
1Bitcoi | 15,058,417,127(1.506E + 10) | 3時間 |
1Bitcoin | 8.7339E + 11 | 1週間 |
1BitcoinE | 5.0657E + 13 | 1年 |
1BitcoinEa | 2.9381E + 15 | 60年 |
1BitcoinEat | 1.7041E + 17 | 3,500年 |
1BitcoinEate | 9.8837E + 18 | 20万年 |
1BitcoinEater | 5.7325E + 20 | 1170万年 |
1BitcoinEaterAddressDontSend | 1.6209E + 47 | 3.3E + 33または3.3年間。 |
あなたのバニティのアドレス生成をアウトソーシングする[編集]
バニティ住所を計算する最も安全な方法は、常にあなた自身で計算することです。 より大きなパターンの場合、これを計算するのに十分なリソースや時間がないかもしれません。 この場合、バニティアドレス生成をBitcoin Vanity Generation Websiteに委託することができます。 この場合、常に細心の注意を払わなければならず、完全な秘密鍵を第三者に信用しないようにする必要があります。 このバニティアドレスの生成をアウトソーシングする方法は、[15]を使用することで最も安全な方法です。