『ブロックチェーン入門』森川夢佑斗

by AIGRAM

目次

ブロックチェーンの基本

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

2008年にサトシ・ナカモトの論文によって発表されたビットコイン(Bitcoin/BTC)には、「ブロックチェーン」の基となるアイデアが盛り込まれていました。はじめは、ビットコインを実現するための技術という位置づけだったブロックチェーンですが、現在では暗号通貨にとどまらず、様々な領域への活用が進められています。

ブロックチェーンは、「分散型取引台帳」とも呼ばれており、「すべての取引が記録された仮想的な台帳」です。ここで言う、すべての取引とは、世界中で行われたビットコインの取引のことです。ビットコインは、2009年から稼働していますが、その時から現在までの取引の内容がブロックチェーンには記録されています。

ブロックとは、取引の内容を書いた紙を入れておく箱のようなものです。ブロックの中には、10分間の間に行われた取引の内容が詰まっています。そのブロックを時系列順に並べて、お互いをつないだものがブロックチェーンです。電車の車両がつながっているイメージです。つまり、1車両目が2017年1月5日2時0分から2時10分の間の取引だとすると、2車両目は2017年1月5日2時0分から2時20分の間の取引、3車両目は2017年1月5日2時20分から2時30分の間の取引というように取引の内容が時系列で連なっています。間に別のブロックが入ることはありません。必ず、その時の最新のブロックが一番うしろに追加されていきます。このように取引内容のデータを約10分単位でいくつものブロックに分け、時系列順に連ねたものがブロックチェーンです。

2. 分散型とは

システムには、「分散型」と「集中型(中央集権型)」があります。従来のサービスのほとんどは集中型のシステムで成り立っています。たとえば、Facebook ではユーザーの投稿や写真はすべて一度 Facebook の管理するサーバーにアップロードされ、そのサーバー内のデータを ユーザーが参照することで、すべてのユーザーが同じデータを閲覧できるようになっています。しかし、中央集権的な情報管理では、管理者が利益を独占する傾向にあります。

一方、ブロックチェーンでは、複数のノードと呼ばれる人たちが同じ取引データを分散して保有します。ノードは、取引データの塊であるブロックチェーンを、自己の保有するコンピュータサーバー内で保有します。複数のノードがブロックチェーンを保有しているため、ひとつのノードのブロックチェーンが消えてしまったとしても、他のノードが同じデータを持っているため、ネットワークとして維持することが可能です。これがもし中央管理者によって一括管理されていると、すべてのデータが失われてしまいます。分散型であれば、同じブロックチェーンを複数のノードが保有することで、別のノードが持つデータから復元が可能です。逆に言えば、ノードがゼロにならない限り、データが完全に紛失することはありません。

次に、取引内容のデータをブロックに入れ、そのブロックをブロックチェーンの最後尾に追加するという、一連のプロセスを「マイニング」と呼びます。このマイニングによって、取引記録がブロックとして記録され、ブロックチェーンに絶えず追加され続けています。ノードであれば誰でもこのマイニングに参加することが可能で、マイニングに参加するノードを「マイナー」と呼びます。マイナーが、ひとつ以上存在すればブロックチェーンへのデータの追加は絶えず継続されます。

ここまで纏めると、ブロックチェーンとは、ビットコインの取引内容を約10分単位でブロックとして小分けにして記録し、それらを時系列順に連ねていったものです。そして、複数のノードが同じブロックチェーンのバックアップを分散して保有しているため、データが紛失することはありません。

ブロックチェーンを支える3つの特徴

ブロックチェーンを支える技術的な特徴として、「特殊なデータ構造」、「コンセンサスアルゴリズム」、「公開鍵暗号方式」があります。これらについて、一つずつ解説していきます。

1. 特殊なデータ構造

ビットコインの場合、ブロックチェーンは約10分毎の取引内容のデータをひとつのブロックとしてまとめ、それらを時系列順に並べたものです。前述の通り、ブロックの中には、世界中で行われたビットコインの取引のデータが入っています。そして、その前のブロックデータのハッシュ値と呼ばれる数値が入っています。

