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
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
DevFest 2024 Incheon / Songdo - Compose UI 조합 심화
wisemuji
0
120
2024年にチャレンジしたことを振り返るぞ
mitchan
0
140
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
290
生成AIのガバナンスの全体像と現実解
fnifni
1
200
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
360
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
540
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
100
AWS re:Invent 2024で発表された コードを書く開発者向け機能について
maruto
0
200
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
RailsConf 2023
tenderlove
29
940
Practical Orchestrator
shlominoach
186
10k
Music & Morning Musume
bryan
46
6.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Gamification - CAS2011
davidbonilla
80
5.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fireside Chat
paigeccino
34
3.1k
Building an army of robots
kneath
302
44k
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