Pagsusuri sa Polkadot 1.0, 2.0, at JAM Architecture
Sinusuri namin ang teknikal na ebolusyon ng Polkadot mula sa sharded execution patungo sa JAM. Tinitignan natin kung paano nagbibigay ng shared security ang ELV
Hindi ito financial advice. DYOR.
Translation pending: showing the source text.
Read full report
1. ๋ฐฐ๊ฒฝ ์ง์
์ดํ์์๋ ๋ค์ ๊ฐ๋ ์ด ๋ฑ์ฅํ๋ฉฐ, ์ด์ ๋ํ ์ดํด๋ฅผ ์ ์ ๋ก ํฉ๋๋ค.
- ์ํ ์ ํ ํจ์(State Transition Function)๋ก์์ ๋ธ๋ก์ฒด์ธ
- โ์ํโ(State)์ ๋ํ ์ดํด
- ๋ ๊ฐ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์ค๋ช ๋จ
- ๊ฒฝ์ ์ ๋ณด์์ฑ(Economic Security)๊ณผ ์ง๋ถ ์ฆ๋ช (Proof of Stake)
- ํด๋น ๋ด์ฉ์ PBA ๊ฐ์, ์์์์ ์ค๋ช ๋จ
2. ์๋ฌธ: ํด์นด๋ท 1.0
์ฐ์ ํด์นด๋ท 1.0์ ๊ฐ์ฅ ํ์ ์ ์ธ ํน์ง์ ์์ฝํ์๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
- ์ฌํ์ ์ธก๋ฉด :
- ํด์นด๋ท์ ๋ชจ๋ ๋ฉด์์ ํ๋์ ๊ฑฐ๋ํ DAO๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ํฌํฌ๋ฆฌ์ค(fork-less) ๋ฐํ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ํฌํจํ ๋คํธ์ํฌ ๊ฑฐ๋ฒ๋์ค๋ ์์ ํ ์ฒด์ธ ์์์ ์์ฒด ์คํ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
- ๋ฏธ๊ตญ ์ฆ๊ถ๊ฑฐ๋์์ํ(SEC)๋ DOT์ ์ฆ๊ถ์ด ์๋ ์ํํธ์จ์ด๋ก ๊ฐ์ฃผํฉ๋๋ค.
- ๋๋ถ๋ถ์ ๋คํธ์ํฌ ๊ฐ๋ฐ์ ํ๊ณ ์์ ํ์ฌ(์: ํจ๋ฆฌํฐ)๊ฐ ์๋ ํด์นด๋ท ํ ๋ก์ฐ์ญ์ด ๋ด๋นํฉ๋๋ค.
- ๊ธฐ์ ์ ์ธก๋ฉด :
- ๋ณด์์ ๊ณต์ ๋ฐ ์ค๋ฉ(๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์ ๋ฐ์ดํฐ๋ฅผ โ์ค๋โ๋ก ๋ถํ ํ์ฌ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฒ)๋ ์คํ(sharded execution)
- WASM ๊ธฐ๋ฐ ๋ฉํ ํ๋กํ ์ฝ ์ฌ์ฉ. ๋ธ๋ก์ฒด์ธ ์ฝ๋๋ฅผ ๋ฐ์ดํธ์ฝ๋ ํํ๋ก ์ํ์ ์ ์ฅํจ์ผ๋ก์จ ๋๋ถ๋ถ์ ์ ๊ทธ๋ ์ด๋๋ฅผ ํฌํฌ๋ฆฌ์ค๋ก ์งํํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ํด์นด๋ท์์ ์ค๋ฉ๋ฟ๋ง ์๋๋ผ ์ด์ข (heterogeneous) ์ค๋ฉ์ด ๊ฐ๋ฅํด์ง๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด์ข ์ฑ์ ์ฐธ๊ณ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ด์ ์ค๋ฉ๋ ์คํ ์ ์์ธํ ์ดํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
3. ์ค๋ฉ๋ ์คํ์ ํต์ฌ: ์ฝ์ด
*๋ณธ ์ํฐํด์์๋ ํด์นด๋ท์ด๋ ์ด๋๋ฆฌ์ ๊ฐ์ด ๋ค๋ฅธ L2 โ๋ธ๋ก์ฒด์ธโ์ ํธ์คํ ํ๋ L1 ๋คํธ์ํฌ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์ด์ ๋ฐ๋ผ, L2์ ํ๋ผ์ฒด์ธ(Parachain)์ ๋์์ด๋ก ๊ฐ์ฃผํ๊ฒ ์ต๋๋ค.
๋ธ๋ก์ฒด์ธ ํ์ฅ์ฑ์ ํต์ฌ์ ์ธ ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฝํ ์ ์์ต๋๋ค. ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ด ์กด์ฌํ๋ฉฐ, ์ด๋ค์ด ์คํํ๋ ์ฝ๋๋ ์ง๋ถ ์ฆ๋ช ์ด๋ผ๋ ์ํธ ๊ฒฝ์ ํ์ ๊ฐ๋ ์ ํตํด ์ ๋ขฐ๊ฐ ๋ณด์ฅ๋ฉ๋๋ค. ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ก์ ์์ ์ ์ฒด๋ฅผ ์ฌ์คํํด์ผ ํฉ๋๋ค. ์ฆ, ์ด ์์คํ ์ ๋ชจ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ํญ์ ๋ชจ๋ ๊ฒ์ (์ฌ)์คํํ๋๋ก ๊ฐ์ ํ๋ ํ ํ์ฅ๋ ์ ์์ต๋๋ค.
์ ๋ฌธ๋จ์์ ์ธ๊ธํ ์ฌ์คํ ์์น์ด ์ ์ง๋๋ ์ด์ ์ด ๋ชจ๋ธ์์๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ์๊ฐ ์ฆ๊ฐํ๋ค๊ณ ํด์ ์์คํ ์ ์ฒ๋ฆฌ๋๋ ํจ๊ป ์ฆ๊ฐํ๋ ๊ฒ์ด ์๋์ ์ฃผ๋ชฉํ ํ์๊ฐ ์์ต๋๋ค. !image (4).png
์์ ์ค๋ช ์ ์ค๋ฉ๊ณผ ๋๋น๋๋ ๋ชจ๋๋ฆฌํฑ(monolithic) ๋ธ๋ก์ฒด์ธ์ ํน์ง์ ์์ ํ๊ณ ์์ต๋๋ค. ์ธํ(์: ๋ธ๋ก)์ ๋ชจ๋ ๋คํธ์ํฌ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ์ํด ํ๋์ฉ ์ฒ๋ฆฌ๋๋ ๋ฐฉ์์ ๋๋ค.
๋ง์ฝ ์ด๋ฌํ ์์คํ ์์ L1์ด ๋ ๋ง์ L2๋ฅผ ํธ์คํ ํ๊ณ ์ ํ๋ค๋ฉด, ๋ชจ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ ๋ชจ๋ L2์ ์์ ์ ์ฌ์คํํด์ผ ํฉ๋๋ค. ๋น์ฐํ ์ด๋ฌํ ์์คํ ์์ ํ์ฅ์ฑ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ฐํํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ตํฐ๋ฏธ์คํฑ(Optimistic) ๋กค์ ์ด ์๋๋ฐ, ์ฌ์คํ(์ผ๋ช ์ฌ๊ธฐ ์ฆ๋ช , fraud proof)ํ๋ ์ํฉ์ด ๋๊ตฐ๊ฐ๊ฐ ์ฌ๊ธฐ๊ฐ ๋ฐ์ํ๋ค๊ณ ์ฃผ์ฅํ์ ๊ฒฝ์ฐ์๋ง ๋ฐ์ํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. SNARK-๊ธฐ๋ฐ ๋กค์ ์ SNARK ์ฆ๊ฑฐ๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ๊ฒ์ฆํ๋ ๋น์ฉ์ด ํ์ ํ ์ ๋ ดํ๋ค๋ ์ฌ์ค์ ๊ธฐ๋ฐํ์ฌ, ๋ชจ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด SNARK ์ฆ๊ฑฐ๋ฅผ ๊ฒ์ฆํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ๋ ์์ธํ ๋ด์ฉ์ ๋ถ๋ก์ Scalability Space Map์ ์ฐธ๊ณ ํด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
์ค๋ฉ์ ๋จ์ํ ํด๊ฒฐ์ฑ ์ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ๋ ์์ ํ์ ์ง๋จ(subset)์ผ๋ก ๋๋ ๋ค, ์ด ์์ ํ์์ง๋จ์ด L2 ๋ธ๋ก์ ์ฌ์คํํ๋ ๊ฒ์ ๋๋ค. ์ด ์ ๊ทผ๋ฒ์๋ ์ด๋ค ๋ฌธ์ ๊ฐ ์์๊น์? ๋ฐ๋ก ๋คํธ์ํฌ์ ์คํ ๋ฐ ๊ฒฝ์ ์ ๋ณด์์ ์ค๋ฉํ๊ณ ์๋ค๋ ๊ฒ์ ๋๋ค. L2์ ๋ณด์์ L1์ ๋นํด ์ด๋ฏธ ์ทจ์ฝํ๋ฐ, ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ๋ ๋ง์ ์ค๋๋ก ์กฐ๊ฐ๋ผ์๋ก ๋ณด์์ฑ์ ๋ ์ฝํด์ง ์๋ฐ์ ์์ต๋๋ค.
!image (5).png
๋งค๋ฒ ํธ๋์ญ์ ์ ์ฌ์คํํ ์ ์๋ ์ตํฐ๋ฏธ์คํฑ ๋กค์ ๊ณผ๋ ๋ฌ๋ฆฌ, ํด์นด๋ท์ ํธ๋์ญ์ ์ ์ค๋ฉํ๋๋ก ๊ณ ์๋์์ต๋๋ค. ์ด๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ํ์ ์ง๋จ ๋ค์ด L2 ๋ธ๋ก์ ์ฌ์คํํ ์ ์๋๋ก ๋ง๋ค๋ฉฐ, ๋ชจ๋ ๋คํธ์ํฌ ์ฐธ์ฌ์์๊ฒ L2 ๋ธ๋ก์ ์ง์ค์ฑ์ด ๋ง์น ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ด ๋ธ๋ก์ ์ฌ์คํํ ๊ฒ๋งํผ ์์ ํ๋ค๋ ์ํธ๊ฒฝ์ ํ์ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ ์ต๊ทผ์ ๊ณต์ ๋ฐํ๋ ELVES ๋ฉ์ปค๋์ฆ์ ํตํด ๊ฐ๋ฅํฉ๋๋ค.
ELVES๋ "์๋์ปฌ ๋กค์ (Cynical Rollup)" ๋ฉ์ปค๋์ฆ์ด๋ผ๊ณ ๋ ๋ณผ ์ ์์ต๋๋ค. ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ๋ค๋ฅธ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์๊ฒ L2 ๋ธ๋ก์ ์ ํจ์ฑ์ ํ์ธ๋ฐ๋ ๊ณผ์ ์ ๋ช ์ฐจ๋ก ๋ฐ๋ณตํ๋ฉด์, L2 ๋ธ๋ก์ด ์ค์ ๋ก๋ ์ ํจํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ํ์ธํ ์ ์๋ ๊ฒ์ ๋๋ค. ๋ถ์์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ์ ๋จ์๊ฐ ๋ด ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ด ์ฐธ์ฌ ์์ฒญ์ ๋ฐ๊ฒ ๋๋ฉฐ, ์ด ๋ด์ฉ์ ํด์นด๋ท์ ๊ณต๋ ์ฐฝ์ ์์ธ ๋กญ ํ๋ฒ๋ง์ด์ด(Rob Habermeier)์ ๊ธ์ ์ ์ค๋ช ๋์ด ์์ต๋๋ค.
ํด์นด๋ท์ด ์ผ๋ฐ์ ์ผ๋ก ์ํธ ๋ฐฐํ์ (mutually exclusive)์ธ ๊ฒ์ผ๋ก ์ทจ๊ธ๋๋ โ ์ค๋ฉ๋ ์คํ โ๊ณผ โ ๊ณต์ ๋ ๋ณด์ โ ๋ ๊ฐ์ง ํน์ฑ์ ๋ชจ๋ ์ง๋ ์ ์๋ ๊ฒ๋ ELVES ๋ฉ์ปค๋์ฆ ๋๋ถ์ด๋ฉฐ, ์ด๊ฒ์ด ํ์ฅ์ฑ์ ์์ด์ ํด์นด๋ท 1.0์ด ๋จ๊ธด ์ฃผ๋ ๊ธฐ์ ์ ์ฑ๊ณผ์ด๊ธฐ๋ ํฉ๋๋ค. !image (6).png
์ด์ โ์ฝ์ด" ๋น์ ๋ก ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
์คํ ์ค๋(execution-sharded) ๋ธ๋ก์ฒด์ธ์ CPU์ ๋น์ ํ ์ ์์ต๋๋ค. CPU๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ๋ช ๋ น์ ์ฒ๋ฆฌํ ์ ์๋ ๋ค์์ ์ฝ์ด ๋ฅผ ์ง๋๊ณ ์๋ฏ์ด, ํด์นด๋ท๋ ๋ณ๋ ฌ์ ์ผ๋ก L2 ๋ธ๋ก์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฌํ ์ด์ ๋ก ํด์นด๋ท์์ L2๋ฅผ ํ๋ผ์ฒด์ธ(parachain)[1], ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ํ์ ์ง๋จ์ด ๋จ์ผ L2 ๋ธ๋ก์ ์คํํ๋ ํ๊ฒฝ์ "์ฝ์ดโ๋ผ๊ณ ์นญํฉ๋๋ค. ๊ฐ๋ณ ์ฝ์ด๋ โํ์ ํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จโ์ด๋ผ๊ณ ์์ฝ๋ ์ ์์ต๋๋ค.
๋ชจ๋๋ฆฌํฑ ๋ธ๋ก์ฒด์ธ์ด ์ด๋ ํ์ ์ฌ๋กฏ์์๋ ๋จ์ผ ๋ธ๋ก๋ง ์ฒ๋ฆฌํ ์ ์๋ค๋ฉด, ํด์นด๋ท์ ์ฝ์ด ๋ฐ ํ์ ์ฌ๋กฏ ๋น ๊ฐ๊ฐ ํ๋์ ๋ฆด๋ ์ด ์ฒด์ธ ๋ธ๋ก๊ณผ ํ๋ผ์ฒด์ธ ๋ธ๋ก์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
3.1. ์ด์ข ์ฑ
์ง๊ธ๊น์ง ํ์ฅ์ฑ๊ณผ ํด์นด๋ท์ ์ค๋ฉ๋ ์คํ์ ๋ํด์๋ง ์ด์ผ๊ธฐํ์ผ๋ฉฐ, ํ ๊ฐ์ง ์ค์ํ ์ฌ์ค์ ํด์นด๋ท์ ๊ฐ๊ฐ์ ์ค๋๊ฐ ์์ ๋ณ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ๋ ์ ์ ๋๋ค[2]. ์ด๋ ๋ฐ์ดํธ์ฝ๋๋ก ์ ์ฅ๋๋ ๋ฉํ ํ๋กํ ์ฝ์ ์ฌ์ฉํจ์ผ๋ก์จ ๊ตฌํ๋์์ผ๋ฉฐ, ๋ฉํ ํ๋กํ ์ฝ์ด๋ ๋ธ๋ก์ฒด์ธ์ ์ ์๊ฐ ๋ฐ์ดํธ์ฝ๋์ ํํ๋ก ๋ธ๋ก์ฒด์ธ ์ํ์ ์ ์ฅ๋๋ ํ๋กํ ์ฝ์ ๋๋ค. ํด์นด๋ท 1.0์์๋ WASM์ด ๋ฐ์ดํธ์ฝ๋๋ก ์ฌ์ฉ๋์๊ณ , JAM์์๋ PVM/RISC-V๊ฐ ์ฑํ๋์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ์ด๊ฒ์ด ํด์นด๋ท์ด _์ด์ข ์ค๋ฉ ๋ธ๋ก์ฒด์ธ(heterogeneous sharded blockchain)_์ผ๋ก ๋ถ๋ฆฌ๋ ์ด์ ์ ๋๋ค. ๊ฐ๊ฐ์ L2๋ ์๋ก ์์ ํ ๋ค๋ฅธ ๋ณ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. !image (7).png
4. ํด์นด๋ท 2.0
ํด์นด๋ท 2.0์์ ๊ฐ์กฐํ๋ ๋ถ๋ถ์ ์ฝ์ด๋ฅผ ๋ ์ ์ฐํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค. ๊ธฐ์กด์ ํด์นด๋ท ๋ชจ๋ธ์์๋ ํ ์ฝ์ด๋ฅผ ํ ๋ฒ์ 6๊ฐ์์์ ์ต๋ 2๋ ๊น์ง ์๋ํ ์ ์์์ต๋๋ค. ์ด๋ ๊ฐ์ฉ ์์์ด ๋ง์ ๋น์ฆ๋์ค์ ๊ฒฝ์ฐ ์ ํฉํ ๋ชจ๋ธ์ด์ง๋ง, ์๊ท๋ชจ ํ๋ค์๊ฒ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ํด์นด๋ท์ ์ฝ์ด๋ฅผ ๋ ์ ์ฐํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ ๊ธฐ๋ฅ์ "์ ์์ผ ์ฝ์ดํ์(agile coretime) "๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ์ ์์ผ ์ฝ์ดํ์์์๋ ํด์นด๋ท์ ์ฝ์ด๋ฅผ ํ ๋ฒ์ ํ ๋ธ๋ก๋ถํฐ ์ต๋ ํ ๋ฌ๊น์ง ๋์ฌํ ์ ์์ผ๋ฉฐ, ์ฅ๊ธฐ ์๋๋ฅผ ์ํ ๊ฒฝ์ฐ ์ํ ๊ฐ๊ฒฉ(price cap)๋ ๋ณด์ฅ๋ฉ๋๋ค. !image (8).png
ํ์์ ํด์นด๋ท 2.0์ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค๊ณผ ํจ๊ป ์งํ ์ค์ด๋ฏ๋ก, ์ฌ๊ธฐ์๋ ์ถ๊ฐ ์ค๋ช ์ ์๋ตํ๊ฒ ์ต๋๋ค.
5. ์ฝ์ด ๋ด๋ถ vs. ์จ์ฒด์ธ
JAM(Polkadot 3.0)์ ์ดํดํ๋ ค๋ฉด, L2 ๋ธ๋ก์ด ์ง์ ํ์ ๋ ํด์นด๋ท ์ฝ์ด์์ ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๋์ง ์ดํดํด์ผ ํฉ๋๋ค.
๋ค์์ ๋ง์ด ๋จ์ํ๋ ๋ด์ฉ์ ํฌํจํ๊ณ ์์ต๋๋ค.
์ฝ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. โ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ก ๋ณด๋๋คโ๋ ๊ฒ์ ๋ฐ์ดํฐ๊ฐ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ์ ๋ฌ๋์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
0.ํ๋์ L2 ๋ธ๋ก๊ณผ ํด๋น L2 ์ํ์ ํ์ ์ง๋จ์ด ์ฝ์ด๋ก ์ ์ก๋ฉ๋๋ค. ์ด๊ฒ์ด L2 ๋ธ๋ก์ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ์ ์ผํ ๋ฐ์ดํฐ์ ๋๋ค[3].
1.์ฝ์ด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ํ์ ์ง๋จ์ด L2 ๋ธ๋ก์ ์ฌ์คํํ๋ฉฐ, ํฉ์์ ๊ด๋ จ๋ ์์ ์ ์งํํฉ๋๋ค.
2.์ฝ์ด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ (์ฝ์ด ์ธ๋ถ์ ์๋) ๋ค๋ฅธ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ์ฌ์คํ์ ํ์ํ ๋ฐ์ดํฐ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ELVES ๊ท์น์ ๋ฐ๋ผ ๋ ๋ง์ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด L2 ๋ธ๋ก์ ์ฌ์คํํ๊ณ ์ ํ ์ ์๋๋ฐ, ์ด๋ ์ด ๋ฐ์ดํฐ๊ฐ ํ์ํฉ๋๋ค.
๋ชจ๋ ์์ ์ ํด์นด๋ท์ ๋ฉ์ธ ๋ธ๋ก๊ณผ ์ํ ๋ณ๊ฒฝ ํจ์์ ๋ณ๊ฐ๋ก ์ธ๋ถ์์ ์ด๋ฃจ์ด์ง๋ค๋ ์ ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ์ง๊ธ๊น์ง ์ค๋ช ํ ๋ชจ๋ ๊ณผ์ ์ ์ฝ์ด์ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ ๋ ์ด์ด ๋ด๋ถ์์ ๋ฐ์ํฉ๋๋ค.
3.L2๊ฐ ์ ์กํ ์ต์ ์ํ๊ฐ ํด์นด๋ท ๋ฆด๋ ์ด ์ฒด์ธ ์ํ์ ์ ์ฅ๋ฉ๋๋ค. ์ด ์์ ์ L2 ๋ธ๋ก์ ์ฌ์คํํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ ๋ ดํ๋ฉฐ, ๋ฉ์ธ ํด์นด๋ท ์ํ์ ์ํฅ์ ๋ฏธ์น๊ณ , ํด์นด๋ท ๋ธ๋ก์๋ ๊ธฐ๋ก๋๋ฉฐ, ๋ชจ๋ ํด์นด๋ท ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ ์ํด ์ฒ๋ฆฌ๋ฉ๋๋ค.
์์ ์ค๋ช ํ ๋ด์ฉ์ ๋ํด, ํด์นด๋ท์ด ์ํํ๋ ์์ ์ ๋ํด ์ข ๋ ์์๋ณด๊ฒ ์ต๋๋ค:
1๋ฒ์์ ํด์นด๋ท์๋ ์ผ๋ฐ์ ์ธ ๋ธ๋ก์ฒด์ธ ์ํ ์ ํ ํจ์์๋ ๋ค๋ฅธ ์ฒ๋ฆฌ ๋ฐฉ์์ด ์กด์ฌํจ์ ์ ์ ์์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋คํธ์ํฌ์ ๋ชจ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ์์ ์ ์คํํ๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋ก ๋ฉ์ธ ๋ธ๋ก์ฒด์ธ ์ํ๊ฐ ์ ๋ฐ์ดํธ๋๋ฉฐ, ์ด๋ฅผ ์จ์ฒด์ธ ์์ (on-chain operation) ์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ์ด ์์ ์ด 3๋ฒ์ ํด๋นํฉ๋๋ค. ํ์ง๋ง ์ฝ์ด ๋ด๋ถ(1๋ฒ)์์ ๋ฐ์ํ๋ ์ผ๋ค์ ๋ค๋ฆ ๋๋ค. ์ด ์๋ก์ด ๋ธ๋ก์ฒด์ธ ์ฐ์ฐ ๋ฐฉ์์ ์ธ์ฝ์ด ์ฒ๋ฆฌ(in-core execution) ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
2๋ฒ์์ ์ ์ถํ ์ ์๋ ์ฌ์ค์, ํด์นด๋ท์ด ์ด๋ฏธ ๋ค์ดํฐ๋ธ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ ๋ ์ด์ด(DA)๋ฅผ ์ ๊ณตํ๋ฉฐ, L2๋ DA๋ฅผ ์ฒ๋ฆฌ ์ฆ๊ฑฐ๋ก์ ์๋์ผ๋ก ์ผ์ ์๊ฐ ๋์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด DA[4] ๋ ์ด์ด์ ์ฌ๋ผ๊ฐ ์ ์๋ ๋ฐ์ดํฐ๋ ๊ณ ์ ๋์ด ์์ผ๋ฉฐ, ์ด ๋ฐ์ดํฐ๋ L2 ๋ธ๋ก์ ์ฌ์คํํ๊ธฐ ์ํด ํญ์ ํ์ํ ์ฆ๊ฑฐ์ ๋๋ค. ๋ํ ํ๋ผ์ฒด์ธ์ ์ฝ๋๋ DA ๋ ์ด์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ์ ์์ต๋๋ค.
์ ๋ด์ฉ์ JAM์ ๊ธฐ๋ฅ์ ์ดํดํ๋ ๋ฐ ๊ทผ๊ฐ์ด ๋ฉ๋๋ค. ์์ฝํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ธ์ฝ์ด ์ฒ๋ฆฌ : ์ฝ์ด ๋ด๋ถ์์ ๋ฐ์ํฉ๋๋ค. ํ๋ถํ ์์(abundance)๊ณผ ํ์ฅ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๋ฉฐ, ์ํธ ๊ฒฝ์ ํ๊ณผ ELVES๋ฅผ ๊ธฐ๋ฐ์ผ๋ก โ์จ์ฒด์ธ ์ฒ๋ฆฌโ๋งํผ์ ์์ ์ฑ์ ๊ฐ์ง๋๋ค.
- ์จ์ฒด์ธ ์ฒ๋ฆฌ : ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์ ์์ ์ ๋๋ค. ๊ฒฝ์ ์ ์ ์ธ์ ์ง๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ ์ํด ๋ณด์์ด ์ ์ง๋๋ฉฐ, ๋ชจ๋๊ฐ ๋ชจ๋ ๊ฒ์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ๋ ๋น์ธ๊ณ ์ ํ์ ์ ๋๋ค.
- ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ : ํด์นด๋ท ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์ด ์ผ์ ๊ธฐ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ค์๊ฒ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
6. JAM(Polkadot 3.0)
์์ ์ค๋ช ํ ๋ด์ฉ์ ์ดํดํ๋ค๋ฉด JAM์ ๊ฐ๋ ์ด ๋์ฑ ์ฝ๊ฒ ์๋ฟ์ ๊ฒ์ ๋๋ค.
JAM์ ํด์นด๋ท์ ํฌ๊ฒ ์ํฅ์ ๋ฐ์๊ณ , ํด์นด๋ท๊ณผ ์์ ํ ํธํ ๊ฐ๋ฅํ๋ฉฐ, ํด์นด๋ท์ ๋ฆด๋ ์ด ์ฒด์ธ์ ๋์ฒดํ๊ณ ์ฝ์ด์ ์ฌ์ฉ์ ๊ทผ๋ณธ์ ์ผ๋ก ๋นํธํฅ์ (un-opinionated[5])์ผ๋ก ๋ง๋ค๋ ค๋ ์๋ก์ด ํ๋กํ ์ฝ์ ๋๋ค.
JAM์ ํด์นด๋ท 2.0์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ํด์นด๋ท ์ฝ์ด์ ์ฌ์ฉ์ฑ์ ์ ์์ผ ์ฝ์ดํ์๋ณด๋ค ๊ทผ๋ณธ์ ์ผ๋ก ์ ์ฐํ๊ณ ๋นํธํฅ์ ์ธ ๋ฐฉ์์ผ๋ก ๋์ด๊ณ ์ ํฉ๋๋ค.
- ํด์นด๋ท 2.0์์๋ L2์ ์ฝ์ด ๋ฐฐํฌ๊ฐ ๋ ์ ๋์ ์ ๋๋ค.
- JAM์ ํต์ฌ์ ํด์นด๋ท ์ฝ์ด์ ๋ธ๋ก์ฒด์ธ/L2์ ํ์์ ๊ตญํ๋์ง ์์ ์ด๋ค ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ฐฐํฌํ ์ ์๋ค๋ ์ ์ ๋๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ฃผ๋ ์ด์ ๋ ์ด์ ์น์ ์์ ์ค๋ช ํ๋ ์ธ ๊ฐ์ง ์์, ์ฆ ์ธ์ฝ์ด ๋ฐ ์จ์ฒด์ธ ์ฒ๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ์ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค์ ๋งํ์๋ฉด JAM์ ๊ฐ๋ฐ์๋ค์๊ฒ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ธ์ฝ์ด์ ์จ์ฒด์ธ์์ ์ด๋ฃจ์ด์ง๋ ์์ ์ ํ๋ก๊ทธ๋๋ฐํ ์ ์์ต๋๋ค.
- ํด์นด๋ท DA ๋ ์ด์ด์์ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ ๋ ฅํ ์ ์์ต๋๋ค.
์ด์์ผ๋ก JAM์ด ์ถ๊ตฌํ๋ ๋ฐฉํฅ์ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์ ์ดํด๋ณด์์ต๋๋ค. ๋ฌผ๋ก ๋ง์ ๋ถ๋ถ์ด ๋จ์ํ๋์์ผ๋ฉฐ, ํ๋กํ ์ฝ์ ๊ณ์ ๋ฐ์ ์ค์ ์์ต๋๋ค.
์ฌ๊ธฐ๊น์ง์ ์ค๋ช ์ ๊ธฐ๋ฐ์ผ๋ก JAM์ ๋ด์ฉ์ ๋ ์ธ๋ถ์ ์ผ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค.
6.1. ์๋น์ค์ ์์ ์์ดํ
JAM์ ์์คํ ์์๋ L2/Parachain๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ด ์๋น์ค(Service) ๋ก, ๊ทธ๋ฆฌ๊ณ ๋ธ๋ก/ํธ๋์ญ์ ์ ์์ ์์ดํ (Work-Item) ๋๋ ์์ ํจํค์ง(Work-Package) ๋ก ๋ถ๋ฆฌ๊ฒ ๋ฉ๋๋ค. ๋ถ์ฐํ์๋ฉด ์์ ์์ดํ ์ ์๋น์ค์ ์ํ๋ฉฐ, ์์ ํจํค์ง๋ ์์ ์์ดํ ์ ๊ทธ๋ฃน์ ์นญํฉ๋๋ค. ๋ ๋จ์ด ๋ชจ๋ ๋ธ๋ก์ฒด์ธ/L2์ ๊ตญํ๋์ง ์๋ ํ์ฉ ์ฌ๋ก๋ฅผ ํฌํจํ ์ ์๋๋ก ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ์ ํ๋์์ต๋๋ค.
์๋น์ค๋ ์ธ ๊ฐ์ ์ํธ๋ฆฌ ํฌ์ธํธ๋ก ์ค๋ช
๋ ์ ์๋๋ฐ, ๊ทธ์ค ๋ ๊ฐ์ง๋ fn refine()๊ณผ fn accumulate()[6]์
๋๋ค. ์ ์๋ ์ธ์ฝ์ด ์๋น์ค๊ฐ ํ๋ ์ผ์ ์ค๋ช
ํ๊ณ , ํ์๋ ์จ์ฒด์ธ์์ ์๋น์ค๊ฐ ํ๋ ์ผ์ ์ค๋ช
ํฉ๋๋ค.
๐ก
์์ ์์ดํ ์ ์ธ์ฝ์ด์ ์จ์ฒด์ธ์์ ์ด๋ค ์ฝ๋๋ฅผ ์คํํ ์ง ๊ตฌ์ฒด์ ์ผ๋ก ๊ฒฐ์ ํ ์ ์์ผ๋ฉฐ, ๋ถ์ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ(Distributed Data Lake) ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์์ฑํ๋ ๋ฐฉ์, ๋ด์ฉ ๋ฐ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.
6.2. ์ค์ผ๊ด์ฑ
ํด์นด๋ท ํ๋ผ์ฒด์ธ ๊ฐ ์ปค๋ฎค๋์ผ์ด์ ์ ์ธ์ด์ธ XCM์ ๊ด๋ จ๋ ๊ธฐ์กด ์๋ฃ์ ๋ฐ๋ฅด๋ฉด, ๋ชจ๋ ์ปค๋ฎค๋์ผ์ด์ ์ ๋น๋๊ธฐ์ ์ ๋๋ค. ์ฆ, ๋ฉ์์ง๊ฐ ์ ์ก๋ ํ ์๋ต์ ์ํด ๋๊ธฐํ์ง ์๋ ๊ฒ์ ๋๋ค.
๋น๋๊ธฐ์ฑ(Asynchrony) ์ ๋น์ผ๊ด์ (incoherent) ์์คํ ์ ํน์ฑ์ด์, ํด์นด๋ท 1.0, ํด์นด๋ท 2.0 ๊ทธ๋ฆฌ๊ณ ์ด๋๋ฆฌ์์ ๊ธฐ์กด L2 ์ง๋จ๊ณผ ๊ฐ์ด ์๊ตฌ์ ์ผ๋ก ์ค๋ฉ์ด ๊ตฌํ๋ ์์คํ ์ ๋ํ์ ์ธ ๋ฌธ์ ์ ์ ๋๋ค.
ํ์ง๋ง ๊ทธ๋ ์ดํ์ดํผ์ ์น์ 2.4์์ ์ค๋ช ๋์๋ฏ, ๋ชจ๋ ๊ตฌ์ฑ์์ ๋์์ผ๋ก ํ ํญ์ ๋๊ธฐ์ ์ด๊ณ ์์ ํ ์ผ๊ด๋ ์์คํ ์ ์ผ๋ฐ์ฑ(generality), ์ ๊ทผ์ฑ(accessibility), ํ๋ณตํ๋ ฅ์ฑ(resilience)์ ํฌ์ํ์ง ์๊ณ ์๋ ์ฑ์ฅํ๊ธฐ ์ด๋ ต์ต๋๋ค.
โน๏ธ
๋๊ธฐ์ฑ(Synchronous) ~ ์ผ๊ด์ฑ(Coherent) || ๋น๋๊ธฐ์ฑ(Asynchornous) ~ ๋น์ผ๊ด์ฑ(Incoherent)
์ด๊ฒ์ด ๋ฐ๋ก JAM์ ๊ฐ์ ์ด ๋๋ณด์ด๋ ๋ ํ๋์ ์์ญ์ ๋๋ค. JAM์ ๋ค์ํ ํน์ฑ(property)์ ๋์ ํจ์ผ๋ก์จ ์ค์ผ๊ด์ฑ ์์คํ (semi-coherent system) ์ด๋ผ๋ ์ฐธ์ ํ ๊ท ํ์ ์ ์ฐพ์์ต๋๋ค. ์ฆ, ์์ฃผ ์ํต์ ํ๋ ๋ค์ํ ์๋ธ์์คํ ๋ค ๊ฐ์๋ ์ผ๊ด๋ ํ๊ฒฝ์ ์กฐ์ฑํ ๊ธฐํ๊ฐ ์ฃผ์ด์ง์ง๋ง , ์์คํ ์ ์ฒด์ ์ด๋ฅผ ๊ฐ์ํ์ง๋ ์๋ ๊ฒ์ ๋๋ค. ํด๋น ๋ด์ฉ์ ๊ทธ๋ ์ดํ์ดํผ์ ์ ์์ธ ๊ฐ๋น ์ฐ๋ ๋ฐ์ฌ์ ์ธํฐ๋ทฐ์์ ์์ธํ๊ฒ ์กฐ๋ช ๋ฉ๋๋ค.
๋ ๋ค๋ฅธ ๊ด์ ์ ํด์นด๋ท, ๊ทธ๋ฆฌ๊ณ JAM์ ์ค๋ ๊ฐ์ ๊ฒฝ๊ณ๊ฐ ์ ๋์ ์ด๊ณ ๋งค ์๊ฐ ๊ฒฐ์ ๋๋ ์ค๋ฉ ์์คํ ์ผ๋ก ๋ณด๋ ๊ฒ์ ๋๋ค.
ํด์นด๋ท์ ํญ์ ์ค๋ฉ๋, ๊ทธ๋ฆฌ๊ณ ์์ ํ ์ด์ข ์ ์ธ ๋ธ๋ก์ฒด์ธ์ด์์ต๋๋ค.
์ด์ ๋ ์ค๋ฉ๊ณผ ์ด์ข ์ฑ์ ๋๋ถ์ด @gavofyork๊ฐ ์์ ์ค์ผ๊ด์ ์์คํ ์ด๋ผ๊ณ ์นญํ๋, ์ค๋ฉ์ ๊ฒฝ๊ณ๊ฐ ์ ๋์ ์ผ๋ก ๊ฒฐ์ ๋๋ ๋ธ๋ก์ฒด์ธ์ด ๋ ๊ฒ์ ๋๋ค.
โ Kian Paimani (@kianenigma) May 15, 2024
์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ํน์ง๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํน์ ๋ธ๋ก์์ ๋์ผํ ์ฝ์ด์ ์๋ ์๋น์ค๋ค๋ง ๋๊ธฐ์ ์ผ๋ก ์ํธ์์ฉํ ์ ์๋ ๋ฌด์ํ(state-less) ๋ฐ ๋ณ๋ ฌ ์ธ์ฝ์ด ์คํ(parallel in-core execution), ๊ทธ๋ฆฌ๊ณ ํ ์๋น์ค๊ฐ ์ ์ฒด ์ฝ์ด์ ๊ฑธ์ณ ์กด์ฌํ๋ ๋ชจ๋ ์๋น์ค๋ค์ ๊ฒฐ๊ณผ์ ์ ๊ทผํ ์ ์๋ ์จ์ฒด์ธ ์คํ์ ๋ํ ์ ๊ทผ์ ์ ๊ณตํฉ๋๋ค.
- JAM์ ํน์ ์๋น์ค ์ค์ผ์ค๋ง์ ๊ฐ์ ํ์ง ์์ต๋๋ค. ์์ฃผ ์ํตํ๋ ์๋น์ค๋ค์ ์ํ์๋ค์ด ์์ฃผ ์ํตํ๋ ์๋น์ค์ ์์ ์์ดํ ์ ํฌํจํ๋ ์์ ํจํค์ง๋ฅผ ์์ฑํ๋๋ก ๊ฒฝ์ ์ ์ธ ์ ์ธ์ ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ค์ ๋์ผํ ์ฝ์ด์ ์กด์ฌํ๋ฉด์ ๋๊ธฐ์ ์ธ ํ๊ฒฝ์ ์๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ํตํ ์ ์์ต๋๋ค.
- JAM ์๋น์ค๋ DA ๋ ์ด์ด์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ผ์์ ์ด์ง๋ง ๊ต์ฅํ ์ ๋ ดํ ๋ฐ์ดํฐ ๋ ์ด์ด๋ก ํ์ฉํ ์๋ ์์ต๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ผ๋จ DA์ ์ ์ก๋๋ฉด ์ฆ์ ๋ชจ๋ ์ฝ์ด์ ์ ํ๋๋ฉฐ, ๋์ผํ ์ฝ์ด์์ ์ฆ์ ์ด์ฉ ๊ฐ๋ฅํด์ง๋๋ค. ์ด์ ๋ฐ๋ผ JAM ์๋น์ค๋ค์ ์์ฐจ์ ์ธ ๋ธ๋ก[7]์ ๋์ผํ ์ฝ์ด์์ ์์ฒด ์ค์ผ์ค๋ง์ ํตํด ๋ฐ์ดํฐ์ ๋ํ ๋์ ์ ๊ทผ์ฑ์ ๋๋ฆด ์ ์์ต๋๋ค.
์๊ธฐ ๋ด์ฉ์ JAM์์ ๊ฐ๋ฅ ํ ๊ธฐ๋ฅ์ด์ง๋ง, ํ๋กํ ์ฝ ๋ ์ด์ด์์ ๊ฐ์ ๋์ง๋ ์์์ ๊ธฐ์ตํ ํ์๊ฐ ์์ต๋๋ค. ์ผ๋ถ ์ธํฐํ์ด์ค๋ค์ ์ด๋ก ์ ์ผ๋ก ๋น๋๊ธฐ์ ์ด๋, ์ค์ ๋ก๋ ์ ๊ตํ ์ถ์ํ์ ์ธ์ผํฐ๋ธ๋ฅผ ํตํด ๋๊ธฐ์ ์ผ๋ก ๋์ ํ ์ ์์ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ณด์ฌ์ฃผ๋ ์์๊ฐ ๋ค์ ์น์ ์์ ์ค๋ช ํ ์ฝ์ดํ๋ ์ด(CorePlay)์ ๋๋ค.
6.3. ์ฝ์ดํ๋ ์ด
์ด ์น์ ์์๋ JAM์ ์คํ์ ์์ด๋์ด์ธ ์ฝ์ดํ๋ ์ด์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ฝ์ดํ๋ ์ด๋ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ ์๋ก์ด ๋ชจ๋ธ๋ก, ๊ธ ์์ฑ ์์ ์๋ ๋ช ํํ๊ฒ ๊ท์ ๋์ง ์์์ผ๋ฉฐ[8], ์์ง ์์ด๋์ด ๋จ๊ณ์ ์์ต๋๋ค.
์ฝ์ดํ๋ ์ด๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ฐ์ JAM์ ๊ฐ์๋จธ์ ์ธ PVM์ ์ดํด๋ณผ ํ์๊ฐ ์์ต๋๋ค.
6.3.1. PVM
PVM์ JAM๊ณผ ์ฝ์ดํ๋ ์ด์ ์ค์ํ ์์์ ๋๋ค. PVM์ ์ธ๋ถ์ ์ด๊ณ ๊ธฐ์ ์ ์ธ ์ค๋ช ์ ํด๋น ๋ถ์ผ ์ ๋ฌธ๊ฐ๊ฐ ์์ฑํ ๊ทธ๋ ์ดํ์ดํผ์ ์ ์ค๋ช ๋์ด ์์ผ๋ฉฐ, ์ด ๊ธ์์๋ PVM์ ๋ช ๊ฐ์ง ํน์ง๋ง ์ค๋ช ํ๊ฒ ์ต๋๋ค:
- ํจ์จ์ ์ธ ์์ ์ฌ์ฉ๋ ์ธก์
- ์คํ ์ค๋จ ๋ฐ ์ฌ๊ฐ ๊ธฐ๋ฅ
ํนํ ํ์๋ ์ฝ์ดํ๋ ์ด์ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค.
์ฝ์ดํ๋ ์ด๋ JAM์ ์ ๋์ ์ธ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ง๋ ํ์ฅ ๊ฐ๋ฅํ ์ค๋งํธ ์ปจํธ๋ํธ ํ๊ฒฝ์ ๋ง๋ ์ฌ๋ก์
๋๋ค. ์ฝ์ดํ๋ ์ด๋ JAM ์ฝ์ด์ ํ์์ ์ค์ฌ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ง์ ๋ฐฐํฌํ์ฌ ๋๊ธฐ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ์์ ์ ์ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ fn main()๋ก ์ฝ๋ฉ์ ํ๊ณ , let _result = other_coreplay_actor(data).await?์ ์ฌ์ฉํ์ฌ ์ํตํ๋ ๊ฒ์
๋๋ค. ๋ง์ฝ other_coreplay_actor๊ฐ ํด๋น JAM ๋ธ๋ก์ ๋์ผํ ์ฝ์ด์ ์๋ค๋ฉด, ์ด ํธ์ถ์ ๋๊ธฐ์ ์ด๋ฉฐ, ๋ค๋ฅธ ์ฝ์ด์ ์๋ ๊ฒฝ์ฐ ํ์์๋ ์ค๋จํ๊ณ ์ดํ์ JAM ๋ธ๋ก์์ ์ฌ๊ฐํฉ๋๋ค. ์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ JAM์ ์๋น์ค์ ์ ์ฐํ ์ค์ผ์ค๋ง, ๊ทธ๋ฆฌ๊ณ PVM์ ํน์ฑ๋ค ๋๋ถ์
๋๋ค.
6.4. ์ฝ์ด์ฒด์ธ ์๋น์ค
๋ง์ง๋ง์ผ๋ก JAM์ด ํด์นด๋ท๊ณผ ์์ ํ ํธํ ๋๋ค๊ณ ์ธ๊ธํ ์ด์ ๋ฅผ ๋ค์ ์ง์ด๋ณด๋ฉฐ ๊ธ์ ๋ง์น๊ฒ ์ต๋๋ค. ํด์นด๋ท์ ๋ฉ์ธ ํ๋ก๋ํธ์ธ ์ ์์ผ ์ฝ์ดํ์ ๋ฐฉ์์ ํ๋ผ์ฒด์ธ์ JAM์์๋ ์ ์ง๋ฉ๋๋ค.
JAM์ ๋ฐฐํฌ๋ ์ต์ด์ ์๋น์ค๋ ์ฝ์ด์ฒด์ธ(CoreChain)์ด๋ ํ๋ผ์ฒด์ธ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ๋ค์ด ๋ ๊ฒ์ ๋๋ค. ํด์นด๋ท 2.0 ์คํ์ผ์ ํ๋ผ์ฒด์ธ๋ค์ด JAM์์ ์คํ๋ ์ ์๋๋ก ํ๋ ์๋น์ค์ ๋๋ค.
๋ ๋ง์ ์๋น์ค๋ค์ด JAM์ ๋ฐฐํฌ๋ ์ ์์ผ๋ฉฐ, ๊ธฐ์กด์ ์ฝ์ด์ฒด์ธ ์๋น์ค๋ ์ด๋ค๊ณผ ์ํตํ ์ ์์ง๋ง, ํด์นด๋ท์ด ๊ธฐ์กด์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ ์ฌ์ ํ ์ค์ํ๊ฒ ์ทจ๊ธ๋ ๊ฒ์ด๋ฉฐ, ๊ธฐ์กด ํ๋ผ์ฒด์ธ ํ๋ค์๊ฒ๋ ์๋ก์ด ๊ธฐํ๋ค์ด ์ด๋ฆด ๊ฒ์ ๋๋ค.
๋ถ๋ก: ๋ฐ์ดํฐ ์ค๋ฉ
์ด ๊ธ์ ๋๋ถ๋ถ์ ์ค๋ฉ๋ ์คํ์ ๊ด์ ์์ ํ์ฅ์ฑ์ ๋ ผ์ํ์ง๋ง, ๋ฐ์ดํฐ ๊ด์ ์์๋ ๋ ผ์๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋, ์ค์ผ๊ด์ฑ์์ ์ธ๊ธ๋ ๊ฒ๊ณผ ์ ์ฌํ ์ํฉ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค. ์์ ํ ์ผ๊ด์ ์ธ ์์คํ ์ ์์น์ ์ผ๋ก๋ ๋ ๋์ ์ ์์ง๋ง ํ์ฅ์ด ์ด๋ ต์ต๋๋ค. ์์ ํ ๋น์ผ๊ด์ ์ธ ์์คํ ์ ํ์ฅ์ด ๊ฐ๋ฅํ์ง๋ง ์ด์์ ์ด์ง ์์ต๋๋ค. ์ค์ผ๊ด์ฑ์ ํ๋ฐฉํ๋ JAM์ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ ์ํฉ๋๋ค.
์์ ํ ์ผ๊ด์ ์ธ ์์คํ : ์๋ผ๋์ ๊ฐ์ ์์ ํ ๋๊ธฐ์ ์ธ ์ค๋งํธ ์ปจํธ๋ํธ ํ๋ซํผ์ด๋, ์ด๋๋ฆฌ์ L1์๋ง ๋ฐฐํฌํ๋ ์ฉ๊ฐํ ํ๋ซํผ์์ ๋ณผ ์ ์์ต๋๋ค. ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๋ ์ฒด์ธ ์์ ์ ์ฅ๋์ด ๋ค๋ฅธ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์์ต๋๋ค. ํ๋ก๊ทธ๋จ ๊ฐ๋ฅ์ฑ์ ์์ด์๋ ์๋ฒฝํ ํน์ฑ์ด์ง๋ง ํ์ฅ์ฑ์ ์์ต๋๋ค.
๋น์ผ๊ด์ ์ธ ์์คํ : ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ๋ L1 ์ธ๋ถ์ ์๋ ๊ฐ๊ฐ ๋ค๋ฅธ ์ค๋์ ์ ์ฅ๋ฉ๋๋ค. ๊ต์ฅํ ํ์ฅ์ฑ์ด ๋์ง๋ง ์ํธํธํ์ฑ(composability) ์ธก๋ฉด์์๋ ์ข์ง ์์ต๋๋ค. ํด์นด๋ท๊ณผ ์ด๋๋ฆฌ์ ๋กค์ ๋ชจ๋ธ์ด ์ด์ ํด๋น๋ฉ๋๋ค.
JAM์ ์์ ๋ ๊ฐ์ง๋ฅผ ์ ๋ถ ์ ๊ณตํ๋ฉด์, ํ๋ก๊ทธ๋๋จธ๋ค์ด ์จ์ฒด์ธ๊ณผ ์คํ์ฒด์ธ ๋ฐ์ดํฐ์ ์ค๊ฐ ์ง๋๋ผ๊ณ ๋ณผ ์ ์๋ JAM DA ๋ ์ด์ด์ ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ดํฐ์ ๋๋ถ๋ถ์ DA ๋ ์ด์ด๋ฅผ ์ด์ฉํ๊ณ , JAM ์ํ์๋ ์์ ํ ์ค์ํ ์ ๋ณด๋ง ํฌํจ์ํด์ผ๋ก์จ ์์ ํ ์๋ก์ด ์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋ถ๋ก: Scalability Space Map
์ด ๋ถ๋ถ์์๋ ๋ธ๋ก์ฒด์ธ ํ์ฅ์ฑ์ ๋ํ ๊ฒฌํด๋ฅผ ๋ค์ ์ค๋ช ํฉ๋๋ค. ๊ทธ๋ ์ดํ์ดํผ์๋ ์ค๋ช ๋์ด ์๋ ๋ด์ฉ์ ๋ ๊ฐ๊ฒฐํ ๋ฒ์ ์ ๋๋ค.
๋ธ๋ก์ฒด์ธ์์ ํ์ฅ์ฑ์ ๋๋ถ๋ถ ์ ํต์ ์ธ ๋ถ์ฐ ์์คํ ์ ์ฌ์ฉ๋ ์ ๊ทผ ๋ฐฉ์, ์ฆ ์ค์ผ์ผ ์ (์์ง์ ) ๋ฐ ์ค์ผ์ผ ์์(์ํ์ )์ ๋ฐ๋ฆ ๋๋ค.
์๋ผ๋์ ๊ฐ์ ํ๋ซํผ์ ์ค์ผ์ผ ์ ์ ํด๋นํฉ๋๋ค. ์ฝ๋์ ํ๋์จ์ด๋ฅผ ์ต์ ํํ์ฌ ์ต๋ ์ฒ๋ฆฌ๋์ ๋ฌ์ฑํ๋ ๋ฐฉ์์ ๋๋ค.
์ด๋๋ฆฌ์๊ณผ ํด์นด๋ท์ ์ค์ผ์ผ ์์์ ํด๋นํฉ๋๋ค. ์ฆ, ๋ชจ๋๊ฐ ์ํํด์ผ ํ ์์ ๋์ ์ค์ด๋ ๊ฒ์ ๋๋ค. ์ ํต์ ์ธ ๋ถ์ฐ ์์คํ ์์๋ ๋ ๋ง์ ๋ณต์ ๋ ๊ธฐ๊ณ๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ ์ด๋ฅผ ๋ฌ์ฑํฉ๋๋ค. ๋ธ๋ก์ฒด์ธ์์๋ "์ฐ์ฐ ๊ธฐ๊ณ(computation machine)"๊ฐ ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ๋๋ค. ์ด๋ค์ ๋๋์ด ์์ ์ ๋ถํ ํ๊ฑฐ๋(ELVES ๋ฐฉ์) ๊ทธ๋ค์ ์๋ฌด๋ฅผ ๊ฒฝ๊ฐ์์ผ(์ตํฐ๋ฏธ์คํฑ ๋กค์ ๋ฐฉ์) ์ ์ฒด ๋ฐธ๋ฆฌ๋ฐ์ดํฐ ์ง๋จ์ ์์ ๋ถํ๋ฅผ ์ค์ด๊ณ , ๊ทธ ๊ฒฐ๊ณผ ์์คํ ์ ์ํ์ ์ผ๋ก ํ์ฅ์ํฌ ์ ์์ต๋๋ค.
๐ก
๋ธ๋ก์ฒด์ธ์์ ์ค์ผ์ผ ์์์ด๋ โ๋ชจ๋ ๊ฒ์ ์ฒ๋ฆฌํด์ผ ํ๋ ๋จธ์ ์ ์๋ฅผ ์ค์ด๋ ๊ฒโ์ ๋๋ค.
์์ฝํ์๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
- ์ค์ผ์ผ ์ : ๊ฐ๋ ฅํ ํ๋์จ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ต์ ํ๋ฅผ ์ํํ๋ ๋ชจ๋๋ฆฌํฑ ๋ธ๋ก์ฒด์ธ์ ๋ฐฉ์
- ์ค์ผ์ผ ์์:
- ์ตํฐ๋ฏธ์คํฑ ๋กค์
- SNARK-๊ธฐ๋ฐ ๋กค์
- ELVES: ํด์นด๋ท์ ์๋์ปฌ ๋กค์
๋ถ๋ก: ๊ฐ์ ํ๋์จ์ด, ์ปค๋ ์ ๋ฐ์ดํธ
์ด ๋ถ๋ถ์์๋ Sub0 2023: Polkadot: Kernel/Userland | Sub0 2023 - YouTube์์ ๋กญ ํ๋ฒ๋ง์ด์ด์ ๋ฐํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ํด์นด๋ท์ ์ ๊ทธ๋ ์ด๋ ๋ก์ JAM์ด ์ด๋ป๊ฒ ๊ฐ์ ํ๋์จ์ด์ ์ด๋ฃจ์ด์ง๋ ์ปค๋ ์ ๋ฐ์ดํธ๋ก ๋น์ ๋ ์ ์๋์ง๋ฅผ ์ค๋ช ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ์ปดํจํฐ์์๋ ์ ์ฒด ์์คํ ์คํ์ ๋ค์๊ณผ ๊ฐ์ ์ธ ๊ฐ์ง๋ก ๊ตฌ๋ถํ ์ ์์ต๋๋ค.
- ํ๋์จ์ด
- ์ปค๋
- ์ ์ ๊ณต๊ฐ
์์ ์ค๋ช ํ๋ฏ, ํด์นด๋ท์์๋ ์ฝ์ด๊ฐ ์ฐ์ฐ๊ณผ ๋ฐ์ดํฐ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ๋ ํต์ฌ ์ฃผ์ฒด์ธ ํ๋์จ์ด ์ญํ ์ ํฉ๋๋ค.
ํด์นด๋ท์ ์ปค๋ ์ ์ค์ง์ ์ผ๋ก[9] ๋ค์์ ๋ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ํ๋ผ์ฒด์ธ ํ๋กํ ์ฝ: ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ง์ ์ด๊ณ ์๊ฒฌ์ด ๋ช ํํ ๋ฐฉ์.
- DOT ํ ํฐ, ์ ์ก ๊ธฐ๋ฅ, ์คํ ์ดํน, ๊ฑฐ๋ฒ๋์ค ๋ฑ ์ผ๋ จ์ ๋ก์ฐ๋ ๋ฒจ ๊ธฐ๋ฅ ์งํฉ.
์ด ๋ ๊ฐ์ง๋ ํ์ฌ ํด์นด๋ท ๋ฆด๋ ์ด ์ฒด์ธ์ ์กด์ฌํฉ๋๋ค.
์ ์ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ผ์ฒด์ธ๋ค๊ณผ ๊ทธ๋ค์ ๋ค์ดํฐ๋ธ ํ ํฐ, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์์ ๊ตฌ์ถ๋ ๋ชจ๋ ๊ฒ๋ค์ ์ง์นญํฉ๋๋ค.
์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์๊ฐํํ ์ ์์ต๋๋ค. !image (10).png
ํด์นด๋ท์ ํญ์ ํต์ฌ ๊ธฐ๋ฅ๋ค์ 1๋ฑ๊ธ ์ ์ ๋ค์ธ ํ๋ผ์ฒด์ธ์ผ๋ก ์ฎ๊ธฐ๊ณ ์ ํ์ต๋๋ค. ๋ฏธ๋๋ฉ ๋ฆด๋ ์ด RFC(Minimal Relay RFC)์ ๋ชฉ์ ๋ ์ด์ ๊ฐ์ต๋๋ค. !image (11).png
์ด๋ ํด์นด๋ท ๋ฆด๋ ์ด ์ฒด์ธ์ด ์ค์ง ํ๋ผ์ฒด์ธ์ ํ๋กํ ์ฝ์ ์ ๊ณตํ๋ ๋ฐ๋ง ์ด์ ์ ๋ง์ถ๊ธฐ ๋๋ฌธ์ ์ปค๋ ๊ณต๊ฐ์ด ์ด๋ ์ ๋ ๊ฐ์๋จ์ ์๋ฏธํฉ๋๋ค.
ํด๋น ์ํคํ ์ฒ๊ฐ ๊ตฌํ๋๋ฉด JAM์ผ๋ก์ ๋ง์ด๊ทธ๋ ์ด์ ์ด ์ด๋ค ๋ชจ์ต์ผ์ง ์ฝ๊ฒ ์์ํ ์ ์์ต๋๋ค. JAM์ ํด์นด๋ท์ ์ปค๋ ๊ณต๊ฐ์ ๋ํญ ์ค์ด๊ณ , ๋ณด๋ค ๊ด๋ฒ์ํ๊ฒ ํ์ฉํ ์ ์๊ฒ ๋ง๋ค ๊ฒ์ ๋๋ค. ๋ํ, ํ๋ผ์ฒด์ธ ํ๋กํ ์ฝ์ด ์ ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ๋๋ฐ, ์ด๋ ๋์ผํ ์ฝ์ด(ํ๋์จ์ด)์ JAM(์ปค๋) ์์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ ์ ์๋ ๋ช ์ ๋๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ก
์ด๋ฌํ ์ค๋ช ์ JAM์ ํด์นด๋ท ๋ฆด๋ ์ด ์ฒด์ธ ์ ๋์ฒดํ๋ ๊ฒ์ด์ง, ํ๋ผ์ฒด์ธ์ ๋์ฒดํ๋ ๊ฒ์ด ์๋์ ๋ค์ ํ๋ฒ ๊ฐ์กฐํฉ๋๋ค.
๋ค์ ๋งํด, JAM ๋ง์ด๊ทธ๋ ์ด์ ์ ์ปค๋ ์ ๊ทธ๋ ์ด๋๋ก ๋ณผ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํ๋์จ์ด๋ ๊ทธ๋๋ก ์ ์ง๋๋ฉฐ, ๊ธฐ์กด ์ปค๋์ ๋ง์ ๋ถ๋ถ์ด ๊ฐ์ํ๋ฅผ ์ํด ์ ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ๋ ๊ฒ์ ๋๋ค. !image (12).png
์ฐธ๊ณ ์๋ฃ
- 7.9 Polkadot 2.0: CorePlay, CoreChains, Corejam, Safrole, PolkaVM - Polkadot by Gavin @PBA4 - YouTube
- Gavin Wood: The Gray Paper Interview - JAM & the Future of Polkadot - Behind the Code: Web3 Thinkers - YouTube
-
Parallel Chain. โฉ๏ธ
-
๋ธ๋ก์ฒด์ธ ๋๋ ์ํ ์ ํ ํจ์. โฉ๏ธ
-
ํด์นด๋ท 1.0์์๋ L2์ ์ํ ์ฆ๋ช ์ PoV (Proof of Validity), ๊ทธ๋ฆฌ๊ณ ์ํ ์ฆ๋ช ๊ณผ ํ๋ผ์ฒด์ธ ๋ธ๋ก์ ์กฐํฉ์ PVF (Parachain Validation Function)๋ผ ์นญํ๋ค. โฉ๏ธ
-
๊ทธ๋ ์ดํ์ดํผ์์๋ DA ๋ ์ด์ด๋ฅผ ๋ถ์ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ(Distributed Data Lake, DDL)๋ผ๊ณ ์นญํ๋ค. ๋ณธ ๊ธ์์๋ ํธ์๋ฅผ ์ํด DA, ๋๋ DA ๋ ์ด์ด๋ก ํํํ๋ค. โฉ๏ธ
-
JAM์ ํด์นด๋ท์ ๋ฆด๋ ์ด ์ฒด์ธ ๋ง์ ๋์ฒดํ๋ค๋ ์ฌ์ค์ด ์ค์ํ๋ค. ํ๋ผ์ฒด์ธ์ ๋น๋กฏํ์ฌ ํด์นด๋ท ์์์ ๋์ํ๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ์ด์ฒด์ธ ๋๋ถ์ ๊ทธ๋๋ก ์ ์ง๋๋ค. โฉ๏ธ
-
์ธ ๋ฒ์งธ๋ on_message๋ก, ๋ค๋ฅธ ์๋น์ค์์ ๋ฉ์์ง๊ฐ ์ฌ ๋ ํธ์ถ๋๋ค. โฉ๏ธ
-
์๋น์ค ์ค์ผ์ค๋ง์ ๋ํ ์์ธํ ๋ด์ฉ์ ๊ทธ๋ ์ดํ์ดํผ์ "Authorization" ์น์ ์ ์ฐธ๊ณ ํ๋ผ. โฉ๏ธ
-
์ฝ์ดํ๋ ์ด์ ๋ํ ๊ฐ์ฅ ํ๋ฅญํ ์๋ฃ๋ ์ด RFC ์ด์์ด๋ค. โฉ๏ธ
-
"์ฌ์ค์"์ด๋ผ๋ ๋ง์ด ์ค์ํ๋ค. ์ธ๊ธํ๋ ์์์์๋ ๋กญ์ ํ๋ผ์ฒด์ธ ํ๋กํ ์ฝ์ ํด์นด๋ท์ ์ ์ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ ์นญํ๋ค. ํ์ง๋ง ์ด๋ ์ด๋ก ์ ์ธ ๊ฐ์ ์ผ ๋ฟ, ํ๋ผ์ฒด์ธ ํ๋กํ ์ฝ์ ์ฝ์ด ํด์นด๋ท ํ๋กํ ์ฝ, ์ฆ ์ปค๋ ์์ฒด์ ํตํฉ๋์ด ์๋ค. โฉ๏ธ
