Investor's wiki

비동기

비동기

์ปค๋ฎค๋‹ˆํ‹ฐ ์ œ์ถœ - ์ž‘์„ฑ์ž: Caner TaรงoฤŸlu

๋น„๋™๊ธฐ์‹์ด๋ž€ ๋™์‹œ์ ์ด์ง€ ์•Š๊ฑฐ๋‚˜ ๋™์ผํ•œ ์‹œ๊ฐ„ ๋˜๋Š” ์†๋„๋กœ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ ๊ณผํ•™์—์„œ ๋น„๋™๊ธฐ๋Š” ์ฃผ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋…๋ฆฝ์ ์ธ ์ด๋ฒคํŠธ์˜ ๋ฐœ์ƒ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋น„๋™๊ธฐ์‹ ์‹œ์Šคํ…œ์—์„œ ์ž‘์—…์€ ์ „์—ญ ํด๋ก ์‹ ํ˜ธ์— ์˜ํ•ด ์กฐ์ •๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ด๋ฒคํŠธ(์‹œ์Šคํ…œ์˜ ๋ณ€๊ฒฝ)์— ์˜ํ•ด ์กฐ์ •๋ฉ๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ์‹ ์‹œ์Šคํ…œ์€ ์•ˆ์ •์ ์ธ ์ž‘๋™์„ ์œ„ํ•ด ์™ธ๋ถ€ ์‹ ํ˜ธ๋‚˜ ๋ฉ”์‹œ์ง€์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋น„๋™๊ธฐ์‹ ์‹œ์Šคํ…œ์€ ์ข…์ข… ๋ชจ๋“ˆ์‹ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์„ค๊ณ„๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์—์„œ ๊ฐ ๋ชจ๋“ˆ์€ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ˜ธ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“ˆ์€ ํ•จ๊ป˜ ์ž‘๋™ ์‹œ์Šคํ…œ์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋น„๋™๊ธฐ์‹ ํ†ต์‹ ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ผ์ •ํ•œ ์ŠคํŠธ๋ฆผ์ด ์•„๋‹Œ ๋ถˆ๊ทœ์น™์ ์œผ๋กœ ์ „์†ก๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋กœ๋Š” ์ฐธ๊ฐ€์ž๊ฐ€ ๋‹ค๋ฅธ ์‹œ๊ฐ„์— ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์ด๋ฉ”์ผ ๋˜๋Š” ์˜จ๋ผ์ธ ํฌ๋Ÿผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ์€ ๋น„๋™๊ธฐ์‹ ๋˜๋Š” ๋ฐ˜๋™๊ธฐ์‹ ๋„คํŠธ์›Œํฌ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„๋™๊ธฐ์‹ ๋„คํŠธ์›Œํฌ๋Š” ์ „์†ก๋˜๋Š” ์ •๋ณด์˜ ์ƒํƒœ์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๋…ธ๋“œ์— ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋…ธ๋“œ๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ์ „์ฒด ์ƒํƒœ์— ๋Œ€ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๊ด€์ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜์‹ ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋™๊ธฐ์‹ ๋„คํŠธ์›Œํฌ๋Š” ๋„คํŠธ์›Œํฌ์˜ ์ „์—ญ ์ƒํƒœ๊ฐ€ ๋ถ„ํ• ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ถ„ํ• ๋˜๋ฉด ๋…ธ๋“œ ๊ฐ„์˜ ํ•ฉ์˜๊ฐ€ ๋‹ค์‹œ ๋ณต์›๋  ๋•Œ๊นŒ์ง€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.

๋น„๋™๊ธฐ์‹ ๋˜๋Š” ๋ฐ˜๋™๊ธฐ์‹ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ๋Š” ์ผ๊ด€์„ฑ ๋˜๋Š” ๊ฐ€์šฉ์„ฑ์„ ์šฐ์„ ์‹œํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ๊ฐ€์šฉ์„ฑ์„ ์šฐ์„ ์‹œํ•˜๋ ค๋ฉด ๋‹ค์šดํƒ€์ž„ ์—†์ด ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๊ฐ€ ์ผ๊ด€์„ฑ์„ ์šฐ์„ ์‹œํ•˜๋ ค๋ฉด ์ด์ „ ํŠธ๋žœ์žญ์…˜์ด ๋ชจ๋‘ ํ™•์ธ๋  ๋•Œ๊นŒ์ง€ ์ผ๋ถ€ ํŠธ๋žœ์žญ์…˜์ด ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ถ€ ๋ธ”๋ก์ฒด์ธ ์„ค๊ณ„์—์„œ๋Š” aBFT(Asynchronous Byzantine Fault Tolerance)๋ผ๋Š” BFT(Byzantine Fault Tolerance) ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณต๊ฒฉ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ๊ฑฐ์˜ 3๋ถ„์˜ 1์„ ์ œ์–ดํ•˜๋”๋ผ๋„ ๊ฒฐ๊ตญ ํ•ฉ์˜๊ฐ€ ์ด๋ฃจ์–ด์ง€๋„๋ก ์ˆ˜ํ•™์ ์œผ๋กœ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ์ปจํ…์ŠคํŠธ์—์„œ ๋น„๋™๊ธฐ๋Š” ํƒ€์ด๋ฐ์— ๋Œ€ํ•œ ๊ฐ€์ •์ด ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.