近年、注目を集めているビットコインやイーサリアム。これらはブロックチェーンを基盤技術に活用したサービスです。ブロックチェーン技術によって、仮想通貨やICO(Initial Coin Offering)、NFT(Non-Fungible Token)などの新しいトレンドが次々と生み出されています。一方でブロックチェーンは、従来の基盤技術の仕組みと考え方が異なり、多くの人にとってなじみの薄いものです。ここでは、そんなブロックチェーンの仕組みや技術、ビジネスへの適用について、3回にわたりご紹介していきます。
第1回目は、ブロックチェーンの構成と仕組みです。


ブロックチェーンとは


「ブロックチェーンとは何か」──。こう聞かれて、端的に答えられる人はそうはいないのではないでしょうか。ビットコインというインターネットで流通するデジタル通貨の出現が世界に衝撃を与え、その基盤技術として開発されたブロックチェーンの知名度は一気に高まりました。

ブロックチェーンは、一定数のデータを「ブロック」という単位でまとめ、それを鎖(チェーン)のようにつないで管理する技術や構造などを指します。特定のデータを変更すると、つながっているデータも変更が必要となるため、データの改ざんは非常に困難です。また、ブロックチェーンによって記録されたデータは、特定の管理主体が存在する中央集権型のシステムとは異なり、複数のコンピューターがそれぞれに分散して情報を保有し、常に同期を取る仕組みを持つことから、一部が停止したり故障したりしても、全体への影響を抑制することが可能となります。

仮想通貨の基盤技術としての活用はもちろん、コンテンツの著作権管理や食品のトレーサビリティーへの活用など、さまざまな分野への適用が進められていますが、この技術が今後何に使われて、将来どのようなビジネスに応用されるのかは、まだまだ未知数です。

このように多くの分野でその活用が期待されているのは、ブロックチェーンが次の3つの特徴を持っているからです。

特徴1:真正性(処理の正しい実行とその記録が正しいこと、またそれを検証できること)
特徴2:可用性(耐故障性)、ビザンチン障害耐性(コンセンサスアルゴリズム)
特徴3:契約の自動実行(スマートコントラクト)

ここからは、ブロックチェーンの仕組みと、これらの特徴がどのように実現されているのかを解説していきます。


ブロックチェーンの構造と処理の流れ


ブロックチェーンには、さまざまな種類があります。大きくは、パブリック型とプライベート型に分けられます。パブリック型とは、誰でも運用に参加できるオープンなもので、特定の管理者がいません。一方、パブリック型ではないブロックチェーンはプライベート型と呼ばれ、特定の管理者あるいは企業連携(コンソーシアム)によって運用が行われるものです。

このような型による区別に加え、耐障害性の程度や合意形成の仕組みの違い、仮想通貨を実装しているかどうかなど、世の中には性質の異なるさまざまな種類のブロックチェーンがあります。

これらさまざまなブロックチェーンが一般的に備えている構造や処理の流れについて、解説します。

ブロックチェーンは、そのネットワークに複数のコンピューター(ここでは、「ピア」と呼びます)が接続された形で構成されます。利用者は、ネットワーク経由で処理を要求し、ブロックチェーンがその処理を実行して記録を残します。要求する処理の単位を「トランザクション」といい、これには比較的小さなサイズの任意の情報が含まれています。

ブロックチェーンがトランザクションを処理する流れについて、「AさんからBさんに1000コインの仮想通貨を送金する」という例を用いて、説明します。

まず、Aさんは、「Bさんに1000コインを送る」というトランザクションを作り、「デジタル署名」をします。作ったトランザクションを、Aさんがブロックチェーンに送信すると、ブロックチェーン内ではトランザクションを受け取ったピアが、それぞれ接続しているピアにトランザクションを転送します。この仕組みにより、すべてのピアにトランザクションが届きます(図1-①:送信・転送)。

各ピアは、受け取ったトランザクションのデジタル署名を検証し、Aさんが所有する1000コインをBさんへ移動します(図1-②:処理)。

各ピアは、処理したトランザクションを、ほかの複数のトランザクションと合わせてブロックとしてまとめ、直前のブロックと「ハッシュ・チェーン構造」でつなぎます(図2-③:ブロック生成)。

この一連の処理は、すべてのピアで多重に実行され、互いに内容が適切なのかを確認して合意された場合に、「AさんからBさんに1000コインの仮想通貨を移動」という同一の内容が、すべてのピアに記録されます(図2-④:合意)。

このような処理を、ブロックチェーンがどのように実現しているのかを解説します。


特徴1:真正性を担保する「デジタル署名」と「ハッシュ・チェーン構造」


各トランザクションには、デジタル署名が付与されています。デジタル署名とは、内容が改ざんされていないことを証明する技術です。ブロックチェーンでは、受け取ったトランザクションが間違いなくその利用者により作られたものなのかどうかを、各ピアでデジタル署名を検証して確認します。そのため、万一どこかのピアでトランザクションの内容が書き換えられても、それが転送された先のピアにより、改ざんが検出され破棄されます。この技術と仕組みにより、ピア間におけるトランザクションの安全な転送を担保しています。

このデジタル署名の性質を最大限に活用することで、ブロックチェーンの応用範囲が広がります。例えば、ひとつのトランザクションに複数のデジタル署名をつけるマルチシグ(マルチシグネチャー)の技術を利用したエスクロー取引や、デジタル署名をしてもすぐにはブロックチェーンに送信しないオフチェーン取引により、高速な少額決済(マイクロペイメント)を実現するライトニングネットワークなどがあります。

次にハッシュ・チェーン構造について、説明します。

