ブロックチェーンの仕組みを徹底解剖!

shutterstock_403991497
The following two tabs change content below.
ITプロパートナーズ 代表エージェント 木村 直人

ITプロパートナーズ 代表エージェント 木村 直人

「すべらない起業論」編集長であり、エンジニアの起業・独立・フリーランス支援のプロエージェント。大手損害保険会社を経て、I&G Partners(現アトラエ)入社。成功報酬型求人サイト「Green」の立ち上げから関わる。その後、「IT起業家・フリーランスの自立を支える」というビジョンの元、「週2日からの業務委託案件を紹介する、ITプロパートナーズ」を立ち上げる。 ■BestVenture100に創業初年度で選出 ■取材記事:自立する覚悟が、働き方を変える
ITプロパートナーズ 代表エージェント 木村 直人

最新記事 by ITプロパートナーズ 代表エージェント 木村 直人 (全て見る)

こんにちは。

ITエンジニア・webディレクター・webデザイナーなどのIT人材の自立・キャリアを支援するITプロパートナーズの木村です。

弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。

こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。

ブロックチェーンという単語は知っているけれど、その具体的な仕組みについて説明できない、という方が多いのはないのでしょうか。

その理屈自体はとってもシンプルなのですが、仕組み自体は奥深いものになっています。

今回は、そんなブロックチェーンの仕組みを徹底解説いたします。

ブロックチェーンの仕組み

Fotolia_101960875_Subscription_Monthly_M-min

ブロックチェーン概要

ブロックチェーンといえばビットコインなどの仮想通貨をイメージする方が多いかと思います。

その認識は大正解です。

ブロックチェーンはビットコインのために作られたデータベース技術を原型とするテクノロジーです。

たまに仮想通貨ビットコインはブロックチェーンの技術に元づいて実現された、と解説されることも多いですが、ブロックチェーンというアイデアより先に、ビットコインというアイデアがあったという訳です。

卵が先か鶏が先かの議論のように聞こえるかもしれませんが、これは割と重要です。

なぜなら、ブロックチェーンという技術がどういうものか理解するのに役立つのです。

ビットコインの理念でもっとも重要なのが、国家(組織)に管理されない通貨の実現を目指す、という点です。

仮想通貨はあくまでインターネット上に存在するモノのため、誰がいくら持っているのかデータベースで管理します。

しかし普通のデータベースの場合、管理用のメインマシンに格納されており、メインマシン管理者が事実上、仮想通貨の管理者になってしまいます。

それを防ぐためにデータベースの管理を誰か一人にすべて任せてしまうのではなく、関係者なら誰もが参画できるような仕組みが取り入れられたのです。

それが、ブロックチェーンです。

つまりブロックチェーンとは、データベースの仕組みの一形態です。

もう少し具体的にブロックチェーンの技術的特徴を見ていきましょう。

ブロックチェーン技術的特徴

そもそも「ブロック」というのは何物かというと、データの塊です。

ビットコインで言うならば取引データなど、データベースに加えなくてはならない情報を一定期間ごとに記録したものです。

このブロックは、一定期間ごとに生成され、自分はどのブロックの後か(逆に言えば、自分の前のブロックはどれか)を示すマークが付けられています。

そのブロックのマークを追えば、ブロックのつながりが見える仕組みになっているので、ブロックの鎖、つまりブロックチェーンと呼ばれているわけです。

一度生成されたブロックは書き換え不可となっていて、変更点だけブロックとして収集されるのです。

イメージ的には、各ブロックは増分バックアップのようなものですね。

このブロック生成には非常に時間がかかるため、即時性が求められる処理は得意と言えないというのが、現在のブロックチェーン技術のウィークポイントです。

ちなみに、ビットコインの採掘というのは、このブロック生成のことを意味しています。

なお、詳しくは後述しますが、ビットコインではわざとブロックの生成に時間がかかるような仕組みを用意しており、一番早くブロック生成に成功した人に対し、ご褒美として新たなビットコインの提供をしているため、少しでも早く計算できるようにマシンなどへの投資が行われています。