ハッシュ値とは、あるデータを「ハッシュ関数」と呼ばれる関数で計算した結果を言います。インターネット空間において、テキストや画像など、すべてのデータは0と1の組み合わせで表現されます。例えば、「ねこ」の場合は「111000111000000110101101111000111000000110010011」となります。少し複雑なので、以降の説明では下4桁で表します。例えば、いぬを「1100」、ねこを「0011」とします。ハッシュ値とは、例えば、「いぬ」に「5を掛ける」というハッシュ関数を利用すれば、「5500」というハッシュ値に変換されます。

ハッシュ値の特徴は、「ハッシュ値とハッシュ関数の内容がわかっていてもデータの特定が困難」という点です。この例だと、「5を掛けている」と簡単にわかりますが、実際のハッシュ関数は非常に複雑です。例えば、ビットコインで利用されているハッシュ関数を用いると、「いぬ」のハッシュ値は「ac780dba391b7b189f56216d0db79c54492f36df4bc683447cfb8061ab645528」となります。この値から、もとのデータである「いぬ」を算出するのは困難です。ハッシュ値は、「異なるデータから同じハッシュ値が得られることはほとんどない」という特徴を持っています。仮にもとのデータが改ざんされた場合は、そのデータをもとに計算されたハッシュ値も変わってしまいます。そのため、送られてきたデータのハッシュ値と同じかどうかを確認すれば、改ざんされたかどうかを確認できます。

ブロックは取引データやその他のデータがまとまっているものですが、これもひとつの数値で表すことができ、ハッシュ関数を使うことで、ハッシュ値を得ることができます。これが、前のブロックのハッシュ値です。もし、仮に前のブロックに含まれるデータが、少しでも変更されるとハッシュ値自体も変わってしまいます。前のブロックのハッシュ値は、それぞれのブロックに入っており、入れ子の関係になっています。 したがって、これらの値は、ブロックの中身が変更されると、それに伴って値も変更されます。つまり、前のブロックのデータが変更されると次のブロックに含まれているハッシュ値の値も変わることになります。このように、あるブロックのデータを変更すると、その後のブロックすべてのハッシュ値が変わってしまいます。それぞれのブロックのデータが相互に作用し、連鎖した構造をしていることから、ブロックチェーンという名前がつけられました。

2. コンセンサスアルゴリズム

マイニングを行うノードを「マイナー」と呼びますが、ブロックチェーンネットワークには中央管理者が存在しないため、特定のマイナーが常に行うというわけではありません。しかし、複数人が自由にマイニングをできるようにすると、トラブルが起きる可能性があります。そのため、マイナー間で誰が新しいブロックを生成するかを決める、つまりコンセンサス(合意)を得る必要があります。このコンセンサスを得る方法を「コンセンサスアルゴリズム」と呼びます。ビットコインやその他の多くの暗号通貨では、「プルーフ・オブ・ワーク」というコンセンサスアルゴリズムが使われています。

プルーフ・オブ・ワークを用いたコンセンサスでは、新規ブロックのハッシュ値は、あらかじめプログラムによって設定された数の0が頭に並ぶように調整されます。実際にビットコインのブロックのハッシュ値は、「000000000000000001253855be89...」のようになっています。このような値になるようにデータを調整するのが「ナンス値」です。ハッシュ値からもとのデータの内容を予測することは非常に困難です。そのため、一つひとつの数値を総当り的に試していきます。コンピュータによる膨大な計算を行うため、マシンパワーが高いほど速くマイニングを行うことができます。そして一番はじめにナンス値を見つけたマイナーが、ブロックの生成を行うことができます。ブロックを生成してブロックチェーンに追加したマイナーは、自分以外のマイナーの持っているブロックチェーンにも生成したブロックを追加するように依頼を行っていきます。ナンス値を見つける競争に敗れたマイナーは、マイニングに成功したマイナーより受け取ったブロックが正しいかを確認します。このように他のマイナーたちによって確認がなされていき、全マイナーの過半数が正しいブロックであると承認すれば正式に新規ブロックとなります。ここまでの一連作業が、ビットコインの場合は約10分おきに行われています。

3. 公開鍵暗号方式

公開鍵暗号方式とは、インターネット通信を行う際の、データの機密性および真正性を担保するために利用されています。公開鍵暗号方式では、自分だけが知っている「秘密鍵(プライベートキー)」と、外部に公開している「公開鍵(パブリックキー)」というペアの暗号鍵があります。公開鍵は、秘密鍵をもとに生成されますが、ここでもハッシュ関数が利用されており、公開鍵から秘密鍵を知ることはできません。この鍵を用いることで、データの暗号化を行うことができます。ここで秘密鍵によって暗号化されたデータは、公開鍵でもとのデータに戻すことができますが、公開鍵によって暗号化された内容は秘密鍵を持っている者だけしか閲覧することができません。

