Blockchain入門
松田有史
今回のテーマ
• 仮想通貨の元の技術となっているBlockchainを解説
• 書いてあること
• Blockchainの動く仕組みや新しい点
• Satoshi Nakamoto の論文の要点
• 書いていないこと
• 仮想通貨の将来性や値段予測
• 取引形式、計算方法など詳細な技術仕様
前提知識(とてもざっくり、飛ばしても大丈夫)
• 署名(秘密鍵/公開鍵):
署名は本人しかできないが、署名の正しさは誰でも検証可能
• ハッシュ値:
あるデータからある一定の計算ルールで求められる値
元のデータが変わるとハッシュ値も変わり、改ざんがわかる
また、ハッシュ値から元のデータへの逆計算は難しい
※これらは昔からある技術でBlockchain特有の技術ではない
はじめに
そもそも何なのか
• Satoshi Nakamoto (身元不明) により2008年に論文
Bitcoin: A Peer-to-Peer Electronic Cash System で発表
• 「分散管理台帳技術」と言われる(保存という意味ではDB)
※なぜ分散管理と呼ばれるかは後ほど
• セキュアで、透明性が高く、改ざんに強いとも言われている
何を解決する技術なのか
• 「信頼できる第三者機関無しでは支払い取引ができない」
という課題を解決する技術
※信頼できる第三者機関:例えば、国や金融機関など
論文1行目:
「純粋なP2P電子マネーによって、金融機関を通さない個人間の直接的なオンラインでの支払いが可能になる」
これだけだと意味不明なので少しづつ解説していきます
なぜ信頼できる第三者機関に着目したか
• 信頼できる第三者機関が介在することで不都合なことがある
• 中間マージンを取られる(手数料とか)
• 過去の取引が修正される可能性がある(訴訟やトラブルで)
• 第三者機関が過剰に顧客情報を握ることになる
これまでの支払いの仕組み
• 個人間で支払いをする際でも、
実際には信頼できる第三者機関に頼っていた
支払い
日本が倒壊しない
限り円は信頼できる
滅多に倒産しないの
で銀行は信頼できる
円 銀行
実現したい支払いの仕組み
• 第三者機関に頼らずに個人間で支払いを行いたい
(中間手数料などのコストを下げることができる)
日本がどうであれ、
この取引は絶対に
完遂される
銀行が倒産しても、
必ず対価をもらえる
支払い
円 銀行
仕組み
従来の技術でできたこと(本題に入る前に)
• なりすまし防止
署名の技術を使えばなりすましといった不正は行えない
(他人によって勝手にコインが使われることはない)
• 改ざんの検知
データの内容が変わるとハッシュ値も変わる性質を利用して、
改ざんの検知が可能
(コインを送ってる途中で勝手に内容は書き換えられない)
従来技術を絵にすると
署名• で本人確認が可能、ハッシュ値で改ざんの有無も確認可能
コイン
自分が使った!
証明のために署名と
ハッシュ値を入れる。
署名
○○さんからの
支払いだ!
改ざんもない!ハッシュ値
支払い
+
+
従来技術でできなかったこと
• 個人間取引では1つのコインで何回も支払いをするという
多重支払いを防ぐことができない
• 個人間取引では全取引を管理している第三者機関が存在しない
よって、隠れて支払いをすることで残高が減っていないように
見せることができる
※銀行であれば全利用者の全取引を銀行で管理しているので、
多重支払いは簡単に確認ができる
従来の問題を絵にすると
• 全取引を管理している第三者機関がいない場合、
他人の取引の確認が困難なので多重支払いに気づけない
使用済み
コイン
1コインを何回も使って
たくさん買い物するぜ
多重支払い多重支払い
使用済み
コイン
解決策:Proof of Work (PoW)
• 取引や承認者があらゆる場所に散らばっていても、
システム全体としては全取引をまとめて管理できる仕組み
(=多重支払いができなくなる)
• 取引を承認するためには10分かかる計算問題を解く必要がある
• 取引を承認する人をマイナーと呼ぶ
(ソフトをインストールすれば誰でもなれる)
• 重要な特徴:
マイナー全体の過半数が正直者であれば一部が悪者でも大丈夫
マイナーの一部が悪者でなぜ大丈夫か
• 承認の計算スピードが最も速かった取引が採用されるので、
不正な取引を承認しようとしても、マイナーが集まらず、
計算パワーが足りない(=多数決を実現)
不正な取引を
承認する計算問題
正当な取引を
承認する計算問題
一人じゃ
計算スピード
で敵わない
皆でやれば
10 分で計算
終了
不正 正当
PoWを一言(?)でまとめると(ざっくり)
• 取引を承認する際に、10分かかる計算問題を解かせることで、
その取引が正しいかどうか多数決を取ることができ、
結果として、全取引をまとめて管理できる仕組み!
※ここでPoWの仕組みはかなり省略して説明しているので、
興味がある人はより詳細で正確な情報を学んでください
インセンティブ(PoWと並ぶ重要な仕組み)
• マイナーをたくさん集めるため、マイナーには報酬がある
• PoWで最も早く計算問題を解き終わり、
取引を承認すると報酬(10分に1回 12.5BTC+α)がもらえる
• システムを乗っ取ろうとすると逆インセンティブが働く
①過去の取引を修正するためには
全計算問題を解き直ししなくてはならない(無理!)
②乗っ取りに成功しても、乗っ取られたコインを使う人が
いるわけもなく価値も無くなるはずなのでメリットも無い
メリット/デメリット
メリット
• 取引手数料などのコストが下がる
• セキュリティの向上(一部が乗っ取られても全体に影響ない)
• 改ざんに強い(これまでの計算問題の再計算が事実上不可能)
• 透明性が高い(承認履歴が公開され取引の流れが追跡可能)
デメリット
• 全ての取引が公開(あなたの給料も全世界に公開!?)
• 計算をするために電気代がかなりかかっている
• 誤った取引でも巻き戻せない、詐欺もキャンセルできない
• 取引承認まで時間が10分かかる
(これはLightning Networkという技術で解決するかも)
• (技術的なところだと)秘密鍵の管理が自己責任となる
まとめ
まとめ
• 分散管理台帳技術であるBlockchainを解説
• 「信頼できる第三者機関無しで支払い取引ができない」
という課題を解決する技術
• 第三者機関なしでも多重支払いを防ぐことができる
• マイナー全体の過半数が正直者であれば一部が悪者でも大丈夫
• マイナーをたくさん集めるため、報酬が設定されている
• メリットもデメリットもある
参考情報
http://jp.techcrunch.com/• 2015/03/31/bitcoin-essay/
誰も教えてくれないけれど、これを読めば分かるビットコインの仕組みと可能性
→Zaif創業者 朝山貴生氏による記事。最初に読むべき。
https://www.slideshare.net/blockchainexe/exe• -lite-1
EXE Lite #1:ビットコインとブロックチェーン入門
→勉強会の資料。初心者向け。スライドなので読みやすい。
• http://kogarashi.net/pitchblende/bitcoinwhitepaper
ビットコインの原論文を読む
→Satoshi Nakamotoの論文の日本語解説。
書籍• 「ビットコインとブロックチェーン:暗号通貨を支える技術 」
→ある程度理解してから読むべき。おそらく最も詳しい。
Thank You!!

Blockchain入門