exe lite #1:ビットコインとブロックチェーン入門

43
ビットコインとブロックチェーン入門 藤本 健太 下記Slideshareからも参照できます。 https://www.slideshare.net/KentaFujimoto/ss-81707611

Upload: blockchainexe

Post on 21-Jan-2018

1.387 views

Category:

Technology


0 download

TRANSCRIPT

ビットコインとブロックチェーン入門

藤本 健太下記Slideshareからも参照できます。https://www.slideshare.net/KentaFujimoto/ss-81707611

言葉の定義:ビットコインやブロックチェーンの位置付け

そもそもの始まりは「ビットコイン」。原点にして頂点(暫定)。

ブロックチェーン=分散型台帳技術と言う見解もあります。

分散型台帳技術(DLT)→複数のユーザーが同じ取引データを共有する技術

ブロックチェーン→ブロックチェーン構造を持つもの

Fabric

A=100万

B=200万

C=300万

A=100万

B=200万

C=300万

A=100万

B=200万

C=300万

1

目次

1. ビットコインは詐欺なのか?

2. ビットコインの基礎知識

3. 実際のビットコインを見てみる

4. ブロックチェーンの基礎知識

5. ブロックチェーンのビジネス性

ブロックチェーンの前に、原点であるビットコインについて解説します

2

目次

1. ビットコインは詐欺なのか?

① マウントゴックス事件を振り返る

② 円天との違い

③ ランサムウェアとの関連性

2. ビットコインの基礎知識

3. 実際のビットコインを見てみる

4. ブロックチェーンの基礎知識

5. ブロックチェーンのビジネス性

3

①マウントゴックス事件を振り返る

2014年にビットコインの交換所であるマウントゴックスで起きた事件。 85万BTC(事件直後のレートで約470億円)がハッキング(横領?)された。

あくまで「1つの取引所」のシステムないし運用の問題で発生した事件なので、取引対象だったビットコイン自体の問題では無かったが、世間的にはネガティブなイメージが付いてしまった。 外貨両替所でハッキング受けても通貨そのものの安全性は関係無い事と同じ話。

2014年(事件当時) 2017年(初公判時) ※同一人物です

4

②円天との違い

円天とは2001年にL&Gという健康食品会社が始めた電子マネー。 楽天ポイントやマイレージに近い。

例えば、10万円をL&Gに預けると、1年毎に10万円分の円天マネーが発行される。

新しい出資金が無ければ配当が支払えないという典型的にネズミ講。2007年破産。

円天とビットコイン、日本円の違い

円天 ビットコイン 日本円

発行者 固定(L&G) 不特定多数 固定(日本銀行)

発行ルール ルールが無い(L&Gの独断)

ルールがある(発行量や発行者選定等がプログラムで規定)

ルールがある(発行するには国債を購入する等が法律で明記)

・ビットコインは誰でも発行者になれる。・発行ルールがプログラム上明文化されているので、発行者の信用度に依存しない。

5

③ランサムウェア「Wannacry」との関連性

2017年5月に話題になったWannacryによる事件は振込先がビットコインアドレスになっていた。

ビットコインの匿名性が悪用され、犯罪に利用されやすい。 誰でも無料で簡単にビットコイン口座を開設可能。

第三者によってビットコイン口座は凍結できない。

ただし、取引履歴は全て公開されてるので、どこかで特定されたら、芋づる式で捕まります。

秘匿性の高いスイスの銀行だが犯罪利用が立証されれば普通に凍結される。。。→ 6

目次

1. ビットコインは詐欺なのか?

2. ビットコインの基礎知識

① ビットコインの始まり

② ビットコインが出来ること

③ ビットコインの仕組み

④ ビットコインの主な課題

3. 実際のビットコインを見てみる

4. ブロックチェーンの基礎知識

5. ブロックチェーンのビジネス性

7

①ビットコインの始まり

2008年にSatoshi Nakamotoを名乗る人物によって提唱された暗号通貨およびその基盤。 2009年に運用開始して以来、一度もシステム停止したことが無い。

提唱はML上で投稿されたので、Satoshi Nakamotoが誰なのかは不明。

類似の暗号通貨は数百種類以上あり、それごとに基盤が異なる事が多く、機能にも差異がある。 Ethereum、Ripple、Dash、Monero等