たとえば、田中さんという人が、暗号通貨を誰かに送金したいとします。まず、送金者である田中さんは、自分の秘密鍵を用いて取引の内容を暗号化します。そうして暗号化された取引の内容を、ブロックに入れてもらうために送信します。この時、暗号化された取引の内容は、田中さんの公開鍵でしか復号(元のデータに戻すこと)できません。逆に言うと、田中さんの公開鍵で復号し、取引内容を確認できるということは、確実に田中さんが送信したものだと断定できます。取引データを受け取ったマイナーは、田中さんの公開鍵で取引内容を復号することで、田中さんが行ったものだと確認できてから、ブロックの中に記録していきます。

この例のように、送信された内容が、確実に田中さんが行ったと証明する手段を「デジタル署名」と呼びます。この電子署名は、銀行を利用しての送金の際に行う本人確認のようなものです。所有している暗号通貨を送金できるのは、電子署名が正しく行われた時だけです。つまり、電子署名ができる(=秘密鍵を所有している)ことが、暗号通貨の所有の証明となります。秘密鍵は銀行印のような存在ですので、大切に保管することが重要です。このように、取引内容に対して電子署名を行うという方法を取ることで、正しい暗号通貨の所有者だけが送金を行える仕組みを担保しています。したがって、勝手に他人の持つお金を送金することはできません。

ビットコインの暗号技術に関する詳細は「【書籍紹介】暗号技術」も参考にしてみて下さい。

ブロックチェーンによる変革

1. 「国際送金」が変わる

ビットコインには、国境といった概念がありません。インターネットを通じてP2Pでの送金が可能なため、従来のシステムに比べて、手数料が格段に安いといったメリットがあります。したがって、グローバルな送金に向いていますが、現在の経済活動の大半が法定通貨で行われていることを考えると、ビットコインで送金を行いビットコインのまま利用するということは少ないと考えられます。そのため、再びビットコインを現地の通貨に変えることが、必要になります。

たとえば、出稼ぎで日本に来ているフィリピン人が、日本からフィリピンの家族に送るときなどは、数万円から数十万円単位となります。これを手数料の安い、ビットコインを利用して送金を行おうとした場合、まず持っている通貨を取引所に持っていき、ビットコインに交換する必要があります。その際には、さらにレートの影響や取引手数料がかかります。その上で、ビットコインに交換してから、相手に送金することになります。また受け取った人は、フィリピンの取引所でビットコインを現地通貨に換金します。この時も同じくレートや取引手数料がかかります。このため、ビットコインと法定通貨を行き来してしまうと、ビットコインおよびブロックチェーンのメリットを最大限活かすことができません。この問題に目をつけ、既存の枠組みとブロックチェーンのメリットを活かそうと考えたのが「リップル(Ripple/XRP)」というプロジェクトです。

リップルは、Google が出資しているほか、国内ではSBIホールディングスやみずほフィナンシャルグループが実証実験を行っています。リップルは、シリコンバレーの「Ripple Labs, Inc.」によって開発・運営されています。リップルネットワークは、送金を行うユーザーと、ユーザーの資産を保有・管理する「ゲートウェイ」によって構成されています。ゲートウェイはユーザーから資産を預かり、IOU (I owe you= 借りがある)と呼ばれるデジタル借用証書を発行します。IOUは、ゲートウェイに預けた資産を受け取ることができる借用証書であり、預けた資産の所有権を示していると捉えることができます。そしてユーザーは、このIOUをリップルネットワーク上で取引することで資産の所有権を移転します。

たとえば、Aさんがゲートウェイで100万円と引き換えに受け取ったIOUをBさんが購入した場合、BさんはそのIOUの所有権を得て、ゲートウェイから、いつでも100万円を受け取ることができるのです。このようにリップルネットワークにおけるゲートウェイは銀行に近い役割を担っています。そのため既存の枠組みに当てはめやすく、実際に多くの大手国際銀行がリップルと提携を行っています。従来の銀行を通じた国際送金で数日かかっていたことや、送金手数料が高いといった問題に対し、銀行がリップルを利用することで国際送金を即座に、かつ低い手数料で行うことができます。

