ブロックチェーン勉強会を開催しました!〜概念編〜
SKIYAKIでエンジニアをしているdoimaと言います。
最近話題の技術といえばいろいろなものがありますね。例えばVRだとか、ディープラーニングだとか、IoTだとか・・・。未来の到来をヒシヒシと感じております。
そんなさまざまな新技術の中で、今回はブロックチェーンに着目したいと思います。
ブロックチェーンは聞き馴染みがあるかたもそうでない方もいらっしゃると思います。
ブロックチェーンとは、先ごろ世間を騒がせたビットコインの基幹技術です。でもビットコインもよく分からない・・・。ブロックチェーンもよくわからない・・・。ブロックがチェーンされてるんだよ!とか仮想通貨とか・・・Web界隈を中心とした今の僕たちの知識ではもはや追いつかない・・・。
わからないことはきいてしまおう!
ということで、
最近注目の技術を掘り下げている、株式会社オルトプラスの嶋田健作様と嶋田大輔様をお招きし、ブロックチェーン勉強会を開催しました!!!
そこで学んだことを僕なりに噛み砕いて説明していきたいと思います。
そもそもビットコインってなによ?
ビットコインは仮想通貨仮想通貨と世間では言われていますが、
正確にはCrypto Currency(暗号通貨)なのです。暗号によって価値が担保されているんですね。
暗号通貨とはどういうことなのか。
ビットコインはそれ自体にいくらいくらという数字を持っているわけではありません。
ビットコインが持っている情報は、取引データと、その取引データの前のブロックのhash値です。
AさんがBさんに100円、CさんがDさんに200円、DさんがEさんに150円という取引データがあったとします。
このデータを暗号化してhash値にし、その次の取引のデータとして保管、そして取引データを保管します。
そしてこのデータをまたhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し、そのデータをhash化し取引データと一緒に保管し(以下略)
という形で、情報のブロックをチェーン状に数珠繋ぎします。
どこかで聞いた言葉が顔をのぞかせた気がしますが、一旦説明は割愛します。
この情報の塊を、みんなで保管したもの、それがビットコインの正体です。
ビットコインは数値ではなく、取引を繋いだものを保管しているだけなので、どこかのデータだけ変えるということができません。特定のデータを差し替えることは、それ以降の取引データをそのデータを持っている全員分を全て変える必要があるからです。
それがビットコインの改ざんしづらいという特性に結びついています。
※ちなみにビットコインの取引を始めるときは、ウォレットというアプリを利用します。ウォレットにはさまざまなタイプがありますが、全部手元に取引データを持っておく形式だと、超巨大なデータのダウンロードと計算が始まります。
では、世界中で行われるさまざまな取引の正確性を担保しているのは一体誰なのでしょうか。
それに関連するワードビットコインのひとつのキーワードのひとつである、マイニング(採掘)です。
ビットコインは一番長いつながりを正とします。長いものにはまかれろというメッセージです
そして世界中のコンピュータが正しいかどうかの計算をひたすらしています。
そして正しい計算をして(=ブロックを発見して)、ブロックをつなげていきます。この時、ブロックを発見した人には計算のお礼としてビットコインが与えられます。これが採掘です。
ビットコインの処理の正しさはこのProof of Work(仕事による証明)によって担保されています。
頑張ればビットコインがもらえるぞー!というゴールドラッシュ的な思考がビットコインを維持しているのですね。
このシステムはビットコインの偽造を阻むものです。つまり、原理的に偽造通貨、贋札が作れないということです。
※Mt.Gox事件は不正に送金するようなシステムを組み込んだもの、つまり偽造ではなく横領です。だからビットコインの信頼性が揺らいだわけではない、といわれるのです。
ビットコインの計算量は膨大なものなので、専用サーバで行われています。ビットコインの計算に最適化されたチップも存在するくらいです。
当然その構築、運用には費用がかかります。ビットコインは現実の通貨を置き換えられて存在しているとも言えます。
さて、Proof of Workには弱点もあります。このシステムは計算する人の大半が不正をしない善人である、ということが根拠になっています。もし計算する人の過半数が悪意を持っていたら?
ビットコインは乗っ取られます。
これを51%アタックと言います。
これがビットコインのシステムであり、なぜ価値を持っているのかというお話でした。
じゃあブロックチェーンてなによ??
ビットコインの説明でちらっと出てきた、情報のブロックをチェーン状に繋いだものというワード、つまりこれがブロックチェーンです。
大変わかりやすいですね。
ブロックチェーンの持つ価値とは、ビットコインと同様に、ゼロダウンタイム、改竄できない、データが消えないの三本柱です。
ブロックチェーンは DBと比較されますが、ブロックチェーン自体はDistributed Ledger Technology、分散型台帳技術というワードで説明されます。
大福帳型データベースに近い概念です。データベースと対比されるものではなく、むしろ概念として新しいものかと。
特性としては、
・ブロックチェーン
- チェーン型の台帳
- 取引履歴として記録
- データが分散されている
・(標準的な)データベース
- 表
- データとして記録
- データの冗長化が必要
ということですね。
ビットコインはパブリックなブロックチェーンですが、特定の管理者によるプライベートブロックチェーンもあります。
ただしこれはパブリックブロックチェーンにあるいくつかのポイントを犠牲にします。
たとえば、ビットコインの信頼性を担保していたのはProof of Workですが、プライベートなものであると計算量が減り、乗っ取ることが容易になります。
また、マイニングのような価値の源泉がないため、ユーザにモチベーションを与える別の手段が必要です。
また、ビットコインを所有する人がシェアしていたデータですが、プライベートブロックチェーンは団体が管理するサーバ上にデータがあるので、それが全て潰れてしまえばやはりアウトです。
ある程度の規模感がないと、先ほどのメリットを減じてしまう結果となり、ブロックチェーンはその役割を果たせないです。
ブロックチェーンは900億を90億にする技術と言われており、膨大なデータがあってはじめて価値を持ってきます。
また、ビットコインはブロックチェーンの第一弾なので、応用が効きにくい部分も多々ああります。
それを補うものとして、NEM、Ethereum、mijinといった新しいブロックチェーンのサービスが生まれています。
これらはビットコインにはなかったシステムを持っているものもあります。
その中の1つが、スマートコントラクトです。スマートコントラクトはトランザクションの中に簡単な処理を入れるというものです。
AさんからBさんに100円払うと、自動的に10%をCさんに払うといったり、独立された処理が可能になります。
この仕組みを用いて、ただの価値移転だったブロックチェーンのデータ変更時をより膨らませることができるのです。
以上がブロックチェーンとは?という説明になります。
仕組みはわかったけど、何に使えるの???
ブロックチェーンは信頼性を担保しやすいシステムです。なので、信頼を必要とするあらゆるシステムに対して適応できます。
・有価証券取引
お金の代替のようなものなのでわかりやすいですね。
・公証人の発行する書類
公証人は公的書類を証明する人(まんまやな)なので、その書類の証明をブロックチェーンで行えます。
・シェアリングエコノミー
LaZoozというカーシェアリングサービスや、Storjというファイルストレージサービスにはブロックチェーンが用いられています。スマートコントラクトのようなシステムもこういった処理に適しています。
あまり聞きなれないワードですが、情報が氾濫している中で、強く関心を引きつける発信者が価値を持つということです。ブロックチェーンにより関心の伝播のトレースがしやすくなります。
・チケット
弊社で関係する分野といえばライブのチケットです。この分野ですでにコンセプトを発表しているLAVAはライブチケットをブロックチェーンで実装しようとしているプロジェクトです。
ブロックチェーンはまだまだ新しい技術で、活用方法をいろいろなところが模索している段階ですが、成熟しきっていないものを利用できる応用例を探す楽しみがあると思いました。
SKIYAKIでは、そんな最新技術を使って何かをしてみたい!というエンジニアも募集しています。
次回は、ブロックチェーンをちょっと動かしてみようと思います。乞うご期待!!!