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
140
ブロックチェーン技術セミナー・ハンズオン -仮想通貨のマイニング・作成体験-
追加資料(コマンドリスト)
https://github.com/Yusk1450/BlockchainStudyGroup
ISHIGO Yusuke
PRO
April 17, 2018
Tweet
Share
More Decks by ISHIGO Yusuke
See All by ISHIGO Yusuke
2025年度アプリ開発プロジェクト紹介(名古屋文理大学)
yusk1450
PRO
1
71
自己紹介(研究活動)
yusk1450
PRO
0
27
2024年度参加希望者向けアプリ開発プロジェクト説明(名古屋文理大学)
yusk1450
PRO
0
24
プログラミング基礎#1(名古屋造形大学)
yusk1450
PRO
0
49
プログラミング基礎#2(名古屋造形大学)
yusk1450
PRO
0
46
プログラミング基礎#3(名古屋造形大学)
yusk1450
PRO
0
48
プログラミング基礎#4(名古屋造形大学)
yusk1450
PRO
0
130
こどもICT学級 人工知能(AI)ってなに?(2020/11/21)
yusk1450
PRO
0
15
こどもICT学級 人工知能(AI)ってなに?(2020/11/7)
yusk1450
PRO
0
14
Other Decks in Technology
See All in Technology
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
1.3k
Redefine_Possible
upsider_tech
0
250
Symfony in 2025: Scaling to 0
fabpot
2
180
アプリケーション固有の「ロジックの脆弱性」を防ぐ開発者のためのセキュリティ観点
flatt_security
25
9.3k
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
210
チームの性質によって変わる ADR との向き合い方と、生成 AI 時代のこれから / How to deal with ADR depends on the characteristics of the team
mh4gf
4
330
Amazon EKS Auto ModeでKubernetesの運用をシンプルにする
sshota0809
0
110
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
280
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.9k
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
390
AIエージェント完全に理解した
segavvy
4
260
年末調整プロダクトの内部品質改善活動について
kaomi_wombat
0
200
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
Fireside Chat
paigeccino
37
3.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Statistics for Hackers
jakevdp
798
220k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
490
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing for Performance
lara
606
69k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
470
Product Roadmaps are Hard
iamctodd
PRO
52
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
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