์ฐ๋ก๋ณด๋ก์ค
์ ํ์์ ์ฐ๋ก๋ณด๋ก์ค(Ouroboros ๋๋ uroboros)๋ ๋ณดํต ๋ฑ(๋๋ก๋ ์ฉ)์ด ๋ซํ ์ ์์์ ์์ ์ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๊ณ ์๋ ๋ชจ์ต์ผ๋ก ๋ฌ์ฌ๋ฉ๋๋ค. ์ฐ๋ก๋ณด๋ก์ค๋ผ๋ ๋จ์ด ์์ฒด๋ ๊ณ ๋ ๊ทธ๋ฆฌ์ค์ด์์ ์ ๋ํ ๊ฒ์ผ๋ก, ๋ฌธ์ ๊ทธ๋๋ก โ๊ผฌ๋ฆฌ๋ฅผ ์ก์๋จน๋โ ๋๋ '๊ผฌ๋ฆฌ๋ฅผ ์ผํค๋ ์กด์ฌโ๋ฅผ ๋ปํฉ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค๋ ๋ง์น ์์ํ ์ํ์ ๊ณ ๋ฆฌ์ ๊ฐํ ๊ฒ์ฒ๋ผ ๋์์ด ๋ฐ๋ณต๋๋ ๋ฌดํํ ์๊ฐ์ ์์งํฉ๋๋ค. ์ฐ๋ก๋ณด๋ก์ค๋ ๊ธฐ์์ 13์ธ๊ธฐ ์ด์งํธ์์ ์ฒ์ ๋ฑ์ฅํ์ต๋๋ค. ์ดํ ์ฐ๊ธ์ ์ฌ๋ค์ ์ฐ๋ก๋ณด๋ก์ค๋ฅผ ์ ๋น๋ก์ด ์์ง์ผ๋ก ์ฌ์ฉํ์ต๋๋ค.
์ค๋ ์ธ์์ ๊ฑธ์ณ ์ฐ๋ก๋ณด๋ก์ค๋ ์๋ง์ ๋ฌธํ๊ถ์์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํด์๋๊ณ ์ฌ์ฉ๋์ด ์์ต๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ํด์ ์ค ํ๋๋ ์ด ์์ง์ด ์ฐ์ฃผ์ ์ํธ ์ฐ๊ฒฐ์ฑ๊ณผ ๋ฌดํ์ฑ์ ์์งํ๋ค๋ ๊ฒ์ ๋๋ค.
2017๋ , ์ฐฐ์ค ํธ์คํจ์จ์ ์นด๋ฅด๋ค๋ ธ์ ๊ธฐ๋ฐ์ด ๋๋ ์ง๋ถ ์ฆ๋ช ํฉ์ ํ๋กํ ์ฝ์ ์ด๋ฆ์ผ๋ก ์ฐ๋ก๋ณด๋ก์ค๋ฅผ ์ฑํํ์ต๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ์ฐ๋ก๋ณด๋ก์ค๋ ๋ธ๋ก์ฒด์ธ์ ๋ฌดํํ ์ค๋ฆฌ์ ์ฑ์ฅ๊ณผ ํ์ฅ์ฑ์ ๊ฐ๋ฅ์ฑ์ ๋ํ๋ ๋๋ค. ์ฐ๋ก๋ณด๋ก์ค์ ํต์ฌ ๋ฉ์์ง๋ ์ ์ธ๊ณ์ ๋ ํฐ ๊ธฐํ๋ฅผ ์ ๊ณตํ๊ณ , ์๋์ง ์๋น๋ฅผ ํฌ๊ฒ ์ค์์ผ๋ก์จ ์ธ์์ ๋ณด์กดํ๋ ๊ฒ์ ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค๋?
์ฐ๋ก๋ณด๋ก์ค๋ ์นด๋ฅด๋ค๋ ธ์ ํฉ์ ํ๋กํ ์ฝ๋ก, ์ต์ด์ ์ ์ฆ ๊ฐ๋ฅํ๊ณ ์์ ํ ์ง๋ถ ์ฆ๋ช ํ๋กํ ์ฝ์ด์ ๋๋ฃ ๊ฒํ ์ฐ๊ตฌ์ ๊ธฐ๋ฐํ ์ต์ด์ ๋ธ๋ก์ฒด์ธ ํ๋กํ ์ฝ์ ๋๋ค.
๋ ์์ ์ธ ๊ธฐ์ ๊ณผ ์ํ์ ์ผ๋ก ๊ฒ์ฆ๋ ๋ฉ์ปค๋์ฆ(ํ๋ ์ฌ๋ฆฌํ ๋ฐ ๊ฒฝ์ ์ฒ ํ ์๋ฆฌ ์ ์ฉ)์ ๊ฒฐํฉํ ์ฐ๋ก๋ณด๋ก์ค๋ ๋ธ๋ก์ฒด์ธ์ ๋ณด์๊ณผ ์ง์ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ๊ณ ์ง์ํฉ๋๋ค. ๋ฐ๋ผ์ ํ๋กํ ์ฝ์ ๊ฒ์ฆ๋ ๋ณด์์ ๋ณด์ฅํ๋ฉฐ, ์ต์ํ์ ์๋์ง ์๋ชจ๋ก ๊ธ๋ก๋ฒ ๋นํ๊ฐํ ๋คํธ์ํฌ์ ํ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์นด๋ฅด๋ค๋ ธ๋ ์ด๋ฅผ ๊ตฌํํ ์ต์ด์ ๋คํธ์ํฌ์ ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค๋ ๋คํธ์ํฌ์์ ๋ณด์ ํ ์ง๋ถ์ ๋ฐ๋ผ ์๋ก์ด ๋ธ๋ก์ ์์ฑํ ์ฐธ์ฌ์(์ด ๊ฒฝ์ฐ ์คํ ์ดํฌ ํ)๋ฅผ ์ ์ถํ๊ณ , ์ง์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์๋ก์ด ์์ฅ์ ์ง์ํ๋ ํ์ค์ํ ๋นํ๊ฐํ ๋คํธ์ํฌ ํ์ฑ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค ๊ตฌํ
์ฐ๋ก๋ณด๋ก์ค๋ ๋ค์ํ ๋ฒ์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค:
- ์ฐ๋ก๋ณด๋ก์ค ํด๋์(Classic)
- ์ฐ๋ก๋ณด๋ก์ค BFT
- ์ฐ๋ก๋ณด๋ก์ค ํ๋ผ์ค์ค(Praos)
- ์ฐ๋ก๋ณด๋ก์ค ์ ๋ค์์ค(Genesis)
- ์ฐ๋ก๋ณด๋ก์ค ํฌ๋ฆฝ์๋์ค(Crypsinous)
- ์ฐ๋ก๋ณด๋ก์ค ํฌ๋ก๋ ธ์ค(Chronos)
์ฐ๋ก๋ณด๋ก์ค ํด๋์
์ฐ๋ก๋ณด๋ก์ค์ ์ฒซ ๋ฒ์งธ ๊ตฌํ์์๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ฑ๊ณผ๋ฅผ ๋ฌ์ฑํ์ต๋๋ค.
- ์์ ์ฆ๋ช ์ ํ์ ํ๋ ์๋์ง ํจ์จ์ ์ธ ํ๋กํ ์ฝ์ ํ ๋ ๋ง๋ จ
- ์ง๋ถ ์ฆ๋ช ์ ๋ถ์ํ๊ธฐ ์ํ ์ํ์ ํ๋ ์์ํฌ ๋์
- ์ง๋ถ ์ฆ๋ช ํ๊ฒฝ์์ ์ฐธ์ฌ์์๊ฒ ๋ณด์์ ์ ๊ณตํ๋ ์๋ก์ด ์ธ์ผํฐ๋ธ ๋ฉ์ปค๋์ฆ ๊ตฌํ
ํ์ง๋ง ์ฐ๋ก๋ณด๋ก์ค๊ฐ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ ํ๋กํ ์ฝ(ํนํ ์ง๋ถ ์ฆ๋ช ํ๋กํ ์ฝ)๊ณผ ์ฐจ๋ณํ๋๋ ์ ์ ํ๋กํ ์ฝ์ ๋ฆฌ๋ ์ ์ถ ์๊ณ ๋ฆฌ์ฆ์์ ๊ณต์ ํ ๋ฌด์์์ฑ์ ์์ฑํ๋ ๋ฅ๋ ฅ๊ณผ ๊ทธ์ ์๋ฐ๋๋ ๋์ ์์ค์ ๋ณด์ ๋ณด์ฅ์ ์์ต๋๋ค. ๋ฌด์์์ฑ์ ํ๋กํ ์ฝ์ ๋ณด์์ ์ ์งํ๋ ๋ฐ ์ค์ํ 'ํจํดโ์ด ํ์ฑ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ์ฐ๋ก๋ณด๋ก์ค๋ ์ด๋ฌํ ์๊ฒฉํ ๋ณด์ ๋ถ์์ ํตํด ๊ฐ๋ฐ๋ ์ต์ด์ ๋ธ๋ก์ฒด์ธ ํ๋กํ ์ฝ์ ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค BFT
์ฐ๋ก๋ณด๋ก์ค ๋น์ํด ์ฅ์ ํ์ฉ(BFT)์ ํ๋กํ ์ฝ์ ๋ ๋ฒ์งธ ๊ตฌํ์ผ๋ก, ๋ฐ์ด๋ฐ ์ ๋ฐ์ดํธ(๊ธฐ์กด ์นด๋ฅด๋ค๋ ธ ์ฝ๋๋ฒ ์ด์ค์์ ์๋ก์ด ์ฝ๋๋ฒ ์ด์ค๋ก์ ์ ํ) ๊ณผ์ ์์ ์ฌ์ฉ๋์์ต๋๋ค. ์นด๋ฅด๋ค๋ ธ๋ ์ ธ๋ฆฌ ์ถ์์ ํจ๊ป ์ ๊ณต๋ ํ์ค์ํ๋ฅผ ์ํ ํ๋กํ ์ฝ์ ๋ ๋ฒ์งธ ์ธ์คํด์ค๋ฅผ ์ค๋นํ์ต๋๋ค.
์ฐ๋ก๋ณด๋ก์ค BFT๋ ์๋ฒ ์ฐํฉ ๋คํธ์ํฌ(๋ธ๋ก์ฒด์ธ) ๊ฐ์ ๋๊ธฐ ํต์ ์ ๊ฐ๋ฅํจ์ผ๋ก์จ ๋์ฑ ๊ฐ๋จํ๊ณ ๊ฒฐ์ ๋ก ์ ์ธ ๋ฐฉ์์ผ๋ก ์์ฅ์ ๋ํ ํฉ์๋ฅผ ์ ๊ณตํ์ต๋๋ค.
์ฐ๋ก๋ณด๋ก์ค ํ๋ผ์ค์ค
์ฐ๋ก๋ณด๋ก์ค ํ๋ผ์ค์ค(Praos)๋ ์ฐ๋ก๋ณด๋ก์ค ํด๋์ ๊ตฌํ์ ๋ณด์๊ณผ ํ์ฅ์ฑ์ ํฌ๊ฒ ๊ฐ์ ํ์ต๋๋ค. ํ๋ผ์ค์ค๋ ์ฒด์ธ์ ์ฌ๋กฏ์ผ๋ก ๋๋๊ณ ์ด๋ฅผ ์ํฌํฌ๋ก ์ง๊ณํ์ฌ ํธ๋์ญ์ ๋ธ๋ก์ ์ฒ๋ฆฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ๋ผ์ค์ค๋ ์ฐ๋ก๋ณด๋ก์ค ํด๋์๊ณผ ๋ฌ๋ฆฌ ๋ฐ๋๊ธฐ ํ๊ฒฝ์์ ์ฒ๋ฆฌ๋๋ฉฐ, ํ๋ผ์ด๋น ๋ฆฌ๋ ์ ์ถ๊ณผ ์๋ฐฉํฅ ๋ณด์ ํค ์๋ณผ๋น ์๋ช (foward-secure, key-evolving signatures)์ ์ฌ์ฉํ์ฌ, ๊ฐํ ๊ณต๊ฒฉ์๊ฐ ๋ค์ ์ฌ๋กฏ ๋ฆฌ๋๋ฅผ ์์ธกํ๊ณ ์ง์ค ๊ณต๊ฒฉ(์: ๋๋์ค ๊ณต๊ฒฉ)์ ํ ์ ์๋๋ก ํ๋ฏ๋ก ์ด๋ํฐ๋ธ ๊ณต๊ฒฉ์(adaptive attacker)๋ก๋ถํฐ ์์ ํฉ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค ์ ๋ค์์ค
์ฐ๋ก๋ณด๋ก์ค์ ๋ค ๋ฒ์งธ ์ ๋ฐ์ดํธ์ธ ์ ๋ค์์ค๋ ์ ๋ขฐํ ์ ์๋ ์ฒดํฌํฌ์ธํธ๋ ๊ณผ๊ฑฐ ๊ฐ์ฉ์ฑ์ ๋ํ ๊ฐ์ ์์ด๋ ์ ๋ค์์ค ๋ธ๋ก์์ ๋ถํธ์คํธ๋ฉํ ์ ์๋ ์๋ก์ด ์ฒด์ธ ์ ํ ๊ท์น์ ์ถ๊ฐํ์ฌ ์ฐ๋ก๋ณด๋ก์ค ํ๋ผ์ค์ค๋ฅผ ๋์ฑ ๊ฐ์ ํ ์์ ์ ๋๋ค. ๋ํ ์ ๋ค์์ค ๋ฐฑ์๋ ํ๋กํ ์ฝ์ ๋ณด์ ์์ฑ์ ์์ง ์๊ณ ์ค์ ํ๊ฒฝ์์ ์์์ ๊ตฌ์ฑ์ผ๋ก ๋ค๋ฅธ ํ๋กํ ์ฝ๊ณผ ํจ๊ป ํ๋กํ ์ฝ์ ๊ตฌ์ฑํ ์ ์์์ ๋ณด์ฌ์ฃผ๋, ํ๋กํ ์ฝ์ ๋ฒ์ฉ ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ(Universal Composability)์ ๋ํ ์ฆ๋ช ์ ์ ์ํฉ๋๋ค.
์ฐ๋ก๋ณด๋ก์ค ํฌ๋ฆฝ์๋์ค
์ฐ๋ก๋ณด๋ก์ค ํฌ๋ฆฝ์๋์ค(Crypsinous)๋ ์ ๋์์ค์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์์ฑ์ ๋ถ์ฌํฉ๋๋ค. ์ด๋ ๊ณต์์ ์ผ๋ก ๋ถ์๋ ์ต์ด์ ํ๋ผ์ด๋ฒ์ ๋ณดํธ ์ง๋ถ์ฆ๋ช ๋ธ๋ก์ฒด์ธ ํ๋กํ ์ฝ์ ๋๋ค. ์ด ํ๋กํ ์ฝ์ SNARK์ ํค-๋น๋ฐ ์๋ฐฉํฅ ๋ณด์ ์ํธํ(key-private forward-secure encryption)์ ์์กดํ๋ ์๋ก์ด ์ฝ์ธ ์งํ ๊ธฐ๋ฒ์ ๋์ ํ์ฌ ๊ฐ๋ ฅํ ํ๋ผ์ด๋ฒ์ ๋ณด์ฅ์ ์ ์งํ๋ฉด์ ์ด๋ํฐ๋ธ ๊ณต๊ฒฉ์ ๋ํ ๋ณด์์ ํ๋ณดํฉ๋๋ค. ํฌ๋ฆฝ์๋์ค๋ ํ์ฌ ์นด๋ฅด๋ค๋ ธ์ ๊ตฌํ๋ ๊ณํ์ ์์ง๋ง, ๋ค๋ฅธ ์ฒด์ธ์์ ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ์ค์ ์ ๊ฐํํ๊ธฐ ์ํด ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฐ๋ก๋ณด๋ก์ค ํฌ๋ก๋ ธ์ค
ํฌ๋ก๋ ธ์ค(Chronos)๋ ๋ ๊ฐ์ง ๋ชฉํ๋ฅผ ๋ฌ์ฑํฉ๋๋ค. ์ฒซ์งธ, ๋ธ๋ก์ฒด์ธ ํ๋กํ ์ฝ์ด ์๋ก์ด ์๊ฐ ๋๊ธฐํ ๋ฉ์ปค๋์ฆ์ ํตํด ํด๋ก(clock)์ ์์ ํ๊ฒ ๋๊ธฐํํ์ฌ ์ธ๋ถ ํ์ ์๋น์ค์ ์์กดํ์ง ์์ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋์งธ, ๋ค๋ฅธ ํ๋กํ ์ฝ์ ์ํธํ์ ์ผ๋ก ์์ ํ ์๊ฐ ์์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฆ, ํฌ๋ก๋ ธ์ค๋ ์๊ฐ ์ ๋ณด๋ฅผ ๋ ธ๋ฆฌ๋ ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ์์ฅ์ ๋์ฑ ์์ ํ๊ฒ ๋ณดํธํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ด์ ์์ ๋ณด๋ฉด, ํฌ๋ก๋ ธ์ค๋ ๋จ์ผ ์ฅ์ ์ง์ ์ด ๋ฐ์ํ์ง ์์ผ๋ฉด์ ๋ก์ปฌ ํ์์ ํตํฉ ๋คํธ์ํฌ ํด๋ก์ ๋๊ธฐํํด์ผ ํ๋, ์ฃผ์ ํต์ , ์ด์ก ๋ฐ ๊ธฐํ IT ์ธํ๋ผ์ ๋ณต์๋ ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
* ์๋ฌธ: https://docs.cardano.org/learn/ouroboros-overview
* ๋ฒ์ญ: Ilhun@CryptoVeri
enics_sky@naver.com