ちなみに、これらの通貨カテゴリーは海外だとCryptocurrency(暗号通貨)と言われている。日本だと仮想通貨とも呼ばれる。(仮想通貨は電子マネーも含むので個人的には暗号通貨が適切かと)

8

②ビットコインが(本来)出来ること

既存の銀行サービスの課題 海外送金が遅い(数日)。手数料が高い(数千円程度)。

銀行がつぶれたら、勝手に口座凍結される可能性がある。

(特に海外)貧困層は銀行口座が持てない(口座維持手数料等がかかる)。

A銀行 コルレス銀行 B銀行

専用システム 専用システム 専用システム• 海外送金時は、複数の銀行の

専用システムを経由する必要がある。• 外部攻撃を防ぐため、専用システムの

運用費が高額になる。

ビットコインなら、誰にも自分の口座を操作されない。口座は半永久的に維持。

ビットコインなら、誰でも簡単に無料で口座を持てる。維持費用は発生しない。

ビットコインなら、1時間で送金完了。手数料は100円程度。

9

③ビットコインの仕組み(1/4) データの持ち方

一般的な口座システム残高がDBに管理される

Aさん:100万円Bさん:20万円

ビットコインのシステム取引履歴で管理される前回の取引データをハッシュ値として持つ

Aさん→Bさん:10万円Bさん→Cさん:20万円・・・・

詳細

・トランザクション:1回の取引データ・ブロック:複数の取引データと前回のブロック”ハッシュ値”、ナンス値・ブロックは約10分毎に生成される。現在は約49万ブロック(2017年10月)

ビットコインは、DBとして見る事が出来るがデータの持ち方が独特。

10

補足:ハッシュ値とは・・・

任意の文字列から(暗号学的)ハッシュ関数をかけて出力される固定長の値。ハッシュ値から元の値に戻すことは不可能とされている。

ハッシュ関数には色々種類がある。 SHA-256:256文字で出力するハッシュ関数。ビットコイン、SSL通信等で利用される。

MD5:128文字で出力するハッシュ関数。ファイルの改ざんチェック等に利用される。

利用イメージ(SHA-256)

・・・・awfafaghipahaapoih

・・・・awfafaghipahaapoig

テキスト化

adasf・・・・・・assrsdhfoishf

sdfbr・・・・・・lkdjdvgbgnzl

改ざんハッシュ関数(SHA-256)

出力

出力

全然違う

← 256文字 →

← 256文字 →

少しでも入力文字列が異なると、出力が全く異なるので改ざんチェックに便利。

11

③ビットコインの仕組み(2/4) データの更新(Proof of Work)

【データ更新者の選定アルゴリズム】①各マイナーは、過去の取引データ全てを同期している。②マイナー同士で、特定の値を求める競争を行う。競争のお題ナンス値を調整して、更新するブロックにハッシュ関数(SHA-256)をかけて、先頭に0が特定数(17個くらい)連続するハッシュ値を求める。

③最初に求めたマイナーがデータの更新権限を取得する。マイナーはインセンティブ(12.5BTC)と取引手数料(送金者負担で100円程度)を得る。

Block Block Block Block

中央集権型では無いので、特定の誰かが一律に更新する事は出来ない。マイナーと言われるビットコインネットワークの参加者(誰でもなれる)から、アルゴリズムに従って選出される。

12

補足:ハッシュレート(採掘速度)

ハッシュ関数で特定の値(先頭に0が連続する)を効率的に求める事は原理上出来ないため、総当たりで実施していくしかない。つまり、秒間のハッシュ計算数が高ければ高いほど、更新権限を得る可能性が高い事になる。 ハッシュレートの上昇に応じて、ハッシュ計算の難易度は自動で上昇し約10分に調節される

現在、全ノードのハッシュレートは、1,160京回/秒(2017年10月)ハッシュレートの時間推移(2017年10月) マイナーのハッシュレート比率(2017年10月)

13

③ビットコインの仕組み(3/4) データの信頼性

分散型ネットワークの性質上、同期が取れないと異なるブロックが生成される状況が発生する。その際は、ブロックが長い方を正とする。

ネットワークA

