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
ブロックチェーン連続講義 第2-4回 暗号技術のリテラシー / Cryptography Li...
Search
Kenji Saito
PRO
August 12, 2016
Technology
2
630
ブロックチェーン連続講義 第2-4回 暗号技術のリテラシー / Cryptography Literacy
ブロックチェーンハブ主催で開催している第2期ブロックチェーン連続講義の第4回「暗号技術のリテラシー」のスライドです。2016年8月12日(金) に使用しました。
Kenji Saito
PRO
August 12, 2016
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
10
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
20
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
27
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
150
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
79
発表と総括 / Presentations and Summary
ks91
PRO
0
57
サイバーフィジカル社会、金融の未来とアイデアソン / Cyber Physical Society, Future of Finance, and Ideathon
ks91
PRO
0
76
マニフェスト: 人類の知のフロンティアに向けた拡張的足場へ / Manifesto: Toward Expansive Scaffolding for Humanity's Knowledge Frontier
ks91
PRO
0
36
Other Decks in Technology
See All in Technology
Lambda management with ecspresso and Terraform
ijin
2
170
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.6k
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
120
[OCI Technical Deep Dive] OCIで生成AIを活用するためのソリューション解説(2025年8月5日開催)
oracle4engineer
PRO
0
120
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
140
事業特性から逆算したインフラ設計
upsider_tech
0
210
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
160
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
2.5k
Intro to Software Startups: Spring 2025
arnabdotorg
0
270
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
160
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
0
260
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
6.4k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
96
6.2k
Faster Mobile Websites
deanohume
309
31k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Designing Experiences People Love
moore
142
24k
Statistics for Hackers
jakevdp
799
220k
Agile that works and the tools we love
rasmusluckow
329
21k
Making Projects Easy
brettharned
117
6.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Six Lessons from altMBA
skipperchong
28
4k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
A Tale of Four Properties
chriscoyier
160
23k
Transcript
2 4 SFC / CSO
[email protected]
— 2016-08-12 – p.1/38
Bitcoin (2014-06-02) http://www.slideshare.net/kenjiurushima/20140602-bitcoin1-201406031222 — 2016-08-12 – p.2/38
1. 2. 3. — 2016-08-12 – p.3/38
1. – – — 2016-08-12 – p.4/38
(1) — 2016-08-12 – p.5/38
(2) H m H(m) = H(m′) m′ (m′ = m)
H(m) m m′ — 2016-08-12 – p.6/38
(+ ID) TX ID (+ Merkle ) ( ) —
2016-08-12 – p.7/38
SHA-256 × SHA-256 SHA-256 × RIPEMD-160 scrypt ( ) Ethash
(Dagger-Hashimoto ) DAG : Directed Acyclic Graph ( ) — 2016-08-12 – p.8/38
— 2016-08-12 – p.9/38
(RSA) RSA — 2016-08-12 – p.10/38
: < , > : : < , , >
: OK NG — 2016-08-12 – p.11/38
— 2016-08-12 – p.12/38
M A 60BTC — 2016-08-12 – p.13/38
: y2 = x3 + ax + b 3 X
A + B = D A + A + . . . = nA A B C D — 2016-08-12 – p.14/38
(EC) DSA G(x, y), p, a, b nG G, p,
a, b n (n ) k(0 ≤ k ≤ n) kG, n nG — 2016-08-12 – p.15/38
ECDSA secp256k1 Certicom : 256 : 512 160 — 2016-08-12
– p.16/38
( )
[email protected]
( ) ( )
[email protected]
( )
(SFC) — 2016-08-12 – p.17/38
Base58Check 1. SHA-256 × RIPEMD-160 2. ( = 0) 3.
SHA-256 × SHA-256 4. 4 2. 5. base58 base58 10 + 26×2 - 4 (l,I,O,0) = 58 58 — 2016-08-12 – p.18/38
( ) — 2016-08-12 – p.19/38
2. – – (malleability) — 2016-08-12 – p.20/38
Script (General) Output: OP_DUP OP_HASH160 OP_PUSHDATA* <Public-key digest> OP_EQUALVERIFY OP_CHECKSIG
Input: OP_PUSHDATA* <Signature> OP_PUSHDATA* <Public key> TX output addressed to a public-key digest and referring input — 2016-08-12 – p.21/38
Script Processing Concatinates scripts: input → output Stack-based processing —
2016-08-12 – p.22/38
(malleability) — 2016-08-12 – p.23/38
(1) — 2016-08-12 – p.24/38
(2) — 2016-08-12 – p.25/38
— 2016-08-12 – p.26/38
(= ) — 2016-08-12 – p.27/38
256 256 ↓ acfedf64beb9d4c1670d1d0890e3231f5effc72fc8e54c3e31035196f86ae1f0 — 2016-08-12 – p.28/38
m n OK : OP_2 <A> <B> <C> OP_3 OP_CHECKMULTISIG
: OP_DUP OP_HASH160 < > OP_EQUALVERIFY OP_EVAL : < A> < A> < C> < C> < > — 2016-08-12 – p.29/38
— 2016-08-12 – p.30/38
50% 253 50% 23 OK n 2n 2 160 80
— 2016-08-12 – p.31/38
— 2016-08-12 – p.32/38
3. – – Web of Trust — 2016-08-12 – p.33/38
( ) . . . — 2016-08-12 – p.34/38
( ) — 2016-08-12 – p.35/38
( ) A B SA SB SA ∩ SB —
2016-08-12 – p.36/38
Web of Trust — 2016-08-12 – p.37/38
— 2016-08-12 – p.38/38