SlideShare a Scribd company logo
1 of 22
ASIC問題まで分かる
ビットコインの仕組み
齋藤航貴
ビットコインとは
• ブロックチェーンに書かれたただのデータ
• ブロックチェーンには今までの取引が全部保管されてる
• 自分がいくら持ってるかは取引の履歴から計算
ブロックチェーンの中核技術
• 公開鍵暗号(楕円曲線暗号)←こ
いつは簡単
• ハッシュ関数(SHA-256)←この
話が今回のメイン
極論2つだけ
公開鍵暗号
• 秘密鍵で暗号化したものを公開鍵で復号(暗号を解くこと)
できるという技術(逆パターンが普通)
• 公開鍵から秘密鍵が特定できないという特性を持つ
• 何に使うか?→「電子署名」に使う
• 電子署名とは?→電子的なデータの作成者を証明する
電子署名
• 〇〇さんにビットコインを送る、というデータ(トランザ
クション)を秘密鍵を使って暗号化
• 公開鍵と一緒にビットコインネットワークに送る
• 公開鍵で復号してみる
• 正しく復号できたら正しい取引とみなされる
• 秘密鍵で「署名」したことになる
実際に公開鍵暗号を使ってみる
史上初の公開鍵暗号RSA暗号を使ってみよう!
・まず2つの大きい素数を探す。今回は小さいけど101と97にしてみる。
・(101-1)(97-1)=9600と互いに素な自然数を選ぶ。今回は7にする。
・7が今回の秘密鍵。公開鍵は2743(≡1/7 mod9600)と9797(=101×97)。
・「4545」という文を暗号化して受け取ってみる。
・「4545」の2743乗を9797で割った余り2828を送ってもらう。
・2828の7乗を9797で割った余りを計算すると、元の文章が分かる。
・実際に計算してみると…
ハッシュ関数
• 代入して計算するのは簡単
• 計算結果から代入値を推測するのは困難
• 出てくる値はすべてほぼ当確率で出る。(同じ値が出てく
る可能性はほぼ0)
SHA-256
• ビットコインで使われているハッシュ関数
• どんなものでも256ビットのものに変換する
• 64バイトごとに区切って計算を行っていく
• マイニングの時に行っているのはSHA-256の計算
マイニングでの計算
定数
4バイト
前のブロックのハッシュ値
32バイト
1個のブロックの中身
取引をまとめた値
32バイト
ナンス
4バイト
定数
8バイト
4バイト28バイト
SHA-256にかける
決められた値より小さくなればマイニング成功!
マイニングでの計算
• 取引を改ざんすると取引をまとめた値が変化
• ナンスを計算し直す必要あり
• 次のブロックの前のブロックのハッシュ値が変化
• 次のブロックもナンスを計算し直す必要あり
• 結局改ざんブロック以降すべてナンスを計算する必要あ
り→無理なので改ざんはできない
マイニングでの計算
• 本当はナンスを色々試して計算するのが正しい
• 他の方法は…?→取引をまとめた値も変えられる
• 取引をまとめた値の下4バイトが一定なら嬉しい
ASIC Boost
• 取引をまとめた値の下4バイトを一定に保つ
• 計算量を3割程度減らすことに成功
• Bitmain社が特許を取得→マイニング界を支配
ASIC Boostの手法
• トランザクションの並び順をいろいろ変えて取引をまと
めた値を大量に用意する
• その中から下4バイトが一緒のやつだけを集めて使う
• ナンスは変えずに取引をまとめた値を色々試す
Segwit(Segregated Witness)
• 1つ1つのトランザクションの容量を軽くできる技術
• 取引の部分と電子署名に関わる部分を分離(Segregate)
• 署名データをまとめてWitness Commitmentに変換
• ブロックにはWitness Commitmentだけを記録
• ビットコインでより多くの取引が処理できるようになる
SegwitのASICへの影響
• 取引の並び順を変えるとWitness Commitmentも変化
• Witness Commitmentの計算には時間がかかる
• 取引をまとめた値を大量に生成するのが難しい
• ASICの手法が使えなくなる
SegwitのASICへの影響
• ASICを使えなくする方法は①大量の取引をまとめた値の
作成を不能にする②64バイトごとに計算するという性質
を変更する の2つがある
• Segwitは①の方法によってASICを使えなくできた
• そもそも使用するハッシュ関数が変更されれば②の方法
を採用することとなりASICが使えなくなる可能性もある
ビットコインキャッシュ
• ビットコインのSegwit導入の際に分裂して誕生
• ASICが使えなくなると困る人(BitmainやBitmainの
Antminerを使っていた人など)が支持
• ブロックサイズを大きくすることで多くの取引を処理
ブロックサイズを大きくする
メリット・デメリット
• たくさんの取引を処理できる
• 新しいブロックの情報をネットワーク全体に伝えるのに時間
がかかる→ブロックチェーンが分岐しやすい
• 決済手段を目指すビットコインにおいて分岐のリスクは致命的
(二重支払いの危険が高まる)
• 「ブロックが大きい方が送金がはやいから決済向き」は誤り
ブロックサイズを大きくする
メリット・デメリット
• ブロックサイズを必要に応じて少しずつ大きくしていく
のは?→毎回のハードフォークで通貨分裂のリスク
• ブロックサイズの小さいビットコインは送金手数料が高
騰
• 少額の決済をするには手数料が高すぎる
• やっぱりブロックサイズを大きくするしかない…?
ライトニングネットワーク
• 少額の取引をブロックチェーン以外に記録しておく
• 今まで二者間の取引トータルでいくら動いたかだけをブ
ロックチェーンに記録
• 手数料を安く抑えられビットコインの少額決済も可能に
ライトニングネットワークの問題点
• 取引の中心となってまとめる人がいないと無理
• そこが機能しなくなった途端ネットワークに大きな損害
→中央集権的になることのデメリット
まとめ
• ビットコインは公開鍵暗号とハッシュ関数を上手く使ってできて
る
• ASIC BoostはSHA-256の特性を上手くついたもの
• ASICが使えなくなると困る人達でビットコインキャッシュを作
った
• ビットコインの方針もビットコインキャッシュの方針もそれぞれ
問題あり
• どちらが決済向きか一概には言えない

