TOUCH THE SECURITY Powered by Security Service G

コラム

2022.08.08

ブロックチェーンは改ざんできる?できない理由や仕組み・基礎知識をご紹介!

仮想通貨やNFTによって有名になったブロックチェーン。よく耳にはするものの、ブロックチェーンをはっきりと理解している方は少ないのではないでしょうか。 本記事ではブロックチェーンについて、改ざんされない理由から仕組み、基礎知識までご紹介します。 「ブロックチェーンが改ざんされない3つの理由」の見出しまで読み進めていただけると、みなさまにとっても有意義な時間になるはずです。

1.ブロックチェーンとは?

ブロックチェーンとは、仮想通貨であるビットコインから生まれた技術です。簡単に説明すると、取引するデータを「ブロック」という1単位で記録し、その「ブロック」を「チェーン」のように繋いで保管する技術のことを指します。

このブロックチェーン技術は、インターネット登場以来の発明ともいわれています。非常に革新的な技術であるため、今後も注目が集まる技術であるといえるでしょう。

2.ブロックチェーンが改ざんされない3つの理由

ブロックチェーンが改ざんされない(されにくい)技術である、というのはご存じの方が多いのではないでしょうか。

その理由は次の3つです。

  • ブロックチェーンの構造
  • P2Pネットワーク
  • 暗号化技術

ここからは、それぞれについて詳しく紹介します。

ブロックチェーンの構造


ブロックチェーンのひとつには、取引データだけでなく、ひとつ前のブロックのハッシュ値、ナンス値などが保存されます。これを合成し、ハッシュ値を計算、ブロックのジョイントとして利用します。


ブロックチェーンの構造が改ざんに強い、というものが理由の1つです。

まず基本的な用語を解説します。「ハッシュ値」「ナンス」といった用語は次のような内容を示しています。


ハッシュ値:ハッシュ関数によって求められる値。元データが1ビットでも異なれば大きく値が異なってしまう。

ナンス(nonce):「Number used once」の略。一度だけ使用される数字。


そしてブロックチェーンは、取引データやひとつ前のブロックのハッシュ値、ナンスといった要素などから成り立っています。


上記の要素から新たにハッシュ値を計算し、この値が次のブロックとのジョイント部分となっています。つまり、ひとつ前のブロックの情報なしにはハッシュ値は定義できないのです。さらに、このジョイント部分となるハッシュ値は、適当な数値で置き換えることはできません。「ハッシュ値の上位3桁が000」といったように、厳しい条件をクリアする必要があるのです。


では、ブロックチェーンの改ざんをするとどうなるのか考えてみましょう。


ブロックチェーンを改ざんすると、ブロック内の情報が組み変わってしまいます。そうすると、次のブロックに含まれるハッシュ値との整合性がとれなくなってしまうのです。これをまた改ざんしようとすると次のブロックとの整合性がとれなくなります。 このようにブロックチェーンを改ざんしようとすると、数珠つなぎのように改ざんをし続けなければなりません。


「ブロック」を「チェーン」のように繋いでいる、この構造自体が改ざんに強いのです。


取引データを改ざんすると、ジョイントに使うハッシュ値が変わってしまい、次のブロックと接続できなくなる。次のブロックには、以前のハッシュ値が保存されたままになっているので、齟齬が生じてしまうのが原因です。



P2Pネットワーク

P2Pネットワークによる分散管理も、ブロックチェーンの改ざん対策へ役立っています。P2Pネットワークとは、コンピュータ同士がつながって形成されるネットワークのことです。

中央でデータ処理をするのではなく、各コンピュータがデータの所持から処理までを行っています。P2Pネットワークにより分散管理が可能となることで、いくつかのサーバが障害を起こしたとしてもシステムを維持できる仕組みを構築しています。

この仕組みにより、各コンピュータが情報を所持・管理することができるため、データ改ざんの抑止はもちろん、ブロックチェーンそのものがダウンしにくい基盤の生成を実現することができます。

P2Pネットワーク:Peer to Peerネットワークの略。peerは「同等の人」「同輩」「友だち」などと訳す。

暗号化技術

当たり前のように思われるかもしれませんが、暗号化技術も改ざん対策への重要な役割を担っています。暗号化技術によって取引の透明性が担保されるという点もメリットです。

ブロックチェーンでは、公開鍵暗号方式を応用したデジタル署名という手法がとられています。通常の公開鍵暗号方式では、以下のような手順で暗号化から複号化(元のデータに戻すこと)が行われます。

  1. 情報を渡したい相手が作成した公開鍵を使ってデータを暗号化
  2. 暗号化されたデータを送信
  3. データを受け取ると、自身が作成した秘密鍵を使ってデータを復号化

ブロックチェーンでは、上記を応用して以下のような手順でデジタル署名による本人確認を行います。

  1. Aさんは自分が持っている秘密鍵でデータに署名をする
  2. AさんからBさんにデータが送られる
  3. Bさんは、Aさんの秘密鍵から作られた公開鍵を利用して、データの署名を照合する

この際、Bさんの持つ公開鍵で照合できるのは、Aさんの秘密鍵で作られた署名のみです。この手順を踏むことで、Aさんと取引していることが確認できます。

このように暗号化技術を利用して、取引の透明性を確保し、そのことが改ざん対策にもなっているのです。

3.ブロックチェーンが改ざんされる可能性

ここまでブロックチェーンが改ざんされない理由について述べてきました。しかし、改ざんされる可能性もあるのです。 特に危ないのは、小規模なブロックチェーンの場合です。

それは「51%攻撃」を受けてしまう可能性があるからです。

ブロックチェーンの途中のブロックを改ざんすると(赤い部分)、ブロックが途中で切れてしまいます。ブロックチェーンでは、「一番長いブロックチェーンが正しい」というルールがあるため、正しいものに上書きをされてしまいます。


51%攻撃とは?

51%攻撃とは、悪意を持った何者かがブロックチェーンネットワークの計算能力の過半数(51%)を占めることで、取引を不正に改ざんすることです。

PoW(Proof of Work)という合意形成アルゴリズムを採用している場合、確定前のブロックチェーンにおいて違いが生じた場合に、長いチェーンの方を採用するというルールになっています。そして高い計算能力(過半数の51%)を保持していると、不正に長いブロックチェーンを生み出すことができてしまうのです。

PoWに従うと、悪意をもって作られた長いブロックチェーンを採用してしまい、不正を防ぐことができません。

ただ、51%攻撃は大規模なブロックチェーンでは発生しにくいと考えられます。高い計算能力(過半数の51%)を保持するためには、あまりにもコストがかかりすぎてしまうためです。不正を行うことが目的ではなく、利益を得ることが目的であれば、51%攻撃を行うことにメリットがあるとは考えにくいでしょう。

4.まとめ

マイニング業者よりも圧倒的に高速の計算パワーがあれば、改ざんした複数のブロックを改ざんして、長いチェーンを作ることで、それを「正本」だと誤解させることができます。


将来的に、ブロックチェーンが広まっていくにつれ、ブロックチェーン技術を応用したサービスも登場してくるでしょう。その時51%攻撃のような、悪質な攻撃を受けないという保証はできません。

今後ブロックチェーン技術を導入しようと考えている場合は、セキュリティサービスを提供している会社に脆弱性の診断を依頼することも検討されてみてはいかがでしょうか。

本記事が、読者のみなさまにとって役立つものであれば幸いです。

記事一覧に戻る