General-grants-program: Polkadot ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ: ๋Œ€์ฒด ๊ตฌํ˜„ ๋ณด์กฐ๊ธˆ

์— ๋งŒ๋“  2018๋…„ 07์›” 18์ผ  ยท  16์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: w3f/General-Grants-Program

Web3 Foundation์€ Polkadot์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ์ธ PRE(Polkadot ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ)์˜ ๋Œ€์ฒด ๊ตฌํ˜„ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํŒ€์„ ์œ ์น˜ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ณธ๊ฒฉ์ ์ธ Polkadot ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋Š” PRE ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. PRE ๋’ค์— ์žˆ๋Š” ์•„์ด๋””์–ด๋Š” ๋…๋ฆฝํ˜• ๋ธ”๋ก์ฒด์ธ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Polkadot ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Web3 Foundation์€ Parity Technologies์™€ ๊ณ„์•ฝํ•˜์—ฌ Polkadot์˜ ์ฒซ ๋ฒˆ์งธ ๊ตฌํ˜„์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. PRE์˜ ๊ตฌํ˜„์„ '๊ธฐํŒ'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ œํ’ˆ์€ ํ˜„์žฌ PRE์ด์ง€๋งŒ ํ–ฅํ›„ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์ด ์žˆ์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด ๊ต๋ถ€๊ธˆ์— ๋Œ€ํ•ด ์šฐ๋ฆฌ๋Š” PRE์—๋งŒ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ Substrate ์ฝ”๋“œ๋Š” Polkadot GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์— ์žˆ์œผ๋ฉฐ Rust์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค .

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์‹ ์ฒญ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

Polkadot ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ: ๋Œ€์ฒด ๊ตฌํ˜„ ๋ณด์กฐ๊ธˆ

(์ฐธ๊ณ ๋กœ Go(๋‹ค๋ฅธ ๋ชจ๋“  ์–ธ์–ด๋ณด๋‹ค), C++ ๋ฐ Java ์–ธ์–ด๊ฐ€ ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค.)

Core Tech Sought

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”, ์šฐ๋ฆฌ ํŒ€์€ ๋ธ”๋ก์ฒด์ธ ์ฃผ๊ฐ„ ๋™์•ˆ ๋ฒ ๋ฅผ๋ฆฐ์— ์žˆ์—ˆ๊ณ  Parity ํŒ€์˜ ์‚ฌ๋žŒ๋“ค์„ ์•Œ์•„๊ฐ€๋Š” ๋†€๋ผ์šด ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. Go์—์„œ PRE ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•ž์œผ๋กœ ๋ฉฐ์น  ๋™์•ˆ ์‹ ์ฒญ์„œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋ชจ๋“  16 ๋Œ“๊ธ€

๊ตฌํ˜„์„ ์œ„ํ•ด ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ ๋งŽ์€ ๋ธ”๋ก์ฒด์ธ ์Šคํƒ์ด ๋‘˜ ์ค‘ ํ•˜๋‚˜๋กœ ์ž‘์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Rust ๋˜๋Š” Go์˜ ๋Œ€์ฒด ๊ตฌํ˜„์€ ์ดˆ๊ธฐ์— ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ž์œผ๋กœ JavaScript(wasm์— ๋Œ€ํ•œ ์ปดํŒŒ์ผ์„ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ) ๋˜๋Š” Java/C#์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํฅ๋ฏธ๋กœ์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚ด์ผ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค(์˜ˆ์ƒ ์‹œ๊ฐ„๋ณด๋‹ค ์•ฝ๊ฐ„ ๋Šฆ์Œ!).

์ฐธ์กฐ ๊ตฌํ˜„์€ Rust (์ฆ‰, Parity Tech)์— ์žˆ์œผ๋ฉฐ Jaco์˜ JS ๊ตฌํ˜„ (์ „์ฒด Substrate ํด๋ผ์ด์–ธํŠธ์ด์ง€๋งŒ ๋ธ”๋ก ์ž‘์„ฑ ์—†์Œ)์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์„ ํ˜ธํ•˜๋Š” ๊ตฌํ˜„์€ Java, Go, C++์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ, ์šด์ด ์ข‹๋‹ค๋ฉด ๋‚ด์ผ ์ „์ฒด ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ณต๊ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! :-)

