Byzantine Generals Problem
What is Byzantine Generals Problem?
Last updated
What is Byzantine Generals Problem?
Last updated
๊ณผ๊ฑฐ์๋ ํ๊ฐ์ ์ปดํจํฐ๋ก ๋ชจ๋ ์์ ์ ์ํํ ์ ์์์ง๋ง ์๊ฐ์ด ์ง๋๋ฉด์ ํ๋์ ๋จธ์ ์ ์ปดํจํ ์์ ์ด์์ ํ์๋ก ํ๋ ์์ ์ด ๋ฑ์ฅํ๋ค. ๋ถ์ฐ ์์คํ ์ ์ด๋ฐ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ๋ฌ ์ปดํจํฐ๊ฐ ๊ฐ์ด ๋์ํ๋ ์์คํ ์ด๋ค. ๋น ํ ํฌ ๊ธฐ์ ๋ค์ ๋ฐ์ดํฐ ์ผํฐ๋ ์์ฒญ๋ ์์ ์๋ฒ๋ค์ด ์๋ก ํ๋ ฅํ์ฌ ์ผ์ ์ฒ๋ฆฌํ๋ค.
๋ธ๋ก์ฒด์ธ์ ๋ถ์ฐ์์คํ ๊ณผ ์ ์ฌํ๋ค. ๋์ค์ ๋ค์ ์ค๋ช ํ๊ฒ ์ง๋ง, ๋ธ๋ก์ฒด์ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ค์ํ ์์คํ (decentralized system)์ด๋ค. ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ํ ๋ ธ๋๋ค์ด ์๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ์ํ๋ ๋ธ๋ก์ฒด์ธ ์์คํ ์ ๊ธฐ์กด์ ๋ถ์ฐ ์์คํ ๋ถ์ผ์์์ ์ฐ๊ตฌ๋ฅผ ๋ฐํ์ผ๋ก ๋ฐ์ ํ๋ค.
๋ ์ฌ๋ฆฌ ๋จํฌํธ๋ ๋ถ์ฐ ์์คํ ์ ์๋ฒ์ง๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ปดํจํฐ ๊ณตํ์์ด๋ค. ๋จํฌํธ๋ ๋ถ์ฐ ์์คํ ์ ๋ํ ์ ๋ฐ์ ์ธ ์ฐ๊ตฌ๋ฅผ ์งํํ๋ค. ๋ถ์ฐ ์๊ณ, ํฉ์์ค ์๊ณ ๋ฆฌ์ฆ, ์ ์์๋ช ๋ฑ์ ๋ ผ๋ฌธ์ ๋ฐํํ๋ค. ๊ทธ ์ธ์๋ 2013๋ ์ ํ๋ง์์ ์์ํ๊ณ , LaTeX(๋ ์ดํ )์ ๋ง๋ ์ ์ ์ด ์๋ค.
๊ทธ ์ค ํ ๋ ผ๋ฌธ(http://people.cs.uchicago.edu/~shanlu/teaching/33100_wi15/papers/byz.pdf)์ ๋น์ํฐ์ ์ฅ๊ตฐ ๋ฌธ์ ์ ๋ํ์ฌ ๋ค๋ฃฌ๋ค.
๋น์ํฐ์์ ๋ถ๋๋ ์ฌ๋ฌ ๋ถ๋๋ก ๋๋์ด ์ ๊ตฐ์ ๋๋ฌ ์ธ๊ณ ์๋ค. ๊ฐ ๋ถ๋๋ ๊ฐ ๋ถ๋์ ์ฅ๊ตฐ์ด ์งํํ๋ค. ์ฅ๊ตฐ์ ์ ๋ น์ ํตํด์ ๋ค๋ฅธ ๋ถ๋์ ์ฅ๊ตฐ๊ณผ ์ํตํ ์ ์๋ค. ์ ๊ตฐ์ ๋ํ๋ฅผ ์ดํด๋ณด๊ณ ์ฅ๊ตฐ์ ์๋ก ํต์ ํด์ ๊ณต๊ฒฉํ ์ง ๋ง์ง ํ๋์ ํฉ์์ ์ ๋๋ฌํด์ผ ํ๋ค. ํ์ง๋ง ์ฅ๊ตฐ ์ค ๋ช๋ช ์ ์ด๋ค์ด ํฉ์์ ๋๋ฌํ์ง ๋ชปํ๋๋ก ํ๋ ๋ฐฐ์ ์์ด๋ค.
๋น์ํฐ์ ๋ฌธ์ ์๋ ๋๊ฐ์ง ๊ท์น์ด ์๋ค. ์๋ ๋ ๊ท์น์ ๋ง์กฑํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ์์ผํ๋ค.
์ถฉ์ฑ์ค๋ฌ์ด ์ฅ๊ตฐ์ ๊ฐ์ ํ๋์ ์ทจํด์ผํ๋ค. ์ฆ, ์ถฉ์ฑ์ค๋ฌ์ด ์ฅ๊ตฐ์ ๋ค๊ฐ์ด ๊ณต๊ฒฉํ๊ฑฐ๋ ๋ค๊ฐ์ด ํํดํ๋ค. ๋ฐฐ์ ์๋ค์ ๋ง์๋๋ก ํ๋ํด๋ ์๊ด์๋ค.
์ ์ ์์ ๋ฐฐ์ ์๋ค์ด ์ถฉ์ฑ์ค๋ฌ์ด ์ฅ๊ตฐ๋ค์ด ์๋ชป๋ ๊ฒฐ์ ์ ํ๊ฒ ํ๋ฉด ์ ๋๋ค.
๋ ผ๋ฌธ์ ์ํ๋ฉด ์ด ์กฐ๊ฑด์ ๊ฒฐ๊ตญ ์๋์ ์กฐ๊ฑด์ผ๋ก ๋ฐ๊ฟ ๋งํ ์ ์๋ค. (๋ ผ๋ฌธ ์ฐธ๊ณ )
v(i)๋ฅผ ์์ ์ด ์๊ณ ์๋ i๋ฒ์งธ ์ฅ๊ตฐ์ ๊ฒฐ์ ์ด๋ผ๊ณ ํ๋ค๋ฉด, ๋ชจ๋ ์ฅ๊ตฐ์ ์๋ก ๊ฐ์ v(i)๋ฅผ ๊ฐ์ ธ์ผํ๋ค.
๋ง์ฝ i๋ฒ์งธ ์ฅ๊ตฐ์ด ์ถฉ์ฑ์ค๋ฌ์ด ์ฅ๊ตฐ์ด๋ผ๋ฉด, ๊ทธ๊ฐ ๋ณด๋ธ ๋ฉ์ธ์ง์ v(i)๋ ์ผ์นํด์ผ ํ๋ค.
์ฌ๊ธฐ์ i๋ฒ์งธ ์ฅ๊ตฐ์ ์ฌ๋ น๊ด(commander)๋ผ๊ณ ๋ถ๋ฅด๋ฉด ๊ฒฐ๊ตญ ๋น์ํฐ์ ์ฅ๊ตฐ ๋ฌธ์ ๋ ์๋์ ๊ฐ์ด ์ ๋ฆฌ๋๋ค.
์ฌ๋ น๊ด์ ๊ทธ์ ๋ถํ n-1๋ช ์๊ฒ ๋ช ๋ น์ ์ ๋ฌํ๋๋ฐ, ์๋๋ฅผ ๋ง์กฑํด์ผ ํ๋ค. ์ด๋ป๊ฒ ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผํ ๊น?
๋ชจ๋ ์ถฉ์ฑ์ค๋ฌ์ด ๋ถํ๋ ๊ฐ์ ๋ช ๋ น์ ์ํํ๊ณ ,
์ฌ๋ น๊ด์ด ์ถฉ์ฑ์ค๋ฝ๋ค๋ฉด, ๋ชจ๋ ์ถฉ์ฑ์ค๋ฌ์ด ๋ถํ๋ ๊ทธ ๋ช ๋ น์ ๋ฐ๋ฅธ๋ค.
๋ ํฌํธ๋ ๋ ผ๋ฌธ์์ ๊ตฌ๋ ๋ฉ์ธ์ง(Oral Message), ์๋ช ๋ ๋ฉ์ธ์ง(Signed Message)์ ๊ฒฝ์ฐ์ ๋ํ ํด๋ฒ์ ์ ์ํ๋ค. ์์ธํ ๋ด์ฉ์ ๋ ผ๋ฌธ์์ ์ดํด๋ณด์.
๋น์ํฐ์ ๋ฌธ์ ์์ ์ฌ๋ น๊ด์ ๋ช ๋ น์ ์ธํ(Input), ๋ถํ๋ฅผ ํ๋ก์ธ์(processors), ๋ฐฐ์ ์๋ฅผ ์ค์๋ํ๋ ํ๋ก์ธ๋ก ๋ฐ๊ฟ๋ณด๋ฉด ๋น์ํฐ์ ๋ฌธ์ ๋ ์ฌ๋ฐ๋ฅธ ์ธํ์ ๋ฐ์ ํ๋ก์ธ์๋ ์ค์๋ํ๋ ํ๋ก์ธ๊ฐ ์๋๋ผ๋ ํญ์ ์ฌ๋ฐ๋ฅธ ์์ํ์ ๋์ถํด์ผ ํจ์ ๋ค๋ฃจ๊ณ ์์์ ์ ์ ์๋ค.
๋ ๋์๊ฐ์ ๋น์ํฐ์ ๋ฌธ์ ์์ ์ฌ๋ น๊ด์ ๋ช ๋ น์ ๊ฑฐ๋(transaction), ๋ถํ๋ฅผ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ์ฐธ์ฌํ ๋ ธ๋(Node) ํน์ ์ปดํจํฐ, ๋ฐฐ์ ์๋ฅผ ๊ณต๊ฒฉ์(Hacker) ๋ณด๋ฉด ๋น์ํฐ์ ๋ฌธ์ ๋ ๋ธ๋ก์ฒด์ธ์์ ๊ณต๊ฒฉ์๊ฐ ์์ ์กด์ฌํ๋๋ผ๋ ๋ ธ๋๊ฐ ๋จ ํ๋์ ํฉ์๋ฅผ ๋์ถํ๋ ๊ฒ์ ๋ํ ๋ฌธ์ ๋ก ๋ณผ ์ ์๋ค.
๋ธ๋ก์ฒด์ธ์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํ๋์ ํด๋ฒ์ด๋ค.
๋ธ๋ก์ฒด์ธ๋ง์ด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์๋๋ค. ํ๊ฒฝ์ ๋ฐ๋ผ ์ฌ๋ฌ๊ฐ์ง ๋ณ์๊ฐ ์กด์ฌํ๊ณ (์ฐธ์ฌํ๋ ๋ ธ๋๋ค์ด ์ผ๋ง๋ ๋ง์ ์ง, ๋คํธ์ํฌ๊ฐ ๋๊ฒจ๋ ๋ณต๊ตฌ๋์ด์ผ ํ๋์ง ๋ฑ...) ์ด์ ๋ฐ๋ผ์ ํฉ์๋ฅผ ๋์ถํ๋ ๋ฐฉ๋ฒ ๋ํ ๋ฌ๋ผ์ง๋ค.
์ฐธ๊ณ : http://www.distributedsystemscourse.com/
Last update: 04/07/2021