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
770
分散システムのリテラシー / 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
デジタルトランスフォーメーションと民主主義 / Digital Transformation and Democracy
ks91
PRO
0
3
We Never Took the Kobayashi Maru Test Until Now. What Do You Think of Our Solutions? — Journeys of the Mind Through a No-Win Game
ks91
PRO
0
14
思いつきが武器になる:研究というゲームを始めよう / Ideas Are Your Equipments : Let the Game of Research Begin!
ks91
PRO
0
73
ロボットを雰囲気(ヴァイブ)でプログラミングするこどもたち / Children Vibe-Programming Robots
ks91
PRO
0
21
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 3
ks91
PRO
0
30
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 2
ks91
PRO
0
33
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
160
未来へのフォワードキャスト / Forward Cast to the Future
ks91
PRO
0
86
発表と総括 / Presentations and Summary
ks91
PRO
0
61
Other Decks in Technology
See All in Technology
おやつは300円まで!の最適化を模索してみた
techtekt
PRO
0
290
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
1.1k
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
2
160
Vault を基盤として整備し、 みんなに使ってもらえるようになるまで
takahiko
1
110
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
170
Autonomous Database - Dedicated 技術詳細 / adb-d_technical_detail_jp
oracle4engineer
PRO
4
10k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
390
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
3.3k
シークレット管理だけじゃない!HashiCorp Vault でデータ暗号化をしよう / Beyond Secret Management! Let's Encrypt Data with HashiCorp Vault
nnstt1
3
230
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
0
140
生成AI時代のデータ基盤
shibuiwilliam
6
3.8k
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
160
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
RailsConf 2023
tenderlove
30
1.2k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Why Our Code Smells
bkeepers
PRO
339
57k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fireside Chat
paigeccino
39
3.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Gamification - CAS2011
davidbonilla
81
5.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Automating Front-end Workflow
addyosmani
1370
200k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Transcript
4 SFC / CSO
[email protected]
— 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