What Is a Transaction Hash?
トランザクションハッシュ(TXハッシュ、TXIDとも呼ばれます)とは、ブロックチェーン上の取引1件ごとに自動的に割り当てられる固有のIDです。銀行振込でいう「受付番号」に近い役割を持ち、この文字列をブロックエクスプローラーに入力すると、送金の状況や内容を誰でも確認できます。
本記事では、ハッシュという技術の性質、トランザクションハッシュの読み方、実際の確認手順、そして混同しやすい用語との違いを、架空の例を使いながら整理します。
この記事の要点
- トランザクションハッシュは、取引1件ごとに発行される世界に1つのID
- 正体は、ハッシュ関数が取引データから計算した固定長の文字列
- ブロックエクスプローラーに入力すれば、状態・金額・手数料を確認できる
- ブロックハッシュやウォレットアドレスとは役割が異なる
トランザクションハッシュとは何ですか?
トランザクションハッシュは、取引データ全体を要約した「指紋」のような文字列で、同じものが2つと存在しない前提で設計されています。
Ethereum系のネットワークでは、トランザクションハッシュは0xで始まる合計66文字(0x+16進数64文字)で表されます。形のイメージをつかむために、説明用の架空の例を挙げます。
0x7c9a1f4e2b8d5c03a6e9f1b2473d8e05c1a4f6b9d2e7038c5b1f4a6d9e2c7508
先頭の0xは「これは16進数表記である」ことを示す接頭辞で、続く64文字が32バイト分のハッシュ値の本体です。この文字列そのものに金額や宛先が書かれているわけではなく、あくまで取引を一意に指し示す「名札」として機能します。
ハッシュ値はどのように作られますか?
ハッシュ値は「ハッシュ関数」という計算によって生成されます。入力がわずかに変わるだけで出力が大きく変わる性質が、改ざんの検知に役立っています。
ハッシュ関数は、どんな長さのデータを入力しても、決まった長さの文字列を返す計算手順です。同じ入力からは必ず同じ出力が得られる一方で、出力から入力を逆算することは事実上できません。取引の確認に関係する主な性質を表にまとめます。
| 性質 | 意味 | 取引確認との関係 |
|---|---|---|
| 一方向性 | 出力から入力を逆算できない | ハッシュから取引内容を捏造できない |
| 固定長 | 入力の長さによらず出力の長さは一定 | どの取引もIDの形式が揃う |
| 雪崩効果 | 入力が1文字違うだけで出力が大きく変わる | 改ざんがあれば別のハッシュになり、すぐ分かる |
| 衝突耐性 | 同じ出力になる別の入力を見つけるのが極めて困難 | IDの重複を事実上防ぐ |
使われる関数はネットワークによって異なり、Ethereum系ではKeccak-256、BitcoinではSHA-256が代表的です。関数の名前は違っても、「データの指紋を作る」という役割は共通しています。
トランザクションハッシュで何が確認できますか?
ハッシュをブロックエクスプローラーで検索すると、取引の成否から手数料まで、その取引に関する公開情報が一覧で表示されます。
| 項目 | 内容 |
|---|---|
| Status | 取引が成功(Success)・処理待ち(Pending)・失敗(Failed)のどれか |
| Block | 取引が取り込まれたブロックの番号 |
| From/To | 送信元・送信先のウォレットアドレス |
| Value | 送られた数量・金額 |
| Transaction Fee | 支払われた手数料(ガス代) |
| Timestamp | ブロックに記録された日時 |
項目名の表記はエクスプローラーごとに多少異なりますが、見るべきポイントはほぼ共通です。最初に確認するのはStatusで、ここがSuccessになっていれば、その取引はブロックチェーン上で確定しています。
トランザクションハッシュはどこで確認できますか?
確認の流れは「ハッシュを控える」「エクスプローラーに貼り付ける」の2段階だけです。具体的には次の4ステップで進めます。
- ハッシュを控えるウォレットの取引履歴や送金完了画面に表示される文字列をコピーします。たとえばMetaMaskでは、履歴の各取引の詳細から確認できます。履歴画面を開くまでの流れは「How to Log In to MetaMask(メタマスク)?」で解説しています。
- エクスプローラーを開く利用しているネットワークに対応したブロックエクスプローラー(Ethereumであれば広く使われているEtherscanなど)にアクセスします。
- 検索欄に貼り付けるコピーしたハッシュを検索欄に貼り付けて検索すると、取引の詳細ページが表示されます。
- Statusを確認するSuccess/Pending/Failedの別と、ブロック番号や手数料を確認します。これで取引の確認は完了です。
混同しやすい用語との違いは何ですか?
「ハッシュ」と名の付く用語や長い英数字の文字列は複数あります。指している対象がそれぞれ違うため、例えで整理しておきましょう。
| 用語 | 指すもの | 例えるなら |
|---|---|---|
| トランザクションハッシュ | 取引1件のID | 振込の受付番号 |
| ブロックハッシュ | 取引をまとめた「ブロック」のID | 帳簿のページ番号 |
| ウォレットアドレス | 資産の送り先・受け取り口 | 口座番号 |
DeFiでトークンを交換した場合も、最後に確認するのは結局このトランザクションハッシュです。取引が生まれる側の仕組みは「How Does DeFi Work?」で整理しています。
よくある質問
同じトランザクションハッシュが2回発行されることはありますか?
ハッシュ関数の衝突耐性により、同一のハッシュが別の取引に割り当てられることは事実上想定されていません。だからこそ、ハッシュは取引の一意なIDとして使えます。
ハッシュを他人に知られても問題ありませんか?
ブロックチェーン上の取引はもともと公開情報のため、ハッシュ自体は秘密情報ではありません。ただし、自分のアドレスとあわせて公開すると、保有状況や取引のつながりが推測されやすくなる点は知っておくとよいでしょう。
取引がずっとPendingのままの場合はどう考えればよいですか?
ネットワークの混雑や手数料の設定が原因で、確定までに時間がかかることがあります。多くの場合は時間の経過とともに処理されます。挙動の詳細は、利用しているウォレットやネットワークの公式情報をご確認ください。
まとめ
トランザクションハッシュは、ハッシュ関数が取引データから計算した、世界に1つだけの取引IDです。ウォレットで控えてブロックエクスプローラーに貼り付けるだけで、StatusがSuccessかどうか、いくらの手数料でいつ確定したのかを自分の目で確認できます。「送ったはずの取引がどうなったか」を人に聞かずに確かめられること。それが、この66文字を読めるようになる一番の価値です。