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
ビットコインとイーサリアムの技術 / Bitcoin and Ethereum Technology
Search
Kenji Saito
PRO
October 03, 2018
Technology
1
190
ビットコインとイーサリアムの技術 / Bitcoin and Ethereum Technology
2018年10月3日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「ビットコインとイーサリアムの技術」にて使用したスライドです。
Kenji Saito
PRO
October 03, 2018
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
関連2群のt検定/独立2群のt検定 / Related 2-group t-test and independent 2-group t-test
ks91
PRO
0
24
A Guide to Paper Writing Support with Generative AI - A Joint Zemi
ks91
PRO
0
6
正規分布と簡単な統計理論/t分布と信頼区間 / Normal distribution, simple statistical theory, t-distribution and confidence intervals
ks91
PRO
0
38
じわじわ迫ってきている自動化社会 (その先にメタ・ネイチャー) / The Slowly Approaching Automated Society (and its beyond: Meta-Nature)
ks91
PRO
0
6
起こりうる誤った推論/平均・分散・標準偏差・自由度 / Possible false inferences, means, variances, standard deviations and degrees of freedom
ks91
PRO
0
55
LaTeX と Overleaf によるショートペーパー作成 / Short paper writing with LaTeX and Overleaf
ks91
PRO
0
18
R を用いた検定(補講) (1) — Welch 検定 / Tests using R (supplementary) (1) - Welch test
ks91
PRO
0
11
R を用いた検定(補講) (2) — カイ二乗検定 / Tests using R (supplementary) (2) - Chi-squared test
ks91
PRO
0
12
R を用いた分析(補講) (1) — 重回帰分析 / Analysis using R (supplementary) (1) - Multiple regression analysis
ks91
PRO
0
10
Other Decks in Technology
See All in Technology
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
100
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
150
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
3
4.5k
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
2
100
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
C++26 エラー性動作
faithandbrave
2
730
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
110
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
840
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
450
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
KATA
mclloyd
29
14k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Automating Front-end Workflow
addyosmani
1366
200k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Why Our Code Smells
bkeepers
PRO
335
57k
Mobile First: as difficult as doing things right
swwweet
222
9k
Transcript
CSO / SFC
[email protected]
— — 2018-10-03 – p.1/66
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 18 P2P (Peer-to-Peer) 2011 SFC 2018 → ( ) — — 2018-10-03 – p.2/66
— — 2018-10-03 – p.3/66
Proof of Work SegWit — — 2018-10-03 – p.4/66
— — 2018-10-03 – p.5/66
(1) ( ) ⇒ P2P ⇒ ( ) — —
2018-10-03 – p.6/66
(2) (double spending) ( ) ⇒ ⇒ ( ) →
( ) ( ) ⇒ → → ⇒ → — — 2018-10-03 – p.7/66
/ — — 2018-10-03 – p.8/66
/ (1) 2,100 cm3 (cc) 1 1cm3 10 12.5cm3 ⇒
⇒ ( ) — — 2018-10-03 – p.9/66
/ (2) ( ) ( ) ( ) ( )
( ) → ( ) — — 2018-10-03 – p.10/66
∼ UTXO (= ) → — — 2018-10-03 – p.11/66
∼ ท൪߸O ท൪߸O ท൪߸O લทͷμΠδΣετ λʔήοτҎԼͰͳ͍ͱ͍͚ͳ͍ Έͩ͠ίʔφʔ μΠδΣετ͕λʔήοτҎԼʹͳΔΑ͏ʹೖΕΔదͳ༰
( ) → — — 2018-10-03 – p.12/66
∼ ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O
ϖʔδ൪߸O ϖʔδ൪߸O ϖʔδ൪߸O ͬͪ͜ͷྺ࢙͕༗ޮ ( ) — — 2018-10-03 – p.13/66
= (virtually) = = = : → ( ) —
— 2018-10-03 – p.14/66
— — 2018-10-03 – p.15/66
— — 2018-10-03 – p.16/66
— — 2018-10-03 – p.17/66
1. 10 ( ) 2. 3. 1 — — 2018-10-03
– p.18/66
/DLT ਖ਼ੑͷอূ ྫ6590ߏͱσδλϧॺ໊ ଘࡏੑͷূ໌ ྫ࡞ۀূ໌͖ϋογϡνΣʔϯ །Ұੑͷ߹ҙ ྫφΧϞτɾίϯηϯαε ϧʔϧͷهड़ ྫ#5$ͷҠస ɾ
τϥϯβΫγϣϯͷ༰͕վ͟ΜͰ͖ͣɺ ɾ ͦͷΞηοτʹؔ͢ΔաڈͷτϥϯβΫγϣϯྻʹরΒͯ͠ໃ६͕ͳ͘ɺ ɾ ͔ͭɺਖ਼ͳϢʔβʹΑΓೖ͞Ε͍ͯΔ͜ͱΛอূ͢Δ ɾաڈʹ͋ͬͨτϥϯβΫγϣϯͷূڌΛຣফͰ͖ͣɺ ɾ ͔ͭɺաڈʹͳ͔ͬͨτϥϯβΫγϣϯͷূڌΛ፻Ͱ͖ͳ͍ ɾໃ६͢Δ;ͨͭͷτϥϯβΫγϣϯ͕ೖ͞Εͨ߹ɺ ɹ ͍ͣΕ ؔ༩͢Δશһ͕ಉ͡ยํΛબΜͰྺ࢙ͷதʹҐஔ͚ͮΔ ɾΞϓϦέʔγϣϯϩδοΫ Կ͕ਖ਼͍͠τϥϯβΫγϣϯ͔ΛܾΊΔ — — 2018-10-03 – p.19/66
- https://blockchain.info/ — — 2018-10-03 – p.20/66
0 and/or “The Times 03/Jan/2009 Chancellor on brink of second
bailout for banks” 2009 1 3 2 https://blockchain.info SEARCH 0 — — 2018-10-03 – p.21/66
(1) (= ) → — — 2018-10-03 – p.22/66
(2) M A 60BTC ( ) SegWit — — 2018-10-03
– p.23/66
SegWit (Segregated Witness; ) (witness) — — 2018-10-03 – p.24/66
SegWit (malleability) https://bitcoincore.org/en/2016/01/26/segwit-benefits/ — — 2018-10-03 – p.25/66
— — 2018-10-03 – p.26/66
Merkle ( ) Digest = SHA-256 × SHA-256 TX (
) — — 2018-10-03 – p.27/66
Block Header Data Structure Field Description Size (bytes) Version 4
Digest Double SHA-256 value 32 Merkle root Double SHA-256 value 32 Time Seconds (since 1970-01-01T00:00 UTC) 4 Target Compressed format 4 Nonce Appropriate value 4 Merkle root is the digest of all TXs — — 2018-10-03 – p.28/66
OP_RETURN PUSH 0xaa21a9ed 4 (witness) SHA-256 32 Merkle — —
2018-10-03 – p.29/66
Proof of Work ( ) ( ) . . .
: Hashcash (1997) SHA-1 20 ( ) 0 1 1 / — — 2018-10-03 – p.30/66
— — 2018-10-03 – p.31/66
CPU → GPU → FPGA → ASIC ( ) →
→ ( ) BTC — — 2018-10-03 – p.32/66
— — 2018-10-03 – p.33/66
POW ( ) Proof Of Work . . . —
— 2018-10-03 – p.34/66
(2009 1 ∼2018 8 ) 2 → 2 2 →
— — 2018-10-03 – p.35/66
https://bitcoin.org/en/developer-reference — — 2018-10-03 – p.36/66
1 1 ∼ 2 — — 2018-10-03 – p.37/66
A-B — — 2018-10-03 – p.38/66
2 2 ( ) Ripple Path — — 2018-10-03 –
p.39/66
— — 2018-10-03 – p.40/66
(EVM) — — 2018-10-03 – p.41/66
(Ethereum) EVM (Ethereum Virtual Machine) — — 2018-10-03 – p.42/66
Vitalik Buterin, “Ethereum White Paper: A NEXT GENERATION SMART CONTRACT
& DECENTRALIZED APPLICATION PLATFORM” 15 / — — 2018-10-03 – p.43/66
= run — — 2018-10-03 – p.44/66
Ether Ethereum EOA : Externally-Owned Account Ether EVM EVM —
— 2018-10-03 – p.45/66
EVM : Ethereum Virtual Machine Gas — — 2018-10-03 –
p.46/66
Frontier (2015) Homestead (2016) Metropolis Byzantium (2017) ← zkSNARKs (
) → Zcash on Ethereum (ZoE) Constantinople (2018 ) Serenity — — 2018-10-03 – p.47/66
— — 2018-10-03 – p.48/66
( ) ( ) ( vs. ) ( ) (
) ( ) ⇒ ( : BBc-1) DLT : : — — 2018-10-03 – p.49/66
( ) ⇒ (Casper) ( ) ⇒ ZoE (Zcash on
Ethereum) ( vs. ) ( ) ⇒ Plasma ( ) ⇒ ( ) (Benevolent Dictator For Life (BDFL)) ( ) ⇒ — — 2018-10-03 – p.50/66
Proof of Work + Proof of Stake + — —
2018-10-03 – p.51/66
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 (1 ) . .
. scrypt ( ) Ethash (Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) https://github.com/ethereum/wiki/wiki/Ethash — — 2018-10-03 – p.52/66
GHOST (Greedy Heaviest Observed Subtree) ⇒ GHOST ( ) “uncles”
proof of work ( ) uncle uncles 7 GHOST — — 2018-10-03 – p.53/66
IUUQTFOXJLJQFEJBPSHXJLJ3BEJY@USFF key OK PATRICIA (Practical Algorithm To Retrieve Information Coded
In Alphanumeric) Trie ( ) (key, value) RLP (recursive length prefix encoding) — — 2018-10-03 – p.54/66
Proof of Stake Casper — — 2018-10-03 – p.55/66
Proof of Stake ( ) ( ) — — 2018-10-03
– p.56/66
Proof of Stake ( ) H n (PD + id
+ t + . . .) ≤ 2n × balance d H n : n (ex. SHA-256 (n = 256)) PD : id : (ex. ) t : (ex. UNIX ( )) balance : d : (ex. ) PoW — — 2018-10-03 – p.57/66
Proof of Stake 3 1. 2. “Nothing at Stake” 3.
51% — — 2018-10-03 – p.58/66
: Proof of Stake Velocity Reddcoin — — 2018-10-03 –
p.59/66
Nothing at Stake - = — — 2018-10-03 – p.60/66
Nothing at Stake - 100% Proof of Stake — —
2018-10-03 – p.61/66
51% — — 2018-10-03 – p.62/66
Casper : Nothing at Stake (Slasher) 100 ⇒ — —
2018-10-03 – p.63/66
( ) PoS — — 2018-10-03 – p.64/66
µRaiden Raiden Network Plasma — — 2018-10-03 – p.65/66
— — 2018-10-03 – p.66/66