皆様こんにちは。BlockRabbit編集部です!
さて一週間が経つのもあっという間に、私たちLittle MonsterとMonday Capitalはまた茨城大学へやって参りました!
鈴木教授、茨城大学の学部生、学院生の皆様、本日も宜しくお願い致します!
さて前回の第一回目は大きく、Webの移り変わり、BlockChainとは何か、非中央集権とは?などについて講義がありましたが、今回はBitcoin whitepaperを元に少しテクニカルな内容に入っていきます!
第一回目の内容は、[Little Monster Inc. × Monday Capital] 2019年1月10日開催 第1回目BlockChain講義 at 茨城大学レポートをご覧ください。
では今日のアジェンダを見てみましょう!
Bitcoinとは?
講師から皆さんへの質問からスタートです!
Question : What is Bitcoin?
ある学生がしっかり答えてくれました。
Answer : BlockChain技術を使った分散型の通貨です。
正確ですね!
Bitcoinがデジタルであり、分散化システムであること以上に重要な示唆は、
”デジタル上で真の価値の移転を可能にする”
という事です。その意味が分かりますか?
銀行のシステムは、あなたのお金を物理的に(紙幣を)振込先に送金しているわけではなく、表示上で数値を変えているに過ぎないのです。
あなたが普段見ているものは管理された残高データであり、それぞれの口座が金庫のように保管されているわけではありません。つまり、本来の意味で自分が所有している状態ではないという事です。
既存の銀行システムと比較しながら、Bitcoinが実現したこととその革新性を見ていきましょう。
現在は1つの取引の度に、様々な機関がオンライン、オフラインで関わり合っている多層的で複雑な構造となっています。中央銀行が紙幣を発行、カスタディーとよばれる保管業者が資産を実際に保管、国際送金の際にはSEPA、SWIFTと呼ばれる国際機関が関わり。。
更に、これら全ての機関はあなたの個人情報を共有しているのです。あなたがどこの誰に、いくらを送ったのか、関わる機関が全て把握しています。
様々なレイヤーが重なり、また各々があなたの個人情報を保有している、非効率な状態が金融システムの現況です。
では
”Bitcoinは何を実現したのか?”
Bitcoinは上記スライドの様々な機関の役割を一つのコードで表現し、国を超えて誰でもインターネットさえあれば利用できるシステムなのです。
どういうことか?
具体的なBitcoinの仕組みの説明に入っていきましょう。
Bitcoinの仕組み
まずは、実社会において我々ユーザーはどうやって使うのでしょうか?
Question: 誰か実際に送受信したことありますか?
Answer:。。。。
学生の皆さんは、実際にBitcoinの送受信を行った事のある方はいませんでした。
ユーザーはそれぞれビットコインアドレスという口座番号のようなものを持ち、そのアドレスをQRコードなどで交換し送受信を行います。ここまでは日本でも馴染みのある他社の電子決済システムとほぼ同じですね!
今回はこのシステムの中を深く学んでいきます。
さて、まずはビットコインのネットワークの参加者を見てみましょう。
Bitcoinシステムの参加者には
- ユーザー
- ノード
- マイナー
と呼ばれる役割に大きく分かれます。
そしてCryptographyという暗号学が、管理者のいないビットコインの信用の構築に重要な役割を担っています。その一つが公開鍵と秘密鍵を用いた電子署名と呼ばれるものです。
この辺りは始めて学ぶと難しく感じるのですが、昨年行ったMeet-upのレポートでも詳しく説明していますのでこちらもご覧いただけると、より理解が深まるかと思います!
BlockChainで何ができるのか? の前に知っておきたい基礎知識 前編 〜第5回LITTLE MONSTER Meet- up in Japan !〜カメレポート
BlockChainで何ができるのか? の前に知っておきたい基礎知識 後編 〜第5回LITTLE MONSTER Meet- up in Japan !〜カメレポート
例えば、アリスがボブに2BTCを送りたい例を元に、順序だててこのメカニズムがどのように機能するのか、みてみましょう!
Step 1 :
電子署名を発行して、アリスが行いたい取引の情報をアリスのノードからBitcoinのP2Pネットワークへリクエストします。
Step 2:
リクエストを受けたノードはBitcoinネットワーク上のすべてのノードにリクエスト情報を共有します。
Step 3:
アリス自体が偽物ではないか、送れる2BTCを本当に所持しているのかなどをそれぞれのノードが複数のプロセスを経て検証し始めます。
Step 4:
承認された取引情報はThe Mempool (メモリープール)に入れられます。
Step 5:
マイナーに与える報酬(送金手数料)は取引者があらかじめ設定でき、報酬を多く設定すると優先的に取引が承認されるシステムになっています。
Step 6:
マイニングとはBlockChainにおいて膨大な計算処理を指します。
マイニング(計算処理)を最初に完了したマイナーが、それの見返りとして報酬を得る事ができます。また同時にBlockChainに新しいブロックを書き込む権利を獲得します。
Step 7:
計算をして最初に回答を導き出したマイナーが、その回答をもう一度マイナーに共有して検証させます。そして、その回答が承認・確認されるとついに1ブロックをBlockChainに追加する事が出来ます。
Step 8:
以上のプロセスを全て終えると無事にアリスの2BTCがボブへ送信完了となります。
一定の取引の過程を学んだあと、こんな質問が上がりました。
Question : この一連のプロセスを毎回踏んでいくとなると、連続的な送金にはとても時間がかかるのでは?
Answer : 確かに取引量が増えていくとネットワークは遅くなり、一取引にあたる報酬額も高騰していきます。取引手数料が高騰すると、利用する人が減って、取引の渋滞は解消されていきます。
更にまた別の解決策として、ライトニングネットワークというものがあります。膨大な取引を省略化してトランザクションの渋滞を防ぎます。BlockChainの上のレイヤーであるセカンドレイヤーでBitcoinの問題点を解決する工夫がされてる例を紹介しました。
Blockの構成
次に、BlockChain上では何故改ざんが出来ない(改ざんが明白)のかという説明に入ります。
上記図を見て分かるように、すべてのブロックは繋がっています。
繋がれているというのは、ブロック毎のデータが関わり合いを持っているという事です。
図の中の各ブロックのBlock Headerと言われるものは以下の3つで構築されています。
- Previous Hash:一つ前のブロックのハッシュ値
- Nonce:マイニングによって解き出されるランダムな数値
- Merkle Root:メモリープールに溜まった取引郡から導き出されたハッシュ値
例えば、前のブロックの取引内容が改ざんされた場合、前のブロックのMerkle Rootは変わっていきます。そうなると、インプットであるMerkle Rootが変わったのでPrevious Hashも変わり、それ以降のHashも同様に変更されていきます。
システムの構成は少し分かりましたが、このプログラムを作るエンジニアは実際にどんな作業をしているのか私はエンジニアではないので想像もつかないですが少し気になりますね。。。!
この学生の皆さんの中からBlockChain技術者が生まれてくれるといいなと思います!
最後の質問が上がりました。
Question : 管理者がいないBitcoin上でインフレの調整や、報酬量の変更など一体どうやって決めるのか?
Answer : 一言で言うと全てプログラミングされています。ビットコインの供給量は2100万ビットコインと予め決められており、ブロックは10分毎に生成され2019年1月現在は12.5BTCをマイナーに報酬として与えていますが、前提として、このソフトウェアは広く使われていくという想定で作られています。
またアルゴリズムには、半減期というプログラムがあり、報酬額は逓減していき、供給が調整されています。
しかし主張したいのが、インフレ問題は、Bitcoinのテクニカルな問題ではなく経済学的な問題だということです。
この機能を実社会に適応していくためにはBitcoinにもたくさんチャレンジがあります。
その欠点を見直して新しい通貨もどんどん出てきている事を説明しました。
おさらい
さて、いかがでしたでしょうか?
第二回講義「Bitcoin White Paper」
限られた時間の中ではありますが、メイン講師はYiannisとKaterina、翻訳は弊社Little Monster Inc.の森川と野入でした。
来週は第三回目の講義で内容も大詰めです!
当日はリアルタイムでLittle Monster Inc.のオフィシャルTwitterにて様子を配信!
また、今週26日にはNuCypherという暗号技術集団と、暗号化に焦点を絞ったWorkshopを東京で開催いたします!Workshopの詳細につきましては、こちらをご参照下さい。
それではみなさんごきげんよう!
[…] […]
[…] 第2回目講義:[Little Monster Inc. × Monday Capital] 2019年1月17日開催 第2回目ブロックチェーン講… […]