読者です 読者をやめる 読者になる 読者になる

ブロックチェーン技術ブログ

ブロックチェーン技術専門企業、コンセンサス・ベイスの代表によるビットコインなど暗号通貨やブロックチェーン技術のブログ

「ブロックチェーン」とは? 意味や定義の変遷

ブロックチェーンとは、どういう意味、定義でしょうか?

おそらく現状書かれている殆どのブロックチェーンの説明は、正確でない状況になっているのではないかと考えています。

ブロックチェーン業界内でも、ブロックチェーンが何を意味するのか明確に定義されていないように思います。
ブロックチェーン業界の常識は数ヶ月で変わることが多いですし、ブロックチェーンの定義は、ここ数年で2回は変わったと個人的には捉えています。なので、今まで書かれてきた「ブロックチェーンとは何か?」の説明は、最新の状況と合っていない場合がほとんどです。

なので、私なりの定義の変遷と最新のブロックチェーンの意味、定義を説明していきたいと思います。

注意)

  • 世界的に明確な定義は決まっていないと思われるので、あくまで私個人の見解です。
  • 今のところブロックチェーンとは何かを知っている、または詳しい人向けに書いてます。
  • そもそも、ブロックチェーンとはどういう意味なのかを知りたい方は、こちらを参考に。ただ、これもビットコインのブロックチェーンをメインに解説しているので、一部しか説明していません。
  • わかりやすいブロックチェーン(blockchain)とは何か? の説明 - Qiita
  • 「ブロックチェーン・テクノロジー」という言葉の定義は、また別の定義になり、今回触れません。

ブロックチェーンの定義

結論である定義から書きます。

現在、ブロックチェーンと言われる場合、大体以下のどれかの定義に当てはまるでしょう。 基本的に、Rippleなどのレジャー系はどのブロックチェーンの定義にも含まれないです。

1. ビットコインのブロックチェーン

ビットコインのブロックチェーンのみを指す。

2. 様々なブロックチェーン全般

ビットコイン、Altcoins、Ethereum等のビットコイン以外のブロックチェーンを指す。
許可型ブロックチェーン含まれると思われる。

3. データベースとしてのブロックチェーンとそれに関連する技術(コンセンサス・アルゴリズム)

データベースとしてのブロックチェーンに加え、関連するPoW, PoSなどのコンセンサス・アルゴリズムなどの仕組みや、非中央集権の特徴を含める。

4. データをブロックにまとめ、チェーン上に繋げたデータベース全般

ビットコイン、Altcoins、Ethereum等のビットコイン以外のブロックチェーンを指す。 許可型ブロックチェーンを含む。

ブロックチェーンの意味の変遷

ビットコインのみの時代 (2008年〜)

ビットコインしか存在しなかった時には、ブロックチェーンと言えば、ビットコインのブロックチェーンを指しました。今でも、the blockchain という場合、通常ビットコインのブロックチェーンを指します。 そして、ビットコインのブロックチェーンの特徴である、P2Pネットワークや、プルーフ・オブ・ワーク(Proof of Work)など関連するものも、ブロックチェーンの意味の中に含めて説明されている場合が多いです。

Ethereumなどビットコインのブロックチェーン以外が出てきた時代 (2013-2014年〜)

ビットコイン以外のブロックチェーンの実装(altcoins以外)が出てきてからは、ブロックチェーンと言っても、どのブロックチェーンなのかを明確に言わないと、わからない場合が出てきました。 Ethereumでは、記録するのは取引履歴だけではなく、プログラム、データも含むので、「ブロックチェーンは、取引記録を保存するもの」という表現は、この定義では合っていないことになります。 この時点のブロックチェーンは、公開型で、潰しにくい仕組み、というのは共通していたと思います。

許可型(Permissoned) ブロックチェーン時代 (2015年〜)

許可型ブロックチェーンの時代では、PoWのようなコンセンサス・アルゴリズムが必要なかったり、限られた数のノードでブロックの承認を行う場合もあります。非中央集権型(Decentralized)でもなく、検閲にも強い(censorship resistant)わけではありません。ブロックチェーンと言えば、非中央集権型というイメージからすると、ブロックチェーンではないような印象を受けます。

許可型ブロックチェーンやプライベート・ブロックチェーンが、ブロックチェーンの定義に入る場合

  • 「ブロックチェーンは、中央の管理者がいない、中央集権ではない」という表現は、正しくない
  • 「ブロックチェーンは、全ての人に公開されているデータベースだ。」という表現は、正しくない