More Related Content

What's hot

ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめHarukiKondo
 
ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)Seiyo Nakazawa
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日Tomoaki Sato
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainTakahiro Hayashida
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)dcubeio
 
(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門Kenta Fujimoto
 
図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組みNisei Kimura
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術MITSUNARI Shigeo
 
ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題Kindai University
 
ブロックチェーンの技術と動向
ブロックチェーンの技術と動向ブロックチェーンの技術と動向
ブロックチェーンの技術と動向Koichi Masukura
 
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)Lumin Hacker
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602Masashi Sato
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~bitbank, Inc. Tokyo, Japan
 
ブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptAsteria Corporation
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組みRyo Shimamura
 
Bitcoin x javascript
Bitcoin x javascriptBitcoin x javascript
Bitcoin x javascriptYuki Akiyama
 
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0Kenji Saito
 

What's hot (20)

ブロックチェーンまとめ
ブロックチェーンまとめブロックチェーンまとめ
ブロックチェーンまとめ
 
ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)ブロックチェーン基礎(Blockchain Fundamentals)
ブロックチェーン基礎(Blockchain Fundamentals)
 
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
デジタルハリウッド大学院 ブロックチェーン研究会第三回 2016年8月25日
 
Deconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchainDeconstruction of Serverless and blockchain
Deconstruction of Serverless and blockchain
 
Congre chain説明資料
Congre chain説明資料Congre chain説明資料
Congre chain説明資料
 
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)ビットコインとブロックチェーンを初めからていねいに(超基礎編)
ビットコインとブロックチェーンを初めからていねいに(超基礎編)
 
(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門(旧)ビットコインとブロックチェーン入門
(旧)ビットコインとブロックチェーン入門
 
図解 Blockchainの仕組み
図解 Blockchainの仕組み図解 Blockchainの仕組み
図解 Blockchainの仕組み
 
クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術クラウドを支えるこれからの暗号技術
クラウドを支えるこれからの暗号技術
 
Ethereum whitepaper
Ethereum whitepaperEthereum whitepaper
Ethereum whitepaper
 
ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題ビットコイン福岡勉強会法的課題
ビットコイン福岡勉強会法的課題
 
ブロックチェーンの技術と動向
ブロックチェーンの技術と動向ブロックチェーンの技術と動向
ブロックチェーンの技術と動向
 
クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)クラウド事業者のためのクラウドセキュリティ(公開用)
クラウド事業者のためのクラウドセキュリティ(公開用)
 
JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602JNSA Bitcoin 勉強会 佐藤 20140602
JNSA Bitcoin 勉強会 佐藤 20140602
 
ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~ビットコイン~原理からソースまで~
ビットコイン~原理からソースまで~
 
ブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live pptブロックチェーンの解説 In.live ppt
ブロックチェーンの解説 In.live ppt
 
5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み5分でわかるブロックチェーンの基本的な仕組み
5分でわかるブロックチェーンの基本的な仕組み
 
Openassets ruby
Openassets rubyOpenassets ruby
Openassets ruby
 
Bitcoin x javascript
Bitcoin x javascriptBitcoin x javascript
Bitcoin x javascript
 
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
 

Similar to CoinOtaku授業用スライド(ビットコインの仕組み)

Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )Akira Kanaoka
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたことMITSUNARI Shigeo
 
CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!inaz2
 
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)blockchainexe
 
libinjection : SQLi から XSS へ by ニック・ガルブレス
libinjection : SQLi から XSS へ by ニック・ガルブレスlibinjection : SQLi から XSS へ by ニック・ガルブレス
libinjection : SQLi から XSS へ by ニック・ガルブレスCODE BLUE
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)Takashi Takizawa
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1tzm_freedom
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話Preferred Networks
 
170301 いまさら聞けないブロックチェーン⑤
170301 いまさら聞けないブロックチェーン⑤170301 いまさら聞けないブロックチェーン⑤
170301 いまさら聞けないブロックチェーン⑤勇太 荒瀬
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)Kanta Sasaki
 
コンバージョンに効く!?SSLサーバ処方箋
コンバージョンに効く!?SSLサーバ処方箋コンバージョンに効く!?SSLサーバ処方箋
コンバージョンに効く!?SSLサーバ処方箋Masashi Kawamura
 
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境Jun Okumura
 
170301 いまさら聞けないブロックチェーン④
170301 いまさら聞けないブロックチェーン④170301 いまさら聞けないブロックチェーン④
170301 いまさら聞けないブロックチェーン④勇太 荒瀬
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術MITSUNARI Shigeo
 
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範CODE BLUE
 

Similar to CoinOtaku授業用スライド(ビットコインの仕組み) (20)

Cryptocurrency1
Cryptocurrency1Cryptocurrency1
Cryptocurrency1
 
Blockchain入門
Blockchain入門Blockchain入門
Blockchain入門
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
IDベース暗号の概観と今後の展望(次世代セキュア情報基盤ワークショップ )
 
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
 
CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!CRYPT+YOU, UNDERSTAND TODAY!
CRYPT+YOU, UNDERSTAND TODAY!
 
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
Blockchain EXE #12:AI学習履歴に関するブロックチェーン活用(石黒 一明 | クーガー)
 
JJUG CCC.pptx
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptx
 
libinjection : SQLi から XSS へ by ニック・ガルブレス
libinjection : SQLi から XSS へ by ニック・ガルブレスlibinjection : SQLi から XSS へ by ニック・ガルブレス
libinjection : SQLi から XSS へ by ニック・ガルブレス
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
 
第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1第3回web技術勉強会 暗号技術編その1
第3回web技術勉強会 暗号技術編その1
 
ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話ツイートID生成とツイッターリアルタイム検索システムの話
ツイートID生成とツイッターリアルタイム検索システムの話
 
170301 いまさら聞けないブロックチェーン⑤
170301 いまさら聞けないブロックチェーン⑤170301 いまさら聞けないブロックチェーン⑤
170301 いまさら聞けないブロックチェーン⑤
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
 
コンバージョンに効く!?SSLサーバ処方箋
コンバージョンに効く!?SSLサーバ処方箋コンバージョンに効く!?SSLサーバ処方箋
コンバージョンに効く!?SSLサーバ処方箋
 
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
AWSだけで出来る(たぶん)一番早く構築するセキュアな環境
 
170301 いまさら聞けないブロックチェーン④
170301 いまさら聞けないブロックチェーン④170301 いまさら聞けないブロックチェーン④
170301 いまさら聞けないブロックチェーン④
 
ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術ブロックチェーン系プロジェクトで着目される暗号技術
ブロックチェーン系プロジェクトで着目される暗号技術
 
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範
MSOfficeファイル暗号化のマスター鍵を利用したバックドアとその対策 by 光成滋生&竹迫良範
 
Cryptocurrency2
Cryptocurrency2Cryptocurrency2
Cryptocurrency2
 

CoinOtaku授業用スライド(ビットコインの仕組み)