@EdwardAThomson ๋ณด์กฐ๊ธˆ ์‹ ์ฒญ ์ผ์ •์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ €๋Š” ํŠนํžˆ Go๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋…ธ๋ ฅ์—์„œ ํŒ€์„ ๋•๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ๊ตฌํ•˜๋Š” ๊ธฐ์กด ํŒ€์ด ์žˆ์œผ๋ฉด ์ €์—๊ฒŒ ์—ฐ๋ฝํ•˜์‹ญ์‹œ์˜ค. gfrะตโ…พะตrั–ัฮฟ ะฐt ั–ฤฃีฝะฐzีฝ แธ‹ฮฟt ั•ฮฟโ…ผีฝtั–ะพะฝั• ๋˜๋Š” Twitter: ฤฃัั•frะตแธ‹.

@gcsfred2 ์‹ ์ฒญ์€ ์ž ์‹œ๋งŒ์š”. ํ˜„์žฌ๋กœ์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋” ๊ตฌํ˜„ํ•˜๊ธฐ๋ฅผ ํฌ๋งํ•˜๋ฏ€๋กœ ์ตœ์†Œํ•œ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ๊ด€์‹ฌ ์žˆ๋Š” ๋ช‡ ํŒ€์ด ์ž‘์—…ํ•  ๋•Œ๊นŒ์ง€ ์‹ ์ฒญ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ด๋ ค ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ์šฐ๋ฆฌ ํŒ€์€ ๋ธ”๋ก์ฒด์ธ ์ฃผ๊ฐ„ ๋™์•ˆ ๋ฒ ๋ฅผ๋ฆฐ์— ์žˆ์—ˆ๊ณ  Parity ํŒ€์˜ ์‚ฌ๋žŒ๋“ค์„ ์•Œ์•„๊ฐ€๋Š” ๋†€๋ผ์šด ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. Go์—์„œ PRE ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์„ ๋ณด์˜€์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์•ž์œผ๋กœ ๋ฉฐ์น  ๋™์•ˆ ์‹ ์ฒญ์„œ๋ฅผ ์ž‘์„ฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•ˆ๋…•ํ•˜์„ธ์š” ChainSafe ํŒ€์ž…๋‹ˆ๋‹ค. ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค! ํ”„๋กœํ•„์— ์ด๋ฉ”์ผ ์ฃผ์†Œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์•ˆ๋ถ€๋ฅผ ์ „ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฉ”์ผ์„ ๋‚จ๊ธธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. Go๋Š” ์šฐ๋ฆฌ๊ฐ€ ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด ์ค‘ ํ•˜๋‚˜์ด๋ฏ€๋กœ ๊ท€ํ•˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ œ ๋Œ€์•ˆ ๊ตฌํ˜„์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์ƒ๋‹นํ•œ ๊ด€์‹ฌ์„ ๊ฐ–๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

Polkadot์˜ ํ•ต์‹ฌ ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–‘์‹์ด ์ œ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! :)

๊ด€๋ จ ๋™์˜์ƒ ๋ฐ ๋ธ”๋กœ๊ทธ ๋ชฉ๋ก ์ถ”๊ฐ€.

๋™์˜์ƒ :

๋ธ”๋กœ๊ทธ ๋“ฑ :

๊ธฐ์ˆ  ์ฑ„ํŒ… ์ฑ„๋„ :

๊ธฐํŒ ๊ธฐ์ˆ  ์ฑ„๋„๋กœ ์ด๋™ํ•˜์—ฌ ์งˆ๋ฌธ์„ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๋Š” ์†Œ์ˆ˜์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํšŒ์›๋„ ์žˆ์Šต๋‹ˆ๋‹ค!

์ง€๊ธˆ๊นŒ์ง€ ๊ด€์‹ฌ ๊ฐ€์ ธ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ์ง€์› ์–‘์‹์„ ๋ฐ›์•˜์ง€๋งŒ, ์–ด๋–ค ํŒ€์ด ์ œ์•ˆ์„œ๋ฅผ ์ œ์ถœํ•  ์ƒ๊ฐ์„ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•ดํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ์ง€์› ์ ˆ์ฐจ๊ฐ€ ์•„์ง ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€์•ˆ ๊ตฌํ˜„์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด 2~3๊ฐœ์˜ ํŒ€์„ ์„ ํƒํ•˜๊ธฐ๋ฅผ ํฌ๋งํ•˜์ง€๋งŒ ์•„์ง ์•„๋ฌด๋„ ์„ ํƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค!

์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์—…๋ฐ์ดํŠธ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๋ถ„๋“ค์ด ์†Œ์š” ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์˜ ์–‘์— ๋Œ€ํ•ด ๋ฌธ์˜ํ•ด ์ฃผ์…จ์Šต๋‹ˆ๋‹ค.

