トランザクション(Tx)とは何ですか?

Avacusをはじめ、多くのWeb3サービスを利用していると「トランザクション(Tx)」という言葉によく出会います。ここでは、トランザクションとは何か、なぜブロックチェーン上で必要になるのかを解説します。

トランザクション(Tx)とは

トランザクション(Transaction、略してTx)とは、ブロックチェーン上で何らかの操作を実行するために送信する、署名付きのデータのことです。「誰が」「何を」「どうするか」(例:送金先、金額、呼び出すコントラクトの関数など)の情報が含まれており、ネットワークに送信され、処理されることでブロックチェーンの状態が変更されます。

トランザクションには、それぞれを識別するための「Transaction Hash(トランザクションハッシュ)」と呼ばれる値があります。Ethereumなどでは「Tx Hash」とも呼ばれ、ブロックエクスプローラーでトランザクションの処理状況や内容を確認する際などに利用できます。 

Transferなどではトランザクションが必要

トークンの送金(Transfer)、DEXでのスワップ、DeFiでの預け入れ・借り入れなど、ブロックチェーン上の資産や状態を実際に変更する操作には、トランザクションが必要です。トランザクションがネットワークで処理され、ブロックに取り込まれることで、資産の残高やコントラクトの状態が変更されます。

ガス代が不要な署名(Sign)

ウォレットの操作画面には、トランザクションの送信以外に「署名(Sign)」だけを求められる場面もあります。どちらもウォレットを使って行う操作ですが、ブロックチェーン上の状態を変更するかどうかという点で異なります。

トランザクションは、ブロックチェーン上の状態を変更する処理を実行するため、通常はネットワーク手数料(ガス代)が発生します。

一方、署名(Sign)のみの操作は、通常のトランザクションとしてブロックチェーンネットワークに送信されるものではなく、ブロックチェーン上の状態も変更しません。そのため、通常はガス代はかかりません。例えば、DAppsへのログイン確認では、ウォレットの秘密鍵を使ってメッセージに署名し、その署名をサービス側で検証することで、「そのウォレットを操作できること」を証明します。

なぜトランザクションはブロックに取り込まれるのか

ブロックチェーンは、一般に特定の管理者だけに依存せず、多数のネットワーク参加者によって運用される仕組みです。送信されたトランザクションは、ネットワーク上のバリデーターなどによって検証され、問題がなければブロックと呼ばれるまとまりに取り込まれます。ブロックがチェーンに追加されることで、トランザクションの処理結果がブロックチェーンに反映されます。

この仕組みによって、二重支払い(同じ資産を2回使おうとする不正)などを防ぎ、ネットワーク上で共有される記録が整合するように保たれています。トランザクションをネットワークに送信した直後は、まだブロックに取り込まれていないため、一般に「Pending(保留中)」などと表示されます。ブロックに取り込まれると、トランザクションの処理結果がブロックチェーンに反映されます。

まとめ

  • トランザクション(Tx)とは、ブロックチェーン上で操作を実行するために送信する、署名付きのデータ
  • 送金やスワップなど、ブロックチェーン上の資産や状態を変更する操作には、トランザクションが必要
  • トランザクションには通常、ネットワーク手数料(ガス代)が発生する。一方、署名(Sign)のみの操作では通常、ガス代はかからない
  • トランザクションはネットワーク上で検証され、ブロックに取り込まれることで処理結果がブロックチェーンに反映される
Tips 一覧へ戻る