どのようにして独立したコンピュータを集団化するか(ステップ4)

”どのようにして独立したコンピュータを集団化するか”

(原題:How to herd a group of independent computers)

Daniel Drescher(注1)

Frankfurt am Main, Germany

前の2つのステップでは、一般的なブロックチェーンの目的を示し、純粋な分散型P2Pシステムの重要性を強調しました。実は、分散型システムでの”完全性”の維持は、ブロックチェーンの主な目的である事でした。しかし、なぜ分散型システムと、純粋な分散型P2Pシステムで完全性を維持するのが大きな課題となるのでしょうか。そこで、このステップでは、純粋な分散型P2Pシステムの信頼性と完全性との間にある微妙な関係を明らかにする事によって、上記の疑問について考えて答えます。あなたがこのステップを読み終える頃には、完全性の重要性についての理解を深め、ブロックチェーンによって解決されるべき大きな問題を理解する事が出来るでしょう。最後に、このステップでは、ブロックチェーンがどのような環境であれば最も価値を発揮できるのか説明します。

メタファー

多くの言語には、「混沌とした個人の集まりを、グループとして一括りにする状況」を説明するための諺があります。例えば、英語では、「中央の権威を受け入れない」、「あるいは認識することのない」、「頑強で扱いにくい」ような動物群を群集する”難しさ” を意味する言葉として、”猫を群れさせる”という言葉が存在します。「中央の権威を受け入れない、あるいは認識しない個人の集まりを組織しようとする難しさ」に関して、何か引っかかる事がありませんか?ーーそうです。純粋な分散型P2Pシステムの事です。純粋な分散型P2Pシステムは、中央組織による制御、又は調整を一切持たない個々のノードと、独立したノードで構成されています。そこで、この手順では、純粋に分散されたP2Pシステムの大きな問題と、それがブロックチェーンにどのように関係するかを説明します。

P2Pシステムにおける「信頼性」と「完全性」

「信頼性」と「完全性」は、コインの両面です。 ソフトウェア・システムの文脈において、「完全性」とは、安全で、完全で、一貫性があり、正確で誤りが無いというのが、システムの非機能的な側面となります。また、信頼とは、人間が持てる深い信頼性、真実の現れであり、証拠や調査なしで証明されるものでなくてはならない「確信」のようなものです。 端的に言えば、信頼とは、事前に与えられているもので、継続的に人間同士がやり取りを行なっていく事で増減して行く事がわかるでしょう。

ピアツーピアシステムに関して言えば、人々がシステムを信頼し、継続的にシステムを使う結果、人々がシステムに対する信頼性を認識し強化するならば、そのシステムに更なる人々が参加してシステムの向上に貢献し続けることを意味します。つまり、システムの完全性こそが、ユーザの期待に応え、システムに対する信頼を強化する為に必要なのです。

完全性が欠如している事から、ユーザーによる信頼性がシステムによって強化されていない場合、ユーザーはシステムを使わなくなってしまい、最終的にシステムを終了させます。P2Pシステムにおける信頼性の重要性を考えると、ここで大きな疑問が湧きます。それは、純粋な分散型P2Pシステムにおいて、どのようにして整合性を達成し、維持するのか?という事です。

純粋な分散型システムにおける完全性を達成し維持する事は、様々な要因によりますが、最も重要なものは次のとおりです。

  • ノードとピアの数に関する知識
  • ピアの信頼性に関する知識

分散型P2Pシステムで完全性を達成できる確率は、システムに参加しているノードの数、及び信頼性がわかる場合は高くなります。この状況は、あるクラブのメンバーの一人ひとりが高い道徳観を持っており、そのクラブに新しいメンバーを入れる際も、厳しい審査基準を利用している様な状況です。しかし、分散型P2Pシステムで完全性を達成する際に考えられる最悪の状況は、ノードの数とその信頼性が不明な場合です。言い換えれば、全員に公開されている純粋な分散型P2Pシステムをインターネット上で実行する場合です。

P2Pシステムにおける完全性に対する脅威

問題を簡略化するために、P2Pシステムにおける、完全性に対する2つの脅威を考えてみましょう。

  • テクニカルなエラー
  • 悪意のあるピア

