๐Ÿ‡ฐ๐Ÿ‡ท CIP-0094 (์˜จ์ฒด์ธ SPO ์„ค๋ฌธ)

CIP ์ œ๋ชฉ ์นดํ…Œ๊ณ ๋ฆฌ ๋‹จ๊ณ„ ์ €์ž ์ดํ–‰์ž ํ† ๋ก  ์ƒ์„ฑ ๋ผ์ด์„ ์Šค
94 ์˜จ์ฒด์ธ SPO ์„ค๋ฌธ ๋„๊ตฌ ์ œ์•ˆ ๋งˆํ‹ฐ์•„์Šค ๋ฒค์ฝ”๋ฅด(Matthias Benkort) matthias.benkort@cardanofoundation.org ๋งˆ์ปค์Šค ๊ตฌํ”Œ๋Ÿฌ(Markus Gufler) markus.gufler-ext@cardanofoundation.org ๋งˆํ‹ฐ์•„์Šค ๋ฒค์ฝ”๋ฅด matthias.benkort@cardanofoundation.org #496 #102 input-output-hk/cardano-node#5050 input-output-hk/cardano-node#5132 2023-03-21 CC-BY-4.0

๊ฐœ์š”

์นด๋ฅด๋‹ค๋…ธ ์žฌ๋‹จ์€ ํŠน์ • ์ฃผ์ œ์— ๋Œ€ํ•ด ์นด๋ฅด๋‹ค๋…ธ ์Šคํ…Œ์ดํฌ ํ’€ ์šด์˜์ž์—๊ฒŒ ์„ค๋ฌธ์„ ์‹ค์‹œํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ์„ค๋ฌธ์กฐ์‚ฌ๋Š” ํŠธ๋žœ์žญ์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ์˜จ์ฒด์ธ์—์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ ์Šคํ…Œ์ดํฌ ํ’€ ์ž๊ฒฉ์ฆ๋ช…(Ed25519 ์ฝœ๋“œ ํ‚ค)์„ ํ†ตํ•ด ์ธ์ฆ๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ์™€ ๊ฐ™์€ ๊ฑฐ๋ฒ„๋„Œ์Šค ๋ฌธ์ œ์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๋ชจ์œผ๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์ด ํ‘œ์ค€์€ CIP-1694์™€ ๊ฐ™์€ ๋” ํฐ ๊ฑฐ๋ฒ„๋„Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ž‘์—…์ด ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ํฌ๊ด„์ ์ธ ์ค‘๊ฐ„ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค.

๋™๊ธฐ: ์™œ ์ด CIP๊ฐ€ ํ•„์š”ํ•œ๊ฐ€?

๊ฑฐ๋ฒ„๋„Œ์Šค๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. CIP-1694์— ๋Œ€ํ•œ ๋…ผ์˜๋Š” ์ด๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นด๋ฅด๋‹ค๋…ธ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์—์„œ ํ”„๋กœํ† ์ฝœ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•œ ๋Š์ž„์—†๋Š” ๋…ผ์˜๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๊ถ๊ทน์ ์œผ๋กœ ๊ฒฐ์ •์€ - ํ˜„ ๋‹จ๊ณ„์—์„œ๋Š” ์—ฌ์ „ํžˆ - ์„ธ ๊ณณ์˜ ์ฐฝ์„ค ์ฃผ์ฒด์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค: ์ธํ’‹ ์•„์›ƒํ’‹, ์นด๋ฅด๋‹ค๋…ธ ์žฌ๋‹จ, ์ด๋จธ๊ณ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„ ๋‹จ๊ณ„์—์„œ๋Š” ์ •๋ณด์— ์ž…๊ฐํ•œ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋Š” ๊ฑฐ๋ฒ„๋„Œ์Šค ๋„๊ตฌ๊ฐ€ ๊ฑฐ์˜ ์—†์Šต๋‹ˆ๋‹ค. ํŠธ์œ„ํ„ฐ ์„ค๋ฌธ, ๋‰ด์Šค๋ ˆํ„ฐ ์„ค๋ฌธ, ๋””์Šค์ฝ”๋“œ์˜ SPO ํƒ€์šดํ™€ ์™ธ์—๋„ ํ˜„์žฌ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์„ ํ†ตํ•ด ์นด๋ฅด๋‹ค๋…ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์†Œํ†ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์™€ ๊ฒฉ์ฐจ๊ฐ€ ์žˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

