๐Ÿ‡ฐ๐Ÿ‡ท Ouroboros Peras: ์™œ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ์ค‘์š”ํ•œ๊ฐ€?

Ouroboros Peras: ์™œ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ์ค‘์š”ํ•œ๊ฐ€?

Ilhun @CryptoVeri :twitter: enics_sky@naver.com
2024๋…„ 9์›” 20์ผ

๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ๋“ฑ์žฅํ•œ ์ด๋ž˜, ๋งŽ์€ ์ด์ ์ด ์žˆ์—ˆ์ง€๋งŒ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์  ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ๊ฒฐ์ œ ์‹œ๊ฐ„(settlement time) ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์—์„œ ๊ฒฐ์ œ ์‹œ๊ฐ„์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ๊ฑฐ๋ž˜๊ฐ€ ์™„์ „ํžˆ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์šฐ๋ฆฌ๊ฐ€ ๋น„ํŠธ์ฝ”์ธ ๊ฐ™์€ ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•  ๋•Œ, ๊ฑฐ๋ž˜๊ฐ€ ๋„คํŠธ์›Œํฌ์—์„œ ์ธ์ •๋˜๊ธฐ๊นŒ์ง€ ๋ช‡ ๋ถ„, ์‹ฌ์ง€์–ด ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Ouroboros Peras๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

Ouroboros Peras์˜ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ: ์™œ ํ•„์š”ํ•œ๊ฐ€?

Ouroboros Peras๋Š” ๊ธฐ์กด์˜ Ouroboros Praos ํ”„๋กœํ† ์ฝœ์„ ํ™•์žฅํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฐ์ œ ์‹œ๊ฐ„์„ ๋Œ€ํญ ๋‹จ์ถ•ํ•˜๊ณ , ๋ณด์•ˆ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ์ž๊ฐ€ ์น˜์œ (self-healing) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ Nakamoto-style Consensus๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์  ํ•œ๊ณ„๋ฅผ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ ๊ฑฐ๋ž˜๊ฐ€ ํ™•์‹คํžˆ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฐ์ œ ์‹œ๊ฐ„ ๋ฌธ์ œ๋Š” ๊ธˆ์œต ๊ฑฐ๋ž˜์—์„œ๋Š” ์น˜๋ช…์ ์ธ ๋‹จ์ ์œผ๋กœ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Ouroboros Peras๋Š” ์ด๋Ÿฌํ•œ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ณ , ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง์— ๋”ฐ๋ผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ์นด๋ฅด๋‹ค๋…ธ ํ•ฉ์˜ ํ”„๋กœํ† ์ฝœ: ๊ธฐ์ˆ ์  ํŠน์ง•๊ณผ ๊ฐœ์„ ํ•  ์ 