ブロックチェーンの概要そのものの話としては以上の通りですが、ブロックチェーンを実際に運用するとなると、他にもいろいろな技術的考慮事項がありますので、それも確認しておきましょう。

ブロックチェーン技術的考慮事項

まず、中央システムがないということは、各機器の間は対等で互いに通信を行う必要があるということです。

つまり、ホストサーバが真ん中にいて、その周りのクライアントコンピュータはホストサーバとだけ繋がっている星型の構成図ではないのです。

各クライアントコンピュータがメッシュでつながっています。

そのための仕組みが2005年ごろ話題となったWinnyなどのファイル共有ソフト問題で注目された、Peer to Peer (P2P、PtoP)です。

ちなみに、P2Pではクライアントコンピュータのことをピア、ノード、あるいはサーバとクライアントを組み合わせた造語であるサーバントと呼ぶこともあります。

ここでもう一つ重要なのは、通信相手となるピアは本当に信用できる相手かどうかです。

正しいピアに成りすました偽装ピアかもしれません。

そういった問題に対応するために必要なのが相手を確認する認証技術です。

また、様々なピア同士で通信するということは、ファイル共有ソフト問題のように悪意あるユーザーが用意したピアやウィルスなどが潜んでいるピアとも通信してしまうリスクがあります。

余計な内容まで転送させないように、通信内容を制限するなどセキュリティ面についても十分な対策が必要となっています。

通信相手となるピアの信頼性の問題とも関連しますが、スマートコントラクトという概念もブロックチェーンには必須です。

Smart(スマート)は賢いくらいの意味なのに対して、Contract(コントラクト)は契約という意味です。

賢い契約ときくと良い買い物をしなさい、という話のように聞こえそうですが、当然、そういう意味ではありません。

コンピュータによる契約の自動化を意味しますが、特にブロックチェーンの中で語られる場合、通信相手となる適切なピアを見つけてセッションを張り、定められたルールに従ったアクション(いわゆる業務処理)を行い、セッションを切断するまでの一連の流れを指します。

契約の前に何語で契約を書くのかがズレていると、お互い、相手が何を言っているのか分からない、という事態になるため、スマートコンストラクトの造り込みは重要です。

そして、忘れてはいけないのが、コンセンサスアルゴリズムです。

PtoPネットワークでスマートコントラクトの仕組みがあっても、コンセンサスアルゴリズム

実装させていなければ、ブロックチェーンとは呼べません。

コンセンサスアルゴリズムがあるかどうかが、ブロックチェーンと呼べるかどうかの差です。

そんな重要なコンセンサスアルゴリズムについては、次項で説明したいと思います。

ブロックチェーンコンセンサスアルゴリズムについて

shutterstock_431991460-1-min

Consensus(コンセンサス)とは総意という意味です。

話はビットコインに戻ります。

ビットコインは国家(組織)に管理されない通貨の実現を目指すため、誰のものでもないデータベースを作り上げました。

それがブロックチェーンです、というところまではすでにお話しした通りです。

ここからが新しい話です。

では、国家(組織)のような強い存在がブロックチェーンで作られたデータベース(もっと言うと、新しく作成されたブロック)が正しいと認め保証してくれないのであれば、誰が保証してくれるのでしょうか?

関係者みんな集まって、議論するのも良いですが、時間の無駄かと思います。

そこで、みんなの総意でもって、誰か一人代表者立てて、その人に“これが正しい”と決めてもらうことにしています。

その代表者決めのための手順となるのがコンセンサスアルゴリズムです。

主なコンセンサスアルゴリズムとしてはPloof of Work(PoW)、Ploof of Stake (PoS)、Ploof of Importance(PoI)が仮想通貨でもおなじみです。

仮想通貨以外ですとHyperledger Fabricで使われるEndorse+Ordering Serviceというのもあります。

今回は、分かりやすさ重視で仮想通貨の例を挙げながら、PoW、PoS、PoIの違い、メリット・デメリットをご紹介しましょう。

まず、PoWから見ていきます。

PoW

Wはワーク、つまり仕事量に応じて発言権を与えるという意味です。

上の方で「ビットコインではわざとブロックの生成に時間がかかるような仕組みを用意している」と書いたのですが、これがまさにPoWの仕組みです。