Parity์˜ ๊ฐœ๋ฐœ์ž์ธ Jaco์™€ ์งง์€ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆด์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” JavaScript๋กœ ๊ตฌํ˜„์„ ๋งŒ๋“  ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋” ๋‚˜์€ ์•„์ด๋””์–ด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ทธ๋Š” ์†”๋กœ๋กœ๋„ ๊ฝค ํ™œ๋™ํ–ˆ์Šต๋‹ˆ๋‹ค!

๊ฐœ๋ฐœ์ž/๊ฐœ๋ฐœ ํŒ€์ด Substrate ๊ตฌํ˜„์„ ๋งŒ๋“œ๋Š” ๋ฐ ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆฝ๋‹ˆ๊นŒ?

"๋งํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋‚ด ๊ตฌํ˜„์ด Rust libp2p ์ฝ”๋“œ์—์„œ ๋งŽ์€ ๋ฒ„๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ •์„ ์œ„ํ•ด (์˜์›ํ•œ ๋Š๋‚Œ์ด ๋“ค์—ˆ๋˜) ์ˆ˜์ •์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ์ผ์ฐ.

์šฐ์„  ์–ธ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ - JS, Go ๋˜๋Š” Rust๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์ž์ฒด libp2p ๊ตฌํ˜„์„ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (Go/Rust ๋ฒ„์ „์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์„์ง€๋„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค)"

"๊ทธ๋Ÿฌ๋ฉด ๊นŒ๋‹ค๋กœ์šด ๋ถ€๋ถ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํŒจ๋ฆฌํ‹ฐ ์ฝ”๋ฑ ๊ตฌํ˜„(์ ์ ˆํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด 2์ฃผ ์ด์ƒ) - ๋„คํŠธ์›Œํ‚น ๋˜๋Š” RPC ๊ด€๋ จ ๋ชจ๋“  ์ž‘์—…์— ํ•„์š”
  • Trie DB ๊ตฌํ˜„ - JS, Rust, Ethereum ํด๋ผ์ด์–ธํŠธ์—์„œ ์ˆ˜ํ–‰๋œ ์ž‘์—…์—์„œ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์ง€๋งŒ Substrate์—๋Š” ์ž์ฒด ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. (๋‹ค์‹œ ํ•œ ๋ฒˆ, Rust ๋ฒ„์ „์„ lib๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค)
  • WASM ํ™˜๊ฒฝ์—์„œ ์ด ๋‚ด์šฉ์€ ์–ด๋””์—๋„ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ์ง€ ์•Š์ง€๋งŒ ์ฝ”๋“œ์—๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์•ฝ 1๊ฐœ์›” ์ด์ƒ ๊ฑธ๋ ธ์ง€๋งŒ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ตฌํ˜„์ด ์ „์ฒด ์‹œ๊ฐ„์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค(๋„ˆ๋ฌด ์ผ์ฐ)
    ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ธ”๋ก์ฒด์ธ DB(over-and-above state trie), RPC ํ˜ธ์ถœ, ์ž ์žฌ์ ์ธ ๋ผ์ดํŠธ ํด๋ผ์ด์–ธํŠธ์™€ ๊ฐ™์€ ๋น„ํŠธ์™€ ๋ฐฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค."

๊ทธ๊ฐ€ ๋ณด๊ธฐ์— ์ตœ์†Œํ•œ:

  • ํŠธ๋ผ์ด
  • libp2p
  • WASM ํ™˜๊ฒฝ

"๊ตฌํ˜„์ด Go์— ์žˆ๋‹ค๋ฉด ๊ทธ๋“ค์€ ์‹ค์ œ๋กœ ์ด๋”๋ฆฌ์›€ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  blake2์™€ ํŒจ๋ฆฌํ‹ฐ ์ฝ”๋ฑ์„ "๊ทธ๋ƒฅ" ๋“œ๋กญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."

์ด ๋ณด์กฐ๊ธˆ์„ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ํ•ฉ์˜ ๋ถ€๋ถ„๋„ ์™„๋ฃŒ๋˜๊ธฐ๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฐฉ๊ธˆ C++ ๊ตฌํ˜„์„ ์œ„ํ•œ ์–‘์‹์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”, ๋ฐฉ๊ธˆ C++ ๊ตฌํ˜„์„ ์œ„ํ•œ ์–‘์‹์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

๋ฐ›์•˜๋‹ค! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! @์œ ๋ฐ”์‹œ

