トランザクションハッシュ(TxHashまたはTxID)とは、ブロックチェーン上のすべての取引に自動的に割り振られる一意の識別子で、英数字の長い文字列として表されます。
この文字列をブロックエクスプローラーと呼ばれる公開サイトに入力すると、取引が成功したかどうかや記録の内容を誰でも確認できます。本記事では、その仕組みと確認手順を初心者向けに解説します。
トランザクションハッシュの基本
トランザクションハッシュは、ブロックチェーンに記録された取引一件ごとに付く「受付番号」のようなものです。取引データをハッシュ関数という計算にかけて生成されるため、同じ文字列が別の取引に割り振られることは事実上ありません。
ここでいうブロックチェーンとは、取引の記録を世界中の多数のコンピューターで共有・検証しながら保管する台帳の仕組みのことです。台帳に書き込まれた各取引には、自動的にトランザクションハッシュが割り振られます。たとえばイーサリアムというブロックチェーンでは、「0x」で始まる合計66文字の英数字(16進数)で表されます。
宅配便の伝票番号で荷物の配達状況を調べられるのと同じように、トランザクションハッシュがわかれば、その取引がいまどのような状態にあるかを後から追跡できます。
ハッシュ関数の仕組みをたとえ話で理解する
ハッシュ関数とは、どんな長さのデータでも、決まった長さの文字列に変換する計算方法です。数式を知らなくても、次のたとえ話でその性質をつかめます。
果物をミキサーにかけてジュースを作る場面を想像してください。同じ果物を同じ分量で入れれば、何度作ってもまったく同じジュースができます。しかし、ぶどうを一粒加えるだけで、色も味も別物のジュースになります。そして、できあがったジュースから元の果物をそのままの形に戻すことはできません。
ハッシュ関数もこれと同じで、次の3つの性質を持っています。
- 同じ入力からは必ず同じ出力が得られる:取引データが同じなら、生成されるハッシュも同じになります。
- 入力がわずかに違うだけで出力は大きく変わる:一文字の違いでも、まったく別の文字列になります。
- 出力から入力を逆算できない:ハッシュだけを見ても、元の取引データを復元することはできません(一方向性と呼ばれます)。
この性質のおかげで、トランザクションハッシュは取引の「指紋」として機能し、記録の特定や改ざんの検知に役立ちます。
ブロックエクスプローラーでの確認手順
トランザクションハッシュは、ブロックエクスプローラーという公開の閲覧サイトで誰でも無料で確認できます。ブロックエクスプローラーとは、ブロックチェーン上の記録を検索・閲覧するためのウェブサイトで、イーサリアム向けのEtherscanなどが代表例です。閲覧するだけならアカウント登録は不要です。
具体的な手順は次のとおりです。
- ハッシュを控える。取引を送信したあと、利用したアプリやブラウザ拡張機能の履歴画面からトランザクションハッシュをコピーします。たとえばメタマスクというブラウザ拡張機能では、履歴の取引詳細からコピーできます。拡張機能へのアクセス方法は「メタマスクにログインする方法」で解説しています。
- ブロックエクスプローラーを開く。取引したブロックチェーンに対応したサイト(イーサリアムならEtherscanなど)をブラウザで開きます。
- 検索欄にハッシュを貼り付ける。ページ上部の検索欄にコピーしたハッシュを貼り付け、検索を実行します。前後に余計な空白が入らないように注意します。
- 詳細ページで内容を確認する。取引の詳細ページが表示されたら、ステータス(成功・保留中・失敗)や日時などを確認します。
相手から送金を受ける場合は、相手にトランザクションハッシュを教えてもらえば、自分の側でも同じ手順で取引の状態を確認できます。
詳細ページに表示される主な項目
ブロックエクスプローラーの取引詳細ページには、取引の状態や内容を示す項目が一覧で表示されます。名称はサイトによって多少異なりますが、主な項目は次の表のとおりです。
| 項目 | 英語表記の例 | 意味 |
|---|---|---|
| トランザクションハッシュ | Transaction Hash / TxID | この取引に固有の識別子。検索に使った文字列そのものです。 |
| ステータス | Status | 取引の状態。成功(Success)、保留中(Pending)、失敗(Failed)などが表示されます。 |
| ブロック番号 | Block | 取引が収められたブロックの番号。ブロックとは取引をまとめて記録する単位です。 |
| 日時 | Timestamp | 取引がブロックに記録された日時です。 |
| 送信元アドレス | From | 取引を送った側のアドレス(英数字の識別子)です。 |
| 送信先アドレス | To | 取引を受け取る側のアドレスです。 |
| 数量 | Value | その取引で送られた数量です。 |
| 手数料 | Transaction Fee | 取引の処理のために支払われた手数料(イーサリアムではガス代とも呼ばれます)です。 |
初心者の方は、まずステータスと送信先アドレスの2つを確認する習慣をつけると、取引が意図したとおりに処理されたかを落ち着いて判断できます。
ハッシュからわかること・わからないこと
トランザクションハッシュからわかるのは、あくまで「ブロックチェーンに記録された取引の事実」だけです。取引した人の氏名などの個人情報はわかりません。
具体的には、次の情報を確認できます。
- 取引が成功したか、保留中か、失敗したか
- 取引が記録された日時とブロック番号
- 送信元と送信先のアドレス、送られた数量、支払われた手数料
一方で、次の情報はハッシュや詳細ページからはわかりません。
- アドレスの持ち主の氏名・住所・連絡先などの個人情報
- 取引が行われた目的や背景
- ハッシュの文字列から元の取引データを復元すること(一方向性のため不可能です)
ただし、アドレスと個人の結び付きが別の情報から明らかになった場合には、そのアドレスの取引履歴をたどられる可能性はあります。ブロックチェーンの記録は完全な匿名ではなく「仮名」に近いもの、と理解しておくのが正確です。
よくある質問
トランザクションハッシュを他人に知られても問題ありませんか?
ハッシュ自体はもともと公開されている情報なので、知られたからといって取引の内容を書き換えられたり、アカウントを操作されたりすることはありません。ただし、ハッシュを共有すると、その取引に関係するアドレスや数量が相手にも見える点は理解しておきましょう。
取引を送信した直後、ハッシュはどこで見つけられますか?
送信に使ったアプリやブラウザ拡張機能の取引履歴(アクティビティ)画面に表示されるのが一般的です。多くのソフトウェアには、詳細画面からハッシュをコピーしたり、対応するブロックエクスプローラーのページを直接開いたりする機能が用意されています。
同じハッシュが別の取引に割り振られることはありますか?
理論上の可能性はゼロではありませんが、現在使われているハッシュ関数では偶然一致する確率は天文学的に小さく、実務上は「取引ごとに固有」と考えて差し支えありません。
ハッシュを検索しても取引が見つからないときはどうすればよいですか?
まず、文字列の一部が欠けていないか、余計な空白が入っていないかを確認してください。次に、検索しているブロックエクスプローラーが、取引したブロックチェーンに対応しているかを確認します。送信直後は反映まで時間がかかる場合もあるため、少し時間を置いてから再度検索するのも有効です。詳しくは各サイトの公式ヘルプを参照してください。
まとめ
トランザクションハッシュは、ブロックチェーン上の取引一件ごとに自動で割り振られる一意の識別子であり、取引を追跡するための「伝票番号」の役割を果たします。ハッシュ関数の一方向性という性質により、記録の特定と改ざんの検知に役立つ一方、ハッシュから個人情報が直接わかることはありません。
取引の確認は、Etherscanのようなブロックエクスプローラーにハッシュを貼り付けるだけで完了します。まずはステータスと送信先アドレスを確認する習慣を身につけることが、ブロックチェーンの記録を自分の目で確かめる第一歩になります。