Block

100

Block

101A

Block

102A

Block

103A

ネットワークB

Block

100

Block

101B

Block

102B

採用!!

不採用・・・

14

補足:改ざんするためには・・・

長いブロックを持つマイナーを正とする特徴を持つため、改ざんを行うためには、他のマイナーがブロックを生成するよりも倍速でブロックを生成する必要があり、実現が極めて困難。 過去のデータを改ざんするためには、遡った分だけのハッシュ計算が必要なのでもっと無理

正常な更新

改ざん攻撃

正常な更新が約10分でハッシュを見つけ

るまでに、改ざん側は本来20分かかる作

業を実施しなければならない。

15

③ビットコインの仕組み(4/4) バージョンアップについて

ビットコインのプロトコルはまだまだ未完成。バージョンアップしていく必要があるが、管理者が不在なので下記のやり方で実現していく。

①BIP(Bitcoin Improvement Proposal)という改善提案を公開コミュニティ内に提案する。提案されたBIPは、「BIP32」という感じでナンバリングされ、公開の場で議論される。https://github.com/bitcoin/bips

【BIPの例】BIP-8/9:バージョンアップ方法を規程BIP-91:いわゆるSegwit2X。トランザクション性能の改善策BIP-173:マルチシグネチャ(ビットコイン送金のために複数の署名を必要とするオプション機能)

②「BIP○○」を受け入れる事に決めたマイナーは、対応したマイニングソフトにアップデートを行ない、準備OKのシグナルをブロックに埋め込む。過去2016個ブロックのうち95%のブロックで同じシグナルが発行されていたらバージョンアップ実行。

つまりは、強いマイナーが拒否したらアップデート出来ない。。。

OK OK OK OK OK OKNG… … BIP○○採用!

16

④ビットコインの主な課題(1/3)

ハッシュレートの上がり方が指数関数的で、マイニング性能は日進月歩。誰かがネットワークを破壊しかねない。

ビットコインの仕組み上、どんなにマシンを増やしても7取引/秒が上限。

そろそろ10分下回るから

難易度上げよう・・

Block XXX1

Block XXX2

Block XXX3

11分

10分

9分

・・・・え?!

Block XXX1

Block XXX2

Block XXX3

11分

2分

2分

【上がり方が通常の場合】 【上がり方が指数関数的な場合】

最近、Segwit2xにバージョンアップしてちょっと改善した。

それ以外にライトニングネットワークのような高速化方法も検討中。

10分ごとに1MB分の

取引が限界です・・・

ブロックに登録

お願いします。

17

④ビットコインの主な課題(2/3)

ビットコインプロトコルを改善するためには、全マイナーの95%の同意が必要。様々なステークホルダーがいるため、改善が進まない。

マイナー同士が仲違いして分裂(ハードフォーク)が起きる危険性がある。 分裂同士のハッシュパワーが拮抗すると、ユーザーはどちらを信じてよいか分からず混乱する。

現状維持派 改善派

○○にしましょうよ

私は反対です!!!

改善派現状維持派

利用者

え?どっちのマイニング

コインが正しいんだ?

もう俺らだけでやろうぜ

拮 抗

18

④ビットコインの主な課題(3/3)

ビットコイン口座をスマホ等で自己管理出来るが、引き出し用パスワードを忘れると、誰も引き出せなくなる。

ビットコイン口座が分かると資金の流れがバレてしまう。

パスワード忘れた

OK

パスワード忘れた

【銀行の場合】 【ビットコインの場合】

大家さん会社 会社員

家賃10万円月給50万円

50万円もあるのかよ・・・【ビットコインで給料や家賃支払をした場合】

19

補足:ビットコインをもっと詳しく知りたい方は・・・

ビットコインには、他にも色々な仕組みがあります。 ビットコインの発行ルール(発行総量、半減期)

UTXO(Unspent Transaction Output)

ビットコインアドレスの生成ルール・・・などなど

もっと仕組みを詳しく知りたい方は下記とかをご参考ください。 Satoshi Nakamotoの論文→和訳・解説している人がいます。

Mastering Bitcoin→和訳している人がいます。250ページ超えの長編

ビットコインは奥が深いですが、ビットコインとブロックチェーンで実現するビジネスは別物な気がします。ご注意ください。

