Cloudflare๋Š” ๋ถ„์‚ฐ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

Cloudflare ํšŒ์‚ฌ ์ œ์‹œ ์„œ๋น„์Šค ์—”ํŠธ๋กœํ”ผ ๋ฆฌ๊ทธ, ๊ณ ํ’ˆ์งˆ ๋‚œ์ˆ˜ ์ œ๊ณต์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ์กฐ์ง์˜ ์ปจ์†Œ์‹œ์—„์ด ๊ตฌ์„ฑ๋œ ์šด์˜์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. League of Entropy๋Š” ๊ธฐ์กด์˜ ์ค‘์•™ ์ง‘์ค‘์‹ ์‹œ์Šคํ…œ๊ณผ ๋‹ฌ๋ฆฌ ๋‹จ์ผ ์†Œ์Šค์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ์—”ํŠธ๋กœํ”ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌด์ž‘์œ„ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐ›์•˜๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ์ฐธ๊ฐ€์ž๊ฐ€ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ด€๋ จ๋˜์ง€ ์•Š์€ ์—ฌ๋Ÿฌ ๋ฐœ์ „๊ธฐ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋ถ„์‚ฐ ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ์†Œ์Šค ์ค‘ ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ๋ฅผ ์†์ƒ์‹œํ‚ค๊ฑฐ๋‚˜ ๋ณ€์กฐํ•ด๋„ ์ตœ์ข… ๋‚œ์ˆ˜๋Š” ์†์ƒ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

๊ณต๊ฐœ ๋‚œ์ˆ˜๋Š” 60์ดˆ๋งˆ๋‹ค ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฒˆํ˜ธ๋Š” ๊ณ ์œ ํ•œ ์‹œํ€€์Šค ๋ฒˆํ˜ธ(๋ผ์šด๋“œ)์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์–ธ์ œ๋“ ์ง€ ์ฐธ์—ฌ ์„œ๋ฒ„์—์„œ ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๊ฐ’์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‚œ์ˆ˜๋Š” ์—ฌ๋Ÿฌ ๋…ธ๋“œ๊ฐ€ ๋‹จ์ผ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ, ์•”ํ˜ธํ™”ํ ๋ฐ ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ(์˜ˆ: ์ž‘์—… ์ฆ๋ช… ์ƒ์„ฑ ์‹œ) ๋‹ค์–‘ํ•œ ๋ณต๊ถŒ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋‚œ์ˆ˜ ์ƒ์„ฑ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ†ต๊ณผ ์„ ๊ฑฐ๋ฅผ ๊ฐ์‚ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์ƒ˜ํ”Œ.