SPO๋“ค ๊ฐ„์˜ ์˜จ์ฒด์ธ ์„ค๋ฌธ์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ๋ฒ„๋„Œ์Šค ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ์˜ ์ฐธ์—ฌ ๋ฐ ๊ด€์—ฌ์— ๋Œ€ํ•œ ์‹คํ—˜๊ณผ ํ‰๊ฐ€๋กœ ๋ณผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ก ์šฐ๋ฆฌ๊ฐ€ ์นด๋ฅด๋‹ค๋…ธ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ํ•œ ํŠน์ • ๊ทธ๋ฃน(SPO)์— ๋Œ€ํ•ด์„œ๋งŒ ํˆฌํ‘œ๋ฅผ ์ œ์•ˆํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์ด๋ฒคํŠธ๋Š” CIP-1694์— ๋Œ€ํ•œ ๋Œ€ํ™”๋ฅผ ์ด‰์ง„ํ•˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”์•ฝํ•˜์ž๋ฉด, ๋ชฉํ‘œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ๊ฑฐ๋ฒ„๋„Œ์Šค ์˜์—ญ์—์„œ ์‹คํ—˜์ ์ธ ์ฒซ ๊ฑธ์Œ์„ ๋‚ด๋”›๋Š” ๊ฒƒ;
  2. ์ง€๊ธˆ(๋˜๋Š” ๊ฐ€๊นŒ์šด ์‹œ์ผ ๋‚ด์—) ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ชฉํ‘œ;
  3. SPO์˜ ์ฐธ์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๊ฒƒ;
  4. ๊ฑฐ๋ฒ„๋„Œ์Šค์—์„œ์˜ ํ–ฅํ›„ ์—ญํ• ์— ๋Œ€ํ•œ SPO์˜ ์ธ์‹์„ ์ œ๊ณ ํ•˜๊ธฐ ์œ„ํ•ด;
  5. ๋‹ค๋ฅธ ๋…ธ๋ ฅ๋“ค์„ ์ถ”์ง„ํ•˜๋Š” ๋™์•ˆ ์ƒํƒœ๊ณ„์—์„œ ๋ณผํ…Œ๋ฅด์˜ ์—ญ๋™์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด;
  6. ์นด๋ฅด๋‹ค๋…ธ ์žฌ๋‹จ๊ณผ SPO ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ๋” ๋‚˜์€ ์ƒํ˜ธ ์ดํ•ด์™€ ์œ ์ตํ•œ ๋Œ€ํ™”๋ฅผ ์œ„ํ•ด.

๋ช…์„ธ

๊ฐœ์š”

์„ค๋ฌธ์€ ์นด๋ฅด๋‹ค๋…ธ ์žฌ๋‹จ์ด ๋ฏธ๋ฆฌ ์ •์˜ํ•œ ๋‹ต๋ณ€ ์ค‘์—์„œ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ๊ด€์‹ ๋ฌธํ•ญ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค:

  • ํ”ผ์ž์— ํŒŒ์ธ์• ํ”Œ?
    • ์˜ˆ
    • ์•„๋‹ˆ์š”

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

  • ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€
  • ๊ฐ€๋Šฅํ•œ ์„ ํƒ์ง€ ์ค‘์—์„œ ์„ ํƒ๋œ ๋‹ต๋ณ€์˜ ์ƒ‰์ธ
  • SPO์˜ ํ˜„์žฌ ์ฝœ๋“œ ํ‚ค์˜ ๋””์ง€ํ„ธ ์„œ๋ช…(EdDSA)

์ฐธ๊ณ : ์ด ๋ฌธ์„œ์—์„œ๋Š” ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ •์‹ CBOR ํ‘œํ˜„์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋งต์˜ ํ‚ค๋Š” ํ•ญ์ƒ ์•ŒํŒŒ๋ฒณ์ˆœ์œผ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

์งˆ๋ฌธ ๊ตฌ์กฐ

