見出し画像

ブロックチェーンについて知ろう

ブロックチェーンとは何か

「コンピューターとネットワークを使って価値を流通させるための仕組み」

ここでいう価値とは、「お金」を筆頭に「お金以外の価値」もその対象になる。例えば、「証券」や「債券」、ほかにも「ポイント」「スタンプ」「クーポン」「チケット」のような特定の場所でのみ通用する価値も含まれる。

ブロックチェーンの仕組み

ブロックチェーンは、お金などの価値を扱うシステムのため、①壊れない、②止まらないという2点を兼ね備える必要がある。

ブロックチェーンは「少しくらい壊れても平気なシステムを作る」という方針で設計されている。つまり、「同じ機能のパーツを複数用意しておき、いつも同じ仕事をダブって実行させておけば、万が一どこかが壊れても大丈夫」という考え方である。

具体的には、「ノード」と呼ばれるコンピューターをたくさん用意して、それぞれネットワークで接続し、すべてのノードが同じ情報を互いにコピーして共有しあうことで全体のシステムを稼働させている。そうしておけば、1つや2つのノードが故障したところで大丈夫。

このような発想にもとづいて作られたシステムを一般に「分散システム」と呼ぶ。実は分散システムは、ブロックチェーンのみならず、一般的な業務システムやウェブサービスなどでも普通に使われている当たり前の手法。この、万が一に備えて同じ機能を複数用意しておくことを「冗長化」と呼ぶ。

ネットワークに中心がない

ブロックチェーンでは、「同じ機能を複数用意する(冗長化する)ことで、
全体が壊れないようにする」というアイデアが多く使われている。

同じネットワークのなかに複数のノードが置かれるという状況では、普通はどれか1台をリーダー役にするような設計にすることが多い。だが、ブロックチェーンのネットワークにはリーダーの役割を担うノードが存在しない。

すべてのノードが平等であり、全員がデータをバケツリレーのようにコピーしあい、各ノードが「勝手に」仕事をする。リーダーがいないので、同じデータのバケツが何度も回ってくることもありますが、そのデータを捨てれば問題ない。

全てのノードが平等で、同じデータを使い、自律的に仕事をするシステムを「自律分散システム」という。

ウォレットアドレスとは

ブロックチェーンは、銀行口座のようにお金の移動を一覧表のようにして全て記録しない。記録するのは、公開鍵暗号の鍵に対応する「ウォレットアドレス」と呼ばれるものである。

ウォレットアドレスは、お金の宛先になるという点だけを比べると、銀行口座に似ている。しかしウォレットアドレスは情報を記録するための器としてではなく、権利を行使するための鍵になっている点が大きく異なるだろう。

ブロックチェーン上では、取引の記録がすべて公開情報となっており、ネットワークに参加する全員にコピーされ共有されている。取引に記録されているお金を自由にほかのウォレットアドレス宛に動かせる(送金できる)のは、送金の宛先に指定されたウォレットアドレスに対応している秘密鍵を持っている利用者に絞られる。

銀行と決定的に違うのは、「どこにも登録する必要などなく、勝手にいくらでもウォレットアドレスを作れてしまう」という点である。ウォレットアドレスは、公開鍵暗号にもとづいているため、手元のパソコンに計算させて「秘密鍵と公開鍵のペア」さえ作ってしまえば、それでウォレットアドレスができてしまいます。

何を記録しているのか

ウォレットアドレスは手元で何個も作ることが可能だ。「誰かが勝手に作って、一度も取引されていない、残高ゼロのウォレットアドレス」がどこに何個あるのかは誰も知らない。

このことから「ブロックチェーンは『ウォレットアドレスの現在の残高』をデータとして記録していない」ということがわかる。

記録されているものは「Aから、Bのウォレットアドレスに、お金(仮想通貨)がいくら移動した」という取引の履歴である。「過去の取引」だけが記録されていて、「現在の残高」は記録されていない。

もし現在の残高が知りたければ、「そのウォレットアドレスが関与した過去の取引履歴」をすべて抽出して合算すれば良い。

ブロックチェーンの世界では、ウォレットアドレス間の取引を「トランザクション」と呼ぶ。ブロックチェーンには「トランザクションの履歴」がひたすら記録されているのだ。

ブロックチェーンの特徴

①自律分散システム

②リーダー不在でも動く

③ウォレットアドレス

④トランザクション

ブロックチェーンの存在価値は、なによりも帳簿の正当な連続性が、数学的、暗号学的に保証されていること。

実際ブロックチェーンは仮想通貨以外のアプリケーションにも応用することが可能だ。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?