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
94
パスワード/パスフレーズと認証 / Password, Passphrase and Authentication
ks91
PRO
0
37
git と GitHub / git and GitHub
ks91
PRO
0
36
ソフトウェアの開発と保守 / 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
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.8k
事業成長の裏側:エンジニア組織と開発生産性の進化 / 20250703 Rinto Ikenoue
shift_evolve
PRO
2
22k
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
230
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
340
Core Audio tapを使ったリアルタイム音声処理のお話
yuta0306
0
190
20250705 Headlamp: 專注可擴展性的 Kubernetes 用戶界面
pichuang
0
270
Geminiとv0による高速プロトタイピング
shinya337
1
270
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
2
7.8k
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
110
OSSのSNSツール「Misskey」をさわってみよう(右下ワイプで私のOSCの20年を振り返ります) / 20250705-osc2025-do
akkiesoft
0
170
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
50
20k
Delegating the chores of authenticating users to Keycloak
ahus1
0
140
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Building an army of robots
kneath
306
45k
Making Projects Easy
brettharned
116
6.3k
Agile that works and the tools we love
rasmusluckow
329
21k
The World Runs on Bad Software
bkeepers
PRO
69
11k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
KATA
mclloyd
30
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
RailsConf 2023
tenderlove
30
1.1k
Become a Pro
speakerdeck
PRO
29
5.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Optimising Largest Contentful Paint
csswizardry
37
3.3k
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