許可型ブロックチェーンは、ブロックチェーンではないという主張もありますし、分散型データベースと呼ぶべきという主張もあります。 現時点では、議論中であり人々の間で合意が取れているように見えません。

その他の論点

変更不可能(immutable)であることは、ブロックチェーンの必須条件か?

海外の掲示板などでは、データを保存して変更可能なものは、ブロックチェーンではない、という主張をする方もいます。 ブロックチェーンの特徴として、「一度データが、ブロックチェーンに書き込まれたら、そのデータは変更できない」という説明を見聞きしたことがあるかと思います。

細かいことを言うと、書き込まれたデータが覆される場合もあります。 P2Pネットワーク上に沢山コンピュータがあり、それぞれのブロックチェーンの最新データは一致しないことがあります。どの状態をブロックチェーンに保存されたと言うのか、というP2Pならではの難しい問題があります。 そして、ブロックチェーン運営側(注1)がおかしいと思った場合、ブロックチェーンは巻き戻されることは実際にあります。51%攻撃をくらって、フォークしたブロックチェーンを、チェックポイントを置いてデータをある時点まで戻す、などです。この場合、書き込まれたデータは無効(本流のブロックチェーンではなくなる)になります。例えば、EthereumのFrontierの期間は、問題が起きた場合に元に戻すことを前提としています。

注1) 運営・管理主体がいないと言われるブロックチェーンですが、実際には開発チームがブロックチェーンを元に戻すこともあります。

許可型ブロックチェーンでは、運営側がブロックチェーンのデータを変更する可能性はより高いと思います。

コンセンサス・アルゴリズムは、ブロックチェーンの定義に入るのか?

  • PoW, PoSのような分散型コンセンサス・アルゴリズムは、基本的にパブリックなP2Pネットワーク上で必要になります。P2Pネットワーク上では、シビル攻撃が可能だからです。
  • シビル攻撃がない許可型ブロックチェーンの場合は、PoW,PoSのようなコストの高く、遅いコンセンサス・アルゴリズムは不要で、既存のビザンティン・フォールト・トレラント(BFT)なアルゴリズムで十分です。BFTを使っている分散データベースをブロックチェーンと呼んでいいのかは、まだ議論がわかれるところです。

個人的な意見では、コンセンサス・アルゴリズムは、ブロックチェーンの定義からはずすようにしています。

P2Pであることは、ブロックチェーンに必須か?

現状、P2Pを前提にしていない実装はないように思います。
P2Pを前提にしておらず、ブロックチェーンと呼ばれる実装がありましたら、お知らせ下さい。

英語表記でのブレ

以下の2つのパターンがあります。

  • blockchain (オライリーの本「Blockchain」など)
  • block chain (大学のオンラインコースなど)

その他

その他、以下の項目は定義で関連しそうですが、また時間がある時に説明します。

  • ブロックチェーンとレジャーの違いと定義。Rippleはなぜ、どうブロックチェーンではないのか?
  • CBC: cypher block chainingとの関連性は?
  • ブロックチェーンではなく、ブロックチェーン技術が意味するところは?

個人的な定義

私個人は、ブロックを鎖状に繋げたデータベースという定義で「ブロックチェーン」という言葉を利用することが多いです。なので、PoWやPoSを利用せず、既存のコンセンサス・アルゴリズムを使ったプライベートチェーンも、ブロックチェーンと呼びます。できるだけ多くの人が賛同できる最小限な意味で、「ブロックチェーン」という言葉を利用しています。基本的には、変更可能性やコンセンサス・アルゴリズムは、ブロックチェーンの定義に含めていません。

感想

数ヶ月後にブロックチェーンの意味がどう変わるのかの予想は全くつきませんし、上記の説明が古くなる可能性はあります。

許可型ブロックチェーンが出てきてから、ブロックチェーン技術は、既存のデータベースや分散型コンセンサス・アルゴリズムに近づいてきて、違いや定義が難しくなってきています。逆に既存のデータベースもブロックチェーン側の技術取り込む可能性もあるのかなと思うと、今後非常に色々な可能性が出てくるのではないか、と考えています。

時間のある時に、これも一部で話題になっているデータベース技術という視点から見たブロックチェーン技術(MVCC、マルチマスタ・データベース・レプリケーション)について書きたいなと考えています。