Ouroboros Praos๋Š” ํ˜„์žฌ ์นด๋ฅด๋‹ค๋…ธ ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ง€๋ถ„ ์ฆ๋ช…(Proof-of-Stake, PoS) ๊ธฐ๋ฐ˜ ํ•ฉ์˜ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์€ ์ด์ „์˜ Ouroboros ํ”„๋กœํ† ์ฝœ์„ ๊ฐœ์„ ํ•œ ๋ฒ„์ „์œผ๋กœ, ๋ธ”๋ก์ฒด์ธ์˜ ํƒˆ์ค‘์•™ํ™”๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๋ณด์•ˆ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘” ๊ธฐ์ˆ ์  ํŠน์„ฑ์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, Ouroboros Praos๋Š” ๋ช‡ ๊ฐ€์ง€ ๊ฐœ์„ ํ•  ์ ๋„ ์ง€๋‹ˆ๊ณ  ์žˆ์–ด, ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Ouroboros Peras์™€ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ ํ”„๋กœํ† ์ฝœ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Ouroboros Praos์˜ ์ฃผ์š” ๊ธฐ์ˆ ์  ํŠน์ง•

  1. ์ง€๋ถ„ ์ฆ๋ช… ๊ธฐ๋ฐ˜ ํ•ฉ์˜
  • Ouroboros Praos๋Š” ์ง€๋ถ„ ์ฆ๋ช…(PoS) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ฉ์˜๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋„คํŠธ์›Œํฌ์˜ SPO(Stake-Pool Operator)๋“ค์ด ์ž์‹ ์ด ๋ณด์œ ํ•œ ์ง€๋ถ„์— ๋”ฐ๋ผ ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ๊ถŒ๋ฆฌ๋ฅผ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ๊ธฐ์กด์˜ ์ž‘์—… ์ฆ๋ช…(Proof-of-Work, PoW) ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ๋ณด๋‹ค ์—๋„ˆ์ง€ ํšจ์œจ์ ์ด๊ณ , ๋ณด๋‹ค ํƒˆ์ค‘์•™ํ™”๋œ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.
  1. ๋ฐ˜๋™๊ธฐ์  ๋ณด์•ˆ(Semi-Synchronous Security)
  • Ouroboros Praos๋Š” ๋„คํŠธ์›Œํฌ์˜ ํ†ต์‹  ์ง€์—ฐ์„ ํ—ˆ์šฉํ•˜๋ฉด์„œ๋„ ๋ณด์•ˆ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋…ธ๋“œ๋“ค์ด ๋ฐ˜๋“œ์‹œ ๋™์‹œ์— ์—ฐ๊ฒฐ๋  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ์ผ์–ด๋‚˜๋Š” ํ†ต์‹  ์ง€์—ฐ์—๋„ ์•ˆ์ „ํ•˜๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ˜๋™๊ธฐ์ (Semi-Synchronous) ๊ตฌ์กฐ๋Š” ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ถ€๋ถ„์ ์œผ๋กœ ๋Š์Šจํ•˜๊ฒŒ ๋™๊ธฐํ™”๋˜์–ด ์žˆ๋”๋ผ๋„ ํ•ฉ์˜๊ฐ€ ์œ ์ง€๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  1. ๋ฌด์ž‘์œ„ํ™”(Randomization)
  • Ouroboros Praos๋Š” ๋ธ”๋ก ์ƒ์„ฑ์ž ์„ ํƒ์— ์žˆ์–ด ๋ฌด์ž‘์œ„ํ™”๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ ๋ธ”๋ก์ด ์ž„์˜๋กœ ์„ ํƒ๋œ SPO์— ์˜ํ•ด ์ƒ์„ฑ๋˜๋„๋ก ํ•จ์œผ๋กœ์จ ๋ณด์•ˆ์„ฑ์„ ๋†’์ด๊ณ , ๋ธ”๋ก ์ƒ์„ฑ์ž ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก ์ƒ์„ฑ์ž๊ฐ€ ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ ํƒ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์•…์˜์ ์ธ ์ฐธ์—ฌ์ž๊ฐ€ ํŠน์ • ๋ธ”๋ก ์ƒ์„ฑ์ž๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
  1. ์žฅ๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ ๋ฐฉ์ง€(Long-Range Attack Mitigation)
  • ์žฅ๊ฑฐ๋ฆฌ ๊ณต๊ฒฉ์€ ๊ณผ๊ฑฐ์˜ ๋ธ”๋ก์ฒด์ธ์„ ์ˆ˜์ •ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜ผ๋ž€์‹œํ‚ค๋Š” ๊ณต๊ฒฉ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. Ouroboros Praos๋Š” ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ณผ๊ฑฐ ๋ธ”๋ก์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋„๋ก ์•ˆ์ „์žฅ์น˜๋ฅผ ๋งˆ๋ จํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

Ouroboros Praos์˜ ๊ฐœ์„ ์ 