์‹ ์ฒญ ์ ˆ์ฐจ๋Š” ์•„์ง ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์‹ ์ฒญ์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

W3S ์ปจํผ๋Ÿฐ์Šค์— ๋Œ€ํ•ด ์•Œ๊ณ  ๊ณ„์…จ์Šต๋‹ˆ๊นŒ? ์ด์ œ ํ• ์ธ๋œ ๊ฐ€๊ฒฉ๊ณผ ๋ฌด๋ฃŒ ํ‹ฐ์ผ“์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://medium.com/web3foundation/endowing-an-open-inclusive-community-at-web3-summit-3013456f4f84

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋ช‡ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์žˆ์—ˆ๊ณ  ๋ชจ๋“  ์‚ฌ๋žŒ๊ณผ ๋‹ต๋ณ€์„ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

1. ๋Œ€์ฒด ๊ตฌํ˜„์˜ ๋™๊ธฐ ์ดํ•ด

  • ํ˜„์žฌ ๊ตฌํ˜„์€ ์–ด๋””๊นŒ์ง€ ์ฐธ์กฐ์ž…๋‹ˆ๊นŒ?

    • ์‚ฌ์–‘์ด ์ดˆ์•ˆ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ๊ณง ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.
    • ํ˜„์žฌ ๊ตฌํ˜„์€ ์ฐธ์กฐ ์‚ฌ์–‘๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
    • RFP๋Š” ์ผ์ฐ ์‹œ์ž‘๋˜์—ˆ์œผ๋ฏ€๋กœ ํŒ€๊ณผ ๋Œ€ํ™”๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์šฐ๋ฆฌ๋Š” ๊ทธ๋“ค์ด ์ผ์ฐ ์ œ์•ˆ์„ ๋ฐ›์„ ๊ฒƒ์„ ์ œ์•ˆํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋…๋ฆฝ์ ์ธ ๊ตฌํ˜„์„ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ์ด ๊ฒฝ์šฐ, ์ƒˆ๋กœ์šด ๊ตฌํ˜„์ด Substrate์˜ Rust ๊ตฌํ˜„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๊นŒ?

    • ๊ฐ€๋Šฅํ•œ ํ•œ ๋…๋ฆฝ์ ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์–ธ์–ด์— ๋งž๋Š” ๊ด€์šฉ์  ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ์ง์ ‘์ ์ธ ๋ฒˆ์—ญ์ด ์•„๋‹™๋‹ˆ๋‹ค.
    • ์ถ”๊ฐ€ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ•˜์‹ญ์‹œ์˜ค. ํŠน์ • ๊ฐœ๋ฐœ์ž ์ง‘ํ•ฉ์— ๊ณ ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
    • ๋˜ํ•œ ๊ตฌํ˜„ ๊ฐ„์˜ ์ง€์†์ ์ธ ๋ถˆ์ผ์น˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํƒˆ์ค‘์•™ํ™” ๋„คํŠธ์›Œํฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์•ˆ์  ๊ตฌํ˜„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ํŒ€์ด ๋„คํŠธ์›Œํฌ ๊ฐœ๋ฐœ์„ ์ œ์–ดํ•˜๋Š” โ€‹โ€‹๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐœ์„ /์น˜๋ฃŒํ•˜๋ ค๋Š” ์š”๊ตฌ ์‚ฌํ•ญ/์ฆ์ƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

    • ์„ค๋งˆ. ๋…น์€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฆ…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ •๋ง๋กœ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์— ๋„๋‹ฌํ•˜๊ณ  ํƒˆ์ค‘์•™ํ™”(๋„คํŠธ์›Œํฌ ๋ณต์›๋ ฅ ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค)๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ด์‹์„ฑ?

    • Linux ๋ฐ Mac์—์„œ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•ฉ๋‹ˆ๋‹ค. (์œ ๋‹‰์Šค์™€ ๊ฐ™์€ ํ”Œ๋žซํผ)
    • Windows์—์„œ ํ›Œ๋ฅญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • Go๋ฅผ ์„ ํ˜ธํ•˜๋Š” ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

    • ๊ธฐ์กด Go ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
    • Go์—๋Š” ์ด๋ฏธ Wasm ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋” ์‰ฌ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/perlin-network/life
    • ์šฐ๋ฆฌ๋Š” ์•„๋งˆ๋„ ์ ์–ด๋„ 2๊ฐœ์˜ ๊ตฌํ˜„์— ์ž๊ธˆ์„ ์ง€์›ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด C++ ๋ฐ Go.
    • C++๋กœ ์ž‘์„ฑํ•  ๋‚ด์šฉ์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์€ ์ฝ”๋“œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. C++์—๋Š” libp2p๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Wasm ์ง€์›์ด ์ ์Šต๋‹ˆ๋‹ค.