์„œ๋น„์Šค ์ž‘์—… ๋ฐ ์ž์ฒด ๋…ธ๋“œ ๋ฐฐํฌ ์ œ์•ˆ ๋„๊ตฌ ๋“œ๋žœ๋“œ, Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Drand๋Š” ๋ถ„์‚ฐ ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ์™ธ๋ถ€ ์ƒ์„ฑ์ž์™€ ํ†ต์‹ ํ•˜์—ฌ ์š”์•ฝ ๋‚œ์ˆ˜ ๊ฐ’์„ ์ง‘ํ•ฉ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค ํ˜•ํƒœ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์š”์•ฝ ๊ฐ’์€ ๋‹ค์Œ ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ž„๊ณ„๊ฐ’ ์•”ํ˜ธํ™” ะธ ์ด์ค‘์„ ํ˜• ํ™œ์šฉ. ์š”์•ฝ ๋‚œ์ˆ˜ ๊ฐ’์˜ ์ƒ์„ฑ์€ ์ค‘์•™ ์ง‘์ค‘์‹ ์ง‘๊ณ„์ž์˜ ๊ฐœ์ž… ์—†์ด ์‚ฌ์šฉ์ž ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Drand๋Š” ๋˜ํ•œ ๋กœ์ปฌ์—์„œ ์ƒ์„ฑ๋œ ๊ฐœ์ธ ๋‚œ์ˆ˜๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚œ์ˆ˜๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ฐœ์ธ ๋ฐ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ECIES ์•”ํ˜ธํ™” ์ฒด๊ณ„๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ณต๊ฐœ ํ‚ค๋Š” Drand์—์„œ ์„œ๋ฒ„๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๋‚œ์ˆ˜๋Š” ์ฃผ์–ด์ง„ ๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”๋˜๋ฉฐ, ๊ฐœ์ธํ‚ค๋ฅผ ์†Œ์œ ํ•œ ํด๋ผ์ด์–ธํŠธ๋งŒ์ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด "drand" ์œ ํ‹ธ๋ฆฌํ‹ฐ(์˜ˆ: "drand get public group.toml", ์—ฌ๊ธฐ์„œ group.toml์€ ํด๋งํ•  ๋…ธ๋“œ ๋ชฉ๋ก) ๋˜๋Š” ์›น API(์˜ˆ: " ์ปฌ https://drand.cloudflare.com /api/public" ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ JavaScript์—์„œ ์•ก์„ธ์Šค ๋“œ๋žœ๋“œJS). ์š”์ฒญ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” TOML ํ˜•์‹์œผ๋กœ ์ „์†ก๋˜๊ณ  ์‘๋‹ต์€ JSON์œผ๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ XNUMX๊ฐœ ํšŒ์‚ฌ์™€ ์กฐ์ง์ด ์—”ํŠธ๋กœํ”ผ ๋ฆฌ๊ทธ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ์— ๊ฐ€์ž…ํ•˜์—ฌ ์—”ํŠธ๋กœํ”ผ ์ƒ์„ฑ๊ธฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ํฌํ•จ๋œ ์ฐธ๊ฐ€์ž๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๊ตญ๊ฐ€์— ์žˆ์œผ๋ฉฐ ์—”ํŠธ๋กœํ”ผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํด๋ผ์šฐ๋“œ ํ”Œ๋ ˆ์–ด, ๋ผ๋ฐ”๋žœ๋“œ, ์ž„์˜์˜ ๊ฐ’ ํ˜•์„ฑ๋œ๋‹ค ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์œ ์ฒด ํ๋ฆ„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์šฉ์•” ๋žจํ”„, ์ด๋ฏธ์ง€๋Š” CSPRNG(Cryptographically Secure PseudoRandom Number Generator)์˜ ์ž…๋ ฅ ์—”ํŠธ๋กœํ”ผ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • EPFL (Ecole Polytechnique Federale de Lausanne), URand,
    ํ‚ค๋ณด๋“œ ์ž…๋ ฅ, ๋งˆ์šฐ์Šค ์›€์ง์ž„, ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„ ๋“ฑ์„ ์—”ํŠธ๋กœํ”ผ ์†Œ์Šค๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€ ๋กœ์ปฌ ์ƒ์„ฑ๊ธฐ /dev/urandom์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์น ๋ ˆ๋Œ€ํ•™๊ต, U์น ๋ ˆ, ์ง€์ง„ ์„ผ์„œ ๋„คํŠธ์›Œํฌ๋Š” ์—”ํŠธ๋กœํ”ผ ์†Œ์Šค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ผ๋””์˜ค ๋ฐฉ์†ก, ํŠธ์œ„ํ„ฐ ํ™œ๋™, ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ ๋ณ€๊ฒฝ ๋ฐ ์ž์ฒด ํ•˜๋“œ์›จ์–ด RNG ์ƒ์„ฑ๊ธฐ์˜ ๋ฐ์ดํ„ฐ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • Kudelski Security, ChaChaRand๋Š” ChaCha20 ์•”ํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” CRNG(์•”ํ˜ธ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Protocol Labs, InterplanetaryRand, ๋ฌด์ž‘์œ„ ๋ฐ์ดํ„ฐ๋Š” ๋…ธ์ด์ฆˆ ์บ์ฒ˜์—์„œ ์ถ”์ถœ๋˜์–ด Linux PRNG ๋ฐ CPU์— ๋‚ด์žฅ๋œ ์˜์‚ฌ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ์™€ ๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋…๋ฆฝ ์ฐธ๊ฐ€์ž๋“ค์€ API์— ๋Œ€ํ•œ 8๊ฐœ์˜ ๊ณต๊ฐœ ์•ก์„ธ์Šค ํฌ์ธํŠธ๋ฅผ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์š”์•ฝ ๋‚œ์ˆ˜(์˜ˆ: "curl https://drand.cloudflare.com/api/public")๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ณผ๊ฑฐ ํŠน์ • ์ˆœ๊ฐ„์˜ ๊ฐ’(โ€œcurl https://drand.cloudflare.com/api/public?round=1234โ€):

  • https://drand.cloudflare.com:443
  • https://random.uchile.cl:8080
  • https://drand.cothority.net:7003
  • https://drand.kudelskisecurity.com:443
  • https://drand.lbarman.ch:443
  • https://drand.nikkolasg.xyz:8888
  • https://drand.protocol.ai:8080
  • https://drand.zerobyte.io:8888

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€