์ด๋Ÿฌํ•œ Ouroboros Praos์˜ ๊ธฐ์ˆ ์  ํŠน์ง•์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

  1. ๊ฒฐ์ œ ์‹œ๊ฐ„์˜ ๊ธธ์ด(Settlement Time)
  • ํ™•๋ฅ ์  ์ตœ์ข…์„ฑ(probablistic finality)์ด๋ผ๋Š” ํŠน์„ฑ ๋•Œ๋ฌธ์—, Ouroboros Praos์—์„œ๋Š” ๊ฑฐ๋ž˜๊ฐ€ ์ฆ‰์‹œ ํ™•์ •๋˜์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ๋ธ”๋ก์ด ์ถ”๊ฐ€๋œ ํ›„์—์•ผ ์ตœ์ข…์ ์œผ๋กœ ํ™•์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑฐ๋ž˜๊ฐ€ ๋กค๋ฐฑ๋  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์‹œ๊ฐ„์ด์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ฑฐ๋ž˜๊ฐ€ ํ™•์ •๋˜๊ธฐ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๋ฉด ์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ž˜๊ฐ€ ์ค‘์š”ํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” ๋ถˆํŽธํ•จ์„ ์ดˆ๋ž˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ํฌํฌ(Fork) ๋ฌธ์ œ
  • Nakamoto-style Consensus์˜ ํŠน์„ฑ์ƒ ๋„คํŠธ์›Œํฌ์—์„œ ๋™์‹œ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ธ”๋ก์ด ์ƒ์„ฑ๋˜๋ฉด ์ฒด์ธ ํฌํฌ(chain forks)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ธ”๋ก์ฒด์ธ์ด ๋™์‹œ์— ์กด์žฌํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์ตœ์žฅ ์ฒด์ธ์„ ์„ ํƒํ•  ๋•Œ๊นŒ์ง€ ๊ฑฐ๋ž˜ ํ™•์ •์ด ์ง€์—ฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฒด์ธ ๋ถ„๊ธฐ๊ฐ€ ๋งŽ์•„์งˆ ๊ฒฝ์šฐ, ๊ฒฐ์ œ ์‹œ๊ฐ„์€ ๋”์šฑ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์ ๋Œ€์  ์ฐธ์—ฌ์ž์— ๋Œ€ํ•œ ์ทจ์•ฝ์„ฑ
  • Ouroboros Praos๋Š” ์ ๋Œ€์  ์ฐธ์—ฌ์ž๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ๊ณผ๋ฐ˜์ˆ˜๋ฅผ ์žฅ์•…ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ณต๊ฒฉ์„ ๋ฐฉ์–ดํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์Šคํ…Œ์ดํฌ๊ฐ€ ๋†’์€ ์ฐธ์—ฌ์ž๊ฐ€ ๋ถ€์ •ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ์žฅ์•…ํ•˜๊ฒŒ ๋˜๋ฉด ํ•ฉ์˜ ๊ณผ์ •์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ ๋Œ€์  ์Šคํ…Œ์ดํฌ(Adversarial Stake) ๊ณต๊ฒฉ์˜ ์œ„ํ—˜์„ฑ์„ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๋™๊ธฐ์„ฑ ๋ฌธ์ œ
  • ๋น„๋ก ๋ฐ˜๋™๊ธฐ์  ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์™„์ „ํžˆ ๋น„๋™๊ธฐ์ ์ธ ์ƒํ™ฉ์—์„œ๋Š” ํšจ์œจ์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๋…ธ๋“œ๋“ค์ด ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ํ†ต์‹ ์ด ์›ํ™œํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๋ธ”๋ก ์ƒ์„ฑ ๋ฐ ๊ฒฐ์ œ ๊ณผ์ •์ด ์ง€์—ฐ๋˜๊ฑฐ๋‚˜ ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ์ œ ๊ณผ์ •์˜ ํ•ต์‹ฌ: Settlement๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

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

์ด ๋ธ”๋ก ์ƒ์„ฑ ๊ณผ์ •์€ ๋งค์šฐ ๋ถ„์‚ฐ๋˜๊ณ , ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ์„œ๋กœ ๋‹ค๋ฅธ SPO๋“ค์ด ๋™์‹œ์— ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ธ”๋ก์ด ๋„คํŠธ์›Œํฌ์— ๋™์‹œ์— ๋“ฑ์žฅํ•˜๊ฒŒ ๋˜๋ฉด, ์–ด๋–ค ๋ธ”๋ก์ด ๋” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ์ด๋•Œ ์ตœ์žฅ ์ฒด์ธ ์›์น™(Longest Chain Principle)์ด๋ผ๋Š” ๊ฐœ๋…์ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ€์žฅ ๊ธด ์ฒด์ธ์„ ๋ณด์œ ํ•œ ๋ธ”๋ก์ด ์ตœ์ข…์ ์œผ๋กœ ์ฑ„ํƒ๋˜๋ฉฐ, ๊ทธ ๋ธ”๋ก์— ์†ํ•œ ๊ฑฐ๋ž˜๊ฐ€ ํ™•์ •๋ฉ๋‹ˆ๋‹ค.


๊ธฐ์ˆ ์  ํ˜์‹ : Ouroboros Peras์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

Ouroboros Peras๋Š” ํˆฌํ‘œ(Voting)์™€ ์ฆ๋ช…์„œ(Certificate)๋ฅผ ํ†ตํ•ด ๊ฒฐ์ œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๋ฉด์„œ๋„ ๋ณด์•ˆ์„ฑ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ SPO๋“ค์ด ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๊ณ , ๊ฐ ๋ธ”๋ก์ด ์•ˆ์ „ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ๋„๋ก ํˆฌํ‘œ๋ฅผ ํ†ตํ•ด ํ•ฉ์˜ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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


๊ฒฐ์ œ ์‹œ๊ฐ„ ๋‹จ์ถ•: 2๋ถ„ ๋‚ด ํ™•์ •์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ

Ouroboros Peras์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฐœ์„ ์  ์ค‘ ํ•˜๋‚˜๋Š” ๊ฑฐ๋ž˜์˜ ๊ฒฐ์ œ ์‹œ๊ฐ„์„ ๋‹จ 2๋ถ„ ์ด๋‚ด๋กœ ๋‹จ์ถ•ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ ๋ธ”๋ก์ฒด์ธ ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๊ฑฐ๋ž˜๊ฐ€ ํ™•์ •๋˜๊ธฐ๊นŒ์ง€ ๋ช‡ ๊ฐœ์˜ ๋ธ”๋ก์„ ๊ธฐ๋‹ค๋ ค์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑฐ๋ž˜๊ฐ€ ํ™•์ •๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์—์„œ ๋ธ”๋ก์ด ๋ถ„๊ธฐ๋˜๊ฑฐ๋‚˜ ๋กค๋ฐฑ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Peras๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 2๋ถ„ ๋‚ด์— ๊ฑฐ๋ž˜๊ฐ€ ํ™•์ •๋˜๊ณ , ์ด๋กœ ์ธํ•ด ์‚ฌ์šฉ์ž๋Š” ๋น ๋ฅด๊ฒŒ ๊ฑฐ๋ž˜๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑฐ๋ž˜ ๋กค๋ฐฑ(transaction rollback)์€ ๋งค์šฐ ๋“œ๋ฌผ๊ฒŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, Peras์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฑฐ์˜ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. SPO๋“ค์ด ๋‹ค์ˆ˜์˜ ์ฒด์ธ ์ค‘ ์–ด๋Š ๊ฒƒ์ด ๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ธ”๋ก์ฒด์ธ ํฌํฌ ๋ฌธ์ œ๋Š” ๊ฑฐ์˜ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


๋ณด์•ˆ๊ณผ ์‹ ๋ขฐ์„ฑ: Peras์˜ ์ ๋Œ€์  ์Šคํ…Œ์ดํฌ ๋ฐฉ์–ด ์ „๋žต

๋ธ”๋ก์ฒด์ธ์—์„œ ๋ณด์•ˆ์€ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์ ๋Œ€์  ์Šคํ…Œ์ดํฌ๊ฐ€ ์ „์ฒด ์Šคํ…Œ์ดํฌ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๊ฒŒ ๋˜๋ฉด, ํ•ด๋‹น ์ ๋Œ€์ž๊ฐ€ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ์žฅ์•…ํ•  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. Ouroboros Peras๋Š” ์ด๋Ÿฌํ•œ ์œ„ํ—˜์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ฟจ๋‹ค์šด(cooldown) ๊ธฐ๊ฐ„์„ ๋„์ž…ํ•˜์—ฌ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์ผ์‹œ์ ์œผ๋กœ ๋ถˆ์•ˆ์ •ํ•ด์ง€๋”๋ผ๋„ ์ ๋Œ€์  ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Peras๋Š” ๋˜ํ•œ ์ž๊ฐ€ ์น˜์œ (self-healing) ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ๊ฐ€ ์‹คํŒจํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ ํšŒ๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋†’์˜€์Šต๋‹ˆ๋‹ค.


๋„คํŠธ์›Œํฌ ๋ณต๊ตฌ์™€ ์ ์‘์„ฑ: ์‹คํŒจ๋กœ๋ถ€ํ„ฐ์˜ ํšŒ๋ณต

Peras๋Š” SPO๋“ค์ด ๋ณ€๋™์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋”๋ผ๋„ ๋„คํŠธ์›Œํฌ์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋„คํŠธ์›Œํฌ์— ์ผ์‹œ์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด ์ผ๋ถ€ SPO๋“ค์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋„ ์ฟจ๋‹ค์šด ๊ธฐ๊ฐ„์„ ๊ฑฐ์น˜๋ฉด์„œ ๋„คํŠธ์›Œํฌ๋Š” ๋‹ค์‹œ ์›๋ž˜์˜ ์ƒํƒœ๋กœ ๋ณต๊ตฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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


Peras์˜ ์‹ค์šฉ์  ์ด์ : ๋ˆ„๊ตฌ์—๊ฒŒ ์œ ๋ฆฌํ•œ๊ฐ€?