2. WASM์— ๋Œ€ํ•œ ๊ตฌํ˜„ ์ดํ•ด

  • ๊ธฐ์กด WASM ๊ตฌํ˜„์„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

    • ๊ตฌํ˜„ ์–ธ์–ด๋กœ ๊ธฐ์กด ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๋ฐ”์ธ๋”ฉ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— C++ PRE์™€ ํ•จ๊ป˜ Rust ๊ตฌํ˜„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ C++ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. C++ ๊ตฌํ˜„์ด ์ข‹์ง€ ์•Š๋‹ค๋ฉด ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ•˜๊ฑฐ๋‚˜ ํฌํฌํ•˜๊ณ  ๊ฐœ์„ ํ•˜์‹ญ์‹œ์˜ค.
  • ๋„ค์ดํ‹ฐ๋ธŒ ์‹คํ–‰๋„ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด WASM ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋งŒ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

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

3. "์ฐธ์—ฌ ๊ทœ์น™"์˜ ์ดํ•ด

  • ๊ณต์‹ ์‚ฌ์–‘์ด๋‚˜ ์Šน์ธ ํ…Œ์ŠคํŠธ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๊นŒ, ์•„๋‹ˆ๋ฉด ํ”„๋กœ์ ํŠธ์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

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

    • ์‹ ์ฒญ์„œ (์›๋ณธ ๊ฒŒ์‹œ๋ฌผ๊ณผ ๋™์ผ).
    • ์ดˆ๊ธฐ์— ๋Œ€๋žต์ ์ธ ์ œ์•ˆ์„ ๋ฐ›๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ์‚ด์ด ์ž˜ ์•ˆ๋น ์ง€๋”๋ผ๋„.
  • ๋ˆ„๊ฐ€ ์Šน์ธ์„ ์ค„ ๊ฒƒ์ธ๊ฐ€ / ๋ณด์กฐ๊ธˆ ์‹ ์ฒญ์ด ๋๋‚  ๋•Œ ๊ฒฐ์ •ํ•  ๊ฒƒ์ธ๊ฐ€?

    • Web3 ์žฌ๋‹จ. Peter๊ฐ€ ์ฃผ๋„ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ์ฐธ์—ฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค(์˜ˆ: Parity์˜ ๊ด€๋ จ ์ธ๋ ฅ).
    • ์ผ๋ถ€ ์‚ฌํ•ญ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง„ํ–‰ ์ค‘์ธ ์‚ฌ์–‘: https://github.com/w3f/polkadot-re-spec/blob/master/polkadot_re_spec.pdf

์šฐ๋ฆฌ๋Š” Parity ์ฝ”๋ฑ๊ณผ Go์—์„œ ๋Ÿฐํƒ€์ž„ ์ž‘์„ฑ์„ ์ง€์›ํ•˜๋Š” ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง„ ๋‹ค๋ฅธ ๋ชจ๋“  Rust ๋ชจ๋“ˆ ๊ตฌํ˜„์˜ ์ตœ์†Œํ•œ์˜ ํฌํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋…ธ๋ ฅ์„ ์ง€์›ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์™„์ „ํ•œ ๋Œ€์•ˆ ๊ตฌํ˜„์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์ด ์ž‘์—…์€ ์ „์ฒด Go ๊ตฌํ˜„์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์„ ํƒ๋œ ํŒ€์—์„œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ˜‘์—…์˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š”์ง€ ๋˜๋Š” ์ž‘์—…์ด ์ „ํ˜€ ์‹œ์ž‘๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋” ์ข์€ ๋ฒ”์œ„์˜ ์ž‘์—…์— ๋Œ€ํ•œ ๋ณด์กฐ๊ธˆ์„ ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

ghuun picture ghuun  ยท  7์ฝ”๋ฉ˜ํŠธ

EdwardAThomson picture EdwardAThomson  ยท  14์ฝ”๋ฉ˜ํŠธ

EdwardAThomson picture EdwardAThomson  ยท  23์ฝ”๋ฉ˜ํŠธ

jplatts12 picture jplatts12  ยท  6์ฝ”๋ฉ˜ํŠธ

bobjiang picture bobjiang  ยท  5์ฝ”๋ฉ˜ํŠธ