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
マニフェスト: 人類の知のフロンティアに向けた拡張的足場へ / Manifesto: Toward Expansive Scaffolding for Humanity's Knowledge Frontier
ks91
PRO
0
8
続・スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance, Continued
ks91
PRO
0
42
スマートコントラクトと分散ファイナンス / Smart Contracts and Decentralized Finance
ks91
PRO
0
63
シン・ブロックチェーン / Truth of Blockchain
ks91
PRO
0
93
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
37
git と GitHub / git and GitHub
ks91
PRO
0
35
ソフトウェアの開発と保守 / Software Development and Maintenance
ks91
PRO
0
50
インターネットの特徴 / Features of the Internet
ks91
PRO
0
34
インターネットのガバナンス / Governance of the Internet
ks91
PRO
0
30
Other Decks in Technology
See All in Technology
OPENLOGI Company Profile
hr01
0
67k
スタートアップに選択肢を 〜生成AIを活用したセカンダリー事業への挑戦〜
nstock
0
200
What’s new in Android development tools
yanzm
0
310
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
SmartNewsにおける 1000+ノード規模 K8s基盤 でのコスト最適化 – Spot・Gravitonの大規模導入への挑戦
vsanna2
0
130
MobileActOsaka_250704.pdf
akaitadaaki
0
130
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
260
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
170
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
16k
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
10
130k
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
690
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
820
The Invisible Side of Design
smashingmag
301
51k
It's Worth the Effort
3n
185
28k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Practical Orchestrator
shlominoach
189
11k
Six Lessons from altMBA
skipperchong
28
3.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
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