ブロックチェーンゲーム制作チェーン -Minimal Arcade Medal-

ブロックチェーン技術、ゲーム作成のためのコード、ドット絵やアニメーションの作り方を解説するブログです。最終的に記事の内容を組み合わせることで誰でもブロックチェーンゲームが作れるようにしたいです。Micro Arcade MedalというdApps開発中です。

ブロックチェーンは何のためにあるのか

ブロックチェーンのことをぼんやりとしか把握していなかったので
ブロックチェーンについて調べてみました。


調べた内容をできるだけわかりやすく書きます。
今回はブロックチェーンの目的についてです。


そもそもブロックチェーンとは何なのかという疑問が浮かぶ根幹には、
ブロックチェーンという言葉が多様な使われ方をされているという事実があります。


データ構造として、アルゴリズムとして、それらを合わせたシステム全体として。


言葉の正確な定義は他の記事に一旦委ねます。
なぜならこの記事ではその目的に注目したいからです。


どのようにしてその目的を達成しているのかといった技術的な内容も別の記事に任せます。


ここでは暫定的にブロックチェーン分散型P2Pシステムであるとします。
そしてそのシステムは、順番に連結されたデータブロックの中身を協議、決定、保存します。


単純に「改ざんのできないデータベース」と捉えても良いと思います。


そのようなシステムは何のためにあるのでしょうか。


結論から述べると、ブロックチェーンP2Pシステムを信用たり得るものにするためにあります。


上記を理解するため、P2Pシステムは何かという点をまず説明します。

ブロックチェーンは分散型P2Pシステムである。


P2P(Peer-to-Peer)は特殊な分散型システムです。


そもそも分散型システムとは何なのでしょうか。

分散型システムとは


システムとは自身を構成するコンポーネント(部品)同士で相互に情報のやり取りを行うことで目的を達成するものです。


分散型というのはそのネットワークのアーキテクチャ(構成)
つまり部品同士の繋がり方のことを言います。


分散型アーキテクチャを採用しているシステムでは各部品同士が互いに接続し合う形で構成されており、管理や調整を行う中央コンポーネントはありません。


ちなみに中央コンポーネントがある場合は集中型と呼ばれます。


大概のWebサイト、アプリはサーバークライアントシステムで構築されており、それは集中型アーキテクチャです。


集中型ではサーバーが全てのクライアントからのリクエストに応じてデータを渡しているわけなのですが、
分散型ではクライアント同士で直接データの受け渡しをしています。

P2Pとは


P2Pはその分散型システムの特殊な形です。


システムにおける各コンポーネントはノードとも呼ばれるのですが、P2Pの文脈ではシステムを動かすための個々のコンピューターを指しています。


そしてそのノードの計算能力(cpuやストレージ)を全部合わせてブロックチェーンという巨大なシステムを動かしています。


P2Pネットワークはユーザーのコンピューターを分散システム全体を構成するノードに変えています。


それらのノードは自らのリソースを供給すると同時に消費しています。
また、それぞれのノードは権利や役割が同じです。


そして規模が拡大するほどシステムは大きく強力なものになります。


上記を理解するのには、実例を見るのが早いです。


ブロックチェーンを採用し成功したプロジェクトの一つにGolemがあります。


Officialサイトへのリンクはこちらです。


golem.network


3Dレンダリングなどの高度な計算処理を行うために、サービス利用コンピューターである各ノードからリソースを借りてます。


利用者はそのための計算能力を供給する存在でもあり、その計算能力を利用する存在でもあります。
また、そのネットワークに属する誰もが平等にその機能にアクセスできる権利を持っています。


ここで一旦整理します。


GolemはP2Pシステムでありエンドユーザーが3Dレンダリングなどの高度な演算処理を行うために利用するアプリケーションです。
一般的にこのようなアプリケーションはDapps(decentralized Apllication)と呼ばれています。


ブロックチェーンP2Pシステムであり、そのようなアプリケーションに利用される立場にあります。


ブロックチェーンを使う目的はdAppsを安定・安全稼働させたいからです。
つまりブロックチェーンは目的を達成するための手段です。


ここはごちゃごちゃになりやすいです。



P2Pシステムは中央管理者を省くことができるので、仲介業者を排除できます。


P2Pシステムで有名なのはNapsterです。


us.napster.com


レコード会社という中央的な機関を排除し、
音楽業界を変えたといっても過言ではないです。

P2Pシステムが抱える問題を解決するブロックチェーン


GolemのようなdAppsは非中央的なP2Pアプリケーションです。
スペックの低いPCでも3Dレンダリングなどを達成できるようにします。


そのようなアプリケーションを作る上で解決しないといけない課題は、
一つの目的を達成するために、独立したノードに言うことを聞かせないといけないということです。


このことをピラミッド作りの比喩で例えます。


リーダーのいない状態でピラミッドを作るのは不可能に思えます。


なぜなら合意を形成するのが難しいからです。


ピラミッド作り募集の張り紙を見て、様々なバックグラウンドを持ったメンバーが集まります。


リーダーがいる場合、この順序で石を積み上げて行こうなどといった方針をメンバーに伝えて共同作業ができます。


リーダーがいないと、何をどう始めるのかといったことすら決まらないでしょう。


悪意のあるメンバーがグループを混乱に導いて、プロジェクトを破綻させることは容易です。


このカオスな状況において互いを信頼して合意を形成する方法がブロックチェーンアルゴリズムです。


改ざんできないデータベースはメンバー間で協議され決定されたデータのみを事実として保存します。


例えば、ビットコインは仮想通貨の送金システムですが、仮想通貨はデジタル情報にすぎないので簡単にコピペできます。
また、誰が所有しているのかといった情報も書き換えられる可能性があります。


このリスクを回避するために、ブロックチェーンが使われています。


コピペしてお金が誰かのウォレットに増えていたら、取引の事実情報を参照して論理的におかしいので不正であると判断できます。


ブロックチェーンを使うことでP2Pシステムが抱えてる信用・信頼問題を解決でき、
音楽業界のように金融業界や保険業界など信用を扱う業界の構造を大きく変化させる可能性があります。


そのためそのような信頼を扱う業界からの注目が大きいです。


まとめ
ブロックチェーンの目的はP2Pシステムの安定・安全稼働


どのようにそれを達成しているのかは今後記事にしようと思っています。


読んでいただきありがとうございました。
間違っている箇所などがあればご指摘ください。


参考書籍:徹底理解ブロックチェーン ゼロから着実にわかる次世代技術の原則