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
AI 前提社会におけるトラスト / Trust in an AI-Driven Society
ks91
PRO
0
11
非営利組織の起業/発表と総括 / Starting up a Nonprofit Organization, Presentation and Summary
ks91
PRO
0
56
自己開発 / Self-Development
ks91
PRO
1
19
あなたは何によって憶えられたいですか? / What Do You Want to be Remembered for?
ks91
PRO
0
24
ボランティアと理事会 / Volunteers and Board of Directors
ks91
PRO
0
42
メタ・ネイチャーポジティブへの道 / The Path to Meta Nature Positive
ks91
PRO
0
34
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 3 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 3
ks91
PRO
0
50
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 2 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 2
ks91
PRO
0
86
アカデミーキャンプ2026 初春「ミライ、ゲーミファイ」DAY 1 / Academy Camp 2026 Early Spring "GAMIFY THE FUTURE!!" DAY 1
ks91
PRO
0
83
Other Decks in Technology
See All in Technology
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
180
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.1k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
920
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
210
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
540
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
640
Bill One急成長の舞台裏 開発組織が直面した失敗と教訓
sansantech
PRO
2
350
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.8k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.3k
配列に見る bash と zsh の違い
kazzpapa3
1
140
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
2
250
Building Applications with DynamoDB
mza
96
6.9k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Statistics for Hackers
jakevdp
799
230k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Technical Leadership for Architectural Decision Making
baasie
1
240
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
92
Documentation Writing (for coders)
carmenintech
77
5.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
Utilizing Notion as your number one productivity tool
mfonobong
3
220
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