テクニカルなエラー

P2Pシステムは、ネットワークを介して通信するユーザの個々のコンピュータで構成されます。 コンピュータシステムのすべてのハードウェア、ソフトウェアコンポーネント、及びコンピュータネットワークのコンポーネントには、エラーの発生リスクがあります。 言い換えると、どの分散型システムも、コンポーネントにエラーが発生したり、間違った処理をする可能性があるという問題があるという事です。

悪意のあるピア

悪意のあるピアは、P2Pシステムにおける2番目の完全性の脅威です。 信頼に関わる問題の原因は、技術的な問題ではなく、自らの目的のためにシステムを悪用しようとする個人によって引き起こされる問題です。 この脅威は、技術よりも社会学と集団動態に関連していると言えるでしょう。善良なピアのように仮面を被る悪意のあるピアは、P2Pシステムの基礎、すなわち「ネットワークの信頼性」を攻撃するため、P2Pシステムにとって最も深刻な脅威となります。ユーザーがもはやピアを信頼できなくなると、ネットワークから離れ、P2Pシステムへ計算リソースの寄与を停止します。 これが悪循環を生み出し、更にメンバーの数は減少し、システム全体が残されたピアにとってあまり魅力的にならなくなり、最終的にはピアから完全に放棄されるシステムの低下を加速することになります。

ブロックチェーンによって解決されるべき主要な問題

何もかも最高の状態で整ったシステムで完全性と信頼性を達成するのは簡単です。ですが、 実際の課題は、全ての条件が最悪の場合に、”どのようにして分散システムで完全性と信頼性を達成するのか”という事です。 実は、そのままブロックチェーンが解決しようとしている問題となります。 つまり、ブロックチェーンによって解決されるべき中心的な問題は、ピアの全体数が定かでは無い純粋な分散型P2Pシステムにおいて、完全性を達成し、維持する事です。実はこれは長い間、問題視されてきました。それは実際にコンピュータ科学のよく知られて広く議論されています。 軍の指令系統の伝達に喩えられ、一般的に、ビザンチン将軍問題として知られています。

補足

ブロックチェーンによって解決されるべき問題は、ピアの全体数が不明な純粋な分散型P2Pシステムにおいて完全性、及び信頼を達成し、維持することである。

今後の見通し

このステップでは、P2Pシステムにおける完全性と信頼の重要性を強調しました。さらに、このステップは、ブロックチェーンによって解決されるべき重要な問題を指摘し、P2Pシステムにおける完全性と信頼を達成する事の。ただし、まだブロックチェーンという用語の定義はまされておりません。それは、次のステップで取り上げます。

まとめ

  • 完全性と信頼は、P2Pシステムの大きな課題です。

  • P2Pネットワークの参加者は、P2Pシステムを信頼し、継続的にシステムとやりとりします。そのやり取りの結果、システムが信頼出来るものであると判断した場合、P2Pシステムに参加し続けます。
  • P2Pシステムの参加者が、参加しているP2Pシステムへの信頼を失うと、それを放棄し、システムは存続できなくなります。
  • P2Pシステムにおける主な完全性への脅威は次のとおりです。
    1. テクニカルなエラー
    2. 悪意のあるピア

  • ピアツーピアシステムにおける完全性の達成は、
    1. ピアの数に関する知識
    2. ピアの信頼性に関する知識

  • ブロックチェーンによって解決されるべき主な問題は、全体数が不明なピアから構成される、純粋な分散型P2Pシステムで完全性と信頼を達成し維持することです。

注釈

(注1).Lamport, Leslie, Robert Shostak, and Marshall Pease. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems (TOPLAS) 4.3 (1982): 382–401.

原文について

以上の文章は、Blockchain Basics: A Non-Technical Introduction in 25 Steps 1st ed. Editionの非公式翻訳です。この本は、Daniel Drescher氏によって著され、ノン・テクニカルな読者であってもブロックチェーンに関する理解が深まる本として注目を集めています。

原作をお買い求めの場合は、こちらのページからご利用下さい。(米国Amazonの商品ページに飛びます。)