https://steemit.com/kr/@leesunmoo/eos-2-leesunmoo
https://steemit.com/kr/@leesunmoo/eos-3-leesunmoo
https://steemit.com/kr/@leesunmoo/eos-4-leesunmoo
https://steemit.com/kr/@leesunmoo/eos-5-leesunmoo
https://steemit.com/kr/@leesunmoo/eos-6-leesunmoo์ ์ด์ด์ ๊ณ์ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ์ธ์ฆ๋ ๋ฉ์์ง๋ฅผ ๊ณ์ ์ผ๋ก ์ ๋ฌํ๋ ๊ณผ์ ์ ์กฐ์ ํ๋ ์ต์ด์ด์ ๊ฐ์ฅ ์ค์ํ ํ๋ซํผ์ ๋๋ค. ์คํฌ๋ฆฝํธ ์ธ์ด์ ๊ฐ์ ๋จธ์ (virtual machine)์ ์ธ๋ถ ๋ด์ฉ์ EOS.IO์ ๊ธฐ์ ์ค๊ณ์ ๋ ๋ฆฝ์ ์ธ ์ธ๋ถ ๊ตฌํ ์ฌํญ์ ๋๋ค. EOS.IO ์ํํธ์จ์ด API๋ฅผ ์ด์ฉํ์ฌ ์ด๋ ํ ์ธ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ ์๋๋ฐ์ค ์ฒ๋ฆฌ๋๋ฉฐ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋์ํ๋ ๊ฐ์ ๋จธ์ ์ ํตํฉํ ์ ์์ต๋๋ค.
๊ธฐ์ ์ ์ธ ์ธ๊ธ์ด ๋ง์ ๋ถ๋ถ์ ๋๋ค. ๋๋์ ์ด์ค์ค ๋ธ๋ก์ฒด์ธ์ ์ด์ค์ค๋ง์ ์ค๋งํธ์ปจํธ๋ ์ด ์๊ณ ์ด๋๋ฆฌ์์์ ์ด์๋๊ณ ์๋ EVM ์ค๋งํธ์ปจํธ๋ ๋ ์ด์ค์ค ๋ธ๋ก์ฒด์ธ ์์์ ์๋ ๊ฐ๋ฅํ๊ฒ ๋๋ค๋ ๊ฒ์ผ๋ก ์ดํด๋ฉ๋๋ค.
๊ณ์ ๊ฐ์ ๋ชจ๋ ๋ฉ์์ง๋ ๋ธ๋ก์ฒด์ธ ํฉ์ ์ํ์ ์ผ๋ถ์ธ ์คํค๋ง(schema)์ ๋ฐ๋ผ ์ ์๋ฉ๋๋ค. ์ด ์คํค๋ง๋ ๋ฐ์ด๋๋ฆฌ์ JSON ํ์์ ๋ฉ์์ง์ ๊ฒฝ๊ณ ์๋(seamless) ๋ํ๋ฅผ ํ์ฉํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ ์ ์ฌํ ์คํค๋ง๋ฅผ ์ด์ฉํ์ฌ ์ ์๋ฉ๋๋ค. ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ์ฅ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฌ๋์ด ์ฝ์ ์ ์๋ JSON์ผ๋ก ์ฒ๋ฆฌ๋ ๋ฟ๋ง ์๋๋ผ ํจ์จ์ ์ธ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ ์ฅ ๊ด๋ฆฌ๋จ์ ๋ณด์ฅํฉ๋๋ค.
๋ณ๋ ฌ ์ฒ๋ฆฌ ํจ์จ์ ๊ทน๋ํ์ ํธ๋์ญ์ ๋ก๊ทธ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ํ(state)๊ฐ ์ฌ์์ฑ๋ ๋ ๋ฐ์ํ๋ ๊ณผ๋ค ์ฐ์ฐ์ ์ต์ํํ๊ธฐ ์ํ์ฌ, EOS.IO๋ ์ธ์ฆ ๋ฐฉ๋ฒ(authentication logic)์ ์ธ ๊ฐ์ง๋ก ๋ถ๋ฆฌํฉ๋๋ค.
1.๋ฉ์์ง์ ๋ด์ ์ผ๊ด์ฑ(internal consistency) ๊ฒ์ฆ
2.๋ชจ๋ ์ ์ ์กฐ๊ฑด์ ์ ํจ์ฑ ๊ฒ์ฆ
3.์ ํ๋ฆฌ์ผ์ด์ ์ํ์ ๋ณ๊ฒฝ
๋ฉ์์ง์ ๋ด์ ์ผ๊ด์ฑ ๊ฒ์ฆ์ ์ฝ๊ธฐ ์ฐ์ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋๋ฉฐ, ๋ธ๋ก์ฒด์ธ ์ํ์ ๋ํ ํ์ธ์ ์๊ตฌํ์ง ์์ต๋๋ค. ์ด๋ ์ต๋ํ์ ๋ณ๋ ฌ์ฑ์ ๊ฐ์ง ์ ์์์ ๋ปํฉ๋๋ค. ์๊ตฌ๋ถ ์์ก ํ์ธ๊ณผ ๊ฐ์ ์ ์ ์กฐ๊ฑด์ ์ ํจ์ฑ ๊ฒ์ฆ ์ญ์ ์ฝ๊ธฐ ์ฐ์ฐ๋ง์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ด์ ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค. ์ค์ง ์ ํ๋ฆฌ์ผ์ด์ ์ํ ๋ณ๊ฒฝ๋ง ์ฐ๊ธฐ ์ฐ์ฐ์ ํด์ผ ํ๋ฉฐ, ๊ฐ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
์ธ์ฆ(authentication)์ ๋ฉ์์ง์ ์ ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ๊ฒ์ฆํ๋ ์ฝ๊ธฐ ์ฐ์ฐ ์์ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์์ ์ ์ํํฉ๋๋ค. ๋ ๊ฐ์ง ๊ณ์ฐ์ ์ค์๊ฐ์ผ๋ก ์ํ๋์ด์ผ ํ์ง๋ง ํธ๋์ญ์ ์ด ๋ธ๋ก์ฒด์ธ์ ํฌํจ๋์๋ค๋ฉด ๋ ์ด์ ์ธ์ฆ ์์ ์ ์ํํ ํ์๊ฐ ์์ต๋๋ค.
์์ ๋ถ๋ผ๋ถ๋ผ ์จ ์๋ ๋ด์ฉ์ ์ด์ค์ค ๋ธ๋ก์ฒด์ธ์ด ๊ธฐ์ ์ ์ผ๋ก ์ ์ฐ์ํ๊ณ ๋์ ํจ์จ์ ๋ด๋ ๋ธ๋ก์ฒด์ธ์ธ์ง์ ๋ํ ๊ทผ๊ฑฐ๋ค(?)์ ๋๋ค
EOS.IO ์ํํธ์จ์ด์ ์ค๊ณ ๋ชฉ์ ์ ๋ค์์ ๊ฐ์ ๋จธ์ ์ ์ด์ฉํ๋ฉฐ ํ์์ ๋ฐ๋ผ ์๋ก์ด ๊ฐ์ ๋จธ์ ์ ์ถ๊ฐํ๋ ๊ฒ ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ณธ ๋ฐฑ์์์๋ ํน์ ์ธ์ด๋ ๊ฐ์๋จธ์ ์ ์ธ๋ถ์ ์ธ ๋ด์ฉ์ ๊ดํ์ฌ ๊ธฐ์ ํ์ง ์์ต๋๋ค. ํ์ฌ EOS.IO๋ฅผ ์ด์ฉํ์ฌ ํ๊ฐ ์ค์ธ ๊ฐ์ ๋จธ์ ์ 2๊ฐ์ง ์ ๋๋ค.
์ด์ค์ค ๋ธ๋ก์ฒด์ธ์์์๋ ๋ค์ํ ์๋ก ๋ค๋ฅธ ๊ฐ์๋จธ์ (์ค๋งํธ์ปจํธ๋ ์ด ๊ฐ๋ฅํ๊ฒํ๋)์ด ์๋ํ๊ฒ ๋ ๊ฒ์ด๊ณ ํ์ฌ ์น์ด์ ๋ธ๋ฆฌ์ ์ด๋๋ฆฌ์ ๊ฐ์ ๋จธ์ ์ด๋ ๊ฒ 2์ข ์ ๊ฐ์๋จธ์ ์ด ํ ์คํธ ๋๊ณ ์๋ค๊ณ ํฉ๋๋ค. ๋ง์ผ ์ด๋๋ฆฌ์์ ๊ฐ๋ฐ์ด ์์กฐ๋กญ๊ฒ ์งํ๋์ง ๋ชปํ๋ค๋ฉด ์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ์์ ์ด์ํ๊ธฐ ์ํด ๊ฐ๋ฐ๋๊ณ ์๋ ๋๋ค์ ์ผ๋ถ๊ฐ ์ด์ค์ค ๋ธ๋ก์ฒด์ธ์์ ์ด์๋ ๊ฐ๋ฅ์ฑ์ ๋ฐฐ์ ํ ์ ์์ต๋๋ค.
์น์ด์ ๋ธ๋ฆฌ๋ ๊ณ ์ฑ๋ฅ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ธฐ ์ํ์ฌ ์๋ก์ด ๋ฑ์ฅํ ์น ํ์ค์ ๋๋ค. ์น์ด์ ๋ธ๋ฆฌ์ ์ผ๋ถ ์์ ํ์ฌ ๊ฒฐ์ ๋ก ์ ์ด๋ฉฐ ์๋๋ฐ์ค์ธ ํํ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ์น์ด์ ๋ธ๋ฆฌ์ ์ฅ์ ์ ์ฐ์ ํ์ฅ์์ ํญ๋๊ฒ ์์ฉ๋๊ณ ์์ผ๋ฉฐ, ์น์ํ ์ธ์ด์ธ C๋ C++๋ก ์ปจํธ๋ ํธ๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
์ด๋๋ฆฌ์ ๊ฐ๋ฐ์๋ค์ Ethereum flavored Web Assembly (EWASM)์ผ๋ก ์น์ด์ ๋ธ๋ฆฌ๋ฅผ ์์ ํ์ฌ ์๋๋ฐ์ฑํ๊ณ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋ณํํ๋ ์์ ์ ์ฐฉ์ํ์์ต๋๋ค. EWASM์ EOS.IO ์ํํธ์จ์ด์ ์ฝ๊ฒ ์ ์ฉํ๊ณ ํตํฉํ ์ ์์ต๋๋ค.
์น์ด์ ๋ธ๋ฆฌ๋ ์ด์ค์ค ๋ธ๋ก์ฒด์ธ์ ๊ฐ๋ฐํ๊ณ ์๋ ๋๋ผ์ด๋จธ์ ๊ธ์ ๋ฒ์ญ๋ณธ์ ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.https://steemit.com/eoskorea/@clayop/eos-web-assembly-50-000 ํ์ฌ ํ ์คํธ ๊ณผ์ ์์ ์ด๋น 50,000ํ์ ์ ์ก์ ์ฑ๊ณตํ๋ค๊ณ ํฉ๋๋ค.
์ด ๊ฐ์๋จธ์ ์ ํ์กดํ๋ ๋๋ถ๋ถ์ ์ค๋งํธ ์ปจํธ๋ ํธ๋ฅผ ๊ตฌ๋ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋ค์ ์์ ๋ฌผ์ EOS.IO ๋ธ๋ก์ฒด์ธ์ ์ ์ฉํ ์ ์์ต๋๋ค. EVM์ ์ปจํธ๋ ํธ๋ ์๋๋ฐ์ค ์์์ ๊ตฌ๋๋๋ฉฐ, ์ฝ๊ฐ์ ์กฐ์ ์ ๊ฑฐ์น๋ฉด EOS.IO์ ๋ธ๋ก์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํต์ ํ ์ ์์ต๋๋ค.
์ด๋๋ฆฌ์ ์ค๋งํธ ์ปจํธ๋ ๋ ์ฝ๊ฐ์ ์กฐ์ ์ ๊ฑฐ์น๋ฉด ์ด์ค์ค ๋ธ๋ก์ฒด์ธ์์ ๊ตฌ๋์ด ๊ฐ๋ฅํ๋ค๋ ์ด์ผ๊ธฐ ์ ๋๋ค. ์ด๋๋ฆฌ์ ์ค๋งํธ์ปจํธ๋ ์ด ์์ ์น ์ด์ ๋ธ๋ฆฌ๋งํผ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ์ ์๋์ง ์ฌ๋ถ๋ ์ ์ ์์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค.@leesunmoo ์ฌ๋ฆผย
ย ๋๋ฌธ ์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํด ์ฃผ์ @leesol๋์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.ย