ブロックチェーンとは?非エンジニア向けにもわかりやすく図解します

ブロックチェーンとは?非エンジニア向けにもわかりやすく図解します

ブロックチェーンとは?わかりやすく図解します【Fintech】

今Fintech業界を中心にバズワードとなっている「ブロックチェーン」について、エンジニア以外の方にもわかりやすく図解します

ブロックチェーンとは何?どんな用途があるの?

そもそもブロックチェーンとは?どんな用途があるの? ブロックチェーンとは

  1. 「改ざんが極めて困難」であり、
  2. 「実質ゼロ・ダウンタイム」なシステムを
  3. 「安価」に構築可能

という特性を持つと言われている技術として、現在注目されているものです。

仮想通貨に使われている

改ざんされないという特徴からブロックチェーンは多くの仮想通貨を実装に使われています。 また仮想通貨以外にも、医療データの記録やダイヤモンドの追跡など書き換えられてしまうと困るデータの記録にも使われ始めています。

【図解】ブロックチェーンの仕組みとは?

ブロックチェーンの仕組みをわかりやすく図解します

では、 早速ブロックチェーンの仕組みを図解していきたいと思います。

「ブロック」を「チェーン」状に記録したデータ

まず AさんからBさんへの取引情報(トランザクション)を発行します。 AさんからBさんへの取引情報(トランザクション)を発行します。 このトランザクションは一定時間ごとにブロックと呼ばれる塊にまとめられます。 トランザクションは一定時間ごとにブロックと呼ばれる塊にまとめられます 新しいブロックを作る時には、ひとつ前につけられたブロックのデータの一部(ハッシュ値)を引き継ぐというルールになっています。
ハッシュ値とは、データを省略して短くしたもので、人間で言うとあだ名のようなものです。

 

このようにブロックと呼ばれるデータの塊がチェーン状につながることからブロックチェーンと呼ばれています。
過去のブロックに含まれるトランザクションが一つでも改ざんされるとチェーンが切れてしまうため、改ざんがとても難しいとされています。 過去のブロックに含まれるトランザクションが一つでも改ざんされるとチェーンが切れてしまうため、改ざんがとても難しい

【図解】ブロックチェーンには2種類の型が存在する

実はブロックチェーンには2種類の型が存在する

ブロックチェーンと一口に言っても、パブリック型とプライベート型の2種類が存在します。 分け方としては、データを管理する人がいるかどうかです。 仮想通貨の多くは、第三者機関を排除して効率化を図るため、パブリック型のブロックチェーンを用いています。

パブリック型ブロックチェーンとは

パブリック型ブロックチェーンとは、 管理者が存在せず、ネットワークに参加するユーザー同士でデータを監視し合うブロックチェーンです。 参加者が増えれば増えるほど、システムが落ちにくくなる代わりに、 誰でもデータを書き込むことができてしまうため、悪意あるユーザーを排除する仕組みが必要になります。

この悪意あるユーザーを排除する仕組みとは、後述するマイニングのことです。

プライベート型ブロックチェーンとは

プライベート型ブロックチェーンとは、従来のシステムと同様に管理者がデータを監視するブロックチェーンです。

管理者しかデータを書き込めないため、データが悪意あるユーザによって書き換えられるということはありませんが、ゼロダウンタイムなシステムを構築することは難しくなります。

コンソーシアム型ブロックチェーンとは

管理者が存在しないタイプのブロックチェーンをプライベート型ブロックチェーンと呼びますが そのプライベート型ブロックチェーンの中でも、管理者の数によってさらに2種類に分類されます。

管理者が単数(1人しか存在しない)タイプのブロックチェーンはそのままプライベート型と呼ばれ、 管理者が複数存在するタイプのブロックチェーンは、コンソーシアム型ブロックチェーンと呼ばれています。

ブロックチェーンのタイプまとめ【図解】

ブロックチェーンのタイプまとめ【図解】

ブロックチェーンのマイニングとは

ブロックチェーンのマイニングとは マイニングとは新しいブロックを作成する行為のことです。

パブリック型ブロックチェーンでのマイニング

パブリック型ブロックチェーンであれば、有志の参加者がマイニングを行います。この時、マイニングに成功した参加者(マイナー) には、 一定量の仮想通貨が報酬として支払われます。

パブリック型ブロックチェーンのユーザは、取引をするために数十円から数百円程度の手数料を支払う必要があり、この手数料がマイナーへの報酬として利用されます。

プライベート型ブロックチェーンはマイニングが必要ない

一方、プライベート型ブロックチェーンの場合は 、データを書き込むことができないためそもそもマイニングを行う必要がありません。

つまりユーザーが手数料支払う必要もないということです。

ブロックチェーンは合意形成が必要

ブロックチェーンは合意形成が必要

パブリック型ブロックチェーンでは誰もがデータを書き込むことができますが、全員が好き勝手データを書き込んでしまうと不正なデータも紛れ込んでしまいます