20

目次

1. ビットコインは詐欺なのか?

2. ビットコインの基礎知識

3. 実際のビットコインを見てみる

① ビットコインの入手方法

② ビットコインの取引を見る

4. ブロックチェーンの基礎知識

5. ブロックチェーンのビジネス性

21

①ビットコインの入手方法

取引所でビットコインを購入する 購入するためには、本人確認(免許証登録等)が必要

株やFXと違い、24時間取引可能

bitflyer:国内最大の暗号通貨取引所。ビットコインの商標登録もしている・・・

coincheck:スマホアプリが多機能。EthereumやRipple等も扱っている

友人からビットコインをもらうという手もある→これで足がつかないですね^^

国内の主要な取引所

海外の主要な取引所

22

補足:ビットコインの管理方法あれこれ

ビットコインを始めとした暗号通貨の管理方法は色々あります。

管理方法 主なサービス 種類

取引所で管理 BitFlyer、Poloniex 第三者管理・パスワード忘れても再発行可能・ハッキングや倒産のリスク

ウェブウォレット(オンラインで管理)

Blockchain.info、Coinbase

デスクトップウォレット(PCで管理)

Bitcoin Core、Electrum

自身で管理・パスワード忘れたら再発行不可・管理をしっかりしておけば永続的に維持出来る

モバイルウォレット(スマホで管理)

Mycelium、breadwallet

ペーパーウォレット(紙で管理)

bit address

ハードウェアウォレット(専用機で管理)

Trezor

23

②ビットコインの取引を見る

ビットコインはオープンな分散台帳なのでWebで誰でも参照出来る。 例:https://blockchain.info/

藤本の口座に入金されたトランザクション https://blockchain.info/ja/tx/a9f33a2fbd7ab7e4dc85166acb17265f2f2c2396e5e72e5e649332d247c24356

寄付サービスの入出金確認 https://blockchain.info/address/1Kxjt3hNB5Zj8vSdYaVgaBrTdzXtNvb8MZ

24

補足:ビットコインで文字データ管理

ビットコインは、通常はビットコインの取引履歴を管理するためのネットワークだが、取引データの特定の領域に文字データを書き込むことが出来るので、これを活用したサービスもある。

ビットコイン上で結婚証明 https://blockchain.info/tx/3df6354ef03bc70bd3c8157d01f2349d0a42d1f35b6e67103588bdb4444d934a

Proof of Existence(ファイル存在証明) https://blockchain.info/tx/51595fbf021280f8db107455f7f6c9dee85df77b9c03595bdaea0579cdfa50c5

444f4350524f4f46:「DOCPROOF」を16進数に変換したもの

以降の文字列:「これはテストです」のハッシュ値25

目次

1. ビットコインは詐欺なのか?

2. ビットコインの基礎知識

3. 実際のビットコインを見てみる

4. ブロックチェーンの基礎知識

① パブリックチェーンとプライベートチェーン

② スマートコントラクト

③ オフチェーン(ペイメントチャネル&ライトニングネットワーク)

④ ブロックチェーンではない暗号通貨「IOTA」

5. ブロックチェーンのビジネス性

26

①パブリックチェーンとプライベートチェーン

暗号通貨の基盤となるブロックチェーンには、管理者の有無によってパブリックチェーンとプライベートチェーンの2つに大きく分けられ、大きく特徴が異なってくる。

代表的な基盤 Bitcoin Ethereum Ripple Hyperledger Fabric

分類 パブリックチェーン プライベートチェーン

管理者 不在だいたいRipple社 複数の企業・団体

マイナー(ノード) 誰でもネットワークに参加可能

処理性能 7tps 7~15tps 1,000tps 数百~1,000tps

取引手数料 管理者に搾取されない 管理者が搾取しようと思えば搾取出来る

永続性 1つでもマイナーがいれば維持される ネットワーク参加者が辞めたら消滅

ソースコード オープンソース

取引履歴 第三者も確認可能 第三者は確認不可

スマートコントラクト 微妙にある(時間指定等) ある(コード実装) 無い(開発中止) ある(コード実装)

安定性 システムダウンしにくい

改ざんの懸念 改ざんが困難

27

②スマートコントラクト(1/2)

スマートコントラクトとは、特定の条件で決済等の取引を自動実行する機能。【特定の条件の例】・○月○日以降になったら決済実行・投票の結果によって決済額を変動・特定額支払う毎に、デバイスの使用権を1時間譲渡

スマートコントラクトのメリット・相手を信用しなくても、サービスを受けられる。

・取引履歴だけでなく、取引条件も改ざん困難で永続的に参照できる。

【スマートコントラクト】

明日100円払います。

振り込んでないぞ! スマコン見てや

【スマートコントラクト】

投票の結果、8割以上賛成で100円払います。

28

②スマートコントラクト(2/2)

ビットコインのスマートコントラクト トランザクションの特定の領域(nLockTime)に書き込む事で最大1年後までの時間指定が可能。

Ethereumのスマートコントラクト スマートコントラクトを実行する際にGasを手数料としてマイナーに支払う必要あり。

EVM(Ethereum Virtual Machine)Codeと呼ばれるバイトコードの形式で本来記述されるが、可読性や生産性向上のため、独自の高水準言語が出ている。有名なものがSolidity。

Hyperledger Fabricのスマートコントラクト チェーンコードと呼ばれる。

既存の開発言語(GoやJava、将来的にJavascript)で実装可能。

29

③オフチェーン(ペイメントチャネル&ライトニングネットワーク) ※レイヤー2ソリューションとも

オフチェーンとは、取引履歴を圧縮してブロックチェーンに取引履歴を格納させないことで「手数料軽減」や「高速化」を実現する技術。

ペイメントチャネルは、1対1の取引向けの手法。例)1タスク実施ごとにAからBに0.1BTC送金する場合

ライトニングネットワークは、ペイメントチャネルを応用して多対多の取引を実現する。

【通常のビットコイン取引】5タスク実施すれば5回送金する事になり、5回分手数料がかかってしまう

マイナー

Aさん Bさん

手数料

×

【ペイメントチャネル取引】複数の取引を1取引に圧縮してまとめて送金1回分の手数料しかかからない

マイナー

Aさん Bさん

手数料

×

11000回取引も1取引に圧縮

ペアは何重でも出来る

秒間7取引以上が実現

30

④ブロックチェーンではない暗号通貨「IOTA」

IOTA Bitcoin

構造

Tangle過去2つのTxを参照する

ブロックチェーン複数のTxをブロックに固める

データの更新方法 Proof of Work

データの更新者 送金者自身 マイナー

送金手数料 無料 有料

スケーラビリティ 有り 無し

量子計算の耐性有り(Winternitz-OTS署名を採用)

無し

日本円レート(2017/10/25現在)

1IOTA = 0.00005円(取引所はM(メガ)単位で取引)

1BTC = 671,628円

発行上限と現在の枚数(2017/10/25現在)

上限:約2,780 兆 IOTA現在:上限と同じ

上限:約2,100 万 BTC現在:約1,665 万 BTC

31

目次

1. ビットコインは詐欺なのか?

2. ビットコインの基礎知識

3. 実際のビットコインを見てみる

4. ブロックチェーンの基礎知識

5. ブロックチェーンのビジネス性(私見)

① ブロックチェーン技術活用のユースケース

② パブリックチェーンとプライベートチェーンの方向性

③ パブリックチェーンが出来る事

④ プライベートチェーンが出来る事

32

①ブロックチェーン技術活用のユースケース

出典:経済産業省『ブロックチェーン技術を利用したサービスに関する国内外動向調査』(2016年)

色々なユースケースが出ているが、中にはブロックチェーンの必要性が無い?ものも。

「ブロックチェーンの特性」を十分理解してビジネスを考えていく必要がある。33

②パブリックチェーンとプライベートチェーンの方向性

例)海外送金従来手法

プライベートチェーン

既存プレイヤーを活かした現業務の大幅改善

パブリックチェーン

仲介業者不要の圧倒的コストダウン

34

③パブリックチェーンで出来る事

今まで企業が仲介する必要があったサービスが、C2Cで出来る。

→対面で個人間で実現出来ていた取引が、インターネット上で実現出来る。

パブリックチェーン

直近で出来そうなもの

・送金、資金調達、ギャンブル(胴元不在)

→お金の取引に完結するサービス

課題

・仲介業者がいないので、ある程度知識が必要

・サービス提供者側のマネタイズ

・既得権益や法律の壁

・現実世界のやり取り(運搬など)が絡むと困難

・取扱可能なデータ容量や処理性能が現状低い35

宝くじの還元率は、なんと47%。。。すごい搾取ですね・・・。

こんなスマートコントラクトを実装すれば、胴元不在のギャンブルが実現

③パブリックチェーンで出来る事 ギャンブル(胴元不在)

流石に、無いわ…

①10,000円分の暗号通貨をデポジット(マイナーに手数料がかかる)②1週間後、スマートコントラクトにより当選者がランダムで決まる。③当たりの場合は、今までデポジットされた総額を総取り。1,000万円も夢じゃない!

確かに、スマートコントラクト上に

そのように記述されてる!

36

③パブリックチェーンで出来る事 資金調達:ICO(Initial Coin Offering)

パブリックチェーンを使ったサービスの収益方法として、ICOがある。→クラウドファンディングに近いが、出資の見返りに発行される「トークン」がポイント。

37

補足:ICOの具体例(Augur)

Augurは、ICOで5.6億円を調達(現在はBeta版を公開)

現在のレート:1REP = $29.8(クラウドセール時 1REP = $0.5) Augur側の資産:5.6億円 + 220万REP(72.7億円)

38

④プライベートチェーンで出来る事

複数の拮抗した企業間が協調して運営する共通基盤。→1強の企業があれば、ブロックチェーンを使う必要性が無い気がします。

直近で出来そうなもの

・サプライチェーン、企業固有データの交換

課題

・複数企業を巻き込んでいく推進力が必要

A社 B社 C社

プライベートチェーン

抜け駆けしても後でバレるからな

個人へのサポートを前提とした暗号通貨。→低コストで外部や内部からの改ざんに強い通貨を自前で(分析できる!)実現。

直近で出来そうなもの

・地域通貨

課題

・個人にとって、不正されやすいかしにくいかは

どうでも良い。(他の電子マネーと同じ扱い)

パスワード忘れた

OK

プライベートチェーン

39

④プライベートチェーンで出来る事 サプライチェーン ご意見お願いします!

A社 B社 C社

コンソーシアム

・・・・

スマート

コントラクト

品質保証

品質評価

プライベートチェーン

D社過去の取引履歴が見れる。

公正だし、コンソーシアム

に加わろう。

サプライチェーンにおける取引条件等をスマートコントラクト上で明文化する事が出来る。→コンソーシアム間におけるルールの統一。不公平感の解消。

過去の取引データや取引ルールが全て改ざんなく蓄積出来る。→過去の公正な取引を閲覧出来る事から新規企業のコンソーシアム参入が容易。

40

地域外地域外

④プライベートチェーンで出来る事 地域通貨

各地方の経済にとって目指すべきは、「経済循環」を回すこと。→循環率が悪いと、大金を投資しても他の地域に流れてしまい、貧しくなる。。

なるべく増やす なるべく減らす

なるべく回す

自治体の人

どういったところでお金が

使われるか知って強化したい。

より経済循環が活性化する独自の

仕組みを作りたい。(期限付き等)

通貨である以上、セキュリティは万全

にして、住民への利用喚起もしっかりと

全てを解決出来るのは、既存の電子マネーではなく、ブロックチェーンを使った地域通貨!

地域内

将来的に自動化出来ればパブリックチェーンで出来るかも

41

補足:M2Mへの適用

パブリックチェーン基盤でマイクロペイメント(少額決済)を実現しようと研究開発中 1取引の送金が0.1円未満

手数料が0.00001%未満

全世界で秒間1,000万取引以上

適用分野はC2Cではなく、M2Mとなる。 IoTは2020年までに204億台になる(出典:Gartner)ので、中央集権型はますます成立しない

例)完全自動運転が確立された将来に、マイクロペイメントを使った渋滞緩和サービス ユーザーは、運転開始時にどの程度急ぎなのかを自動車にインプットするだけで、後は自動車同士で連携する。

0.1円上げるから道譲って

了解

了解

42