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
PRO
April 17, 2018
Technology
0
130
ブロックチェーン技術セミナー・ハンズオン -仮想通貨のマイニング・作成体験-
追加資料(コマンドリスト)
https://github.com/Yusk1450/BlockchainStudyGroup
ISHIGO Yusuke
PRO
April 17, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
7
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
21
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
26
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
29
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
76
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
4
こどもICT学級 人工知能(AI)ってなに?(2020/11/7)
yusk1450
PRO
0
4
2025年度 基礎演習(石郷ゼミ)紹介(名古屋文理大学)
yusk1450
PRO
0
23
2024年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
0
49
Other Decks in Technology
See All in Technology
サーバーなしでWordPress運用、できますよ。
sogaoh
PRO
0
110
UI State設計とテスト方針
rmakiyama
2
650
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
re:Invent 2024 Innovation Talks(NET201)で語られた大切なこと
shotashiratori
0
320
APIとはなにか
mikanichinose
0
100
Qiita埋め込み用スライド
naoki_0531
0
5.1k
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
普通のエンジニアがLaravelコアチームメンバーになるまで
avosalmon
0
110
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
Google Cloud で始める Cloud Run 〜AWSとの比較と実例デモで解説〜
risatube
PRO
0
110
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
190
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Into the Great Unknown - MozCon
thekraken
33
1.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Practical Orchestrator
shlominoach
186
10k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Building an army of robots
kneath
302
44k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Invisible Side of Design
smashingmag
298
50k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Building Adaptive Systems
keathley
38
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.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