検索
ニュース

ブロックチェーンにまつわる5つの誤解安全でなさそう、難しそう……が間違いといえる理由

ブロックチェーン開発については、暗号通貨コミュニティーから伝えられること以上に多くことがある。本稿では、ブロックチェーンに関してよく耳にする5つの誤解を解消する。

Share
Tweet
LINE
Hatena

 企業はブロックチェーンテクノロジーに多額の費用を投じている。だが、ブロックチェーンテクノロジーに対する幾つかの根強い誤解によって、迅速な導入が妨げられている。本稿では、次の5つの誤解について検討し、それが真実ではない理由を明らかにする。

  1. ブロックチェーンは自由に使えるため安全ではない
  2. ブロックチェーンではプライバシーが守られない
  3. ブロックチェーンは暗号通貨や暗号通貨の投機にしか役立たない
  4. ブロックチェーンは反政府的
  5. ブロックチェーンのプログラミングはメインストリームの開発者には難し過ぎる

1.ブロックチェーンは自由に使えるため安全ではない

 ブロックチェーンでは、多くの方法でセキュリティが確保される。

 何よりもまず、ブロックチェーンに追加されたデータは変更できない。ブロックチェーンのブロックは変更不可だ。可能性は極めて低いが、もしもブロックチェーン上の既存データが変更されると、ブロックチェーン全体が破損し、無効と見なされる。

 また、ブロックチェーンへのデータの追加は複雑な作業でもある。特定のブロックを追加するには、ブロックチェーンネットワークに参加するコンピュータ(ノード)の大多数がその追加に同意しなければならない。マイナー(別称、バリデータ)と呼ばれるコンピューティングノードがブロックを検証し、その後ネットワーク上の他のノードがその検証に同意する。忘れてはならないのは、ブロックチェーンネットワークは数千には満たないものの数百のノードで構成されることだ。

 マイナーは、ブロックチェーンにデータを追加することで報酬を得る。ブロックチェーンに参加するためには、マイナーの側でも多額の投資が必要だ。こうした投資に最も多く使われる手法が「PoW」(Proof of Work)と「PoS」(Proof of Stake)の2つだ。

  • PoWとは、ブロックチェーンに追加するブロックを検証して形成する最初のエンティティになるために、マイナーが大量のコンピューティング能力を投じる手法を指す
  • PoSとは、データを検証してブロックチェーンに追加し、それに応じた報酬を得るために、前もって資金を投入することを意味する。 マイナーが間違いを犯したり、システムをハッキングすると、そのマイナーはそれまでに行った投資を失うことになる

 論理的に考えれば、ノードとブロックチェーンの検証に参加するために事前に多額の資金を投じているマイナーがシステムのハッキングを試みてその投機を危険にさらすことはない。

 ある当事者が別の当事者に特定のブロックチェーンへのアクセス権や権限を付与することでセキュリティが保たれているのではないことを理解することが重要だ。むしろ、アクセス権と検証は、本質的に数学的性質を備えるプロセスによって定められる原則と慣行に従って付与される。

2.ブロックチェーンではプライバシーが守られない

 全てのブロックチェーンはピアツーピアの分散アーキテクチャの下で機能する。ただし、特定の組織やユーザーグループ向けにプライベートなブロックチェーンを作成することも可能だ。

 ブロックチェーンテクノロジーの核となる原理は、ブロックチェーンネットワーク上の全てのノードが同じデータを保有し、新たなノードを追加する際には全てのノードが協調して機能する。ブロックチェーンネットワークのいずれかのノードがダウンしても、ブロックチェーン全体はその影響を受けない。

 とはいえ、全てのブロックチェーンをパブリックにしなければならないというルールはない。パブリックに公開されるブロックチェーンもあれば、公開されないブロックチェーンもある。プライベートなブロックチェーンは許可型ブロックチェーンとも呼ばれる。その一例が「Corda」だ。

 また、個人のプライバシーも重要だ。「Bitcoin」や「Ethereum」などの著名なブロックチェーンは、16進数値で表現されるアドレスでしかユーザーを識別しない。ブロックチェーンのトランザクションの中には個人を特定できる情報(PII)は格納されない。

 重要なのは、ブロックチェーンをプライベートにもパブリックにもできることだ。いずれにするかは、ブロックチェーンの使用目的と構成によって決まる。

