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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kenji Saito
PRO
October 03, 2018
Technology
200
1
Share
ビットコインとイーサリアムの技術 / Bitcoin and Ethereum Technology
2018年10月3日(水)、ブロックチェーンハブ主催で開催されたブロックチェーンアカデミー「ビットコインとイーサリアムの技術」にて使用したスライドです。
Kenji Saito
PRO
October 03, 2018
More Decks by Kenji Saito
See All by Kenji Saito
ワールドカフェ再び、そしてゴール・ルール・ロール・ツール / World Café Revisited, and the Goals-Rules-Roles-Tools
ks91
PRO
0
7
AI 前提社会における(地球)環境データのセンシング / Sensing of (Global) Environmental Data in an AI-Driven Society
ks91
PRO
0
19
自然言語の扱いと翻訳のためのプロンプト / Handling Natural Language and Prompts for Translation
ks91
PRO
0
18
シリアスゲームとしてのRPG / RPGs as Serious Games
ks91
PRO
0
25
“September 12th” ゲームのプロンプトの構造 / The Structure of the "September 12th" Game Prompt
ks91
PRO
0
21
ウェブとイノベーション / The Web and Innovation
ks91
PRO
0
130
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
200
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 4 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 4
ks91
PRO
0
33
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 3 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 3
ks91
PRO
0
54
Other Decks in Technology
See All in Technology
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
790
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
110
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
220
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
150
Digital Independence: Why, When and How
wannesrams
0
310
Purview Endpoint DLP 動かしてみた
kozakigh
0
180
小さいVue.jsを30分で作る
hal_spidernight
0
150
自動テストだけで リリース判断できるチームへ - 鍵はテストの量ではなくリリース判断基準の再設計にあった / Redesigning Release Criteria for Lightweight Releases
ewa
7
3.6k
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
160
要件定義の精度を高めるための型と生成AIの活用 / Using Types and Generative AI to Improve the Accuracy of Requirements Definition
haru860
0
310
Swift Sequence の便利 API 再発見
treastrain
1
230
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
350
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
BBQ
matthewcrist
89
10k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
690
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
740
Unsuck your backbone
ammeep
672
58k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
The SEO identity crisis: Don't let AI make you average
varn
0
460
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
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