์งˆ๋ฌธ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ ˆ์ด๋ธ” 94์™€ ํ•จ๊ป˜ ๋‹ค์Œ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค:

question =
  { 0: prompt
  , 1: [ * choice ]
  , ? "_": nonce
  }

prompt =
  [ * text .size (0..64) ]

choice =
  [ * text .size (0..64) ]

nonce =
  uint

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

์˜ˆ์‹œ:

CBOR diagnostic Base16-encoded
{ 94: { 0: [ โ€œPineapples on pizza?โ€ ] , 1: [ [ โ€œyesโ€ ] , [ โ€œnoโ€ ] ] } } A1185EA200817450696E656170706C6573206F 6E2070697A7A613F0182816379657381626E6F

๋‹ต๋ณ€ ๊ตฌ์กฐ

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์€ 94๋ผ๋Š” ๋ ˆ์ด๋ธ”๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๊ฒŒ์‹œ๋ฉ๋‹ˆ๋‹ค:

answer =
{ 2: question_hash
, 3: choice
  }

question_hash =
byte .size 32

๋ช‡ ๊ฐ€์ง€ ์ ์š”:

  1. ํ•„๋“œ 2(question_hash)๋Š” blake2b-256 ํ•ด์‹œ ๋‹ค์ด์ œ์ŠคํŠธ์ด๋ฉฐ, ํ”„๋ฆฌ์ด๋ฏธ์ง€(preimage)๋Š” ์ง๋ ฌํ™”๋œ ์ „์ฒด ์งˆ๋ฌธ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ํŽ˜์ด๋กœ๋“œ(94 ์ตœ์ƒ์œ„ ๋ ˆ๋ฒจ ๋ ˆ์ด๋ธ” ํฌํ•จ)์ž…๋‹ˆ๋‹ค.
  2. ํ•„๋“œ 3์€ ๊ฐ€๋Šฅํ•œ ์„ ํƒ์ง€(๋Œ€์ƒ ์„ค๋ฌธ์˜ ํ•„๋“œ 1์—์„œ)์—์„œ ์„ ํƒํ•œ ๋‹ต๋ณ€์˜ 0 ๊ธฐ๋ฐ˜ ์ธ๋ฑ์Šค๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์˜ˆ์‹œ:

CBOR diagnostic Base16
{ 94: { 2: hโ€™29093fd43fc30ba31e306af06ce8537390e1668ae7496fe53d53684683c3762cโ€™, 3: 0 } } A1185EA202582029093FD43FC30BA31E306AF06CE 8537390E1668AE7496FE53D53684683C3762C0300

๋‹ต๋ณ€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ํŠธ๋žœ์žญ์…˜์€ ์Šคํ…Œ์ดํฌ ํ’€ ์šด์˜์ž ์ฝœ๋“œํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์„œ๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฝœ๋“œ ํ‚ค๋Š” ์ง€๋ถˆ ํ‚ค๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ, ํŠธ๋žœ์žญ์…˜์— ์ถ”๊ฐ€ ํ•„์ˆ˜ ์„œ๋ช…์ž๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(Babbage์˜ CDDL์— ๋”ฐ๋ผ ํŠธ๋žœ์žญ์…˜์˜ ํ•„๋“œ ๋ฒˆํ˜ธ 14). ์„œ๋ช…์€ ์™„์ „ํžˆ ๊ฒฉ๋ฆฌ๋œ ํ™˜๊ฒฝ์—์„œ๋งŒ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

๊ฐ ์ž๊ฒฉ ์ฆ๋ช…๋ณ„ ์„ค๋ฌธ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ๋‹ต๋ณ€๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋‹ต๋ณ€์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ๊ฐ€์žฅ ๋จผ์ € ์ œ์ถœํ•œ ๋‹ต๋ณ€(ํŠธ๋žœ์žญ์…˜ ๋ฐ ๋ธ”๋ก ์ •๋ ฌ ์ˆœ์„œ ์ง‘๊ณ„)๋งŒ ๊ณ ๋ ค๋ฉ๋‹ˆ๋‹ค.

์ ˆ์ฐจ ๋ฐ ๊ธฐ๊ฐ„

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