2. 「ヘルスケア」が変わる

ブロックチェーンの特徴である、改ざんが困難な点を最も生かすことができるのは、文書管理の分野です。特に医療分野では、高い機密性を保ったまま、データを共有し活用することで様々なメリットが得られます。たとえば、カルテなどの医療データは病院ごとに個別に管理していますが、セキュリティを確保した状態で、これらを病院間で共有することが可能になります。オランダの電化製品メーカーのフィリップスは「ブロックチェーン・ヘルスケア・ラボ」を開設し、ヘルスケア用IoT機器から得られたデータを、ブロックチェーン上で共有するための研究を進めています。また東京海上日動も同様に、医療カルテ情報の共有に向け、医療機関と連携しながら実証実験を進めています。この取り組みでは情報共有だけでなく、最終的には、カルテ情報に基づく保険金支払業務の自動化を目指しています。しかし、医療データにアクセスできる範囲が広がることによって利便性が向上する反面、患者にとってはプライバシーの問題が生じます。特に医療に関する分野では、慎重なセキュリティ対策と患者への情報開示が必要です。Google のAI部門であるディープマインドでは、こうしたシステムによる病院が共有する患者に関する医療データに関して、プライバシーが保たれていることや、正確で改ざんされていない状態で保管されていることを保証する、医療データの監査システムを構築しています。

3. 「クラウドソーシング」が変わる

現在、家にいながら仕事ができる、クラウドソーシングが増えています。クラウドソーシングでは、インターネットを通じて、仕事を依頼した人と仕事をこなすために必要なスキルも持っている人がマッチングし、仕事を行います。クラウドソーシングは2009年から本格化し、総務省のデータによると、2017年度で約1,473億円規模とも推定されています。しかし、クラウドソーシングには2つの問題があります。

一つは、仕事の報酬が低いことです。依頼主とワーカーのマッチングは、専用のサービス上で行われ、マッチングすれば、仕事をスタートします。仕事をスタートする前に、報酬の未払いなどの問題が起きないように、サービス運営者が依頼主から報酬金を先に預かります。それを確認してから、ワーカーは仕事をスタートします。そして仕事が成立した際には、サービス運営者への一定の利用料を差し引いた額を、ワーカーへ報酬として渡します。依頼主は利用料を支払う必要があるため、ワーカーへの報酬を少し下げて発注することになります。そのため、直接誰かに依頼する場合に比べて、利用料分だけ報酬が目減りすることになります。二つ目の問題は、評価の不透明性です。誰が誰に評価したかなどは、あくまでサービス運営者が提供しているデータに過ぎないため、誤りや偽りが含まれる可能性もゼロではありません。

ブロックチェーンは、これらの問題を解決できる可能性を持っています。まず、マッチングしてからの先払いは、ブロックチェーン上でスマートコントラクトなどを用いることで自動化が可能です。次に、評価の透明性ですが、誰が誰にどのような評価をしたかをすべてブロックチェーン上に記録することで、誰でも閲覧が可能な状態、かつ改ざんができないため透明性の担保も図れます。また、暗号通貨は数十円から数百円といった少額決済にも向いているので、小さい単位の仕事の発注や、分単位でのコンサル依頼など、これまでできなかった依頼も可能になります。実際に、Faradam というサービスは、分単位の専門家へのコンサルティングを依頼できるサービスで、支払いは暗号通貨で行うことが可能です。ビデオ会話などで相談をスタートするとサービス内のタイマーが起動し、そのタイマーで測った時間分の報酬が、暗号通貨で自動的に支払われるという仕組みです。

クラウドソーシング業界におけるブロックチェーンの活用事例は「【web3業界解説】クラウドソーシング」も参考にしてみて下さい。

4. 「土地登記」が変わる

ブロックチェーンを活用した記録管理は、他にも様々な分野に応用できます。そのひとつが土地登記です。従来、各国政府が担ってきた土地登記は、政府機関で集中的に管理を行っています。しかし、集中的に管理されているため、外部からのハッキングによる改ざんの被害に遭いやすくなってしまいます。そこで、ブロックチェーンを活用することで、改ざんのリスクを大きく減らしつつ、誰もが閲覧可能な透明性を担保することができます。