ブロックは、各ピアで時系列順に並べて記録されていきます。ここでのポイントは、ひとつ前に記録されたブロックのハッシュ値が、次に記録するブロックの内容に含まれることです。ハッシュ値は、ブロック内のトランザクションデータ(Tx)などから計算された値です。ある「ブロックn」が持つデータから計算されたハッシュ値が、次に記録される「ブロックn+1」に入り、「ブロックnのハッシュ値を含んだブロックn+1」のハッシュ値が、その次に記録される「ブロックn+2」に入る。このように、全体としてハッシュ値でデータをつないでいくのが「ハッシュ・チェーン構造」です。この構造により、すでに記録されているブロックのうち、例えばブロックnの一部が書き換えられる(改ざんされる)と、そのハッシュ値が変わり、ブロックn+1に含まれているハッシュ値と合致しなくなることから、改ざんが検出されます(図3)。

このとき、ハッシュ値の相違をなくそうと、ブロックn+1が持つブロックnのハッシュ値がさらに改ざんされても、今度はブロックn+2に含まれているブロックn+1のハッシュ値と整合しなくなります(図4)。

このように、ハッシュ・チェーン構造は、部分的な改ざんが全体に影響を及ぼす性質をもつため、ブロックチェーンの改ざんを困難にしています。

ここまでの説明からも、ハッシュ値の整合性が鍵となっていることがわかります。そこで、この整合性を保ちつつ改ざんすること、つまり同じハッシュ値を得られるような入力データをブロック内でつくることで、巧妙に改ざんすることができそうですが、それは非常に困難です。ハッシュ値は不可逆なもので、元の入力データを復元できない性質を持つからです。

このことからも、やはりハッシュ・チェーン構造で記録されたデータを改ざんすることは非常に難しいといえます。


特徴2:「可用性」と「ビザンチン障害耐性」の重要性


前述したように、ブロックチェーンは複数のピアで構成されています。ピアは冗長化され、それらすべてが同じデータを持っていることから、たとえ一部のピアが停止しても、残りのピアが処理を継続して実行します。このように、ブロックチェーンは故障に強く、可用性に優れた仕組みを持ちます。

またブロックチェーンのような中央集権型ではない分散型のシステムでは、万一、一部のピアで記録が改ざんされたり不審な動作が行われたりした場合でも、それらの影響をシステムの全体に及ぼさせないことが重要です。このとき、システム全体で記録や動作について正しい合意を形成できる性質を、一般に「ビザンチン障害耐性(BFT:Byzantine Fault Tolerance)」といい、それを実現するためにさまざまなコンセンサスアルゴリズム(合意形成する方法)が開発されています。BFTは、ブロックチェーンを分類する上で、非常に重要な要素の一つです。BFTを実現しているか、それはどのような条件で成立するのか、その実現により犠牲となるものは何かなどを整理することで、それぞれのブロックチェーンの特徴や適切な応用などが見えてきます。

例えば、パブリック型のブロックチェーンの代表格であるビットコインでは、プルーフオブワーク(PoW:Proof of Work)の方式で、BFTを実現しているといわれています。また、東芝デジタルソリューションズが開発しているブロックチェーンは、多数決をベースとしたコンセンサスアルゴリズムを用いてBFTを実現しています。

※当社のブロックチェーンは、連載第2回で詳しくご紹介します。


特徴3:ブロックチェーンを進化させた契約の自動実行(スマートコントラクト)


初期のブロックチェーンは、仮想通貨の送受信に特化していましたが、イーサリアムによるスマートコントラクトの登場で、その適用範囲は大きく広がりました。

スマートコントラクトとは、ブロックチェーン上で自動的に「契約」を締結して実行する仕組みです。実体はブロックチェーンに記録されたプログラムで、トランザクションを処理する際に呼び出され、処理の具体的な内容を決定します。この仕組みにより、スマートコントラクトは「プログラムで記述した契約」と考えられ、その実行は、「契約」が締結されたことを意味します。この実行の記録はブロックチェーンに保管されるため、真正性も担保されます。これらにより、スマートコントラクトは、仮想世界において信頼性の高い「契約の締結と記録」を伴う自動取引として、安心して活用できる仕組みだといえるのです。

スマートコントラクトを活用した、ICO(Initial Coin Offering)という資金調達の手法や、NFT(Non-Fungible Token)というデジタル資産の取引などが次々と実用化され、新しいトレンドになっています。既存のサービスへの活用も、期待されています。


まとめ


ブロックチェーンには、真正性や可用性、ビザンチン障害耐性、契約の自動実行といったデータを取り扱う上で有効な特徴が多くあります。ブロックチェーンのこれらの特徴を生かすことで、デジタル社会に新しい価値観をもたらすビジネスへの活用が期待されています。

連載第1回目の今回は、一般的なブロックチェーンについて、従来のシステムと異なる考え方を中心に解説しました。次回は、東芝デジタルソリューションズが開発している独自のブロックチェーンについて、ご紹介します。ご期待ください。

遠藤 浩太郎(Endo Kotaro)

東芝デジタルソリューションズ株式会社
ソフトウェアシステム技術開発センター コアテクノロジー開発部 エキスパート


東芝に入社後、産業用コンピューターの基本ソフトウェア開発や、サーバーのクラスター技術の研究開発に従事。さまざまな新しい技術の研究開発を経て、現在はブロックチェーンおよび量子インスパイアード最適化ソルバーSQBM+の技術開発に取り組んでいる。

  • この記事に掲載の、社名、部署名、役職名などは、2022年3月現在のものです。

Vol.39記事