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
February 24, 2017
Technology
3
750
分散システムのリテラシー / Distributed Systems Literacy
ブロックチェーンハブ主催で開催している連続講義 (通算第3期) ブロックチェーン基盤技術 第4回「分散システムのリテラシー」のスライドです。2017年2月24日(金) に使用しました。
Kenji Saito
PRO
February 24, 2017
Tweet
Share
More Decks by Kenji Saito
See All by Kenji Saito
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
21
アカデミーキャンプ 2025GWeeeeeeK「がんばれ!!ロボコン」 DAY 3 / Academy Camp 2025GWeeeeeeK "Go For It!! Robocon" DAY 3
ks91
PRO
0
8
アカデミーキャンプ 2025GWeeeeeeK「がんばれ!!ロボコン」 DAY 2 / Academy Camp 2025GWeeeeeeK "Go For It!! Robocon" DAY 2
ks91
PRO
0
13
BIG HEXAPOD ROBOT KIT for Raspberry Pi 組み立てサポートマニュアル / BIG HEXAPOD ROBOT KIT for Raspberry Pi Assembly Support Manual
ks91
PRO
0
22
TANK ROBOT KIT for Raspberry Pi 組み立てサポートマニュアル / TANK ROBOT KIT for Raspberry Pi Assembly Support Manual
ks91
PRO
0
21
ロボットとのコミュニケーションマニュアル / Manual for Communicating with Robots
ks91
PRO
0
14
アカデミーキャンプ 2025GWeeeeeeK「がんばれ!!ロボコン」 DAY 1 / Academy Camp 2025GWeeeeeeK "Go For It!! Robocon" DAY 1
ks91
PRO
0
38
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
170
シリアスゲームとしての RPG / RPGs as Serious Games
ks91
PRO
0
48
Other Decks in Technology
See All in Technology
30代からでも遅くない! 内製開発の世界に飛び込み、最前線で戦うLLMアプリ開発エンジニアになろう
minorun365
PRO
16
5.1k
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
640
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
1
230
Azure × MCP 入門
ry0y4n
6
900
AIにおけるソフトウェアテスト_ver1.00
fumisuke
1
350
ガバクラのAWS長期継続割引 ~次の4/1に慌てないために~
hamijay_cloud
1
590
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
7
63k
MCPを理解する
yudai00
13
9.6k
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
Twelve-Factor-Appから学ぶECS設計プラクティス/ECS practice for Twelve-Factor-App
ozawa
3
160
Oracle Cloud Infrastructure:2025年4月度サービス・アップデート
oracle4engineer
PRO
0
350
Новые мапы в Go. Вова Марунин, Clatch, МТС
lamodatech
0
1.7k
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.2k
Statistics for Hackers
jakevdp
798
220k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Speed Design
sergeychernyshev
29
930
Automating Front-end Workflow
addyosmani
1370
200k
Designing Experiences People Love
moore
142
24k
BBQ
matthewcrist
88
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
19
1.2k
How to train your dragon (web standard)
notwaldorf
91
6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Transcript
4 SFC / CSO ks91@sfc.wide.ad.jp — 4 — 2017-02-24 –
p.1/34
FLP CAP CUP ( ) P2P — 4 — 2017-02-24
– p.2/34
1. 2. 3. P2P 4. — 4 — 2017-02-24 –
p.3/34
1. FLP CAP — 4 — 2017-02-24 – p.4/34
A, B A-B m A B A B A B
. . . — 4 — 2017-02-24 – p.5/34
1. X 2. X C 3. C 1. 2. 3.
reliable multicast — 4 — 2017-02-24 – p.6/34
: — 4 — 2017-02-24 – p.7/34
(safety) (liveness) ( ) ( = ) — 4 —
2017-02-24 – p.8/34
→ / (benign) → (Byzantine) (malicious) — 4 — 2017-02-24
– p.9/34
FLP Fischer, Lynch, Paterson — 4 — 2017-02-24 – p.10/34
CAP Consistency ( ) Availability ( ) Partition tolerance (
) ⇒ 3 C Eventual consistency ( ) . . . — 4 — 2017-02-24 – p.11/34
Consistency ( ) Strong consistency ( ) (safety) Eventual consistency
( ) (liveness) ↑ Weak consistency ( ) ↑ ( ) — 4 — 2017-02-24 – p.12/34
n = f ( ) — 4 — 2017-02-24 –
p.13/34
(1) 1 1, 2 n ≤ 3f — 4 —
2017-02-24 – p.14/34
(2) — 4 — 2017-02-24 – p.15/34
CS1 : CS2 : CS3 : CL1 : CL2 :
: : (e.g. ) — 4 — 2017-02-24 – p.16/34
Paxos (1) : (The Part-Time Parliament) Paxos ( ) ↔
↔ ↔ ⇒ — 4 — 2017-02-24 – p.17/34
Paxos (2) (proposers), (acceptors), (learners) 1. 2. Paxos ( )
— 4 — 2017-02-24 – p.18/34
Paxos Paxos 2f + 1 Paxos f “byzantizing” Byzantine Paxos
PBFT (Practical Byzantine Fault-Tolerance) PBFT — 4 — 2017-02-24 – p.19/34
2. CUP (Consensus with Unknown Participants) - — 4 —
2017-02-24 – p.20/34
(B)FT-CUP (Consensus with Unknown Participants) ( / ) : FT
(Fault-Tolerant) : BFT (Byzantine Fault-Tolerant) P2P n FT/BFT — 4 — 2017-02-24 – p.21/34
- n ( ) p.6 — 4 — 2017-02-24 –
p.22/34
3. P2P P2P - - — 4 — 2017-02-24 –
p.23/34
P2P : P2P 3 3 ( ) strategyproof group strategyproof
— 4 — 2017-02-24 – p.24/34
(Sybil) 16 — 4 — 2017-02-24 – p.25/34
again n > 3f R F R > 2F ⇒
— 4 — 2017-02-24 – p.26/34
( ) f = 1 ⇒ R — 4 —
2017-02-24 – p.27/34
4. — 4 — 2017-02-24 – p.28/34
3 1. ( ) ⇒ 2. ( ) ⇒ 3.
( ) TX · ⇒ — 4 — 2017-02-24 – p.29/34
10 ATM 1 ATM 1 : http://www.slideshare.net/yamaz2/ss-58813038 ⇒ KVS —
4 — 2017-02-24 – p.30/34
— 4 — 2017-02-24 – p.31/34
vs. — 4 — 2017-02-24 – p.32/34
(centralized) (decentralized) (distributed) Paul Baran, “On Distributed Communications Networks”, 1964
(C) (A) — 4 — 2017-02-24 – p.33/34
— 4 — 2017-02-24 – p.34/34