そのため 最終的なデータを書き込むための合意形成が必要になります。 現在、多くのパブリック型ブロックチェーンでは PoW(プルーフオブワーク)という方法を用いて合意形成を行っています。

早押しクイズで悪意あるユーザを排除する

PoWとは簡単に言うと、早押しクイズです。 早押しクイズでは、回答権を得るためにボタンを連打し、一番早くボタンを押した人が回答者になることができます。 クイズの参加者が増えれば増えるほど、回答権を得ることは難しくなります。

PoWでは、早押しボタンの代わりにハッシュ計算をすることで、マイナー同士を競争させています。 ハッシュ計算の参加者が増えるほど、悪意あるマイナーがマイニング権を得ることが難しくなります。

プライベート型ブロックチェーンも合意形成が必要

プライベート型ブロックチェーンは、管理者がいるため合意形成が必要ないと思われるかもしれませんが、管理者が複数存在するパターンがあります。

そもそも、データを改ざんしないという信頼のもと、管理者が存在しているプライベート型ブロックチェーンですが、もしものために、不正を予防する仕組みが存在しています。 それがPBFT(Practical Byzantine Fault Tolerance)です。

PBFTとは、簡単に言うと多数決です。 ユーザから受け取ったトランザクションを、各管理者が確認して、不正が見つからなければ「承認」、不正が見つかれば「拒否」という決定を下します。その決定を管理者同士で交換しあい、半分以上の管理者が「承認」をしていたらトランザクションを実行するというものです。

ブロックチェーンエンジニアの気になる年俸

ブロックチェーンエンジニアの気になる年俸

一流技術者を雇おうと思ったら、年俸20万ドル(約2340万円)は必要だ

テックビューロ 代表取締役 朝山貴生

とは言われていますが、実際のところ不確かです。

そもそもブロックチェーン事業に取り組んでるのが、IBMやIntelといった超大手企業なので、年収も高いですし、求められる技術も高いです。

ブロックチェーンエンジニアが少ない今、ブロックチェーンを事業に取り入れるとなると、テックリーダと呼ばれるようなエンジニアチームを引っ張れるぐらいの力を持つ人であることが前提条件になると考えられます。

テックリーダだと年収800〜1000万ぐらいだと考えられるので、そこにブロックチェーンの知識が加わると年収1000〜1500万円ぐらいではないでしょうか?

ブロックチェーンを勉強するには

ブロックチェーンを勉強するには

難しい技術と思われがちなブロックチェーンですが、実は既存の技術の詰め合わせです。 1つ1つ時間をかけて理解していけば、そこまで難しくはないですが 概念を掴むのに1ヶ月〜3ヶ月、技術的なことを理解することを含めると半年はかかるんじゃないかと思います。

 

代表的なブロックチェーンプラットフォームまとめ

これまで、ブロックチェーンの概念を大まかに説明してきました。 最後に、各タイプの代表的なブロックチェーンプラットフォームを紹介して終わりたいと思います。

パブリック型ブロックチェーンプラットフォーム

管理者が不在で、誰でもマイニングに参加可能なパブリック型ブロックチェーンの代表的なプラットフォームとして

  • Bitcoin
  • Ethereum

などがあります。 どちらも仮想通貨でよく聞く名前ですが、同名のブロックチェーンプラットフォーム上で動作しているアセットになります。

プライベート型ブロックチェーンプラットフォーム

管理者が存在しており、限られたユーザだけがマイニングを行えるプライベート型ブロックチェーンの代表的なプラットフォームとして

  • HyperLedger Fabric
  • Ethereum

などがあります。

HyperLedgerとは、Linux Foundationが設立したコミュニティで、仮想通貨以外の領域にもブロックチェーンを応用しようという目的のもと活動している団体です。

Fabric以外にもIroha、Sawtoothなど複数のブロックチェーンプラットフォームの開発を進めていますが、現状としてFabricが頭1つ抜けているという状態です。 Ethereuはパブリック型でも紹介しましたが、どちらのタイプにも対応可能なブロックチェーンプラットフォームになっています。

今からブロックチェーンを勉強するならEthereumがオススメ

Ethereumは、上記の通りパブリック型・プライベート型どちらにでも対応可能な汎用性の高さから使い勝手が良いです。

また、スマートコントラクトと呼ばれる、ブロックチェーン上で動作するチューリング完全なプログラムを実装することもでき、元々実装されている仮想通貨としての機能以外にも、エンジニア自身でブロックチェーンの機能を拡張することが比較的簡単にできます。

ただし、情報がかなり少なく、QiitaやStackOverFlowといった技術投稿サイトを漁るぐらいでしか情報が得られない状態です。 僕も半年ほどEthereumを使ったシステムの実装をしているので、本ブログで解説していく予定です。

プログラミング未経験の方はまずこちら

プログラミング未経験の方は、いきなりブロックチェーンを勉強するのは効率が良くないです。 まずは、プログラミングの基礎知識を学んで、全体の処理の流れがなんとなく掴めるようになってからブロックチェーンの勉強を始めることをオススメします。

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください