Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Copyright ©2016 HAW International Inc. all rights reserved.
JAWS FESTA 東海道 2016
ブロックチェーンとは何なのか?
2016/10/22
株式会社ハウインターナショナル...
Copyright ©2016 HAW International Inc. all rights reserved.
自己紹介
Copyright ©2016 HAW International Inc. all rights reserved.
自己紹介
名前:安土 茂亨(あづち しげゆき)
所属:株式会社ハウインターナショナル
コミュニティ:JAWS-UG福岡
•ブ...
Copyright ©2016 HAW International Inc. all rights reserved.
P2P型の投票システムCongrechain
CongreChainはブロックチェーン 上 で
投票権の発行とその移転を分散...
Copyright ©2016 HAW International Inc. all rights reserved.
•検証に適したマネージド・ブロックチェーン環境
‣ 複 数のノードで構 成されるブロックチェーンクラスタ
の作成と管理
‣ ...
Copyright ©2016 HAW International Inc. all rights reserved.
•トランザクションなどの可視化・分析ツール
グラフDB化することでブロックチェーンの柔軟な分析を可能に
Powered
by
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックチェーンの仕組み
Copyright ©2016 HAW International Inc. all rights reserved.
さまざまなプロジェクト
本セッションの対象
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoinのブロックチェーンの特徴
● 取引情報を時系列的に分散管理する技術(分散型台帳とも呼ばれる)
○ AさんからB...
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックチェーンのデータ構造
Block
Transaction Input
Output
Block Block Bloc...
Copyright ©2016 HAW International Inc. all rights reserved.
トランザクションのデータ構造
Transaction
Input
Output
Input
Output
Output
Tr...
Copyright ©2016 HAW International Inc. all rights reserved.
P2Pネットワークを利用したデータの伝搬
Transaction
broadcast
broadcast
broadcast...
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックのマイニング(Proof of Work)
ブロック構造
ブロックサイズ
ブロックヘッダ
トランザクション数
トラン...
Copyright ©2016 HAW International Inc. all rights reserved.
マイニングの報酬
マイニングに成功したマイナー(採掘者)には以下の報酬が与えられる。
● 手数料
ブロックに含まれている各ト...
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックチェーンの分岐
Block Block
Block Block
Block
マイナーによるハッシュの計算がほぼ同じ
...
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoinを送る(使用する)のに必要なこと
Transaction
Input
Output
Output
Transa...
Copyright ©2016 HAW International Inc. all rights reserved.
Bitcoinのスクリプト言語
トランザクションの出力と入力には、それぞれロックスクリプト(scriptPubkey)と
ア...
Copyright ©2016 HAW International Inc. all rights reserved.
鍵とアドレス
Bitcoinで使われているECDSA SECP-256k1
【楕円曲線暗号】
楕円曲線上の離散対数問題の困難...
Copyright ©2016 HAW International Inc. all rights reserved.
アドレスの種類
● P2PKH(Pay to PubKey Hash)
”1”から始まる一般的に利用されるアドレスで、
相手...
Copyright ©2016 HAW International Inc. all rights reserved.
一般的なP2PKHを使ったBitcoinの送付
Transaction
Output (3 BTC)Input (5 BTC...
Copyright ©2016 HAW International Inc. all rights reserved.
P2PKHを使った送金のスクリプト
P2PKHを使った送金のscriptPubkey
このロックを解除するscriptSig...
Copyright ©2016 HAW International Inc. all rights reserved.
マルチシグ
Bitcoinを使用する際に複数個の署名を必要とする仕組み。
3人のうち2人の署名があればBitcoinを使用で...
Copyright ©2016 HAW International Inc. all rights reserved.
タイムロック
将来のある時点までBitcoinをロックする仕組み
● OP_CLTV(Check Locktime Veri...
Copyright ©2016 HAW International Inc. all rights reserved.
スクリプトを組み合わせて作るコントラクト
● 有効期限のあるエスクロー
●
アリスとボブとエスクローのうち2つの署名があれば...
Copyright ©2016 HAW International Inc. all rights reserved.
P2SH(Pay to Script Hash)
<凍結時間> CHECKLOCKTIMEVERIFY DROP DUP H...
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックチェーンの課題と今後
Copyright ©2016 HAW International Inc. all rights reserved.
ブロックチェーンの課題
● スケーラビリティ
ブロックに入れられるトランザクションの容量は決まっており、現在の仕様
で処理で...
Copyright ©2016 HAW International Inc. all rights reserved.
スケーラビリティを解決するオフチェーン技術
マイクロペイメントチャネル(単方向)
アリス
ボブ
Opening Transa...
Copyright ©2016 HAW International Inc. all rights reserved.
Lightning Network
● 双方向のペイメントチャネル
タイムロックするスクリプトとシークレットの交換を組み合わ...
Upcoming SlideShare
Loading in …5
×

JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?

2,567 views

Published on

実際ブロックチェーンはどのように動いているのか? Bitcoinを送るということはどういうことなのか? ブロックチェーンでコントラクトを作るということはどういうことなのか? Bitcoinのブロックチェーンの仕組みと今後リリースが予定されている機能について紹介します。

Published in: Technology
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?

  1. 1. Copyright ©2016 HAW International Inc. all rights reserved. JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか? 2016/10/22 株式会社ハウインターナショナル 安土茂亨
  2. 2. Copyright ©2016 HAW International Inc. all rights reserved. 自己紹介
  3. 3. Copyright ©2016 HAW International Inc. all rights reserved. 自己紹介 名前:安土 茂亨(あづち しげゆき) 所属:株式会社ハウインターナショナル コミュニティ:JAWS-UG福岡 •ブロックチェーンに関する取り組み ‣カラードコインの電子投票などへの応用 ‣Open Assets Protocolの実装の一つである openassets-rubyを独自開発しGithubで公開 ‣ ブロックチェーンエクスプローラの開発
  4. 4. Copyright ©2016 HAW International Inc. all rights reserved. P2P型の投票システムCongrechain CongreChainはブロックチェーン 上 で 投票権の発行とその移転を分散記録す るシステム。 併せてOpen Assets Protocol (Bitcoinのブロックチェーン上で独 自 資 産 を 発 行 できる 拡 張 仕 様 )の Ruby実装であるopenassets-rubyを開 発し、オープンソースとして公開。 第8回 フクオカRuby大賞 優秀賞受賞
  5. 5. Copyright ©2016 HAW International Inc. all rights reserved. •検証に適したマネージド・ブロックチェーン環境 ‣ 複 数のノードで構 成されるブロックチェーンクラスタ の作成と管理 ‣ ブロックチェーンの基本操作(ブロックや簡単なトラン ザクションの作成など) ‣ 発行したアセットの定義ファイルなどの作成・公開 ‣ ブロックチェーンおよびトランザクションの可視化 ‣ ブロックチェーンクラスタ全体のスナップショット取得 と復元 ‣ 外部からノードの操作が可能なREST API 主な機能
  6. 6. Copyright ©2016 HAW International Inc. all rights reserved. •トランザクションなどの可視化・分析ツール グラフDB化することでブロックチェーンの柔軟な分析を可能に Powered by
  7. 7. Copyright ©2016 HAW International Inc. all rights reserved. ブロックチェーンの仕組み
  8. 8. Copyright ©2016 HAW International Inc. all rights reserved. さまざまなプロジェクト 本セッションの対象
  9. 9. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoinのブロックチェーンの特徴 ● 取引情報を時系列的に分散管理する技術(分散型台帳とも呼ばれる) ○ AさんからBさんに○Bitcoin送ったという取引記録が台帳に記録される ○ 取引データ(トランザクション)は約10分毎にブロックに記録され、 そのブロックがチェーンのように繋がる ○ データがチェーンのようにつながっているため、過去の情報を改竄しようと すると、それ以降の情報も全て改竄する必要があり現実的に改竄が困難 ○ 不特定多数のノード間でデータが管理されるため、障害に強い ○ 特定のユーザがシステム投資することなく、システム運用が可能 ○ 主体となる管理者がいない ● Bitcoin以外への応用 ○ 証券や土地の登記書など資産の所有権の管理 ○ タイムスタンプサービス
  10. 10. Copyright ©2016 HAW International Inc. all rights reserved. ブロックチェーンのデータ構造 Block Transaction Input Output Block Block Block Transaction Transaction Input Output Output Output Output 約10分 約10分 約10分 発生した取引(トランザクション)を1つのブロックに取りまとめ、 そのブロックを時系列的につなげたチェーンで、非可逆的な記録台帳。
  11. 11. Copyright ©2016 HAW International Inc. all rights reserved. トランザクションのデータ構造 Transaction Input Output Input Output Output Transaction Input Output Output Transaction Input Output Input Output Output Transaction Input Input … 入力は既存のトランザクション の出力と1対1になる 入力に使われていない出力(UTXO)が 使用可能なBitcoinの量 複数の入力と出力から構成される取引の連鎖 入力のBitcoinの合計=出力のBitcoin合計(+手数料)
  12. 12. Copyright ©2016 HAW International Inc. all rights reserved. P2Pネットワークを利用したデータの伝搬 Transaction broadcast broadcast broadcast データを受け取る順序 やタイミングはノードに よって異なる Bitcoinを送るというのは、 Bitcoinの送付トランザザクションを 生成してブロードキャストすること ブロードキャストされたトラン ザクションはマイナーによっ てブロックに格納される 各ノードが全取引データを保持してい て、任意のノードがダウンしても Bitcoin のネットワークは動作し続ける 各ノードはデータを検証し 正しいデータであれば接続中の 別のノードにデータを送る
  13. 13. Copyright ©2016 HAW International Inc. all rights reserved. ブロックのマイニング(Proof of Work) ブロック構造 ブロックサイズ ブロックヘッダ トランザクション数 トランザクションリスト ブロックヘッダ バージョン 前のブロックのハッシュ マークルルート ブロックの生成時刻 difficulty Nonce difficultyによってマイニングの 難易度を調整。 2016ブロック毎(2週間毎)に 調整される Nonceの値を変更しながら ブロックハッシュを計算し、 目的のブロックハッシュを得る 00000000000000………..463ad4accbe9823905 ブロックのデータからハッシュを生成 生成したハッシュの先頭が difficultyで指定されたビット数分 0が続くハッシュが生成できたらマイニング成功! マイニングとは、ある条件を満たすハッシュを生成する競争
  14. 14. Copyright ©2016 HAW International Inc. all rights reserved. マイニングの報酬 マイニングに成功したマイナー(採掘者)には以下の報酬が与えられる。 ● 手数料 ブロックに含まれている各トランザクションの手数料の合計 ● マイニングの報酬 現在12.5 BTCがマイニングの報酬として与えられる。 マイニングによってのみ新しいBitcoinが発行される。 この2つの報酬はブロックのトランザクションリストの先頭のコインベースと呼ばれる 特別な(入力が出力への参照を持たない) トランザクションに含まれる。 マイニングによる報酬は約4年に一度(210,000ブロック毎)半減期を迎える。 直近では2016年07月10日に25 BTCから12.5 BTCに半減。 最終的には2140年頃にマイニングの報酬は0になり、それ以降新しいBitcoinは発行さ れない。
  15. 15. Copyright ©2016 HAW International Inc. all rights reserved. ブロックチェーンの分岐 Block Block Block Block Block マイナーによるハッシュの計算がほぼ同じ タイミングで完了した場合、ブロックチェーンが 分岐する可能性がある。 分岐した場合は、分岐後のチェーンがより 長い方が正しいチェーンとして認識される Bitcoinの二重使用や改竄は、マイニングに参加している全ノードの計算量を上回る必要があ り、後続のブロックが続くほどその難易度も上がるため、現実的にほぼ不可能。
  16. 16. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoinを送る(使用する)のに必要なこと Transaction Input Output Output Transaction Input Output Output Output 各出力はBitcoinの量と、そのBitcoinを使用するための 解除条件を記載したスクリプト(scriptPubkey)を持つ 出力のBitcoinを使うためには、出力に記載された 解除条件を満たすロック解除スクリプト(scriptSig)を持つ scriptPubKey scriptSig 参照する出力のscriptPubkeyと入力のscriptSigのスクリプトを 結合し実行した結果がTRUEであれば、そのBitcoinの使用条件を満たす 有効なトランザクションと判断される。
  17. 17. Copyright ©2016 HAW International Inc. all rights reserved. Bitcoinのスクリプト言語 トランザクションの出力と入力には、それぞれロックスクリプト(scriptPubkey)と アンロックスクリプ(scriptSig)を記述するが、その際に逆ポーランド記法のスタック型 のスクリプト言語を用いる。 ※逆ポーランド記法:演算子を非演算子の右に置く記法 (例) 3 + 4 を逆ポーランド記法で書くと 3 4 + となる。 4 OP_ADD 7 OP_EQUAL scriptPubKey 3 scriptSig 3 4 OP_ADD 7 OP_EQUAL スタック 3 スタック 4 3 スタック 7 スタック 7 7 スタック TRUE scriptSigとscriptPubkeyを結合 結合したスクリプトを実行するとスタックは ↓のように遷移していく 3がスタックにPUSHされる 4がスタックにPUSHされる ADDオペレータにより スタックの上から2つのアイテムを 取り出し加算結果をPUSHする 7がスタックにPUSHされる EQUALオペレータにより スタックの上から2つのアイテムを 比較し等しければTRUE(1)を スタックにPUSHする
  18. 18. Copyright ©2016 HAW International Inc. all rights reserved. 鍵とアドレス Bitcoinで使われているECDSA SECP-256k1 【楕円曲線暗号】 楕円曲線上の離散対数問題の困難性を利用した暗号 RSA暗号と比較して短い鍵長で同等の安全性を確保で き、高速な暗号演算が可能なことからRSAに変わる公開 鍵暗号として注目されている。 ● 楕円曲線暗号に基づくキーペア(秘密・公開鍵)を生成 ● 公開鍵のハッシュ値にprefixとチェックサムを付けたのがBitcoinアドレス 16RTr2vL8yu1r1L2QzyRUSw3ZUn6UYP4CU ● キーペア及びアドレスは何個でも自由に作成可能 ● 秘密鍵を失うとBitcoinは取り出せなくなるので要注意 秘密鍵 公開鍵 アドレス  計算で生成可 非常に困難非常に困難  計算で生成可
  19. 19. Copyright ©2016 HAW International Inc. all rights reserved. アドレスの種類 ● P2PKH(Pay to PubKey Hash) ”1”から始まる一般的に利用されるアドレスで、 相手の公開鍵ハッシュへ支払う BTCを受け取ったユーザは、公開鍵ハッシュに対応する 秘密鍵を使えばBTCを使用できる ● P2SH(Pay to Script Hash) ”3”から始まるアドレスで、公開鍵に代わって任意の スクリプトのハッシュへ支払う このBTCを利用するには元のScript(redeem script)を 知り、その解除条件を満たす必要がある
  20. 20. Copyright ©2016 HAW International Inc. all rights reserved. 一般的なP2PKHを使ったBitcoinの送付 Transaction Output (3 BTC)Input (5 BTC) Output (2 BTC) 【アドレス】 1Kci5….iNbt 【アドレス】 19XW….VpA アリス ボブ アリスからボブに3 BTCを送付 ②署名 ③ブロードキャスト ①トランザクションを作成 scriptSig
  21. 21. Copyright ©2016 HAW International Inc. all rights reserved. P2PKHを使った送金のスクリプト P2PKHを使った送金のscriptPubkey このロックを解除するscriptSig 1. 署名と公開鍵をスタックにPUSH 2. OP_DUPでスタックの一番上のアイテム(公開鍵)をコピー 3. OP_HASH160で一番上のアイテム(公開鍵)のハッシュ値を返却 4. OP_EQUALVERIFYでさっき計算したハッシュ値とトランザクションの 公開鍵のハッシュが一致するかチェック 5. OP_CHECKSIGで署名が公開鍵に対応したものかチェック OP_DUP OP_HASH160 公開鍵ハッシュ OP_EQUALVERIFY OP_CHECKSIG 公開鍵に対応した秘密鍵による署名 公開鍵 scriptPubKey scriptSig
  22. 22. Copyright ©2016 HAW International Inc. all rights reserved. マルチシグ Bitcoinを使用する際に複数個の署名を必要とする仕組み。 3人のうち2人の署名があればBitcoinを使用できる アリス ボブ キャロル 2 アリスの公開鍵 ボブの公開鍵 キャロルの公開鍵 3 CHECKMULTISIG 2-of-3のマルチシグScript scriptPubKey
  23. 23. Copyright ©2016 HAW International Inc. all rights reserved. タイムロック 将来のある時点までBitcoinをロックする仕組み ● OP_CLTV(Check Locktime Verify) 絶対時刻でロックする方法 この出力を指定ブロック高 or 指定時刻までロックする ● OP_CSV(Check Sequence Verify) 相対時間でロックする方法 この出力を持つトランザクションがBlockに含まれてから ○○ブロック経過するまでロックする
  24. 24. Copyright ©2016 HAW International Inc. all rights reserved. スクリプトを組み合わせて作るコントラクト ● 有効期限のあるエスクロー ● アリスとボブとエスクローのうち2つの署名があれば、いつでもBitcoinを利用可 能だが、30日経過するとアリスの署名だけでBitcoinを利用可能になる。 ● 資金の凍結 IF 2 <アリスの公開鍵> <ボブの公開鍵> <エスクローの公開鍵> 3 CHECKMULTISIGVERIFY ELSE "30d" CHECKSEQUENCEVERIFY DROP <アリスの公開鍵> CHECKSIGVERIFY ENDIF <凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開 鍵> EQUALVERIFY CHECKSIG scriptPubKey scriptPubKey
  25. 25. Copyright ©2016 HAW International Inc. all rights reserved. P2SH(Pay to Script Hash) <凍結時間> CHECKLOCKTIMEVERIFY DROP DUP HASH160 <所有者の公開 鍵> EQUALVERIFY CHECKSIG 03883e0db1752103e39299dcced3f711fd5042bb491d6351ec38b1e05140817 9ca579f1d7b4ac80bac c367b99a86f207d6345ff37a32b7001a64fc70f4 シリアライズ ハッシュ生成 HASH160 c367b99a86f207d6345ff37a32b7001a64fc70f4 EQUAL P2SHスクリプト作成 3NB4S1dZew1kYzxyikM2T6qEsF2mZ3zCzLk P2SHアドレス scriptPubKey
  26. 26. Copyright ©2016 HAW International Inc. all rights reserved. ブロックチェーンの課題と今後
  27. 27. Copyright ©2016 HAW International Inc. all rights reserved. ブロックチェーンの課題 ● スケーラビリティ ブロックに入れられるトランザクションの容量は決まっており、現在の仕様 で処理できるトランザクションは約秒間7トランザクションと他の決済システ ムと比べて低パフォーマンス。 ● プライバシーと匿名性 ブロックチェーン上に個人情報は記録されないが、どのアドレスからどのア ドレスへいくらのBitcoinを送ったということは誰もが確認できる。 円であれば、Aさんが持つ1万円もBさんが持つ1万円も等しく交換可能だ が、BitcoinではそのBitcoinがどういうアドレスを経由して送られてきたもの なのか分かってしまう。 ● マイニングの寡占化 マイニングプールによるマイニングの寡占化が進み、Bitcoinの機能拡張 のコンセンサスにも影響が発生する。
  28. 28. Copyright ©2016 HAW International Inc. all rights reserved. スケーラビリティを解決するオフチェーン技術 マイクロペイメントチャネル(単方向) アリス ボブ Opening Transaction 2-of-2 マルチシグ アリスのBitcoinをアリスとボブのマルチ シグアドレスにBitcoinをデポジット 払い戻し用Transaction アリスのBTC アリスのアドレス デポジット 5 BTC チャネルの有効期間を過ぎたら(タイムロッ ク)アリスの秘密鍵を使って払い戻しが可能 off-chain Transaction アリスのアドレス 4.95 BTC デポジット 5 BTC ボブのアドレス 0.05 BTC ● ● ● アリスはボブへのBitcoinの支払いをす るトランザクションを作成しマルチシグの 自分の署名しボブに送る。 (ブロードキャストはしない) off-chainのトランザクションを受け取っ たボブは、あとは自分の署名をすれば いつでもブロードキャスト可能。 オフチェーンで行う決済はチャネルを閉 じるまで何回でも手数料無しで瞬時に決 済が可能。 署名 Closing Transaction アリスのアドレス 3.95 BTC デポジット 5 BTC ボブのアドレス 1.00 BTC ブロードキャストするとチャネルは閉じられる。
  29. 29. Copyright ©2016 HAW International Inc. all rights reserved. Lightning Network ● 双方向のペイメントチャネル タイムロックするスクリプトとシークレットの交換を組み合わせて、 双方向のオフチェーン決済を可能にするペイメントチャネル ● Hash Time-Locked Contracts(HTLCs) 自分がこれから決済をしたい相手が、既に自分がチャネルを開いている 第三者とチャネルを開いている場合に、その第三者を経由して決済を行う 仕組み ● Routing P2PネットワークでHTLCsを利用した決済を行う際の、 ルーティングを解決する これらの機能を実装するLightning Networkが現在開発中で、実現すれば 既存の決済プラットフォームと同等のスループットのBitcoin決済が可能に

×