「ブロックチェーンって一体何なんだろう...」
そのように考えてはいませんか?
確かにブロックチェーンって何だか難しそうですよね、、
実は、ブロックチェーンの仕組みはシンプルであり、とても画期的な技術です!
この記事ではブロックチェーンの仕組みや種類、メリット・デメリットなどなど分かりやすく解説していきます!
ブロックチェーンとは、ビットコインなど暗号資産(仮想通貨)を支える中核を担ってる技術です。
取引のデータ(ex.AさんがBさんに1BTC送りました)を「トランザクション」、複数のトランザクションを集めたものを「ブロック」と呼びます。
この「ブロック」が連なるように保存されているものがチェーン状に見えることから”ブロックチェーン”と命名されています。
通貨ごとにこのブロックチェーンは形成されており、それぞれのブロックチェーンは公開されているので誰でも見る事ができます!
ここからは、ブロックチェーンの技術的な仕組みについて詳しく解説していきます!
ブロックチェーンの仕組みを画像を用いながら説明していきます!
ブロックチェーンは一言でいうと、分散して管理される公開台帳です!
上の図のように、ブロックチェーンは複数のコンピューター(ノード)で分散して管理されています。
銀行のような中央機関が存在しないので、上図のAさんとBさんのように直接取引することができます。
この方式を「P2P(ピアツーピア)方式」と言います。
このおかげで、上の図のようにAとBが第三者の機関を通さずに直接取引できるようになっています。
この点はブロックチェーンのメリットの一つです。
ここでは、まずハッシュ関数について説明します。
ハッシュ関数には2つの特徴があり、
という一方向にしか作用しない関数です。
これにより、個人情報ともいえる具体的な取引履歴はハッシュ関数により暗号化されてブロックに記録されます。
マイニングとは、新しいブロックを繋げていく作業です。
マイニングは、コンピューターを使って非常に難しい計算問題を解かなくてはなりませんが、成功すると報酬がもらえます。
ナンス「Number used once」という特別な数字がマイニングでは必要です。
マイナーは、正しいナンスを求める計算作業を行います。
正しいナンスを見つけることができた最初のマイナーが、新たなブロックを繋げることができます。
マイニングについて詳しくはコチラ
ビットコインの取引履歴など、ブロックチェーン台帳に記録されたすべての取引履歴は誰でも見ることができます。
ブロックチェーンの中身は「Blockchain.info」から見ることができます。
しかし、取引履歴は暗号化されているので「AさんからBさんへ10BTC送金した」というような具体的な情報はわかりません。
つまり、ブロックチェーンは透明性は確保しながらセキュリティも高いということができます!
新しいブロックを既存のブロックチェーンにつなぐために、いくつものコンピューターが熾烈な計算競争をしています。
一番最初に答えを見つけた人だけがブロックを既存のブロックチェーンにつなぐことができます。
このとき、報酬として一定量の暗号資産(仮想通貨)がプログラムによって与えられます。
上のグラフはビットコインの場合ですが、ビットコインが開発されたときからこのようなプログラムが決まっており、新規発行のビットコインはだんだん少なくなってきています。
このように、新たなビットコインをもらうためにマイニングを頑張る人がたくさんいて、そのおかげでブロックチェーンが成り立っているのです。
それでは、ブロックチェーンの仕組みについてさらに理解しやすくするために、中央サーバーで取引データを管理している銀行との違いを図解してみましょう。
上の図のように、銀行では取引を管理する中央サーバーが存在します。
そして、この中央機関がそれぞれの顧客の台帳(残高・入出金履歴など)を一括で管理しています。
例えば、Aさんが不正をして通帳を偽造し、本来は10万円しかないはずなのに100万円の残高があると書き換えたとしましょう。
この場合には、Aさんが偽造した通帳を銀行に持っていき100万円を下ろそうとしても、それはできません。
なぜなら、Aさんの通帳の情報は中央サーバーによって管理されており、これを変えるには中央サーバーを改ざんする必要があるからです。
顧客の情報が書き換えられないようにするため、中央サーバーを持つ銀行は多額の資金をかけてセキュリティを守っています。
しかし、このたった一つの中央サーバーが改ざんされてしまうと、顧客の取引情報の全てが書き換えられてしまう危険があります。
これに対して、ブロックチェーンは全く異なるアイデアで取引の情報を管理する仕組みとなっています。
ブロックチェーンの仕組みには、取引を管理する中央サーバーが存在しません。
その代わりに、ブロックチェーンでは顧客の台帳をネットワークを通して不特定多数のコンピューターに共有し、互いの取引を監視する仕組みをとっています。
誰が、いつ、どのような取引をしたか、ということが(匿名の状態で)ネットワーク上の全てのコンピューターに共有されることになるので、個人が自らの通帳の中身を改ざんした場合にはすぐにバレてしまいます。
先ほどのAさんの例で言うと、たとえAさんが自分のコンピューター上の取引データを改ざんしたとしてても、他のコンピューターの情報は変わりません。
そのため、Aさんが不正をしようと思ったら、不特定多数の全てのコンピューター上にある情報を書き換える以外に方法はありません。
これは、極めて難しく、ほぼ不可能と言って良いでしょう。
ブロックチェーンの仕組みを用いると、中央サーバーの力がなくとも取引上の不正を防ぐことができるのです。
ブロックチェーンのネットワークの仕組みを知って、「取引がネットワーク上の全てのコンピューターに共有されたら、自分の情報が他人にわかってしまって危ないのでは?」と思った方もいるでしょう。
しかし、そこで重要になってくるのがビットコインの暗号化技術を用いた仕組みです。
ビットコインは暗号通貨と呼ばれ、取引の情報を暗号化する仕組みを用いて情報の保護をしています。2019年5月31日には改正資金決済法が成立し、正式に「暗号資産」へと名称が変更されました。
ビットコインの取引では、情報の送信者から受信者の元へ暗号化された形で情報が受け渡されるため、受信者はこの暗号化された情報の暗号を解く必要があります。
逆に、この暗号を解く鍵がないことには、他者は取引者の情報についてはアクセスすることができません。
このような暗号技術を用いることで、ビットコインはセキュリティーを高め、安全な取引をすることを可能にしているのです!
それでは具体的に、ビットコインの暗号技術の中心となっている公開鍵・秘密鍵の役割について見ていきましょう。
ビットコインの受取人が暗号化された情報にアクセスするために用いられるのが、「公開鍵」です。
この鍵は、その名の通り一般公開されている鍵で、送金を行う側が持つ「秘密鍵」から作られるものです。
例えば、AくんがBくんに100ビットコインを送ったとしましょう。
Bくんは暗号を解くために、Aくんから教えられた公開鍵を使って暗号を解きます。
そうすることで、Bくんはお金を受け取ることができます。
秘密鍵とは、例えるなら自分の金庫を開ける暗証番号のようなもので、絶対に人に知られてはいけないものです。
他人に秘密鍵がバレてしまうと、自分の持っているお金を全て盗まれてしまう危険性があります。
この秘密鍵は、自分のお金を送るときに必要になります。
秘密鍵を用いて取引情報の暗号化を行い、受取人のもとに送ります。
受取人は、この秘密鍵を使って作られた公開鍵によって暗号を解くことでお金を受け取るという仕組みです。
ただし、ここで重要となるのが、秘密鍵から公開鍵を作ることはできても、公開鍵から秘密鍵を推測することはできないということです。
この不可逆性によって、秘密鍵の安全性は守られているのです。
以上のような公開鍵・秘密鍵を用いた取引を行うことで、ビットコインの安全性は守られているのですね。
公開鍵・秘密鍵の仕組みについてより詳しく知りたい方はぜひこちらの記事も参照してみてください。
ブロックチェーンにおいて、新しいブロックを繋ぐ作業、すなわち、新しく台帳に取引の記録を書き込むことができるのはマイニングという取引の承認作業に成功した人だけです。
このマイニングは、世界中で多くの人が速さを競って行い、一番最初にマイニングを成功させた人のみが新しくブロックを繋げることができます。
そして、新しいブロックが繋がれると他の人もその記録を反映して、みんなで同じ台帳が共有されている状態を保つようになっています。
このマイニングの作業には膨大な計算力を必要とするので、世の中の半数を越える計算力を持つような人でないと取引の改ざんができないという仕組みになっています。
マイニングをもう少しよく理解するために、「ハッシュ関数」についても説明していきましょう。
ハッシュ関数とは、あるデータを代入すると、それが特定のデータに変換され、その変換されたデータからはもとのデータがわからなくなる関数のことを言います。
例えば、「Coin Otaku」をハッシュ関数にかけてみたとすると、全く意味不明の文字の羅列、ハッシュ値に変換されます。
この例で言えば、「Coin Otaku」から右のハッシュ値に変換することはできても、ハッシュ値から「Coin Otaku」を導き出すことができない、というのがハッシュ関数の特徴です。
このように一度ハッシュ化されたデータからは元データを導くことができない上に、元データが一文字でも異なると全く違うハッシュ値が出てくるのです。
ブロックチェーンのブロックには、正解のナンス、前のブロックのハッシュ値、今回承認したいブロックの取引をまとめた値のデータが入っています。
マイニングを行うマイナーの人たちは、このうちのナンスを見つけ出すことによって新しいブロックを繋げることができます。
具体的に言うと、マイニングを行う人たちは、ランダムなナンスをハッシュ関数の計算式に代入して計算することで、正解のナンスを見つけることを試みるのです。
しかし、このプロセスにおいては、ナンスを当てずっぽうに代入していく以外には方法がありません。
そのため、このマイニングの作業においては幾度にもわたる膨大な量の計算が必要になってくるのですね。
このような過程を経て、一番初めに正解のナンスを見つけた人だけがブロックをつなぐことができます。
それではここで、誰か悪意のある人が過去の取引のデータを改ざんしようとした場合を考えてみましょう。
上で述べたように、マイニングを行うときには、ハッシュ関数にナンスの他に前のブロックのハッシュ値、今回承認したいブロックの取引をまとめた値も代入します。
過去の取引を改ざんすると、これらの値が変わってしまうため、なんと次のマイニングによって探すべきハッシュ値の「ある特定の値」自体が変わることになります。
その結果、一つ改ざんをするだけで、それ以降の正解のナンスの値が全て変わってしまうことになり、また全て計算し直す必要が出てくるのです。
これは、実質的にほぼ不可能と言って良いでしょう。
ブロックチェーンは以上のようなマイニングの仕組みによって成り立っているため、改ざんが不可能となっているのです!
ただ、ここまでの説明を聞いてきて「どうしてみんなマイニングをしたがるのだろう?」と疑問を持った方もいるでしょう。
確かに、マイニングをして取引を承認すること自体にはメリットはあまりないですよね。
しかし、ブロックチェーンでは、一番初めにマイニングを成功させた人に対して報酬が払われる仕組みになっているのです!
この仕組みがあるため、世界中の人々は競い合うようにマイニングを行い、自分が一番に計算問題を解き終わることを目指します。
ブロックチェーンの仕組みでは、マイニングに支払われる報酬が取引承認へのインセンティブとして働き、安全性を維持するシステムが守られているのですね。
マイニングについてさらに詳しく知りたい方は以下の記事を参考にしてみてください。
パブリックブロックチェーンの最大の特徴は、中央管理者がいない非中央集権であることです。
一般的に「ブロックチェーン」 と言う場合は、こちらのパブリックブロックチェーンを指していることが多いです。
ネットワークへの参加者が限定されておらず、誰でもマイニングに参加することができます。
代表的な暗号資産(仮想通貨)であるビットコインに応用されています!
パブリックブロックチェーンについて詳しくはコチラ
プライベートブロックチェーンの最大の特徴は、中央管理者が存在する中央集権であることです。
中央管理者がネットワークへの参加者を限定することにより、情報を内部で守ることができます。
「ブロックチェーンを導入して効率化を図りたいが、ブロックの情報が外部に公開されては困る!」という金融機関や企業等のニーズにマッチしたブロックチェーンです。
プライベートブロックチェーンについて詳しくはコチラ
ブロックチェーンの最大のメリットは、非中央集権のシステムを構築できることです。
情報を中央でまとめて管理するのではなく、分散させて管理しているので、システムがダウンすることありません!
また、不特定多数のユーザーが管理しているので、特定のユーザーによる独裁的なコントロールも不可能な仕組みになっています。
ブロックチェーンには中央管理者が存在しないので、ユーザー間の直接取引が可能です。
現状ではお金の取引をする場合、必ず金融機関を経由する必要があり、そのたびに手数料が発生しています。
しかし、ユーザー間の取引なら手数料を最小限にすることができる上に、従来よりも高速な取引が可能になります!
ブロックチェーンで情報を管理すると、情報の改ざんが実質不可能になります。
ブロックに記録される情報はハッシュ関数で暗号化されているので、元の情報を特定することは不可能です。
また、ブロックを意図的に改ざんしたとしても、前後のブロックとの整合性が取れなくなってすぐに不正がネットワークにバレてしまいます。
ブロックチェーンは非常に強固な情報管理システムと言えます。
ブロックチェーンのブロックは情報を記録するものなので、データ容量が決まっています。
実際に、ビットコインのブロックチェーンは1MB(メガバイト)と決まっています。
そして、この容量を変更することは非常に困難です。
一つのブロックに対して記録できるトランザクションの数が決まっているので、今後ビットコインが普及して取引件数が増大した場合は、取引の処理に時間がかかってしまうかもしれません。
この問題を「ビットコインのスケーラビリティ問題」と言います。
スケーラビリティ問題について詳しくはコチラ
ブロックチェーンのデメリットとして「システムのアップグレードが難しい」ことが挙げられます。
実は、これはメリットでもある「情報の改ざんが起こりにくい」ということの裏返しです。
ブロックチェーンは分散して管理されており、かつ取引データの巨大化が進むので開発者でさえもシステムを変更することが困難です。
ブロックチェーンをアップグレードさせる方法としては「ソフトフォーク」というものがあります。
ブロックチェーンを分岐させることで、仕様を変更することができます。
ソフトフォークについて詳しくはコチラ
そもそも暗号資産(仮想通貨)とは、ブロックチェーンや電子署名といった暗号技術を組み合わせて成立する、国家等の価値の保証を持たないデジタルな通貨です。
代表的な暗号資産(仮想通貨)を2種類紹介します。
ビットコインとは、2009年に発表された世界初の暗号資産(仮想通貨)です。
暗号資産(仮想通貨)は1500種類以上ありますが、ビットコインは最も有名で世界中で取引されている暗号資産(仮想通貨)です。
2017年は、ビットコインの価格が1年間で20倍にも跳ね上がり、日本でも大きく盛り上がりました。
ビットコインについて詳しくはコチラ
イーサリアムは、時価総額第2位の暗号資産(仮想通貨)です。
ほとんどの暗号資産(仮想通貨)が、ビットコインを真似した下位互換のようなものであるのに対して、イーサリアムはビットコインにはない特徴を持っています。
例えば、イーサリアムには「スマートコントラクト」という機能があり、価値だけでなく契約も同時に取引することができます!
イーサリアムについて詳しくはコチラ
ブロックチェーンは、まだ新しい技術ですが、ビジネス分野にも応用されてきています。
スマートコントラクトという取引を自動化する仕組みや、不動産の価値を暗号資産(仮想通貨)に置き換えることができる可能性から、不動産業界でブロックチェーンの導入が進んでいます。
コスト削減や、流動性を高める効果が期待されます。
ブロックチェーンは物流業界においても盛んに応用されています。
特に食品輸送の管理分野においてブロックチェーンが運用されています。
ブロックチェーンを用いて、食品を生産から消費まで追跡することで、コストを削減できるだけでなく、食品の腐敗や病気の発生といったリスクも抑えることができます。
今回は、ブロックチェーンの仕組みやメリット・デメリット、応用例について説明しました。
ブロックチェーンは、今後私たちの生活になくてはならない技術になるかもしれません。
今後もブロックチェーン技術には注目です!
ブロックチェーンの誕生から現在までの歴史はこちらをご覧ください。