ビットコインウォレット残高スキャナー
「スキャナー開始」ボタンを押すとスキャンを開始します。残高が存在するアドレスのみダウンロードファイルに保存されます...
賢明に利用し、違法行為は行わないでください。
Bitcoin Balance Checkerとは?
Hex Rangeから4種類のBitcoinアドレスを確認する仕組み
Start Range HexとEnd Range Hexを指定し、 その範囲内の秘密鍵候補からBitcoinアドレスを生成。 Legacy、Compressed、Nested SegWit、Native SegWitの4種類を確認しながら、 Blockchain APIで残高情報を取得するタイプのBitcoin分析ツールについて解説します。
1つの秘密鍵候補から複数のBitcoinアドレス形式を生成し、 それぞれの残高をBlockchain APIへ問い合わせます。 指定された範囲を順番に処理し、残高が確認された場合は 自動的に検索を停止(Auto Stop)する設計です。
1.Bitcoin Balance Checkerとは?
Bitcoin Balance Checkerは、Bitcoinのアドレスに関連する ブロックチェーン上の残高情報を確認するための分析ツールです。
Blockchain.comはBitcoinアドレスの残高や取引履歴などを取得できる Blockchain Data APIを提供しており、単一アドレスだけでなく複数アドレスをまとめて照会するAPIも用意されています。
このタイプのツールでは、そのAPIを利用して生成されたBitcoinアドレスに 「現在Bitcoin残高が存在するか」を確認します。
2.基本的な仕組み
ユーザーがStart Range HexとEnd Range Hexを入力すると、 ツールはその範囲内の数値を順番に処理します。
範囲の開始値
候補値を生成
4形式を生成
残高を確認
Auto Stop
この処理を繰り返すことで、指定されたHex範囲について Bitcoinアドレスのオンチェーン残高をチェックします。
3.Start Range Hex / End Range Hexとは?
Bitcoinの秘密鍵は256-bitの数値として扱うことができます。 ツールでは、この数値を16進数(Hexadecimal)として指定します。
Start Range Hex
検索を開始するHex値です。 指定した値から候補の処理が始まります。
End Range Hex
検索を終了するHex値です。 この値まで候補が処理されます。
4.1つの候補から4種類のBitcoinアドレス
このタイプのBalance Checkerでは、1つの秘密鍵候補から 複数の公開鍵・スクリプト形式を利用してアドレスを生成します。
Bitcoin Coreのドキュメントでも、P2PKH、P2SH、P2WPKHなどは 異なるBitcoin script/address形式として定義されています。
| 種類 | 一般的な形式 | 特徴 |
|---|---|---|
| Uncompressed | Legacy / P2PKH 通常「1」で始まる |
非圧縮公開鍵から生成されるLegacy系アドレス。 |
| Compressed | Legacy / P2PKH 通常「1」で始まる |
圧縮公開鍵を使用したLegacy P2PKHアドレス。 |
| Nested SegWit | P2SH-P2WPKH 通常「3」で始まる |
SegWitをP2SH形式の中に組み込んだ形式。 |
| Native SegWit | P2WPKH / Bech32 通常「bc1q」で始まる |
SegWitをネイティブに利用するBech32形式。 |
Legacy P2PKHは「1」で始まるアドレス、 P2SHは「3」で始まるアドレス、 Native SegWitは「bc1q」で始まる形式として一般的に識別できます。 BitcoinのSegWitアドレス形式はBIP-173で定義されています。
5.なぜ4種類のアドレスをチェックするのか?
Bitcoinでは、同じ秘密鍵から異なる公開鍵形式やScript形式を利用することで、 異なるBitcoinアドレスを生成できます。
そのため、ある秘密鍵候補についてLegacy形式だけを確認すると、 別のアドレス形式に存在する残高を見落とす可能性があります。
つまり、4種類を確認することで、 1つの候補に対して複数の一般的なBitcoinアドレス形式を 横断的に確認できる構造になります。
6.Blockchain APIによる残高確認
アドレスを生成しただけでは、そのアドレスにBitcoinが存在するかどうかは分かりません。 そこでBlockchain APIへアドレスを送信し、ブロックチェーン上の残高情報を取得します。
Blockchain.comのAPIには、単一Bitcoinアドレスを照会する方法と、 複数アドレスをまとめて照会する方法があります。 Balance APIでは、各アドレスについて final_balance、total_received、n_txなどの情報を取得できます。
そのため、Balance Checkerはローカルで生成したアドレス候補と、 実際のBitcoinブロックチェーン上の公開データを組み合わせて動作します。
7.残高が見つかったらAuto Stop
このサービスの重要な機能の一つが Auto Stopです。
通常の範囲検索では、StartからEndまで処理を続ける必要があります。 しかし、チェック対象のアドレスにBitcoin残高が確認された場合、 それ以降の検索を続ける必要がないケースがあります。
APIから残高が確認されると、 ツールは現在の検索処理を停止し、 検出されたBitcoinアドレスと残高情報を結果として表示します。
8.結果画面で確認できる情報
Balance Checkerの結果画面では、単純に「Found / Not Found」だけではなく、 どの形式のBitcoinアドレスで残高が確認されたのかを表示する設計が考えられます。
Hex Candidate
検出された候補となるHex値。
Bitcoin Address
残高が確認されたBitcoinアドレス。
Balance
Blockchain APIから取得した現在の残高。
Auto Stop
残高検出後に検索が停止したことを示すステータス。
9.このサービスで重要な「検索範囲」
Start RangeとEnd Rangeの選択は、このツールの処理量に大きく影響します。
例えば非常に小さな範囲であれば短時間で終了しますが、 範囲が大きくなるほど候補数が増え、 APIへの問い合わせ回数も増加する可能性があります。
Hexは16進数なので、1桁増えるだけでも表現できる数値の範囲は大きく変化します。 そのため、StartとEndを入力する際には、 「何個の候補を処理することになるのか」を理解することが重要です。
10.APIを使用するメリット
最新のオンチェーン情報
ローカルにBitcoinフルノードを構築しなくても、公開APIを利用してアドレス情報を確認できます。
シンプルな構成
アドレス生成処理とBlockchain APIを組み合わせることで、比較的シンプルなWebツールとして構築できます。
JSONデータ
APIから返されるJSONデータを利用して、残高や取引件数などを画面に表示できます。
Auto Stop
条件を満たした時点で処理を終了できるため、不要なAPIリクエストを抑える設計が可能です。
11.Bitcoin Addressの4つの形式
Bitcoinアドレスには複数の形式が存在します。 代表的な4形式を理解しておくと、Balance Checkerの仕組みも分かりやすくなります。
| 形式 | Prefix | Script / Encoding | 特徴 |
|---|---|---|---|
| Legacy Uncompressed | 1... | P2PKH | 非圧縮公開鍵を利用。 |
| Legacy Compressed | 1... | P2PKH | 圧縮公開鍵を利用。 |
| Nested SegWit | 3... | P2SH-P2WPKH | SegWitをP2SHにラップ。 |
| Native SegWit | bc1q... | P2WPKH / Bech32 | SegWitを直接利用。 |
Bitcoinの公式仕様では、P2PKH、P2SH、P2WPKHなどが異なるscriptタイプとして定義されており、 Bech32はNative SegWitアドレスに使用されます。
12.セキュリティとプライバシー
Bitcoinの秘密鍵は資金を管理するための重要な認証情報です。 Webサービスを利用する場合でも、秘密鍵そのものを外部サーバーへ送信する設計には十分注意する必要があります。
理想的には、秘密鍵候補からアドレスを生成する処理はローカル側で実行し、 APIへ送信するのは公開されたBitcoinアドレスだけに限定する設計が望まれます。
13.API Rate Limitにも注意
大量の候補を高速で処理する場合、Blockchain APIへのリクエスト数が急増します。 そのため、実際のWebサービスではAPIのRate Limit、 HTTPエラー、Timeout、Network Errorなどを適切に処理する必要があります。
Rate Limit
短時間に大量のAPIリクエストを送信すると制限される可能性があります。
Retry
一時的な通信エラーに対して適切な再試行処理を実装できます。
Request Control
リクエスト速度を制御することで、不要なAPI負荷を抑えられます。
Auto Stop
残高検出時に即座に処理を終了することで、後続リクエストを防止できます。
14.このサービスの処理フロー
このような構造にすることで、 「Hex Range → Address Generation → API Check → Auto Stop」 という一連の処理を視覚的にも理解しやすくなります。
15.よくある質問
対応する公開鍵形式とBitcoin scriptを使用すれば、 同じ秘密鍵候補からLegacy、Nested SegWit、Native SegWitなど複数のアドレス形式を導出できます。 ただし、各形式の導出にはそれぞれ異なるscript/addressルールがあります。
Auto Stop機能を実装している場合、残高が確認された時点で検索処理を停止し、 検出された候補とアドレス、残高などを結果として表示します。
API方式では、自分でBitcoin Coreのフルノードを運用しなくても、 API提供者から取得できる公開ブロックチェーンデータを利用できます。 Blockchain.comはBitcoinのアドレス、トランザクション、残高などを取得するAPIを提供しています。
いいえ。 検索範囲を広げることはチェック対象を増やすだけであり、 特定のBitcoinアドレスに資金が存在することを保証するものではありません。
いいえ。 残高確認に必要なのは公開Bitcoinアドレスです。 Private Keyを外部APIへ送信する必要はありません。
まとめ
Bitcoin Balance Checkerは、 Hex Rangeを指定し、その範囲内の候補からBitcoinアドレスを生成して、 Blockchain APIを利用してオンチェーン残高を確認するタイプの分析ツールです。
1つの候補に対して Uncompressed Legacy、Compressed Legacy、Nested SegWit、Native SegWit の4種類を確認することで、異なるBitcoinアドレス形式を横断してチェックできます。
そして最大の特徴が、 残高が確認された場合に自動的に検索を停止するAuto Stop機能です。 これにより、条件を満たした後も不要な候補を処理し続けることを防げます。
一方で、大量のAPIリクエストを扱う場合には、 Rate Limit、通信エラー、API利用条件、サーバー負荷などにも注意が必要です。 また、Private Keyは極めて重要な秘密情報であるため、 アドレス確認のためにPrivate Keyそのものを外部サービスへ送信しない設計が重要です。
※ 本記事はBitcoinのアドレス形式、公開ブロックチェーンデータ、 APIを利用した残高確認システムの技術的な仕組みを説明するための資料です。 Blockchain APIの仕様、利用制限、提供条件は変更される場合があります。