トランザクションは誰かに改ざんされないのか|ブロックチェーンの基礎
前回はトランザクションに記載する内容を説明しました。簡単に言うと「今自分が持っているビットコインのトランザクションの内容を基にして、送り先と金額を書いたデータを作る」ということでした。トランザクションのデータは自分のコンピュータで作成し、インターネット上の他のコンピュータに広く送信します。
具体的には多数のビットコインのマイニングサーバに送付するのですが、その間、多数のコンピュータがトランザクションを中継します。誰かがトランザクションを書き換えたりしないのでしょうか。
参考記事:ビットコインのトランザクションに記録されているデータ|ブロックチェーンの基礎
送金トランザクション作成と送信の流れ
今自分が持っているビットコインの金額が分かるトランザクションはインターネット上の誰でも見ることができるブロックチェーンの中に記録されています。送金したい人はまずブロックチェーンに記録されている自分のトランザクションを探します(図1①)。
そのトランザクションを基に前回解説した形式の送金トランザクションを作成します。(図1②)。
完成したトランザクションをビットコインのネットワークに送信します。具体的には自分のパソコンから複数のサーバにトランザクションを送信し、受け取ったサーバがまた複数の別のサーバにトランザクションを送信するというリレー形式で中継します(図1③)。これにより自分のトランザクションがビットコインのネットワーク全体にブロードキャストされることになります。
最初にトランザクションを転送するときには自分のパソコンから数台のサーバに対してデータ送信することになるのですが、このトランザクションは改ざんされる可能性がないのでしょうか。中継サーバの誰かが受信したトランザクションの送金先アドレスやおつりの送金先アドレスを別人のアドレスにしておけば、ビットコインを盗むトランザクションができるのではないでしょうか。
そんなことができないように、トランザクションの記載内容は電子署名によって保護することになっています。
【図1】
電子署名によるトランザクションの保護
ビットコインのトランザクションでは送金元、送金先、金額などすべてが公開情報になっています。なぜなら今までに説明してきたように、中央の絶対的な権限を持つ管理者を置かない民主的な分散管理をすることが目的だからです。一方では完全に情報が公開されているので誰かが他人に成りすましてビットコインを盗む危険性もあります。なりすましによって本来の持ち主以外の他人が送金トランザクションを作成することを防止する技術が電子署名です。
トランザクションの内部には送金元アドレスの「公開鍵」が記載されています。また、トランザクションに記載されている全データをカバーする範囲の「電子署名」が記載されています。電子署名とはデータの指紋に相当するハッシュ値を暗号化して記録したデータのことで、暗号化を実行した人の「公開鍵」を用いて復号化してハッシュ値を見ることができます。
もし中継サーバの管理者が送金先アドレスを改ざんして自分宛てにビットコインを送ろうとすると、トランザクションに記載されている送金先アドレスを変更しなければなりません。そうすると、ハッシュ値が変わってしまうので電子署名の計算もやり直してトランザクションに記載しなければなりません。
ところが、電子署名を計算するためには公開鍵に対応する「秘密鍵」が無ければなりません。公開鍵は文字通り公開されているのでだれでも分かりますが、秘密鍵は本人しか知らないので改ざんしようとしても電子署名を作ることができません。結果としてトランザクションの改ざんはできなくなっているのです。
【図2】
トランザクションを受け付けたインターネット上のマイニングサーバは、そのトランザクションの公開鍵で解読したハッシュ値と、マイナー自身が別途計算するハッシュ値を比較して、同じならトランザクションが改ざんされていないものと判断し、ブロックチェーンへの登録作業を進めます。
トランザクションの作成とビットコインネットワークへの送信は複雑な処理であることが分かったと思います。実はこの計算は「ウォレット」(wallet:財布)と呼ばれるアプリケーションソフトが実行してくれるので、送金する人は特に気にする必要はありません。
さて、電子署名がトランザクションの改ざん防止に重要な役目をはたしていることが分かりました。次回からは電子署名に関連して暗号技術について考えてみましょう。
Provided by
上野 仁(Hitoshi Ueno)
1984年山梨大学大学院修士課程(計算機科学専攻)修了後、株式会社日立製作所入社。
システム開発研究所、エンタープライズサーバ事業部などで主としてコンピュータアーキテクチャおよび基本ソフトウェアの研究開発に従事。
2015年より第一工科大学東京上野キャンパス情報電子システム工学科教授に就任。
2023年より東京情報デザイン専門職大学教授。
生体信号処理に関するプログラム開発や種々の先端ソフトウェアついての調査研究に興味を持つ。
技術士(情報工学)。
博士(工学)。
ビットコイン(仮想通貨)を学びたい方にオススメのコンテンツ
東京情報デザイン専門職大学教授の上野仁氏監修による暗号通貨・ブロックチェーンの記事一覧です。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。