๋ค์์ผ๋ก, Move ์ธ์ด์ ์ฃผ์ ํน์ฑ๊ณผ ์ค๋งํธ ๊ณ์ฝ์ ์ด๋ฏธ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ค๋ฅธ ์ธ์ด์ธ Solidity(Ethereum ํ๋ซํผ์์)์์ ์ฃผ์ ์ฐจ์ด์ ์ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด ์๋ฃ๋ 26ํ์ด์ง ๋ถ๋์ ์จ๋ผ์ธ ๋ฐฑ์์ ๋ํ ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
์๊ฐ
Move๋ ์ฌ์ฉ์ ํธ๋์ญ์ ๋ฐ ์ค๋งํธ ๊ณ์ฝ์ ์คํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์คํ ๊ฐ๋ฅํ ๋ฐ์ดํธ์ฝ๋ ์ธ์ด์ ๋๋ค. ๋ค์ ๋ ๊ฐ์ง ์ฌํญ์ ์ ์ํ์ธ์.
- Move๊ฐ Move ๊ฐ์ ๋จธ์ ์์ ์ง์ ์คํํ ์ ์๋ ๋ฐ์ดํธ์ฝ๋ ์ธ์ด์ธ ๋ฐ๋ฉด, Solidity(Ethereum์ ์ค๋งํธ ๊ณ์ฝ ์ธ์ด)๋ EVM(Ethereum Virtual Machine)์์ ์คํ๋๊ธฐ ์ ์ ๋จผ์ ๋ฐ์ดํธ์ฝ๋๋ก ์ปดํ์ผ๋๋ ๊ณ ๊ธ ์ธ์ด์ ๋๋ค.
- Move๋ ์ค๋งํธ ๊ณ์ฝ์ ๊ตฌํํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์ ์ง์ ํธ๋์ญ์ (๋์ค์ ์์ธํ ์ค๋ช )์๋ ์ฌ์ฉํ ์ ์์ง๋ง Solidity๋ ์ค๋งํธ ๊ณ์ฝ ์ ์ฉ ์ธ์ด์ ๋๋ค.
๋ฒ์ญ์ INDEX ํ๋กํ ์ฝ ํ๋ก์ ํธ ํ์์ ์ํํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ฒ์ญํ์ต๋๋ค
Move์ ์ฃผ์ ๊ธฐ๋ฅ์ ์ ํ ๋ ผ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๋ฏธ ์ฒด๊ณ๋ก ์ฌ์ฉ์ ์ ์ ๋ฆฌ์์ค ์ ํ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ๋ฆฌ์์ค๋ ๋ณต์ฌ๋๊ฑฐ๋ ์์์ ์ผ๋ก ์ญ์ ๋ ์ ์์ผ๋ฉฐ ์ด๋๋ง ๊ฐ๋ฅํฉ๋๋ค. ๊ธฐ๋ฅ์ ์ผ๋ก ์ด๋ Rust ์ธ์ด์ ๊ธฐ๋ฅ๊ณผ ์ ์ฌํฉ๋๋ค. Rust์ ๊ฐ์ ํ ๋ฒ์ ํ๋์ ์ด๋ฆ์๋ง ํ ๋น๋ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ด๋ฆ์ ๊ฐ์ ํ ๋นํ๋ฉด ์ด์ ์ด๋ฆ์ผ๋ก๋ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์ ์ฝ๋ ์ค๋ํซ์ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค. ์ด๋๋ ๊ฐ 'x'์ ์ฌ์ฉ. Rust์๋ ๊ฐ๋น์ง ์ปฌ๋ ์
์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค. ๋ณ์๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ฉด ๋ณ์๊ฐ ์ฐธ์กฐํ๋ ๋ฉ๋ชจ๋ฆฌ๋ ํด์ ๋ฉ๋๋ค. ๊ฐ๋จํ ๋งํด์ ๋ฐ์ดํฐ์ "์์ ์"๋ ํ ๋ช
๋ง ์์ ์ ์์ต๋๋ค. ์ด ์์์ x ์๋ ์์ ์์ด๊ณ y ์ ์ฃผ์ธ์ด ๋ฉ๋๋ค.
๊ฐ๋ฐฉํ ์์คํ ์ ๋์งํธ ์์ฐ ํํ
๋์งํธ๋ก ํํํ๊ธฐ ์ด๋ ค์ด ๋ฌผ๋ฆฌ์ ์์ฐ์๋ ๋ ๊ฐ์ง ์์ฑ์ด ์์ต๋๋ค.
- ํฌ๋ฐ (ํฌ์์ฑ, ์๋ ํฌ์์ฑ). ์์คํ ์ ์์ฐ(๋ฐฐ์ถ๋)์ ์๋ฅผ ์ ์ดํด์ผ ํฉ๋๋ค. ๊ธฐ์กด ์์ฐ์ ๋ณต์ ๋ ๊ธ์ง๋์ด์ผ ํ๋ฉฐ ์ ์์ฐ์ ๋ง๋๋ ๊ฒ์ ํน๊ถ ์์ ์ ๋๋ค.
- ์ก์ธ์ค ์ ์ด... ์์คํ ์ฐธ๊ฐ์๋ ์ก์ธ์ค ์ ์ด ์ ์ฑ ์ ์ฌ์ฉํ์ฌ ์์ฐ์ ๋ณดํธํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ฌผ๋ฆฌ์ ์์ฐ์ ์์ฐ์ค๋ฌ์ด ์ด ๋ ๊ฐ์ง ํน์ฑ์ ์์ฐ์ผ๋ก ๊ฐ์ฃผํ๋ ค๋ฉด ๋์งํธ ๊ฐ์ฒด์ ๋ํด ๊ตฌํํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํฌ๊ท ๊ธ์์ ์์ฐ์ ์ผ๋ก ํฌ์์ฑ์ด ์์ผ๋ฉฐ, ๋น์ ๋ง์ด ์ ๊ทผํ ์ ์๊ณ (์๋ฅผ ๋ค์ด, ์์ ๋ค๊ณ ) ํ๋งคํ๊ฑฐ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๋ ์์ฑ์ ๋๋ฌํ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๊ธฐ ์ํด ๋ค์ ๋ฌธ์ฅ์ผ๋ก ์์ํ๊ฒ ์ต๋๋ค.
์ ์ #1: ํฌ์์ฑ๊ณผ ์ ๊ทผ ํต์ ๊ฐ ์๋ ๊ฐ์ฅ ๋จ์ํ ๊ท์น
- G [K]: = n ํค๋ก ์ก์ธ์คํ ์ ์๋ ๋ฒํธ์ ๋ํ ์ ๋ฐ์ดํธ๋ฅผ ๋ํ๋ ๋๋ค. ะ ์๋ก์ด ์๋ฏธ๋ฅผ ์ง๋ ๋ธ๋ก์ฒด์ธ์ ๊ธ๋ก๋ฒ ์ํ n.
- ๊ฑฐ๋ โจ์จ๋ฆฌ์ค, 100โฉ Alice์ ๊ณ์ ์์ก์ 100์ผ๋ก ์ค์ ํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์์ ์๋ฃจ์ ์๋ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
- ์จ๋ฆฌ์ค๋ ๋จ์ํ ๋ณด๋ด๊ธฐ๋ง ํ๋ฉด ๋ฌด์ ํ์ ์ฝ์ธ์ ๋ฐ์ ์ ์์ต๋๋ค. ๊ฑฐ๋ โจ์จ๋ฆฌ์ค, 100โฉ.
- Alice๊ฐ Bob์๊ฒ ๋ณด๋ด๋ ๋์ ์ Bob์ด ๋์ผํ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฌด์ ํ์ ๋์ ์ ์์ ์๊ฒ ๋ณด๋ผ ์ ์๊ธฐ ๋๋ฌธ์ ์ธ๋ชจ๊ฐ ์์ต๋๋ค.
์ ์ #2: ์ ์ ๊ณ ๋ ค
์ด์ ์ฐ๋ฆฌ๋ ์ํฉ์ ๋ชจ๋ํฐ๋งํ์ฌ ์ฝ์ธ์ ์๊ฐ Ka ์ ์ด๋ ํ๋ฑํ๋ค n ์ด์ ๊ฑฐ๋ ์ ์. ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ํฌ์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์ ์จ๋ฆฌ์ค์ ์ฝ์ธ์ ๋ณด๋ผ ์ ์๋ ์ฌ๋์ ๋ํ ์ ๋ณด๋ ์์ต๋๋ค(ํ์ฌ๋ก์๋ ๋๊ตฌ๋ ํ ์ ์์ผ๋ฉฐ, ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ธ์ก ์ ํ์ ๊ท์น์ ์ด๊ธฐ์ง ์๋ ๊ฒ์
๋๋ค).
์ ์ #3: ํฌ์์ฑ๊ณผ ์ ๊ทผ ํต์ ์ ๊ฒฐํฉ
์ฐ๋ฆฌ๋ ๋์งํธ ์๋ช
๋ฉ์ปค๋์ฆ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ํ์ธ_์๊ทธ ์์ก์ ํ์ธํ๊ธฐ ์ ์ Alice๋ ๊ฐ์ธ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฑฐ๋์ ์๋ช
ํ๊ณ ์์ ์ด ์ฝ์ธ์ ์์ ์์ธ์ง ํ์ธํฉ๋๋ค.
๋ธ๋ก์ฒด์ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
๊ธฐ์กด ๋ธ๋ก์ฒด์ธ ์ธ์ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํด ์์ต๋๋ค(๋ชจ๋ Move์์ ํด๊ฒฐ๋์์ต๋๋ค(์ฐธ๊ณ : ๋ถํํ๋ ์ด ๊ธฐ์ฌ์ ์ ์๋ ๋น๊ต์์ ์ด๋๋ฆฌ์์๋ง ํธ์ํ๋ฏ๋ก ์ด ๋งฅ๋ฝ์์๋ง ๊ณ ๋ คํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์์ ๋๋ถ๋ถ์ EOS์์๋ ํด๊ฒฐ๋ฉ๋๋ค.)) :
์์ฐ์ ๊ฐ์ ํํ. ์์ฐ์ ์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฝ๋ฉ๋์ง๋ง ์ ์๋ ์์ฐ๊ณผ ๋์ผํ์ง ์์ต๋๋ค. ์ฌ์ค ๋นํธ์ฝ์ธ/์ด๋๋ฆฌ์/<Any Coin>์ ๋ํํ๋ ์ข ๋ฅ๋ ๊ฐ์ ์์ต๋๋ค! ์ด๋ก ์ธํด ์์ฐ์ ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ ์์ฑ์ด ์ด๋ ต๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ํ๋ก์์ ๊ฐ์ ์์ฐ์ ์ ๋ฌํ๊ฑฐ๋ ๊ตฌ์กฐ์ ์์ฐ์ ์ ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ ํจํด์๋ ์ธ์ด์ ํน๋ณํ ์ง์์ด ํ์ํฉ๋๋ค.
์ ์๋ ํ์ฅ ๋ถ๊ฐ๋ฅ... ์ธ์ด๋ ํ๋์ ํฌ์ ์์ฐ๋ง์ ๋ํ๋ ๋๋ค. ๋ํ ํฌ์์ฑ์ ๋ํ ๊ตฌ์ ์ฑ ์ ์ธ์ด ์์ฒด์ ์๋ฏธ์ ์ง์ ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ฌ์ฉ์ ์ง์ ์์ฐ์ ๋ง๋ค๋ ค๋ฉด ๋ฆฌ์์ค์ ๋ชจ๋ ์ธก๋ฉด์ ์ค์ค๋ก ์ ์คํ๊ฒ ์ ์ดํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ด๋๋ฆฌ์ ์ค๋งํธ ๊ณ์ฝ์ ๋ฌธ์ ์ ๋๋ค.
์ฌ์ฉ์๋ ๊ฐ์น์ ์ด ๊ณต๊ธ๋์ ๊ฒฐ์ ํ๊ธฐ ์ํด ์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ฐ์ธ ERC-20 ํ ํฐ์ ๋ฐํํฉ๋๋ค. ์ ํ ํฐ์ด ์์ฑ๋ ๋๋ง๋ค ์ค๋งํธ ๊ณ์ฝ ์ฝ๋๋ ๋ฐฐ์ถ ๊ท์น ์ค์๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ธํด์ผ ํฉ๋๋ค. ๋ํ ์์ฐ์ ๊ฐ์ ํ์๋ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ๊ฐํ ์ค๋ฅ(์ค๋ณต, ์ด์ค ์ง์ถ ๋๋ ์์ฐ์ ์์ ํ ์์ค)๋ก ์ด์ด์ง๋๋ค.
์ ์ฐํ ์ก์ธ์ค ์ ์ด ๋ถ์กฑ... ์ค๋๋ ์ฌ์ฉ๋๋ ์ ์ผํ ์ ๊ทผ ์ ์ด ์ ์ฑ ์ ๋น๋์นญ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ์๋ช ์ฒด๊ณ์ ๋๋ค. ํฌ์์ฑ ๋ณดํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ก์ธ์ค ์ ์ด ์ ์ฑ ์ ์ธ์ด์ ์๋ฏธ์ ๊น์์ด ํฌํจ๋์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ ์ ์ก์ธ์ค ์ ์ด ์ ์ฑ ์ ์ ์ํ ์ ์๋๋ก ์ธ์ด๋ฅผ ํ์ฅํ๋ ๋ฐฉ๋ฒ์ ์ข ์ข ๋งค์ฐ ๊น๋ค๋ก์ด ์์ ์ ๋๋ค.
์ด๋ ์ค๋งํธ ๊ณ์ฝ์ ์ก์ธ์ค ์ ์ด๋ฅผ ์ํ ๊ธฐ๋ณธ ์ํธํ ์ง์์ด ์๋ Ethereum์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ๊ฐ๋ฐ์๋ ์๋ฅผ ๋ค์ด onlyOwner ์์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์ค ์ ์ด๋ฅผ ์๋์ผ๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
๋๋ ์ด๋๋ฆฌ์์ ์ด๋ ฌํ ํฌ์ด์ง๋ง ๋ณด์ ๋ชฉ์ ์ ์ํด ์์ฐ ์์ฑ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ์ด์์ ์ง์๋์ด์ผ ํ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ํนํ, Ether๋ฅผ ์ค๋งํธ ๊ณ์ฝ์ผ๋ก ์ด์ ํ๋ ๋ฐ์๋ ์ฌ์ง์ ์ทจ์ฝ์ ์ด๋ผ๋ ์๋ก์ด ์ข ๋ฅ์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ๋ ๋์ ๋์คํจ์น๊ฐ ํฌํจ๋ฉ๋๋ค. ์ฌ๊ธฐ์ ๋์ ๋์คํจ์น๋ ์ฝ๋์ ์คํ ๋ ผ๋ฆฌ๊ฐ ์ปดํ์ผ ํ์(์ ์ )์ด ์๋ ๋ฐํ์(๋์ )์ ๊ฒฐ์ ๋๋ค๋ ์๋ฏธ์ ๋๋ค.
๋ฐ๋ผ์ Solidity์์ ๊ณ์ฝ A๊ฐ ๊ณ์ฝ B์ ํจ์๋ฅผ ํธ์ถํ๋ฉด ๊ณ์ฝ B๋ ๊ณ์ฝ A์ ๊ฐ๋ฐ์๊ฐ ์๋ํ์ง ์์ ์ฝ๋๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ๋ค์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
Move ์ธ์ด ๋์์ธ ๊ธฐ์ด
XNUMX์ฐจ ์์
์์ ์์ค์์ Move ์ธ์ด์ ๋ชจ๋/๋ฆฌ์์ค/ํ๋ก์์ ๊ฐ์ ์ํธ ์์ฉ์ OOP ์ธ์ด์ ํด๋์ค/๊ฐ์ฒด ๋ฐ ๋ฉ์๋ ๊ฐ์ ๊ด๊ณ์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
์ด๋ ๋ชจ๋์ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ์ ์ค๋งํธ ๊ณ์ฝ๊ณผ ์ ์ฌํฉ๋๋ค. ๋ชจ๋์ ์ ์ธ๋ ๋ฆฌ์์ค๋ฅผ ์์ฑ, ์ญ์ ๋ฐ ์
๋ฐ์ดํธํ๊ธฐ ์ํ ๊ท์น์ ์ ์ํ๋ ๋ฆฌ์์ค ์ ํ ๋ฐ ์ ์ฐจ๋ฅผ ์ ์ธํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ชจ๋ ๊ฒ์ ๋จ์ง ๊ด๋ก์ผ ๋ฟ์
๋๋ค("ํน์ ์ฉ์ดโ) ์ด๋ ์ค. ์ด ์ ์ ์ ์ ํ์ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
์ ์ฐ์ฑ
Move๋ ์คํฌ๋ฆฝํ ์ ํตํด Libra์ ์ ์ฐ์ฑ์ ์ถ๊ฐํฉ๋๋ค. Libra์ ๋ชจ๋ ๊ฑฐ๋์๋ ๋ณธ์ง์ ์ผ๋ก ๊ฑฐ๋์ ํต์ฌ ์ ์ฐจ์ธ ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ ์ง์ ๋ ์์ ์ ๋ชฉ๋ก์ ๋ํ ์ง๋ถ๊ณผ ๊ฐ์ ์ง์ ๋ ์์ ์ ์ํํ๊ฑฐ๋ ์ผ๋ฐ ๋ ผ๋ฆฌ๊ฐ ์ง์ ๋ ํ๋ก์์ ๋ฅผ ํธ์ถํ๋ ๋ฑ ๋ค๋ฅธ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก Move ํธ๋์ญ์ ์คํฌ๋ฆฝํธ๊ฐ ๋ ํฐ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ ์ด์ ์ ๋๋ค. ์คํฌ๋ฆฝํธ๋ ์ผํ์ฑ๊ณผ ๋ฐ๋ณต ๋์์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ ๋ฐ๋ฉด, Ethereum์ ๋ฐ๋ณต ๊ฐ๋ฅํ ์คํฌ๋ฆฝํธ(์ค๋งํธ ๊ณ์ฝ ๋ฐฉ๋ฒ์์ ํ๋์ ๋ฐฉ๋ฒ ํธ์ถ)๋ง ์คํํ ์ ์์ต๋๋ค. ์ด๋ฅผ "์ฌ์ฌ์ฉ ๊ฐ๋ฅ"์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์ด์ ๋ ์ค๋งํธ ๊ณ์ฝ์ ๊ธฐ๋ฅ์ด ์ฌ๋ฌ ๋ฒ ์คํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. (๋ฉ๋ชจ: ์ฌ๊ธฐ์์ ์์ ์ ๋งค์ฐ ๋ฏธ๋ฌํฉ๋๋ค. ํํธ, ๋นํธ์ฝ์ธ์๋ ์์ฌ ๋ฐ์ดํธ์ฝ๋ ํํ์ ๊ฑฐ๋ ์คํฌ๋ฆฝํธ๋ ์กด์ฌํฉ๋๋ค. ๋ฐ๋ฉด์ ๋ด๊ฐ ์ดํดํ๋ ๋ฐ์ ๋ฐ๋ฅด๋ฉด Move๋ ์ด ์ธ์ด๋ฅผ ์ค์ ๋ก ๋ณธ๊ฒฉ์ ์ธ ์ค๋งํธ ๊ณ์ฝ ์ธ์ด ์์ค์ผ๋ก ํ์ฅํฉ๋๋ค.).
ะะตะทะพะฟะฐัะฝะพััั
Move ์คํ ํ์ผ ํ์์ ๋ฐ์ดํธ์ฝ๋์ ๋๋ค. ์ด๋ ์ด์ ๋ธ๋ฆฌ ์ธ์ด๋ณด๋ค ๋์ ์์ค์ ์ธ์ด์ด์ง๋ง ์์ค ์ฝ๋๋ณด๋ค ๋ฎ์ ์์ค์ ๋๋ค. ๋ฐ์ดํธ์ฝ๋๋ ๋ฐ์ดํธ์ฝ๋ ๊ฒ์ฆ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐํ์(์จ์ฒด์ธ)์์ ๋ฆฌ์์ค, ์ ํ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ์ฑ์ ํ์ธํ ํ ์ธํฐํ๋ฆฌํฐ์ ์ํด ์คํ๋ฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด Move๊ฐ ์์ค ์ฝ๋์ ๋ณด์์ ์ ๊ณตํ ์ ์์ง๋ง ์ปดํ์ผ ํ๋ก์ธ์ค๋ ์์คํ ์ ์ปดํ์ผ๋ฌ๋ฅผ ์ถ๊ฐํ ํ์๊ฐ ์์ต๋๋ค. Move๋ฅผ ๋ฐ์ดํธ์ฝ๋ ์ธ์ด๋ก ๋ง๋๋ ๊ฒ์ ์ ๋ง ์ข์ ํด๊ฒฐ์ฑ ์ ๋๋ค. Solidity์ ๊ฒฝ์ฐ์ฒ๋ผ ์์ค์์ ์ปดํ์ผํ ํ์๊ฐ ์์ผ๋ฉฐ ์ปดํ์ผ๋ฌ ์ธํ๋ผ์ ๋ํ ๊ณต๊ฒฉ์ด๋ ์คํจ ๊ฐ๋ฅ์ฑ์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ต๋๋ค.
๊ฒ์ฆ ๊ฐ๋ฅ์ฑ
์ด ๋ชจ๋ ์์ ์ด ์ฒด์ธ ๋ด์์ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ์ฝ๊ฒ ๊ฒ์ฌ๋ฅผ ์ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค(์ฐธ๊ณ : ์จ๋ผ์ธ์์ ๊ฐ ํธ๋์ญ์ ์ด ์คํ๋๋ ๋์ ์ง์ฐ์ด ๋ฐ์ํ๋ฉด ์ ์ฒด ๋คํธ์ํฌ๊ฐ ๋๋ ค์ง๋๋ค.) ๊ทธ๋ฌ๋ ์ด๊ธฐ์๋ ์ธ์ด ์ค๊ณ๊ฐ ์คํ์ฒด์ธ ์ ์ ๊ฒ์ฆ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค. ์ด๊ฒ์ด ๋ ๋ฐ๋์งํ์ง๋ง ํ์ฌ๋ก์๋ ๊ฒ์ฆ ๋๊ตฌ(๋ณ๋์ ํดํท) ๊ฐ๋ฐ์ด ๋ฏธ๋๋ฅผ ์ํด ์ฐ๊ธฐ๋์์ผ๋ฉฐ ์ด์ ๋ฐํ์(์จ์ฒด์ธ)์ ๋์ ๊ฒ์ฆ๋ง ์ง์๋ฉ๋๋ค.
๋ชจ๋์ฑ
์ด๋ ๋ชจ๋์ ๋ฐ์ดํฐ ์ถ์ํ๋ฅผ ์ ๊ณตํ๊ณ ๋ฆฌ์์ค์ ๋ํ ์ค์ํ ์์ ์ ํ์งํํฉ๋๋ค. Move ์ ํ ์์คํ ์ด ์ ๊ณตํ๋ ๋ณดํธ ๊ธฐ๋ฅ๊ณผ ๊ฒฐํฉ๋ ๋ชจ๋์์ ์ ๊ณตํ๋ ์บก์ํ๋ ๋ชจ๋ ์ ํ์ ์ค์ ๋ ์์ฑ์ด ๋ชจ๋ ์ธ๋ถ์ ์ฝ๋์ ์ํด ์๋ฐ๋์ง ์๋๋ก ํฉ๋๋ค. ์ด๊ฒ์ ์๋นํ ์ ์คํ๊ฒ ์ค๊ณ๋ ์ถ์ํ ์ค๊ณ์ ๋๋ค. ์ฆ, ๊ณ์ฝ ๋ด์ ๋ฐ์ดํฐ๋ ๊ณ์ฝ ๋ฒ์ ๋ด์์๋ง ๋ณ๊ฒฝ๋ ์ ์๊ณ ์ธ๋ถ์์๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค.
์ด๋ ๊ฐ์
ํธ๋์ญ์ ์คํฌ๋ฆฝํธ ์์ ๋ ๋ชจ๋ ์ธ๋ถ์ ํ๋ก๊ทธ๋๋จธ์ ์ํ ์ ์์ ์ด๊ฑฐ๋ ๋ถ์ฃผ์ํ ์์ ์ด ๋ชจ๋ ๋ฆฌ์์ค์ ๋ณด์์ ์์์ํฌ ์ ์์์ ๋ณด์ฌ์ค๋๋ค. ๋ค์์ผ๋ก ๋ชจ๋, ๋ฆฌ์์ค ๋ฐ ์ ์ฐจ๋ฅผ ์ฌ์ฉํ์ฌ Libra ๋ธ๋ก์ฒด์ธ์ ํ๋ก๊ทธ๋๋ฐํ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
PXNUMXP ๊ฒฐ์
๊ธ์ก์ ์ง์ ๋ ์ฝ์ธ์ ๊ฐ์๊ฐ ๋ณด๋ธ ์ฌ๋์ ์์ก์์ ๋ฐ๋ ์ฌ๋์๊ฒ ์ ์ก๋ฉ๋๋ค.
์ฌ๊ธฐ์๋ ๋ช ๊ฐ์ง ์๋ก์ด ์ฌํญ์ด ์์ต๋๋ค(๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐ ํ์๋จ).
- 0 X 0: ๋ชจ๋์ด ์ ์ฅ๋ ๊ณ์ ์ ์ฃผ์
- ํ์จ: ๋ชจ๋ ์ด๋ฆ
- ๋์ : ๋ฆฌ์์ค ์ ํ
- ํ๋ก์์ ์์ ๋ฐํ๋ ์ฝ์ธ ๊ฐ์ 0x0.Currency.Coin ์ ํ์ ๋ฆฌ์์ค ๊ฐ์ ๋๋ค.
- ์ด๋ํ๋ค (): ๊ฐ์ ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ๋ถ(): ๊ฐ์ ๋์ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฝ๋ ๊ตฌ๋ฌธ ๋ถ์: ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์ ๋ฐ์ ์๋ ๋ค์์ด๋ผ๋ ํ๋ก์์ ๋ฅผ ํธ์ถํฉ๋๋ค. ์ฒ ์_from_sender ์ ์ ์ฅ๋ ๋ชจ๋์์ 0x0.ํตํ. ๋ ๋ฒ์งธ ๋จ๊ณ์์๋ ์ก์ ์๊ฐ ์ฝ์ธ ์์ ๊ฐ์ ๋ชจ๋์ ์ ๊ธ ์ ์ฐจ๋ก ์ด๋ํ์ฌ ์์ ์์๊ฒ ์๊ธ์ ์ ์กํฉ๋๋ค. 0x0.ํตํ.
๋ค์์ ๊ฒ์ฌ์์ ๊ฑฐ๋ถ๋๋ ์ฝ๋ ์ค๋ฅ์ ์ธ ๊ฐ์ง ์์
๋๋ค.
ํตํ๋ฅผ ๋ณ๊ฒฝํ์ฌ ์๊ธ ๋ณต์ ์์ง์ด๋ค (๋์ ) ์ ๋ณต์ฌ(๋์ ). ๋ฆฌ์์ค๋ ์ด๋๋ง ๊ฐ๋ฅํฉ๋๋ค. ์ผ์ ๋์ ๋ฆฌ์์ค๋ฅผ ๋ณต์ ํ๋ ค๊ณ ํฉ๋๋ค(์: ํธ์ถ์ ํตํด). ๋ณต์ฌ(๋์ ) ์์ ์์์) ๋ฐ์ดํธ ์ฝ๋๋ฅผ ํ์ธํ๋ ๋์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ง์ ํ์ฌ ์๊ธ ์ฌ์ฌ์ฉ ์์ง์ด๋ค (๋์ ) ๋ ๋ฒ . ๋ผ์ธ ์ถ๊ฐ 0x0.Currency.deposit (๋ณต์ฌ(some_other_payee), ์ด๋(coin)) ์๋ฅผ ๋ค์ด, ์์ ๊ฒฝ์ฐ ๋ณด๋ธ ์ฌ๋์ ์ฝ์ธ์ ๋ ๋ฒ "์ฌ์ฉ"ํ ์ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์์ทจ์ธ์๊ฒ, ๋ ๋ฒ์งธ๋ ์์ทจ์ธ์๊ฒ some_other_์์ทจ์ธ. ์ด๋ ๋ฌผ๋ฆฌ์ ์์ฐ์์๋ ๋ถ๊ฐ๋ฅํ ๋ฐ๋์งํ์ง ์์ ๋์์ ๋๋ค. ๋คํํ Move๋ ์ด ํ๋ก๊ทธ๋จ์ ๊ฑฐ๋ถํ ๊ฒ์ ๋๋ค.
๊ฑฐ์ ๋ก ์ธํ ์๊ธ ์์ค ์์ง์ด๋ค (๋์ ). ๋ฆฌ์์ค๋ฅผ ์ด๋ํ์ง ์๋ ๊ฒฝ์ฐ(์: ๋ค์์ ํฌํจํ๋ ์ค ์ญ์ ) ์์ง์ด๋ค (๋์ )), ๋ฐ์ดํธ์ฝ๋ ํ์ธ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด Move ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฐ๋ฐ์ ์ด๊ฑฐ๋ ์ ์์ ์ธ ์๊ธ ์์ค๋ก๋ถํฐ ๋ณดํธ๋ฐ์ ์ ์์ต๋๋ค.
ํตํ ๋ชจ๋
๊ฐ ๊ณ์ ์๋ 0๊ฐ ์ด์์ ๋ชจ๋(์ง์ฌ๊ฐํ์ผ๋ก ํ์)๊ณผ ํ๋ ์ด์์ ๋ฆฌ์์ค ๊ฐ(์ํต์ผ๋ก ํ์)์ด ํฌํจ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, 0 X 0 ๋ชจ๋ ํฌํจ 0x0.ํตํ ๋ฆฌ์์ค ์ ํ์ ๊ฐ 0x0.ํตํ.์ฝ์ธ. ์ฃผ์์ ์๋ ๊ณ์ข 0 X 1 ๋ ๊ฐ์ ๋ฆฌ์์ค์ ํ๋์ ๋ชจ๋์ด ์์ต๋๋ค. ์ฃผ์์ ์๋ ๊ณ์ข 0 X 2 ๋ ๊ฐ์ ๋ชจ๋๊ณผ ํ๋์ ๋ฆฌ์์ค ๊ฐ์ด ์์ต๋๋ค.
๋ช ๊ฐ์ง ์๊ฐ :
- ํธ๋์ญ์ ์คํฌ๋ฆฝํธ๋ ์์์ ์ ๋๋ค. ์์ ํ ์คํ๋๊ฑฐ๋ ์ ํ ์คํ๋์ง ์์ต๋๋ค.
- ๋ชจ๋์ ์ ์ญ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋ ์๋ช ์ด ๊ธด ์ฝ๋ ์กฐ๊ฐ์ ๋๋ค.
- ์ ์ญ ์ํ๋ ํด์ ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ฌ๊ธฐ์ ํค๋ ๊ณ์ ์ฃผ์์ ๋๋ค.
- ๊ณ์ ์ ์ง์ ๋ ์ ํ์ ๋ฆฌ์์ค ๊ฐ์ ํ๋๋ง ํฌํจํ ์ ์์ผ๋ฉฐ ์ง์ ๋ ์ด๋ฆ์ ๊ฐ์ง ๋ชจ๋์ ํ๋๋ง ํฌํจํ ์ ์์ต๋๋ค(๊ณ์ ์ 0 X 0 ์ถ๊ฐ ๋ฆฌ์์ค๋ฅผ ํฌํจํ ์ ์์ต๋๋ค. 0x0.ํตํ.์ฝ์ธ ๋๋ ์ด๋ฆ์ด ๋ค๋ฅธ ๋ชจ๋ ํ์จ)
- ์ ์ธ๋ ๋ชจ๋์ ์ฃผ์๋ ์ ํ(0x0.ํตํ.์ฝ์ธ ะธ 0x1.ํตํ.์ฝ์ธ ์๋ก ๋ฐ๊ฟ์ ์ฌ์ฉํ ์ ์๋ ๋ณ๋์ ์ ํ์ ๋๋ค)
- ํ๋ก๊ทธ๋๋จธ๋ ์ฌ์ฉ์ ์ ์ ๋ฆฌ์์ค๋ฅผ ์ ์ํ์ฌ ์ด๋ฌํ ์ ํ์ ๋ฆฌ์์ค์ ๋ํ ์ฌ๋ฌ ์ธ์คํด์ค๋ฅผ ๊ณ์ ์ ์ ์ฅํ ์ ์์ต๋๋ค.๋ฆฌ์์ค TwoCoins {c1: 0x0.Currency.Coin, c2: 0x0.Currency.Coin})
- ์ถฉ๋ ์์ด ์ด๋ฆ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ค์์ ์ฌ์ฉํ์ฌ ๋ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค. ํฌ์ฝ์ธ์ค.c1 ะธ ํฌ์ฝ์ธ์ค.c2.
์ฝ์ธ ์์ ๋ฐํ
์ด๋ฆ์ด ์ง์ ๋ ๋ชจ๋ ํ์จ ๊ทธ๋ฆฌ๊ณ ์ด๋ฆ์ด ์ง์ ๋ ๋ฆฌ์์ค ์ ํ ๋์
๋ช ๊ฐ์ง ์๊ฐ :
- ๋์ ์ ํ์ด ํ๋์ธ ํ๋๊ฐ ์๋ ๊ตฌ์กฐ์ ๋๋ค. u64 (64๋นํธ ๋ถํธ ์๋ ์ ์)
- ๋ชจ๋ ์ ์ฐจ๋ง ํ์จ ์ ํ์ ๊ฐ์ ์์ฑํ๊ฑฐ๋ ํ๊ดดํ ์ ์์ต๋๋ค. ๋์ .
- ๋ค๋ฅธ ๋ชจ๋๊ณผ ์คํฌ๋ฆฝํธ๋ ๋ชจ๋์์ ์ ๊ณตํ๋ ๊ณต๊ฐ ํ๋ก์์ ๋ฅผ ํตํด์๋ง ๊ฐ ํ๋๋ฅผ ์์ฑํ๊ฑฐ๋ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
๋ณด์ฆ๊ธ ๋งค๊ฐ
์ด ์ ์ฐจ์์๋ ๋ฆฌ์์ค๋ฅผ ์๋ฝํฉ๋๋ค. ๋์ ์
๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ ์ด๋ฅผ ๋ฆฌ์์ค์ ๊ฒฐํฉํฉ๋๋ค. ๋์ ์์ทจ์ธ์ ๊ณ์ ์ ์ ์ฅ๋ฉ๋๋ค:
- ์ ๋ ฅ ์์ ์ฝ์ธ์ ํ๊ดดํ๊ณ ๊ทธ ๊ฐ์น๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
- ์์ ์์ ๊ณ์ ์ ์ ์ฅ๋ ๊ณ ์ ํ ์ฝ์ธ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ๋ฅผ ๋ฐ์ต๋๋ค.
- ํ๋ก์์ ํธ์ถ ์ ์ธ์๋ก ์ ๋ฌ๋ ๊ฐ์ผ๋ก Coin ๊ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํฉ๋๋ค.
๋ช ๊ฐ์ง ์๊ฐ :
- ํฌ์ฅ ํ๊ธฐ, BorrowGlobal - ๋ด์ฅ๋ ํ๋ก์์
- ์ง ๋ฑ์์ ๊บผ๋ด๋ค ์ด๋ ์ ํ T์ ๋ฆฌ์์ค๋ฅผ ์ญ์ ํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋๋ค. ํ๋ก์์ ๋ ๋ฆฌ์์ค๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ ์ด๋ฅผ ์ญ์ ํ ๋ค์ ๋ฆฌ์์ค์ ํ๋์ ์ฐ๊ฒฐ๋ ๊ฐ์ ๋ฐํํฉ๋๋ค.
- ์ฐจ์ฉ๊ธ๋ก๋ฒ ์ฃผ์๋ฅผ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ๊ณ ํด๋น ์ฃผ์๊ฐ ๊ฒ์ํ(์์ ํ) T์ ๊ณ ์ ์ธ์คํด์ค์ ๋ํ ์ฐธ์กฐ๋ฅผ ๋ฐํํฉ๋๋ค.
- &๋ฎคํธ ์ฝ์ธ ์ด๊ฒ์ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ์ ๋๋ค ๋์
์ฒ ํ_from_sender ๊ตฌํ
์ด ์ ์ฐจ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๊ณ ์ ํ ๋ฆฌ์์ค์ ๋ํ ๋งํฌ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๋์ , ๋ณด๋ธ ์ฌ๋์ ๊ณ์ ์ ์ฐ๊ฒฐ๋จ
- ์์์ ๊ฐ์น๋ฅผ ๊ฐ์์ํต๋๋ค. ๋์ ์ง์ ๋ ๊ธ์ก์ ๋ํ ๋งํฌ๋ฅผ ํตํด
- ์ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ณ ๋ฐํํฉ๋๋ค. ๋์ ์ ๋ฐ์ดํธ๋ ์์ก์ผ๋ก
๋ช ๊ฐ์ง ์๊ฐ :
- ์ ๊ธ ๋๊ตฌ๋ ์์ธ์ด ๋ ์ ์์ง๋ง ์ฒ ์_from_sender ํธ์ถ ๊ณ์ ์ ์ฝ์ธ์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค.
- GetTxnSenderAddress ๋น์ทํ๋ค ๋ฉ์์ง.๋ฐ์ ์ ๊ฒฌ๊ณ ํ๊ฒ
- ๊ฑฐ๋ถํ์ง ์๋ ํ ๋น์ทํ๋ค ํ์ ์๋ฆฌ๋ํฐ์์. ์ด ํ์ธ์ด ์คํจํ๋ฉด ํธ๋์ญ์ ์ด ์ค์ง๋๊ณ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋กค๋ฐฑ๋ฉ๋๋ค.
- ํฉ ์ด๋ T ์ ํ์ ์ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ ๋ด์ฅ ํ๋ก์์ ์ด๊ธฐ๋ ํฉ๋๋ค.
- ๊ฒ๋ค๊ฐ ์ง ๋ฑ์์ ๊บผ๋ด๋ค, ํฉ ๋ฆฌ์์ค๊ฐ ์ค๋ช ๋ ๋ชจ๋ ๋ด์์๋ง ํธ์ถํ ์ ์์ต๋๋ค. T
๊ฒฐ๋ก
Move ์ธ์ด์ ์ฃผ์ ํน์ง์ ์ดํด๋ณด๊ณ ์ด๋๋ฆฌ์๊ณผ ๋น๊ตํ๋ฉฐ ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ์๋ ์ต์ํด์ก์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก ๊ผญ ํ์ธํด ๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
์ถ์ฒ : habr.com