ガーナやグルジアでは、国家によってブロックチェーン技術が導入されつつあります。アフリカなど発展途上国においては、土地の所有権や境界が曖昧な部分が非常に多く、土地所有権をめぐる争いも頻発しています。例えばガーナでは、実に8割近くの土地が登記されていません。ブロックチェーンの活用によって、土地登記の手間やコストを大幅に削減することで、土地所有権を明確にする狙いがあります。また、スウェーデンでは、スタートアップ企業「ChromaWay」と提携し、ブロックチェーンの土地登記への活用の実証実験に向けて動き出しています。この狙いには登記手続上のミス軽減のほか、土地取引におけるセキュリティ向上を図る意図があります。

5. 「サプライチェーン」が変わる

ブロックチェーン技術により、サプライチェーンは大幅に効率化される可能性があります。サプライチェーンとは、原材料から製品化され、消費者に届くまでの商品やプロダクトの一連の移動を可視化し、管理することです。サプライチェーンは、数多くの事業者が関連するため、100を超える工程を経ることもあります。そのため非常に複雑となっており、各工程が正しく処理されたのかを遡って確認することが困難です。上流工程から離れれば離れるほど、サプライチェーンの透明性は薄れていきます。食品製造元の偽造や、不正な管理方法が発覚したといったニュースも後を絶ちません。ここにブロックチェーンを活用することで、サプライチェーンの問題を解決することができます。

ブロックチェーンは改ざんの恐れなく、透明性も担保したまま取引を記録していくことが可能です。サプライチェーンの各工程(日付、事業者、価格、位置情報、商品の状態など)をブロックチェーンに記録していくことで、プロセスの透明化を図れます。そして、問題が起きた場合には、記録を遡ることができます。

すでにいくつかの活用事例も登場しています。そのひとつがダイヤモンドのサプライチェーンです。皆さんは、紛争ダイヤモンドを知っていますか?これは、ダイヤモンドの産出国において、反政府軍によって採掘されたダイヤモンドのことです。反政府軍は、このダイヤモンドを輸出することで資金を手に入れ、それを元手に武器を購入し、紛争が発展していくという構図です。 そのため、このブラッド・ダイヤモンドの購入を制限する動きが出ており、ダイヤモンドの原石から宝飾品となるまでの一連の取引の中で、そのダイヤモンドがブラッド・ダイヤモンドとは無関係であることを明記し、保障することが義務付けられました。このようにダイヤモンド取引における透明性は、非常に重要です。

ロンドンを本拠地とする Everledger(エヴァーレッジャー)は、ブロックチェーン上でダイヤモンドの取引記録を行うことで、透明性の高い取引を実現します。現在のダイヤモンドの取引は、デジタル化とは程遠く、書類へのハンコやサイン、郵送やファックスなどアナログな業務が大半を占めています。そのため、管理コストがかかるほか、書類の紛失や不正なども起こり得ます。そこで、エバーレッジャーでは、個々のダイヤモンドをスキャンし、それぞれに固有のID を与え、産出国やカラット数などのすべての情報をブロックチェーンに格納しています。これにより原産地から消費者の手に渡るまでを網羅した、取引の全プロセスで透明性を確保できます。さらにこの取引データは、銀行、運送業者、ディーラー、消費者のすべてが各ダイヤモンドの履歴を自由に閲覧できます。また、鑑定書のデジタル化を行なっています。まさにブロックチェーンの改ざんや不正が困難で、かつオープンであるというメリットを生かしたプロジェクトです。今後、同様のスキームがダイヤモンド以外にも広がっていくことが予想されます。実際に、ウォルマートが、中国市場においてIBMと協働し、サプライチェーン管理にブロックチェーンの導入を開始したと報告しています。

金流・商業・物流業界におけるブロックチェーンの活用事例は「【web3業界解説】金流・商業・物流」も参考にしてみて下さい。

さいごに

ここまで、ブロックチェーンの可能性及びその仕組みについて紹介してきました。ブロックチェーンにより、発行者のいないビットコインを始めとする暗号通貨や、これまでの産業構造が大きく改革するプロジェクトが生まれてきています。実際には、多くがまだ実証段階であったり、商用として不十分な点があります。さらに、各種メディアから提供される情報も、ブロックチェーンへの期待をあおったり、逆に実用的でないなど、評価も定まりません。そういった情報に惑わされないためには、ブロックチェーンについて正しく理解し、自分なりに今の社会がどのように変わっていくのかを想像してみるのが良いと思われます。