一番早くブロックを生成した人が発言権と新規発行した仮想通貨がもらえるというわけです。

なお“自分が有利になるように、でたらめな答えを真っ先に発表する人とかいるんじゃないの?”と思った方もいるかと思いますが、正誤判断する仕組みもあるので大丈夫です。

不正防止機能もあり、一度チェーンに組み込まれたブロックの内容(取引履歴)の改竄も不可能のため、セキュリティ面では非常に優れたPoWですが、問題点も多いです。

具体的には、PoWは「計算のための計算にコストがかかりすぎること」です。

真っ先に計算を解くために、機材に多額の投資をかける必要があります。

また、その機材を動かすには膨大な電気代が必要です。

ビットコインのPoWに使われている電気の総量は、並みの発展途上国の電気消費量以上ともいわれています。

更に言えば、もっとも多くの機材代や電気代が出せる組織が独り勝ちして、事実上の支配者になるのでは、という指摘もあります。

二つ目のPoSのSはStakeは量です。

PoS

ピアコインで初めて導入されたコンセンサスアルゴリズムです。

その仮想通貨をより多く持っている人が発言権と新規発行した仮想通貨がもらえる仕組みです。

発言権を得るためにはたくさんの投資を行って、その仮想通貨を買い込む必要がある上に、せっかく投資して発言権を得たのに、不正行為を働いて自らの仮想通貨の価値を下げたがる人はいない、という点に着目した不正防止に特化したコンセンサスアルゴリズムです。

ただ、お気づきの方も多いかと思いますが、すでに持っている人がさらにもらえる仕組みのため、貧富の差が拡大し、有利なポジションを守るために通貨を手放さなくなり、流通しなくなるという致命的な問題点もあります。

Pol

三つ目のPoIは量ではなく、その人が仮想通貨の発展にどれだけ貢献してくれたかImportance、つまり重要性で判断しようというコンセンサスアルゴリズムです。

重要性とは、保有量だけでなく、取引相手の数などが加算されています。

より多くの人と仮想通貨の売買をしてくれたということは、それだけ多くの人に仮想通貨を広めてくれたという意味ですから、貢献性が高いですよね。

問題点は「多くの量を持っていて、多くの人と取引しているのって、結局、お金持ちでは?」という点です。

PoS同様に貧富の差が拡大すると思われます。

採用している仮想通貨としてはnemが挙げられます。

まとめ

shutterstock_353531531

今回はブロックチェーンの仕組みと、仮想通貨に使われているコンセンサスアルゴリズムについて、見てきました。

繰り返しになりますが、ブロックチェーンの本質は“みんなで作るデータベース”です。

このとき一番の問題になるのは、誰がデータを保証してくれるのか、です。

その誰かを決める仕組みがコンセンサスアルゴリズムとなります。

仮想通貨以外だと、また異なったアプローチが行われていますので、興味を持った方は調べてみてはいかがでしょうか。

ITプロパートナーズに登録すると3つのメリットがあります!

①他には無い!弊社だけの週2日〜のフリーランス案件!

ITプロパートナーズでは、フリーランスエンジニアが週2日から働ける案件を数多く取り揃えております。 そのため、他案件やご自身が開発するサービスと並行可能です。 独立資金を貯めたい方や趣味に時間を費やしたい方には非常に重宝して頂いております。 契約期間も3ヶ月~で安定収入を実現しており、稼働文の請求となるのでリスクもないです。

②成長企業の直案件で高単価を実現!! 週3日で月額50万円も!!

弊社の95%以上が高単価の直案件になります。 常時、50件以上の週2~の案件を保有しています 社長の木村を始め、ITプロパートナーズの社員は圧倒的にITベンチャー出身者が多いです。 故に多くのベンチャー企業に精通しています。 スタートアップのベンチャー企業で最大限のバリューを発揮したい方にはオススメです。

③専属エージェントがしっかりサポート!!

希望に合致した案件をご紹介可能です。 また、契約交渉や債権管理を代行します。 契約が切れても、未稼働期間なしで次の継続的な案件を随時ご紹介します!