์Šคํ…Œ์ดํฌ ํ’€ ์šด์˜์ž๊ฐ€ ํˆฌํ‘œ๋ฅผ ํ•œ ์—ํฌํฌ ์ดํ›„์—๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ์—ํฌํฌ ๊ธฐ๊ฐ„ ๋™์•ˆ ADA ์œ„์ž„์ž๋“ค์ด ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์ด ์ด์–ด์ง‘๋‹ˆ๋‹ค: ๋งŒ์•ฝ ํ•ด๋‹น ์œ„์ž„์ž๊ฐ€ ํ˜„์žฌ ์Šคํ…Œ์ดํฌ ํ’€์˜ ์„ ํƒ์— ๋™์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋‹ค๋ฅธ ํ’€์— ์œ„์ž„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ง€๋ถ„ ๊ฐ€์ค‘์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

Alt text

๊ฐ„์ ‘์ ์œผ๋กœ ๋ชจ๋“  ์—์ด๋‹ค ๋ณด์œ ์ž๊ฐ€ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฌ์œ„์ž„ ์—ํฌํฌ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์—์•ผ ๊ฒฐ๊ณผ๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด ํ’€์˜ ์ง€๋ถ„ ์Šค๋ƒ…์ƒท์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.

๊ฒฐ๊ณผ

ํˆฌํ‘œ์˜ ๊ฒฐ๊ณผ๋Š” ์ฐธ์—ฌ ์ˆ˜์ค€(์ง€๋ถ„ ๊ธฐ์ค€)์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ํ˜น์‹œ ๋ชจ๋ฅผ ํ˜ผ๋ž€์„ ์—†์• ๊ธฐ ์œ„ํ•ด *ํˆฌํ‘œ(vote)*๊ฐ€ ์•„๋‹Œ ์„ค๋ฌธ(poll) / *์„ค๋ฌธ์กฐ์‚ฌ(survey)*๋ผ๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ๋ถ€๋ฅธ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1 Lovelace = 1 Voice์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ๋ฐฉ์ •์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋‹ด๋ณด ์ง€๋ถ„์— ๋” ๋งŽ์€ ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋“ฑ). ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์ด ์ œ์•ˆ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ์˜ ํ•ด์„๊ณผ ๊ด€๋ จํ•˜์—ฌ ๋” ๋งŽ์€ ๋Œ€ํ™”์™€ ํ† ๋ก ์ด ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

๊ทผ๊ฑฐ: ์ด CIP๋Š” ์–ด๋–ป๊ฒŒ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š”๊ฐ€?

์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€ ๊ธฐ๋ก

์ œ์•ˆ๋œ ํ”„๋กœ์„ธ์Šค๋Š” ๊ธฐ์กด ํŠธ๋žœ์žญ์…˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€์„ ์˜จ์ฒด์ธ์— ์˜๊ตฌ์ ์œผ๋กœ ๊ธฐ๋กํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜๋„์ ์œผ๋กœ ์–ด๋–ค ์š”์†Œ๋„ ๋ฐ์ดํ„ฐ๋กœ ๊ธฐ๋กํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

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

์ฝœ๋“œ ํ‚ค ์„œ๋ช… vs VRF ์ฆ๋ช…

์ฝœ๋“œ ํ‚ค(Ed25519)์™€ VRF ํ‚ค๋ฅผ ์ธ์ฆ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•ด์„œ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ (์˜จ/์˜คํ”„๋”๋ ˆ์ฝ”๋“œ) ๋…ผ์˜๊ฐ€ ์žˆ์—ˆ๊ณ , ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘์— ๋Œ€ํ•œ ์ฃผ์žฅ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•œํŽธ์œผ๋กœ๋Š” ์ฝœ๋“œ ํ‚ค ์‚ฌ์šฉ์„ ์„ ํ˜ธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค:

  • ์ฝœ๋“œ ํ‚ค๋Š” ์Šคํ…Œ์ดํฌ ํ’€ ํ™œ๋™(์˜ˆ: ์ธ์ฆ์„œ ๋“ฑ๋ก/์—…๋ฐ์ดํŠธ)์„ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์ž…๋‹ˆ๋‹ค.
  • ํ’€์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์€ ๊ถ๊ทน์ ์œผ๋กœ ์ฝœ๋“œ ํ‚ค์ด๋ฉฐ, ํ•ด์‹œ๋Š” ํ’€ ID์ž…๋‹ˆ๋‹ค.
  • VRF๋Š” ์†์ƒ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋” ๋†’์œผ๋ฏ€๋กœ ์ž ์žฌ์  ๊ณต๊ฒฉ์ž์—๊ฒŒ ์„ค๋ฌธ ์กฐ์‚ฌ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ฉ๋‹ˆ๋‹ค.
  • ์ฝœ๋“œ ํ‚ค๋Š” Ed25519 ํ‚ค๋กœ, ๊ธฐ์กด ํ”„๋กœํ† ์ฝœ์˜ ํŠธ๋žœ์žญ์…˜ ์ฆ์ธ(์ถ”๊ฐ€ ํ•„์ˆ˜ ์„œ๋ช…์ž + ๊ฒ€์ฆ ํ‚ค ์œ„ํŠธ๋‹ˆ์Šค) ๊ธฐ๋Šฅ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•œํŽธ, VRF ํ‚ค ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ฃผ์žฅ์€ ์ด๋ฏธ CIP-0022์˜ ์ผ๋ถ€๋กœ ๋…ผ์˜๋œ ๋ฐ” ์žˆ์Šต๋‹ˆ๋‹ค:

  • VRF๋Š” ํ•ซํ‚ค์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ๋†’์€ ์ฐธ์—ฌ๋„๋ฅผ ์ด๋Œ์–ด๋‚ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฉฐ, ์ฝœ๋“œํ‚ค๋ฅผ ๋…ธ์ถœํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋ธ”๋ก์—๋Š” ํ’€์„ ๋ช…์‹œ์ ์œผ๋กœ ์‹๋ณ„ํ•˜๋Š” VRF ์ฆ๋ช…์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ค๋ฌธ ์‹œ์ ์— ํ‚ค๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋˜๋ฏ€๋กœ VRF ํ‚ค๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์›๋ž˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์†”๋ฃจ์…˜(input-output-hk#5050์—์„œ ํ™•์ธ ๊ฐ€๋Šฅ)์„ ์„ ํƒํ–ˆ์ง€๋งŒ, ๋‚˜์ค‘์— ์ฝœ๋“œ ํ‚ค ์„œ๋ช…์—๋งŒ ์˜์กดํ•˜๊ธฐ ์œ„ํ•ด VRF ์˜ต์…˜์„ ์‚ญ์ œํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค(input-output-hk#5132 ์ฐธ์กฐ). ๊ทธ ์ด์œ ๋Š” ์งง์€ ๊ธฐ๊ฐ„์— cardano-cli์—์„œ VRF ์ฆ๋ช…์˜ ์‚ฌ์šฉ/๋‚จ์šฉ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ๋ถˆํ™•์‹ค์„ฑ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๋˜ํ•œ ๋น„๋ฐ€ ํ‚ค ์žฌ์‚ฌ์šฉ์˜ ์ทจ์•ฝ์„ฑ ์ฐธ์กฐ).

์ด๋Š” ์ฝœ๋“œ ์Šคํ† ๋ฆฌ์ง€์— ์˜์กดํ•˜๋Š” SPO์˜ ์ฐธ์—ฌ ์ ˆ์ฐจ๋ฅผ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๋ถˆํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•˜์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” CIP-0022์™€ ์œ ์‚ฌํ•œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ํ†ตํ•ด ์˜คํ”„์ฒด์ธ์—์„œ ์ธ์ฆ๋œ ํ”„๋ก์‹œ ํ‚ค์— ๋Œ€ํ•œ ์•„์ด๋””์–ด์— ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

KES ์„œ๋ช…

SPO๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ ๋ฒˆ์งธ ์˜จ์ฒด์ธ ์š”์†Œ๊ฐ€ ์žˆ๋Š”๋ฐ, ์ด๋Š” KES ์ž๊ฒฉ ์ฆ๋ช…์˜ ๋””์ง€ํ„ธ ์„œ๋ช…์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ KES๋Š” ๋งŒ๋ฃŒ๋  ์˜ˆ์ •์ด๊ณ  ์šด์˜ ์ธ์ฆ์„œ์— ์˜ํ•ด ํ’€์— ๋Š์Šจํ•˜๊ฒŒ๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ ํ™œ์šฉํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ๋” ๋ฒˆ๊ฑฐ๋กญ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์„ค๋ฌธ์กฐ์‚ฌ์—์„œ KES ์„œ๋ช…์„ ํ™•์ธํ•˜๋ ค๋ฉด ์„ค๋ฌธ์กฐ์‚ฌ ์‹œ์ ์— ์šด์˜ ์ธ์ฆ์„œ์™€ ์œ ํšจ์„ฑ์„ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ๋” ๋ณต์žกํ•œ ์„ค์ •๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด CIP๊ฐ€ ์ž„์‹œ ํ•ด๊ฒฐ์ฑ…์ด ์•„๋‹ˆ๋ผ๋ฉด, ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ ๊ฒ€ํ†  ์ค‘์ธ ๊ธฐ๊ฐ„๊ณผ ๋ณต์žก์„ฑ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์žฅ๋‹จ์ ์„ ๊ณ ๋ คํ•  ๋•Œ, ์ด๋ฒˆ ๋ฐ˜๋ณต ์ž‘์—…์—์„œ๋Š” KES๋ฅผ ์ธ์ฆ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ ํ‚ค

CIP์— ์„ค๋ช…๋œ ๋ฐฉ์‹์— ๋Œ€ํ•œ ๋˜ ๋‹ค๋ฅธ ๊ฐ€๋Šฅํ•œ ๋Œ€์•ˆ์€ SPO๊ฐ€ ํ”„๋ก์‹œ Ed25519 ํ‚ค๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ดํ›„ ํ•ด๋‹น ํ”„๋ก์‹œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ํ‚ค ๋“ฑ๋ก์˜ ์œ ํšจ์„ฑ์€ ์ฝœ๋“œ ํ‚ค์—์„œ ๊ด€๋ จ VRF ์ฆ๋ช… ๋˜๋Š” ๋””์ง€ํ„ธ ์„œ๋ช…์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์กฐ๊ฑด์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค(์šด์˜ ์ธ์ฆ์„œ์— ๋Œ€ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ๊ณผ ๋งค์šฐ ์œ ์‚ฌ).

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

์ฐธ๊ณ  KES ์„œ๋ช…๊ณผ ํ”„๋ก์‹œ ํ‚ค์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ๋Œ€์ฒด ์˜ต์…˜์€ ํ–ฅํ›„ ์„ค๋ฌธ์กฐ์‚ฌ ๋ฒ„์ „์—์„œ ์žฌ๊ฒ€ํ† ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์†”๋ฃจ์…˜์ด ์˜๋„ํ•œ ๋งŒํผ ์ผ์‹œ์ ์ด์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋  ๊ฒฝ์šฐ ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋‹คํ–‰ํžˆ๋„ ํ˜„์žฌ ์„ค๊ณ„ ๊ฒฐ์ •์œผ๋กœ ์ธํ•ด ์ด๋Ÿฌํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ชฉ์ ์„ ์œ„ํ•ด ๋‘ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ์ฆ์ธ ์œ ํ˜• 6๊ณผ 7์„ ๋„์ž…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. KES ๋“ฑ๋ก์€ ๋ณ„๋„์˜ ์˜จ์ฒด์ธ ์ด๋ฒคํŠธ๋ฅผ ํ†ตํ•ด ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ

์žฌ์ƒ ๊ฐ€๋Šฅ์„ฑ(Replayability)

์งˆ๋ฌธ์€ ์„ ํƒ์  ๋…ผ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ํ™”๋œ ์งˆ๋ฌธ์ด ๊ณ ์œ ํ•œ์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ํˆฌํ‘œ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ์ฐฝ์„ค ์ฃผ์ฒด์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์งˆ๋ฌธ์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฌป๋Š” ๊ฒฝ์šฐ, ๋…ผ์Šค๋Š” ์žฌ์ƒ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ๋ชจ๋“  ๋‹ต๋ณ€์—๋Š” ์งˆ๋ฌธ์˜ (๊ณ ์œ ํ•œ) ํ•ด์‹œ๊ฐ€ ํฌํ•จ๋˜๋ฏ€๋กœ ๋‹ต๋ณ€๋„ ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ์—ฌ์ „ํžˆ ๋™์ผํ•œ ๋‹ต๋ณ€์„ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ํ–‰์œ„์ž๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์žฌ์ „์†กํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฏ€๋กœ ๋‹ต๋ณ€์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณ€๊ฒฝ/์ „์†กํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ์ผํ•œ ์˜ˆ์™ธ๋Š” ์ฝœ๋“œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ต๋ณ€์„ ๋‹ค์‹œ ์ธ์ฆํ•˜๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

์ž๊ฒฉ์ฆ์„œ ๋…ธ์ถœ

SPO์˜ ๋น„๋ฐ€ ์ž๊ฒฉ์ฆ์„œ ๋…ธ์ถœ์€ ์ œํ•œ๋˜์–ด์•ผ ํ•˜๋ฉฐ, ์ž๊ฒฉ์ฆ์„œ ์กฐ์ž‘์€ ์‹ ์ค‘ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž ์žฌ์ ์ธ ๊ณต๊ฒฉ ๋ฒกํ„ฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” cardano-cli๋ฅผ ํ™•์žฅํ•˜๊ณ  ๊ธฐ์กด ํ•ต์‹ฌ ์œ ์ง€ ๊ด€๋ฆฌ์ž์™€ ๋‹ค๋ฅธ ์˜คํ”ˆ ์†Œ์Šค ์ฃผ์ฒด๋“ค์ด ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ง€์›์„ ๋ฉด๋ฐ€ํžˆ ๊ฒ€ํ† ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

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

ํ™œ์„ฑ ๋ฐฉ์•ˆ

์Šน์ธ ๊ธฐ์ค€

  • ๋Œ€๊ทœ๋ชจ SPO์˜ ๊ฐ€์‹œ์ ์ธ ๋™์˜์™€ ์ฐธ์—ฌ
  • ์นด๋ฅด๋‹ค๋…ธ ์žฌ๋‹จ์€ ๋ฉ”์ธ๋„ท์—์„œ ์ฒซ ๋ฒˆ์งธ ์‹œ๋ฒ” ์„ค๋ฌธ์„ ์‹ค์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ตฌํ˜„ ๊ณ„ํš

  • ์ฝœ๋“œ ํ‚ค ๋ฐ VRF ์ฆ๋ช…์—์„œ EdDSA์˜ ๋Œ€์•ˆ์œผ๋กœ KES ์„œ๋ช…์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ์ง€์›

  • ๊ด€๋ จ ํŠธ๋žœ์žญ์…˜ ๊ตฌ์„ฑ ๋ฐ ์„œ๋ช…์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด cardano-cli๊ฐ€ ์—…๋ฐ์ดํŠธ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • cncli๋„ ์œ ์‚ฌํ•œ ์ง€์›์œผ๋กœ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • cardano-signer๋„ ์œ ์‚ฌํ•œ ์ง€์›์œผ๋กœ ์—…๋ฐ์ดํŠธ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์‹คํ–‰

  • (ํ”„๋ฆฌํ”„๋กœ๋•ํŠธ์—์„œ) ํ…Œ์ŠคํŠธ๋„ท ์‹คํ–‰์„ ๋ฐœํ‘œํ•˜๊ณ  SPO๋ฅผ ์›Œํฌ์ˆ ์„ธ์…˜์— ์ดˆ๋Œ€ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋„ท ์„ค๋ฌธ์„ ์‹ค์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ ์‹คํ–‰์„ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ด๋ฒˆ์—๋Š” ๋ฉ”์ธ๋„ท์—์„œ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ €์ž‘๊ถŒ

์ด CIP๋Š” CC-BY-4.0์— ๋”ฐ๋ผ ๋ผ์ด์„ ์Šค๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.


* ์›๋ฌธ: CIPs/CIP-0094 at cip-spo-polls ยท cardano-foundation/CIPs ยท GitHub