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
分散システムの基礎知識 / Distributed Systems Literacy
Search
Kenji Saito
PRO
November 29, 2017
Technology
0
160
分散システムの基礎知識 / Distributed Systems Literacy
2017年11月29日(水)、ブロックチェーンアカデミー「ブロックチェーン基盤技術 分散システムの基礎知識」にて使用したスライドです
Kenji Saito
PRO
November 29, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
ブロックチェーン概論とインストール大会 / Blockchain Overview and Installation
ks91
PRO
0
4
FinTech 3-4 : Internet Technology and Governance
ks91
PRO
0
59
身体を持つ生成AI と製品トレーサビリティー / Bodily Generative AI and Product Traceability
ks91
PRO
0
14
ブロックチェーン概論 / Introduction to Blockchain
ks91
PRO
0
16
FinTech Lecture 1-2 : Overview of FinTech
ks91
PRO
0
98
ブロックチェーンと分散ファイナンス概論 / Introduction to Blockchain and Decentralized Finance
ks91
PRO
0
31
アカデミーキャンプ 2024秋「都の西北で、もう一度AI(アイ)を叫ぶ」DAY 3 / Academy Camp 2024 Fall - Screaming AI at the North-West of the Capital - DAY 3
ks91
PRO
0
50
アカデミーキャンプ 2024秋「都の西北で、もう一度AI(アイ)を叫ぶ」DAY 2 / Academy Camp 2024 Fall - Screaming AI at the North-West of the Capital - DAY 2
ks91
PRO
0
37
アカデミーキャンプ 2024秋「都の西北で、もう一度AI(アイ)を叫ぶ」DAY 1 / Academy Camp 2024 Fall - Screaming AI at the North-West of the Capital - DAY 1
ks91
PRO
0
73
Other Decks in Technology
See All in Technology
Assisted reorganization of data structures
ennael
PRO
0
270
受託開発でもアジャイル開発できました / Agile in Contract Development
takaking22
9
4.6k
それでもやっぱり ExpressRoute が好き!
skmkzyk
0
360
SageMaker学習のツボ / The Key Points of Learning SageMaker
cmhiranofumio
0
190
ADRを運用して3年経った僕らの現在地
onk
PRO
13
5.8k
スタサプ ForSCHOOLアプリのシンプルな設計
recruitengineers
PRO
3
630
テクニカルライターのチームで「目標」をどう決めたか / MVV for a Team of Technical Writers
lycorptech_jp
PRO
3
100
プロダクト開発の貢献をアピールするための目標設計や認知活動 / Goal design and recognition activities to promote product development contributions.
oomatomo
5
910
kube-vipとkube-proxy置き換えCiliumを積んだ究極のK3sクラスタを建てる
logica0419
4
220
エンジニア向け会社紹介資料
caddi_eng
14
270k
CData Virtuality を活かせるキーシナリオと製品デモ
cdataj
0
230
Deno Deploy で Web Cache API を 使えるようになったので試した知見
toranoana
1
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Become a Pro
speakerdeck
PRO
24
4.9k
GraphQLとの向き合い方2022年版
quramy
43
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
Designing with Data
zakiwarfel
98
5.1k
Gamification - CAS2011
davidbonilla
80
5k
Learning to Love Humans: Emotional Interface Design
aarron
272
40k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
How STYLIGHT went responsive
nonsquared
95
5.1k
Transcript
CSO / SFC
[email protected]
— — 2017-11-29 – p.1/38
( ) SFC ( ) CSO (Chief Science Officer) 1993
M.Eng ( ) 2006 ( ) SFC 17 P2P 2011 → ( ) — — 2017-11-29 – p.2/38
FLP CAP CUP ( ) P2P — — 2017-11-29 –
p.3/38
1. 2. 3. Paxos 4. 5. P2P 6. — —
2017-11-29 – p.4/38
1. FLP CAP — — 2017-11-29 – p.5/38
A, B A-B m A B A B A B
. . . — — 2017-11-29 – p.6/38
1. X 2. X C 3. C 1. 2. 3.
reliable multicast — — 2017-11-29 – p.7/38
: — — 2017-11-29 – p.8/38
(safety) (liveness) ( ) ( = ) — — 2017-11-29
– p.9/38
→ / (benign) → (Byzantine) (malicious) — — 2017-11-29 –
p.10/38
FLP Fischer, Lynch, Paterson — — 2017-11-29 – p.11/38
CAP Consistency ( ) Availability ( ) Partition tolerance (
) ⇒ 3 C Eventual consistency ( ) . . . — — 2017-11-29 – p.12/38
Consistency ( ) Strong consistency ( ) (safety) Eventual consistency
( ) (liveness) ↑ Weak consistency ( ) ↑ ( ) — — 2017-11-29 – p.13/38
2. — — 2017-11-29 – p.14/38
n = f ( ) ⇒ — — 2017-11-29 –
p.15/38
(1) 1 1, 2 n ≤ 3f — — 2017-11-29
– p.16/38
(2) — — 2017-11-29 – p.17/38
3. Paxos Paxos Paxos — — 2017-11-29 – p.18/38
CS1 : CS2 : CS3 : CL1 : CL2 :
: : (e.g. ) — — 2017-11-29 – p.19/38
Paxos (1) : (The Part-Time Parliament) Paxos ( ) ↔
↔ ↔ ⇒ — — 2017-11-29 – p.20/38
Paxos (2) (proposers), (acceptors), (learners) 1. 2. Paxos ( )
— — 2017-11-29 – p.21/38
Paxos Paxos 2f + 1 Paxos f “byzantizing” Byzantine Paxos
PBFT (Practical Byzantine Fault-Tolerance) PBFT — — 2017-11-29 – p.22/38
4. CUP (Consensus with Unknown Participants) vs. — — 2017-11-29
– p.23/38
(B)FT-CUP (Consensus with Unknown Participants) ( / ) : FT
(Fault-Tolerant) : BFT (Byzantine Fault-Tolerant) P2P n FT/BFT — — 2017-11-29 – p.24/38
State Machine Replication ( ) (by ) (since 1984) (
) ( ) . . . ( ) — — 2017-11-29 – p.25/38
( ) ( ) ( ) ( ) (by )
— — 2017-11-29 – p.26/38
5. P2P P2P - - — — 2017-11-29 – p.27/38
P2P : P2P 3 3 ( ) strategyproof group strategyproof
— — 2017-11-29 – p.28/38
(Sybil) 16 — — 2017-11-29 – p.29/38
again n > 3f R F R > 2F ⇒
— — 2017-11-29 – p.30/38
( ) f = 1 ⇒ R — — 2017-11-29
– p.31/38
6. — — 2017-11-29 – p.32/38
3 1. ( : UTXO ) ⇒ ( ) 2.
( : ) ⇒ 3. ( : ) TX ⇒ 2 3 — — 2017-11-29 – p.33/38
10 ATM 1 ATM 1 : http://www.slideshare.net/yamaz2/ss-58813038 ⇒ KVS —
— 2017-11-29 – p.34/38
— — 2017-11-29 – p.35/38
vs. — — 2017-11-29 – p.36/38
(centralized) (decentralized) (distributed) Paul Baran, “On Distributed Communications Networks”, 1964
(C) (A) — — 2017-11-29 – p.37/38
— — 2017-11-29 – p.38/38