3.ブロックチェーンは暗号通貨や暗号通貨の投機にしか役立たない

 ブロックチェーンは暗号通貨の基盤となっている。そのため、ブロックチェーンは暗号通貨の観点でのみ考えられることが多い。暗号通貨への投機や操作によって財産が大幅に増減することがメディアで大きく取り上げられたことを考えれば、それも理解できる。

 ただし、ブロックチェーンには、暗号通貨をサポートするプラットフォームとしての用途以外にも多くの用途がある。

 ブロックチェーンは、基本的にはデータストレージメカニズムだ。さらに、次の2つの関連テクノロジーの導入により、実用的なアプリケーションプラットフォームにもなっている。

  • 非代替性トークン(NFT):ブロックチェーンに格納される特定種類のデータ構造
  • スマートコントラクト:ブロックチェーンに格納され実行されるロジックを作成する方法を提供

 この2つのテクノロジーにより、暗号通貨の操作にとどまらない非常に多くのユースケースが生まれる。事実、ブロックチェーンが分散型データベースであることを表現する目的で、分散型台帳テクノロジーという用語が使われている。

 分散型台帳テクノロジーは、サプライチェーン管理、分散金融アプリケーション、マーケティングプログラム、ゲーム、自動車管理など、さまざまなアクティビティーに使用されている。

4.ブロックチェーンは反政府的

 初期におけるブロックチェーンの用途の一つは、政府の管轄下にない通貨(ビットコインなど)を作成することだった。だが、最近では、多くの政府や行政機関が独自の目的でブロックチェーンテクノロジーを試し、支援している。

 米国カリフォルニア州陸運局(DMV:Department of Motor Vehicles)は、車の権利をプライベートNFTベースのブロックチェーンで管理するプロジェクトを実験している。2020年には、米国食品医薬品局(FDA:Food and Drug Administration)が、KPMG、IBM、Walmartと共同で、米国内で処方薬とワクチンを特定、追跡、管理することを目的にブロックチェーンを使用するパイロットプログラムを立ち上げている。

 ブロックチェーンに関心を寄せているのは米国政府だけではない。2019年には、ドイツ政府が包括的なブロックチェーン戦略を発表し、管理や行政の活動にブロックチェーンを活用する道を切り開いている。また、シンガポール金融管理庁は、商業活動や行政活動にブロックチェーンテクノロジーを活用することを奨励している。

 民間でも公共部門でも、ブロックチェーンテクノロジーには多種多様な用途がある。ブロックチェーンの支持者の中には反政府的な考えを持つ人もいるかもしれないが、テクノロジー自体には反政府的な要素はない。

5.ブロックチェーンのプログラミングはメインストリームの開発者には難し過ぎる

 プログラマーが学習しないで会得できるエンタープライズソフトウェアフレームワークを見つけるのは難しい。例えば、「Kubernetes」の専門知識を育成するには数カ月から数年かかる。Javaプログラミング向けの人気の高いフレームワーク「Spring」は、1週間で学べるものではない。Meta Platformsとコミュニティーが開発するクライアント側Webプログラミングフレームワーク「React」も多くの学習を必要とする。

 ブロックチェーンのプログラミングにも学習が必要になる。だが、その仕組みを理解するのは比較的簡単だ。

 ブロックチェーンのプログラミングで核となるのがスマートコントラクトだ。イーサリアム仮想マシン(EVM:Ethereum Virtual Machines)互換のブロックチェーンで実行されるスマートコントラクトは、プログラミング言語「Solidity」で記述するのが一般的だ。Solidityにはオブジェクト指向の特質が数多く取り入れられているため、「Java」「C#」「TypeScript」を理解していれば取り付きやすい。

 「Solana」ブロックチェーンのスマートコントラクトは「Rust」「C」「C++」「Python」で記述できる。「EOS」ブロックチェーンのスマートコントラクトは「C++」での作成をサポートする。他のブロックチェーンでもスマートコントラクトの作成をサポートする。

 ブロックチェーンプラットフォーム各社は開発者の採用を希望しており、開発者の生産性を可能な限り簡単に高められるよう努めている。多くのブロックチェーンプラットフォームは既存の言語を利用している。EVM互換のブロックチェーン用プログラミング言語Solidityのような特殊な言語が使われる場合もあるが、そうした言語が導入の障害になると見なすべきではない。

 どのブロックチェーンプラットフォームを選ぶとしても、開発者はそのブロックチェーンの仕組みと管理方法を理解しなければならない。その上で、コーディングに必要な専門知識を身に付けることになる。そのためには、ブロックチェーンのプログラミングを学習する必要がある。メインストリームの開発者には新たなプログラミング言語の習得は面倒かもしれないとしてもだ。

 ブロックチェーンはあらゆることに役立つわけではない。だが、商用や政府機関の状況の多くにとって実用的なプラットフォームだ。ブロックチェーンテクノロジーの導入を検討するに当たって重要なのは、虚構に基づく認識ではなく、事実に即した情報に基づいて判断することだ。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る