Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ブロックチェーン技術セミナー・ハンズオン -仮想通貨のマイニング・作成体験-
Search
ISHIGO Yusuke
April 17, 2018
Technology
0
130
ブロックチェーン技術セミナー・ハンズオン -仮想通貨のマイニング・作成体験-
追加資料(コマンドリスト)
https://github.com/Yusk1450/BlockchainStudyGroup
ISHIGO Yusuke
April 17, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
基礎演習(石郷ゼミ)紹介2024
yusk1450
0
20
アプリ開発プロジェクト紹介2024
yusk1450
0
41
Processing入門
yusk1450
0
81
ラピッドプロトタイピング手法を中心としたITスキル習得のための指導法の実践(日本教育工学会 第34回全国大会)
yusk1450
1
150
IoTサービスのためのプロトタイピング・ワークショップ資料(第2回)
yusk1450
0
80
Pepperアプリ開発入門ワークショップ拡大版(2016/08/24)
yusk1450
0
90
IoTサービスのためのプロトタイピング・ワークショップ資料(第1回)
yusk1450
0
120
micro:bit入門資料(2018/08/29)
yusk1450
0
270
IoT×人工知能による画像認識技術勉強会
yusk1450
0
90
Other Decks in Technology
See All in Technology
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
490
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
なぜ今 AI Agent なのか _近藤憲児
kenjikondobai
4
1.4k
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
TypeScript、上達の瞬間
sadnessojisan
46
13k
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Lambdaと地方とコミュニティ
miu_crescent
2
370
AGIについてChatGPTに聞いてみた
blueb
0
130
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
200
Taming you application's environments
salaboy
0
200
Featured
See All Featured
BBQ
matthewcrist
85
9.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Music & Morning Musume
bryan
46
6.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The Language of Interfaces
destraynor
154
24k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Facilitating Awesome Meetings
lara
50
6.1k
Faster Mobile Websites
deanohume
305
30k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Transcript
2018.3.24
自己紹介 日本総合ビジネス専門学校 NIHON-CHUO Institution 2017.4- 合同会社4D Pocket 4D Pocket LLC.
2017.4- 石郷 祐介 ISHIGO Yusuke Programmer
自己紹介 使わなくなったiPhoneを玩具にするアプリ連動型ケース (株式会社アップアローズ)
自己紹介 スマートフォンをロボット化するアタッチメント (共同制作者:市野昌宏、古郡唯希)
自己紹介 ロボットアームのケーブル状態を監視するシステム (岐阜車体工業株式会社)
本日の流れ 1. ブロックチェーンについて ・「ビットコイン」との関係性について ・仕組みの解説(「ブロック」と「チェーン」について) ・応用事例の紹介 2. ビットコインを触ってみる 3. 「Ethereum」でプライベートな仮想通貨環境を作る
① Genesisブロックを作成し、gethを立ち上げる ② アカウントを作成する ③ マイニングしてみる ④ 送金してみる
Bitcoin(ビットコイン) 仮想通貨(暗号通貨)のひとつ 2009年、謎の人物「サトシ・ナカモト」によってネット上で発表された 論文「Bitcoin: A Peer-to-Peer Electronic Cash System」が元になって ブロックチェーンと共に開発された
特徴 ・銀行が必要ない(取引の迅速化、倒産の心配がない、手数料が安い) ・2018年3月時点で、最も流通している仮想通貨 ・単位はBTC(最小単位は0.00000001BTC=1satoshi) ・最大通貨流通高が2,100万BTC(2140年頃までかかると言われている)
通貨 通貨の価値 = どれだけの人がその通貨を使いたがっているか = 通貨の信頼性 ビットコインの相場 http://ビットコイン相場.com 通貨の流通量は、国の中央銀行が決める
ビットコインは、アルゴリズムによって決められる(最大2,100万BTC) 一般通貨 → 国 信頼性の担保 ビットコイン → アルゴリズム そもそも通貨は仮想のもの
ブロックチェーン ① ビットコインの取引は、「ブロックチェーン」という台帳に記録される ブロックチェーンは、参加しているすべてのユーザが保存する 全員のデータが消失しない限り、取引データが失われることはない ブロックチェーン ブロックチェーン A C B
ブロックチェーン
ブロックチェーン ② ビットコインの取引は、「ブロックチェーン」という台帳に記録される A C B 取引は、すべてのユーザに送信(ブロードキャスト)される 受け取った取引データは、ブロックチェーンに保存される 全員のデータが消失しない限り、取引データが失われることはない 現在の取引データ→https://blockchain.info/ja/unconfirmed-transactions
ブロックチェーン ブロックチェーン ブロックチェーン
「ブロック」と「チェーン」 取引は、約4000個(1MB)まとめられてブロックという単位で保存される ブロック ブロック ブロック ブロック ブロックは、過去のブロックとチェーンのようにつながる チェーン 2009年のビットコイン取引開始以来、すべての取引が記録されている (2018年3月19日現在、514,170ブロック=130GB)
http://ビットコイン相場.com ブロックチェーンは「ブロック」と「チェーン」の性質を持つ
ブロックの仕組み ブロック ブロック ブロック ・取引データ(約4000取引分) ・自分のひとつ前のブロックの要約データ=ハッシュ値(ナンス) ブロックには下記のデータが含まれる
チェーンの仕組み ① ブロック ブロック ブロック ブロックをつなげる = 取引が正しく行われたかの承認 2. 特定条件に合うように、ひとつ前のブロックの要約(ハッシュ値)を作る
000000000000000000475ca8f14b66fb7896331492839667e19d46580c0b900c ハッシュ値の例: 特定条件=先頭に18個「0」が続く要約の計算式を見つける(プルーフ・オブ・ワーク) 1. 過去の取引に遡って、取引が成立しているか確認する ハッシュ化:データを一定の長さの文字列に変換(要約)する技術 データ 文字列(ea703e7aa…)=ハッシュ値
チェーンの仕組み ② ブロック ブロック ブロック 特定条件(先頭に「0」が18個)は、あえて難しくしている 特定のブロックを書き換えると、前後のブロックのハッシュ値の整合性 が保てなくなる 自分の後ろにブロックがつながればつながるほど、セキュア(安全)になる すべてのブロックのハッシュ値を書き換えるのは、計算量的に不可能に近い
見つける作業には膨大な計算量が必要 → 世界中のPCがハッシュ値を探す作業をしている(約10分間隔で見つかる) https://blockchain.info/ja/block-index/473307
チェーンの仕組み ③ ブロック ブロック ブロック デメリット 取引が成立するのに時間がかかる。ブロックの接続(承認)は約10分間隔。 自分の後に6個のブロック(6回承認)があると信頼性が担保されると言われる。 (未承認の取引→https://blockchain.info/ja/unconfirmed-transactions) 約10分間に処理できる取引数=約4000件
例:Visaカードは約56,000件/秒なので、10分間で約3,360万件 処理速度は、クレジットカードの約0.011%以下 ビットコインにおけるブロックサイズの拡大は、中国ユーザの反対により 実現していない
ブロックチェーンの弱点 マイナー全体の計算リソースの51%を、一部の人間が手に入れると ブロックチェーンの安全性は崩壊する 51%攻撃
ブロックチェーン≠分散データベース CRUD(データベースの基本機能)は苦手 ブロックチェーン=分散データベースではない! C …… 作成(Create) R …… 検索(Read) U
…… 更新(Update) D …… 削除(Delete) 安全な取引のために、取引履歴を保管しておくための技術 集中管理せずに、安全な取引を行いたい場合のソリューションに向いている スマート・コントラクト ブロックチェーン等を使い、安全な取引を実現したサービスのこと
ブロックチェーンの活用事例 ① カルテ共有システム カルテをブロックチェーンで管理して各病院で共有する(サーバレス)
ブロックチェーンの活用事例 ② 著作権管理システム 著作物を使用した履歴を管理して、仮想通貨で払うことができる
ブロックチェーンの活用事例 ③ 地域通貨(さるぼぼコイン、岐阜県高山市) お金の地産地消を目指す
本日の流れ 1. ブロックチェーンについて ・「ビットコイン」との関係性について ・仕組みの解説(「ブロック」と「チェーン」について) ・応用事例の紹介 2. ビットコインを触ってみる 3. 「Ethereum」でプライベートな仮想通貨環境を作る
① Genesisブロックを作成し、gethを立ち上げる ② アカウントを作成する ③ マイニングしてみる ④ 送金してみる
ビットコインを手に入れる方法 1.購入、譲渡 2.採掘(マイニング) 取引所から購入する、誰かからもらう マイニングツールを使って、ビットコインを生成する 採掘とは、「ハッシュ値を探す(ブロック承認)作業」のこと! ハッシュ値を作る作業をやってもらう代わりに、ハッシュ値を見つけた人には 報酬(新規発行+取引手数料)としてビットコインが与えられる ハッシュ関数を試す速度=◯◯H/s
採掘(マイニング)時の新規発行ビットコイン量 採掘時の新規発行ビットコイン量は、徐々に減っていく(半減期) 参考:https://blockchain.info/
採掘(マイニング)時の取引手数料 取引手数料は毎年増加している
MinerGate(マイナーゲート) ビットコインを採掘するアプリ https://minergate.com/
AltCoin(アルトコイン) AltCoin(Alternative coin=代わりのコイン) 基本的な仕組みはビットコインと同じ AltCoinの時価総額→https://coinmarketcap.com/
本日の流れ 1. ブロックチェーンについて ・「ビットコイン」との関係性について ・仕組みの解説(「ブロック」と「チェーン」について) ・応用事例の紹介 2. ビットコインを触ってみる 3. 「Ethereum」でプライベートな仮想通貨環境を作る
① Genesisブロックを作成し、gethを立ち上げる ② アカウントを作成する ③ マイニングしてみる ④ 送金してみる
Ethereum(イーサリアム) ブロックチェーンを通貨以外にも活用するためのプラットフォーム 仮想通貨としても流通している(通貨単位は「ether」) geth(ゲス) Go言語で実装されたEthereumクライアント
Genesisブロック ブロックチェーンの起点となる最初のブロック ビットコインの「Genesisブロック」に埋め込まれている文字 「The Times 03/Jan/2009 Chancellor on brink of
second bailout for banks」 「イギリス財務大臣が、銀行へ二度目の救済措置(公的資金注入)を決めようとしている (2009/01/03 タイムズ紙)」 サトシ・ナカモトの銀行への不信感ともとれるメッセージ
None