Ouroboros Peras๋Š” ํŠนํžˆ ์†Œ๊ทœ๋ชจ SPO๋“ค์—๋„ ์œ ๋ฆฌํ•œ ์ ์ด ๋งŽ์Šต๋‹ˆ๋‹ค. Peras๋Š” ๊ฒฐ์ œ ์‹œ๊ฐ„์„ ๋‹จ์ถ•์‹œํ‚ค๊ณ , ๋„คํŠธ์›Œํฌ์˜ ๋ณ€๋™์„ฑ์—๋„ ์•ˆ์ •์ ์ธ ์šด์˜์„ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์ฐธ์—ฌ์ž๊ฐ€ ์•ˆ์ •์ ์œผ๋กœ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ œ ์‹œ๊ฐ„์ด ์งง์•„์ง์œผ๋กœ์จ ์‚ฌ์šฉ์ž๋Š” ๋น ๋ฅด๊ฒŒ ๊ฑฐ๋ž˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ณ , ๋ธ”๋ก์ฒด์ธ์˜ ์‹ ๋ขฐ์„ฑ์ด ๋”์šฑ ๋†’์•„์ง‘๋‹ˆ๋‹ค.

  • ์†Œ๊ทœ๋ชจ SPO์—๊ฒŒ ์œ ๋ฆฌ: ๋” ์ ์€ ์ž์›์œผ๋กœ๋„ ๋„คํŠธ์›Œํฌ ์ฐธ์—ฌ ๊ฐ€๋Šฅ
  • ๋Œ€๊ทœ๋ชจ SPO์—๊ฒŒ ์œ ๋ฆฌ: ์•ˆ์ •์ ์ธ ๋ณด์•ˆ ์œ ์ง€ ๋ฐ ๋น ๋ฅธ ๊ฑฐ๋ž˜ ์ฒ˜๋ฆฌ

Peras์˜ ๊ธฐ์ˆ ์  ์„ธ๋ถ€ ์‚ฌํ•ญ: ๊นŠ์ด ์žˆ๋Š” ์ดํ•ด

Ouroboros Peras์— ๋Œ€ํ•œ ๋” ๊นŠ์ด ์žˆ๋Š” ์ดํ•ด๋ฅผ ์›ํ•œ๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ธฐ์ˆ  ๋ณด๊ณ ์„œ๋‚˜ Agda Specification์„ ํ†ตํ•ด ํ”„๋กœํ† ์ฝœ์˜ ์ƒ์„ธํ•œ ๋‚ด์šฉ๊ณผ ์ˆ˜ํ•™์  ๊ธฐ๋ฐ˜์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, Peras Repository์—์„œ ์ œ๊ณตํ•˜๋Š” ์ ํ•ฉ์„ฑ ํ…Œ์ŠคํŠธ์™€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด Peras์˜ ์„ฑ๋Šฅ์„ ์ง์ ‘ ์ฒดํ—˜ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์ค‘์š”ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.


๋ฏธ๋ž˜์˜ ํ˜์‹ : Ouroboros Leios์™€ ๊ทธ ์ด์ƒ

Peras๋Š” ์•„์ง ์™„์ „ํ•œ ํ˜•ํƒœ๊ฐ€ ์•„๋‹Œ pre-alpha ๋‹จ๊ณ„์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ํ”„๋กœํ† ์ฝœ์€ ๊ณ„์† ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•ž์œผ๋กœ ๋” ๋งŽ์€ ๊ฐœ์„ ์ด ์ด๋ฃจ์–ด์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ Ouroboros Leios๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ด ๋„์ž…๋˜๋ฉด, Peras๋Š” ๋”์šฑ ํ–ฅ์ƒ๋œ ๊ฒฐ์ œ ์‹œ๊ฐ„๊ณผ ๋ณด์•ˆ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Leios๋Š” ๊ธฐ์กด์˜ ์ž…๋ ฅ ๋ธ”๋ก(input blocks), ๋ณด์ฆ ๋ธ”๋ก(endorsement blocks), ๋žญํ‚น ๋ธ”๋ก(ranking blocks)์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ธ”๋ก ์œ ํ˜•์„ ๋„์ž…ํ•˜์—ฌ ๋„คํŠธ์›Œํฌ์˜ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Peras๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ์ค‘์š”ํ•œ ์ง„๋ณด๋ฅผ ์ด๋Œ์–ด ๋‚˜๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


๊ฒฐ๋ก : ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ๋ฏธ๋ž˜๋ฅผ ์ด๋„๋Š” Ouroboros Peras

Ouroboros Peras๋Š” ๋ธ”๋ก์ฒด์ธ ๊ฒฐ์ œ ์‹œ๊ฐ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ํ˜์‹ ์ ์ธ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ฑฐ๋ž˜๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋„คํŠธ์›Œํฌ๋Š” ์ž๊ฐ€ ์น˜์œ  ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ๋” ๋ฐœ์ „๋  Leios์™€์˜ ๊ฒฐํ•ฉ์œผ๋กœ, ์นด๋ฅด๋‹ค๋…ธ ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ๋ฏธ๋ž˜๋Š” ๋”์šฑ ๋ฐ์•„์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.


* ์ฐธ๊ณ :

  1. What is Peras? | Ouroboros Peras
  2. Ouroboros overview | Cardano Docs