์ ๋ขฐ๊ฐ๋ฅํ ๋ถ์ฐํ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ธํฐ์ฒด์ธ ์๋น์ค ์ธํ๋ผ ํ๋กํ ์ฝ.
Haifeng Xi [email protected]
Harriet Cao [email protected]
NOTE: ์๋ฌธ ๋ฐฑ์๋ ์์ด๋ฆฌ์ค GitHub์ ์์ผ๋ฉฐ ๋ด์ฉ์ด ํ๋ฐํ๊ฒ ์ ๋ฐ์ดํธ๋๊ณ ์์ต๋๋ค. ์ ๊ธฐ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋ฅผ ํ์ธํ์ญ์์ค!
- ์ฃผ์์ฌํญ
- ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๊ฐ์
- ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๋์์ธ
- ์ ์ฉ์ฌ๋ก
- ํ ํฐ๊ฒฝ์ ํ
- ์ด๊ธฐ ํ ํฐ ๋ถ๋ฐฐ
- ๋ก๋๋งต
- ํ
- ๋ ํผ๋ฐ์ค
ํด๋น ๋ฐฑ์์ ๊ทธ ์ธ์ ๊ด๋ จ๋ ๋ฌธ์๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๊ฐ๋ฐ์ ์งํ ์ํฉ์ ๋ฐฉํฅ์ ์ ์ํ๋ ๋ฌธ์์ ๋๋ค. ํด๋น ๋ฌธ์๋ ์ ๋ณด ์ ๊ณต ์ฉ๋๋ก๋ง ์์ฑ๋์์ผ๋ฉฐ, ์ถํ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋ ์ ์๋ค๋ ์ ์ ์ธ์งํ์๊ธฐ ๋ฐ๋๋๋ค.
์ด ๋ฐฑ์๋ ์์ด๋ฆฌ์ค ์ฌ๋จ(IRIS Foundation Limited) ๋ฏธ๋์งํฅ์ ์ธ ๋ชฉํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๋ฐฑ์์ ํฌํจ๋์ด ์๋ ์ผ๋ถ ์ ๋ณด๋ ์์ด๋ฆฌ์ค ์ฌ๋จ์ด ๊ฐ์ง ์ ๋ณด์ ์ผ๋ถ ์ถ์ ํ๋ ์ฌํญ์ ๋ํ ๋ด์ฉ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํด๋น ๋ฐฑ์์์ ์ค๋ช ํ๊ณ ์๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ๊พธ์คํ๊ฒ ๊ฐ๋ฐ๋๊ณ ์๋ ์ํ์ด๋ฉฐ, ์ด์ ๋ฐ๋ผ ๊ฑฐ๋ฒ๋์ค, ๊ธฐ์ ์ ์คํ ๋ฑ์ ์ผ๋ถ ๋ด์ฉ์ด ๋ฐ์๋์ง ์๊ฑฐ๋ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์์ด๋ฆฌ์ค ํ ํฐ์ ์คํ์ ์ธ ์์๊ฐ ์๋ ํ๋ซํผ์์ ์ด์ฉ๋๋ ํ ํฐ์ ๋๋ค. ํด๋น ํ๋ซํผ์ ์ด ๋ฐฑ์์ ๋ฐ๋ผ์ ๊ฐ๋ฐ๋์ง ์์ ์ ์์ต๋๋ค.
๋ง์ฝ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๊ฐ ์์ฑ๋ ๊ฒฝ์ฐ, ์ด ๋ฐฑ์์์ ์ค๋ช ํ ๋คํธ์ํฌ์ ํํ์ ๋งค์ฐ ๋ค๋ฅธ ํํ๋ก ์์ฑ๋ ์ ์์ต๋๋ค. ์ด ๋ฐฑ์์ ๋ด์ฉ์ ๋ฏธ๋ ๊ณํ, ์ผ์ , ๋ชฉํ ๋ฑ์ ๋ณด์ฅํ์ง๋ ์์ต๋๋ค.
์์ด๋ฆฌ์ค ํ ํฐ์ ๊ทธ ์ด๋ค ๊ตญ๊ฐ์์๋ ์ฆ๊ถ ๋๋ ๊ท์ ๋ ์ํ์ ๋์ฒดํ ์ฉ๋๋ก ๋ง๋ค์ด์ง์ง ์์์ต๋๋ค. ํด๋น ๋ฌธ์๋ ์ฆ๊ถ์ ์ ์ฌ์์ ํ์์ ์ฉ๋๋ก ์์ฑ๋ ๊ฒ์ด ์๋๋ฉฐ, ํฌ์ ๊ถ์ , ํ๋ณด, ์ถ์ฒ ๋ฑ์ ๋ชฉ์ ์ด ์์ง ์์ต๋๋ค. ์ด ๋ฌธ์๋ ๊ธ์ต ์๋ด์๊ฐ ์๋๋๋ค. ์์ด๋ฆฌ์ค ํ ํฐ์ ์์ด๋ฆฌ์ค ํ๋ซํผ๊ณผ ๊ทธ ์ธ์ ๊ธฐ์ , ์ฌ๋จ, ๋ฑ์ ์ง๋ถ, ์ฆ๊ถ, ์ฃผ์, ๋ก์ดํฐ, ์์ต๋ฐฐ๋ถ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ์ ๊ณต๋๋ ์ํ์ด ์๋๋๋ค.
์ด ๋ฐฑ์๋ ์์ด๋ฆฌ์ค ํ ํฐ ํฌ์์ ๋ํ ์๋ด๊ฐ ์๋๋๋ค. ๋ฐฑ์๋ ๊ทธ ์ด๋ค ๊ณ์ฝ ๋๋ ํฌ์ ๊ฒฐ์ ์ ์ฐธ๊ณ ์๋ก ์ด์ฉ๋ ์ ์์ต๋๋ค
์์ด๋ฆฌ์ค ํ ํฐ์ ๊ตฌ๋งคํ๋ ํ์์ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ฐธ์ฌํ๋ ๊ฒ์ ์ํํ ํ์์ผ ์ ์์ต๋๋ค. ์์ด๋ฆฌ์ค ํ ํฐ์ ๊ตฌ๋งคํ๊ธฐ ์ , ๊ฐ์ธ์ ์์ด๋ฆฌ์ค ์น์ฌ์ดํธ์ ๊ณต์ง๋์ด์๋ ๊ฒฝ๊ณ ์ธ์ ๋ชจ๋ ๋ฆฌ์คํฌ๋ฅผ ๋ถ์ํ ์๋ฌด๊ฐ ์์ต๋๋ค.
์ด ๋ฌธ์์ ๋์ด๋ ์ ์ฅ, ์๊ฒฌ ๋ฑ์ ์ค์ง ์์ด๋ฆฌ์ค ์ฌ๋จ์ ๊ฒ์ด๋ฉฐ ๊ทธ ์ด๋ค ์ ๋ถ์ ์ ๋ถ, ์ค-์ ๋ถ, ๊ธฐ๊ด ๋ฑ์ ์ ์ฅ์ด ํฌํจ๋์ด์์ง ์์ต๋๋ค. ์ด ๋ฌธ์์ ํฌํจ๋์ด ์๋ ์ ๋ณด๋ ์์ด๋ฆฌ์ค ์ฌ๋จ์ ํ๋จ ํ์ ์ ๋ขฐ์ฑ ์๋ ์ถ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ง๋ง, ํน์ ์ ๋ณด์ ์ ํ์ฑ๊ณผ ์๊ฒฐ์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค.
์ด ๋ฐฑ์์ ์๋ณธ์ ์๋ฌธ์ผ๋ก ์์ฑ๋์์ต๋๋ค. ์ด ๋ฒ์ญ๋ณธ์ ํฌํจํ ๊ทธ ์ด๋ค ๋ฒ์ญ๋ณธ์ ์์ด๋ฆฌ์ค ์ฌ๋จ์ ๊ฒ์ฆ์ ๊ฑฐ์น์ง ์์ ์ฌ๋ณธ์์ ๋ช ์ํฉ๋๋ค. ์์ด๋ฆฌ์ค ์ฌ๋จ์ ํน์ ๋ฒ์ญ๋ณธ์ ์ ํ์ฑ๊ณผ ์๊ฒฐ์ฑ์ ๋ณด์ฅํ์ง ์์ต๋๋ค. ๋ง์ฝ ๋ฒ์ญ๋ณธ๊ณผ ์๋ณธ์ ์ฐจ์ด๊ฐ ์์ ๊ฒฝ์ฐ, ์๋ฌธ ์๋ณธ์ด ์ ๊ณตํ๋ ์ ๋ณด๊ฐ ์ฐ์๋ฅผ ๊ฐ์ง๋๋ค.
์ด ๋ฐฑ์์ ํฌํจ๋์ด์๋ ๋ ํผ๋ฐ์ค๋ค์ ์ค์ง ์์๋ฅผ ๋ชฉ์ ์ผ๋ก ํฌํจ๋์์ต๋๋ค. ํน์ ํ์ฌ, ํ๋ซํผ ๋ช ์นญ ๊ทธ๋ฆฌ๊ณ ์ํ๋ ํด๋น ๊ธฐ๊ด์ ํ์, ์ฐ๊ด์ฑ ๋๋ ํ๋ ฅ ๊ด๊ณ๋ฅผ ๋ปํ์ง ์์ต๋๋ค.
์์ด๋ฆฌ์ค ํ ํฐ์ ๊ตฌ๋งคํ๊ฑฐ๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ฐธ์ฌํ๊ธฐ ์ ์, ๊ฐ์ธ์ ๋ณธ์ธ์ ๋ณํธ์ฌ, ์ธ๋ฌด์ฌ, ํ๊ณ์ฌ ๋ฑ ํด๋น ๋ถ์ผ์ ์ ๋ฌธ๊ฐ์ ์๊ฒฌ์ ๊ตฌํด์ผ ํฉ๋๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ๊ทธ๋ฆฌ์ค ์ ํ์์ ๋ฌด์ง๊ฐ์ ํ์ ์ด์ ์ฒ๊ตญ๊ณผ ์ธ๊ฐ ์ฌ์ด์ ์ถฉ์คํ ๋ฉ์ ์ ์ธ โ์์ด๋ฆฌ์คโ ์ ์์ ์ ๋ํฉ๋๋ค.
๊ณ์ฝ ๊ด๊ณ(contractual relationship)๋ ์ธ๊ฐ ์ฌํ์ ๊ทผ๋ณธ์ ์ธ ์์ ์ค ํ๋์ด๋ค. ๋ธ๋ก์ฒด์ธ์ ์ค์์ฑ์ ๋ฐ๋ก ๊ณ์ฝ ๊ด๊ณ๋ฅผ ํฉ๋ฆฌ์ ์ธ ๋น์ฉ์ ํจ์จ์ ์ผ๋ก ์ ๊ณตํ๋ค๋ ๊ฒ์์ ์์๋๋ค.
๋น์ฆ๋์ค ํ๊ฒฝ์์ ๊ฐ์ธ ๊ฐ ๋๋ ๊ธฐ๊ด ๊ฐ ์ ๋ขฐ๋ฅผ ์๊ธฐ ์ํด์๋ ์๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ด ์๋ชจ๋๋ค. ํ์ง๋ง ๋ธ๋ก์ฒด์ธ ํ๊ฒฝ์์๋ ๋ค์ํ ๋น์ฌ์๋ค์ด ์ฐธ์ฌํ๋ ํ๊ฒฝ์์ โ์ ๋ขฐโ๊ฐ ์์ด๋ ๊ณ์ฝ ๊ด๊ณ๋ฅผ ๋งบ์ ์ ์๊ฒ ๋์๋ค.
๋ธ๋ก์ฒด์ธ์ด ๋ถ์ฐํ ๋น์ฆ๋์ค์ ํต์ฌ์ด ๋๋ ์ด์ ๋ ๋ฐ๋ก ๋คํธ์ํฌ ํจ๊ณผ์ ์ฆ๋์ ๊ฑฐ๋ ๋น์ฉ(transaction cost)์ ๊ฐ์๋ผ๊ณ ์ฌ๊ฒจ์ง๋ค. ์ฌ๋๋ค์ ์ด๋ฐ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ด ๋ถ๋ฌ์ค๋ โ๊ฐ์น์ ์ธํฐ๋ท(Internet of Value)โ์ ๊ฐ๋ฅ์ฑ์ ๋ณด๊ธฐ ์์ํ์ผ๋ฉฐ, ์ด๋ ๊ฐ์๊ฐ ๊ฐ์ง ๊ธฐ์กด ๋น์ฆ๋์ค ๋ชจ๋ธ์ ํจ์จ์ ์ธ ๋ถ์ฐํ ๊ตฌ์กฐ๋ก ๋ฐ๊พธ๋ ๊ฒ์ผ๋ก ์ด์ด์ง ๊ฒ์ด๋ค. ํนํ ๋ธ๋ก์ฒด์ธ ์์คํ ์ ๋ด์ฅ๋์ด์๋ ํ ํฐ ๋ฉ์ปค๋์ฆ์ ๋คํธ์ํฌ ์ฐธ์ฌ์๋ค์ ๊ถ๋ฆฌ๋ฅผ ๋ณด์ฅํ๋ ๋ฐฉ์์ ์ ๊ณตํ๋ฉฐ ๊ธฐ์กด ๋น์ฆ๋์ค๋ฅผ ํ์ ํ ๊ฒ์ด๋ค. [1].
ํ์ง๋ง, ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ์ ์ ๊ธฐ์ ์ด๋ค. ๋ค๋ฅธ ์ ์ ๊ธฐ์ ๋ค์ ํน์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ง์ ๋ค์์ ๋จ์ ๋ค์ด ์กด์ฌํ๋ค.
๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ์ ํ๋ ์ฑ๋ฅ, ๊ฑฐ๋ฒ๋์ค ๋ฉ์ปค๋์ฆ์ ๋ถ์ฌ ๋ฑ์ ๋จ์ ์ด ์กด์ฌํ๋ค. ์ด๋ฐ ๋จ์ ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ํ์ค์ ์ธ ํ๊ฒฝ์์์ ๋ถ์ฐํ ๋น์ฆ๋์ค ํ์ ์ ์ง์ํ๊ธฐ์๋ ๋ถ์กฑํจ์ด ๋ง๋ค.
์ปจ์์์ ์ฒด์ธ(Hyperledger Fabric, R3 Corda, Ethereum Enterprise Alliance ๋ฑ)์ ์ด๋ฐ ์ฑ๋ฅ ๋ฐ ๊ฑฐ๋ฒ๋์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ๊ธฐ์ ํ๊ฒฝ์ ์ ํฉ ๋ธ๋ก์ฒด์ธ์ ๋ง๋ค๊ธฐ ์ํด ๋ ธ๋ ฅํด์๋ค. ํ์ง๋ง ์ด๋ฐ ์ปจ์์์ ์ฒด์ธ๋ค์ ๊ฑฐ๋ํ ๊ธฐ์ ๋ค์ ์ํด์๋ง ์ฃผ๋๋๊ณ ์๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค. ๋ํ, ์ปจ์์์ ์ฒด์ธ๋ค์ ํ์์ ์ธ ์จ์ฒด์ธ(on-chain) ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ธ์ ๋นํจ์จ์ ์ด๋ค. ๊ฐ๋ฐฉ์ฑ๊ณผ ํ ํฐ ์ด์ฝ๋ ธ๋ฏธ ๋ชจ๋ธ์ ํตํด ๋์ค๋ค์ ๊ธฐ๋๊ฐ์ ๋ฐ๊ณ ์๋ ํผ๋ธ๋ฆญ ์ฒด์ธ๊ณผ๋ ๋ฌ๋ฆฌ, ์ปจ์์์ ์ฒด์ธ์ ๊ธฐ์ ์ ํ๋ ฅ์ด ๋ถ์กฑํ๋ค๊ณ ํ๊ฐ๋๋ค.
์์ด๋ฆฌ์ค๋ ํ์กดํ๋ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๊ฐ์ ํ์ฌ ์์ฒ ๊ฐ์์ ์๋ฐฑ๋ง ๊ฐ์ ์ค์ ๋น์ฆ๋์ค(SMB, Small Medium Businesses)์ ํ๋ฆฌ๋์ค ์๋น์ค ์ ๊ณต์๋ค์ด ๊ณต์กดํ๋ฉฐ ๋ณด์์ ๋ฐ๋ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ํ๋ค.
์ด๋ฅผ ํ์คํํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ๋ค์ด ํด๊ฒฐ๋์ด ํ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค.
๋ชจ๋ ์ฐ์ฐ(computation)์ด ์ค๋งํธ ์ปจํธ๋ํธ ๊ฐ์ ์จ์ฒด์ธ(on-chain) ์ฐ์ฐ์ผ๋ก ๊ตฌํ๋ ํ์๋ ์๋ค
์ด๋๋ฆฌ์[2]์ ํ๋ง ์์ (Turing-complete) ๊ฐ์๋จธ์ ์ โ์ค๋งํธ ์ปจํธ๋ํธ'๋ฅผ ๊ตฌ๋ํ๋ค. ์ฌ๋๋ค์ ์ด๋ฐ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ด์ฉํด ํ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ ๊ฒ์ ๊ธฐ๋ํ๋ค.
ํ์ง๋ง ์ค๋งํธ ์ปจํธ๋ํธ๋ ์ค์ง ๊ฒฐ์ ๋ก ์ ๋ก์ง(deterministic logic)๋ง์ ์ฒ๋ฆฌํ ์ ์๋ค (๋ชจ๋ ๋ ธ๋๊ฐ ์๋ก ๋์ผํ ์ํ(state)์ ๋๋ฌํด์ผ๋ง ๊ฑฐ๋๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ธ๋ก์ ์์ฑํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค).
ํ์ง๋ง ๋ค์์ ๋น์ฆ๋์ค ๋ก์ง๋ค์ ๊ฒฐ์ ๋ก ์ ์ด์ง ์๋ค. ํ๊ฒฝ์ ๋งค๊ฐ๋ณ์(environmental parameter)์ ์๊ฐ ๋ฑ ์ํฉ๊ณผ ํ๊ฒฝ์ ๋ฐ๋ผ์ ๋ณํํ ์ ์๋ค.
์ต๊ทผ ๋ค์ด ๋น์ฆ๋์ค ์์คํ ๋ค์ ์์ฐ์ด ์ฒ๋ฆฌ(NLP, Natural Language Processing), ๋จธ์ ๋ฌ๋, ๊ทธ๋ฆฌ๊ณ ์คํผ๋ ์ด์ ์ฐ๊ตฌ ๊ฐ์ ์ปดํจํฐ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์์กด๋๊ฐ ์ฆ๊ฐํ๊ณ ์๋ค. ์ด๋ฐ ์๊ณ ๋ฆฌ์ฆ์๋ ๋ ๋์ ์ฐจ์ ์ฑ ์ ์ฐพ์ผ๋ ค๊ณ ๋ ธ๋ ฅํ๋ ๊ณผ์ ์์ ๋ก์ปฌ ์ต์ ์ํ(local optimal state)์ ๋ฌถ์ฌ์์ง ์๋๋ก ๋น๋ฒํ๊ฒ ์๋์ ์ผ๋ก ์์์ฑ(randomness)์ ์ถ๊ฐํ๋ค.
๋ค๋ฅธ ํ ํธ์ผ๋ก, ์ผ๋ถ ๋น์ฆ๋์ค ๋ก์ง๋ค์ ์คํ์ฒด์ธ(off-chain)์์ ๊ตฌ๋๋๋ ๊ฒ์ด ๋ ์ ํฉํ ์ ์๊ณ , ์ค๋งํธ ์ปจํธ๋ํธ ๊ฐ์ ๋ถ์ฐ ๋ณต์ ํ๊ฒฝ์ผ๋ก ๊ตฌ๋๋๋ฉด ์ ๋๋ ๊ฒฝ์ฐ๋ ์๋ค.
์์ผ๋ก ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ด ํ์ค์ ์ผ๋ก ์์ฉํ๋๊ธฐ ์ํด์๋ ์ด๋ฐ ์คํ์ฒด์ธ ์๋น์ค๋ฅผ ๋ถ์ฐ์์ฅ์ ์ด์ด์ฃผ๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
ํผ๋ธ๋ฆญ ์ฒด์ธ, ์ปจ์์์ ์ฒด์ธ์ ์ด๋ฏธ ์กด์ฌํ๋ ๋ธ๋ก์ฒด์ธ ๋ฆฌ์์ค, ์ด๋ป๊ฒ ์ฌ์ฌ์ฉ ํ ๊ฒ์ธ๊ฐ?
ํ๋์ ํผ๋ธ๋ฆญ ์ฒด์ธ์ด ๋ชจ๋ ์ ์ฆ ์ผ์ด์ค(use case)๋ฅผ ์ถฉ์กฑ์ํค๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค. ๋งค์ผ ์๋ก์ด ๋ธ๋ก์ฒด์ธ ํ๋ซํผ์ด ์ธ์์ ์๊ฐ๋๊ณ , ๊ฐ ํ๋ก์ ํธ๋ ๊ฐ์ ๋ถ์ผ์ ํนํ๋ ์๋ฃจ์ ์ ์ ๊ณตํ๋ค.
์ํธํํ ๋ฐ์ดํฐ ์ฌ์ดํธ ์ฝ์ธ๋ง์ผ์บก(Coinmarketcap)์ ์ฐธ๊ณ ํ๋ฉด, ํ์ฌ ๋ฌด๋ ค 1์ฒ ๊ฐ ์ด์์ ์ํธํํ๋ค์ด ๋ค์ํ ๊ฑฐ๋์์์ ๊ฑฐ๋๋๊ณ ์๋ ์ํฉ์ด๋ค.
๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํด์๋ ์คํ ๋ฆฌ์ง ์๋ฃจ์ , ๋ฐ์ดํฐ ํผ๋ ๋ฑ์ด ํ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฅ์๋ ์คํ ๋ฆฌ์ง (IPFS, SIA, Storj.io ๋ฑ), ๋ฐ์ดํฐ ํผ๋ (Augur, Gnosis, Oraclize ๋ฑ) ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌผ์ธํฐ๋ท(IOTA ๋ฑ)๊ณผ ๊ฐ์ ๋ธ๋ก์ฒด์ธ ์๋น์ค๋ค์ด ์กด์ฌํ๋ค. ์์ด๋ฆฌ์ค๋ ์ด๋ฏธ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ์ผ๋ก ์กด์ฌํ๋ ํด๊ฒฐ์ฑ ์ ๋ค์ ๊ณ ๋ฏผํ๋ ค๊ณ ํ์ง ์๋๋ค. ์คํ๋ ค ์ด๋ฏธ ์กด์ฌํ๋ ํผ๋ธ๋ฆญ ์๋ฃจ์ ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ๋ถ์ฐํ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ์ด ๋ ํจ์จ์ ์ด๋ผ๊ณ ํ๋จํ๋ค.
๋ฐ๋ฉด, ๋น์ฆ๋์ค ๊ฑฐ๋๋ ์ฑ๋ฅ, ๋ณด์, ์ฌ์ ์ด์ ๋ฑ์ ์ด์ ๋ก ์ปจ์์์/ํ๊ฐํ ๋ธ๋ก์ฒด์ธ์ ๋ํ ํ์์ฑ๋ ์กด์ฌํ๋ค. ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๊ฐ ๋ณด๋ ๋ถ์ฐํ ๋น์ฆ๋์ค ์ธํ๋ผ ๋น์ ์ ๊ฐ์์ ํน์ฑ์ ๊ฐ์ง ์๋ง์ ๋ธ๋ก์ฒด์ธ๋ค์ด ์ํธํธํ์ฑ์ ๊ฐ์ง๋ฉฐ ๊ณต์กดํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋น์ ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ด ํ์ ์์๋ ์ธํฐ์ฒด์ธ(Inter-chain) ๊ธฐ์ ์ด๋ค.
ํ์ง๋ง ์ง๊ธ๊น์ง์ ์ธํฐ์ฒด์ธ ๊ธฐ์ ์ ์ค์ง ํ ํฐ ์๋์ ์ด๋(token value transfer)์ ์ด์ ์ ๋์๋ค. โ๋ค์์ ์ฒด์ธ์ด ์ ๊ณตํ๋ ๋ฆฌ์์ค๋ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ผ๊น?โ์ ๋ํ ์ ๋ต์ ์์ง ๋์ค์ง ์์๋ค.
์์ด๋ฆฌ์ค๋ ์ฝ์ค๋ชจ์ค[3]์ ํด์นด๋ท(Polkadot)[4] ๊ฐ์ ์ฌ๋ฌ ์ธํฐ์ฒด์ธ ๊ธฐ์ ์ ๋น๊ตํ๋ค. ์ฝ์ค๋ชจ์ค๊ฐ ์ํธ์ด์ฉ์ฑ(interoperability)๊ณผ ํ์ฅ์ฑ(scalability) ์ธก๋ฉด์์ ๋์ฑ ์ฑ์ํ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ค๋ ๊ฒฐ๋ก ์ ๋๋ฌํ๋ค.
์ฝ์ค๋ชจ์ค๋ โ๋ค์์ ํ๋ธ, ๋ค์์ ์กด(many hubs and many zones)โ ๊ทธ๋ฆฌ๊ณ โ๊ฐ์์ ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ธ์ ๊ฐ์ง ๋ ๋ฆฝ๋ ๋ธ๋ก์ฒด์ธ(each zones are independent blockchains having independent governance models)โ์ ๋ธ๋ก์ฒด์ธ ์ํ๊ณ๋ฅผ ์งํฅํ๋ค. ์ฝ์ค๋ชจ์ค๊ฐ ์ค๊ณํ ๋ธ๋ก์ฒด์ธ ์ํ๊ณ์ ๋์์ธ์ ์์ด๋ฆฌ์ค๊ฐ ์งํฅํ๋ ์ค์ฌ์ฉ ๊ฐ๋ฅํ ์๋น์ค-์งํฅ ์ํคํ (SOC, Service-Oriented Architecture)์ ์ ํฉํ๋ค.
์ด๋ฐ ์ด์ ๋ก ์์ด๋ฆฌ์ค๋ ์ฝ์ค๋ชจ์ค ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณํ์๋ค. ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ๊ธฐ์กด์ ํ๋ธ์ ์กด์ผ๋ก ์ด๋ฃจ์ด์ง ํ์ค์ํ ์ธํฐ์ฒด์ธ ๋คํธ์ํฌ์ ์ฝ์ค๋ชจ์ค/ํ ๋๋ฏผํธ[5] ๊ธฐ๋ฐ์ ์๋น์ค ์ธํ๋ผ๋ฅผ ์ ์ฉํ์๊ณ , ํ ํฐ ํ์ฉ์ฑ์ ์ถ๊ฐํ๋ค.
์ด ๋ฌธ์๋ ๋จผ์ ์ฝ์ค๋ชจ์ค/ํ ๋๋ฏผํธ๋ฅผ ์ค๋ช ํ ํ, ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๊ฐ ๊ฐ๋ฐํ ํ์ ๋ค์ ๋ํ ์ค๋ช ์ผ๋ก ์ด์ด์ง๋ค.
์ฝ์ค๋ชจ์ค๋ [3] โ๋ธ๋ก์ฒด์ธ์ ์ธํฐ๋ท(Internet of Blockchains)โ์ ๋ง๋๋ ํ๋ก์ ํธ๋ค.
์ฝ์ค๋ชจ์ค ์ํ๊ณ๋ ์๋ง์ ๋ ๋ฆฝ์ ์ธ โ์กด(zone)โ์ผ๋ก ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ฐ ์กด์ ํ ๋๋ฏผํธ ๊ฐ์ ํด๋์์ปฌ ๋น์ํด ์ฅ์ ํ์ฉ(BFT, Byzantine Fault-Tolerant) ํฉ์ ํ๋กํ ์ฝ์ ์ค์ฌ์ผ๋ก ์๋๋๋ค.
ํ ๋๋ฏผํธ๋ ์๊ฒฉํ 'ํฌํฌ ์ฑ ์(fork accountability)'์ ๊ธฐ๋ฐ์ผ๋ก ์ ์์ ์ธ ํ์๋ฅผ ์ต์ ํ์ฌ ์ผ๊ด์ฑ, ์์ ์ฑ, ๊ณ ์ฑ๋ฅ์ด ๋ณด์ฅ๋๋ BFT ํฉ์ ์์ง์ ์ ๊ณตํ๋ค. ํ ๋๋ฏผํธ๋ ์ด๋๋ฆฌ์์ ๊ณ ์ฑ๋ฅ ์ง๋ถ์ฆ๋ช ๊ตฌํ ๋ชจ๋ธ์ธ ์ด๋๋ฏผํธ(Ethermint)[6] ๊ฐ์ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ๋ถํฐ ์ค๋ผํด(Oracle) [7], CITA[8], ๊ทธ๋ฆฌ๊ณ ํ์ดํผ๋ ์ ๋ฒ๋ก์ฐ(Hyperledger Burrow)[9] ๊ฐ์ ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ ์ปจ์์์/ํ๊ฐํ ๋ธ๋ก์ฒด์ธ๊น์ง ๋ค์ํ ํํ์ ๋ธ๋ก์ฒด์ธ์ ์ฑ๊ณต์ ์ผ๋ก ์ ์ฉ๋์๋ค.
ํ์ฌ ํ ๋๋ฏผํธ๋ ์ฝ์ค๋ชจ์ค ์ํ๊ณ์ ์ฒซ ์กด์ด์ ํ๋ธ(Hub)์ธ '์ฝ์ค๋ชจ์ค ํ๋ธ'์ ํฉ์ ํ๋กํ ์ฝ๋ก ์ด์ฉ๋๊ณ ์๋ค. ํ๋ธ๋ ๋ค์์ ์กด๋ค๊ณผ ์ฐ๊ฒฐ๋ ์ ์์ผ๋ฉฐ, ์ผ์ข ์ ๋ธ๋ก์ฒด์ธ์ ์ํ ๊ฐ์ UDP/TCP ์ธ IBC(Inter-Blockchain Communication)์ ํตํด ์ํธ ํต์ ์ด ๊ฐ๋ฅํ๋ค. IBC๋ฅผ ํตํด ์ด๋ํ๋ ํ ํฐ์ ๊ฑฐ๋์ ๋๋ ์ ์ผ์์ ์ค๊ฐ์ ์์ด ์ฝ์ค๋ชจ์ค ํ๋ธ๋ฅผ ํตํด ํ ์กด์์๋ถํฐ ๋ค๋ฅธ ์กด์ผ๋ก ์์ ํ๊ฒ ์ด๋ํ ์ ์๋ค.
๋ํ ์ฝ์ค๋ชจ์ค SDK๋ฅผ ์ด์ฉํด ๋๊ตฌ๋ ์ํธํธํ์ด ๊ฐ๋ฅํ ๋ธ๋ก์ฒด์ธ์ ๊ฐ๋ฐํ ์ ์๋ค. ์ผ์ข ์ '๋ธ๋ก์ฒด์ธ ์คํํฐ ํคํธ'์ธ ์ฝ์ค๋ชจ์ค SDK๋ ๋์ ์ ์์ฑ์ ์ ๊ณตํ์ฌ ๋ชฉ์ ์ ๋ฐ๋ฅธ ํน์ํ ๋ํ ๊ฐ๋ฅํ๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ๋ถ์ฐํ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ ๊ฒ์ด ๋ชฉํ๋ค. ์ด๋ฐ ์ ์์ ์์ด๋ฆฌ์ค๋ ๋์งํธ ์์ฐ์ ํนํ๋์ด์๋ ๊ธฐ์กด ๋ธ๋ก์ฒด์ธ ์์คํ ๊ณผ ์ฐจ๋ณ์ ์ ์ ๊ณตํ๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ฅผ ํตํด ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ์ ์ ๋ ๊ฐ์ง ํต์ฌ์ ๋ค์๊ณผ ๊ฐ๋ค:
- ์คํ์ฒด์ธ ์ปดํจํ /์คํ์ฒด์ธ ๋ฆฌ์์ค์ ๋ถ์ฐ์์ฅ์ ์ฐ๋์ฑ
- ๋ค์ํ ํํ์(heterogeneous) ๋ธ๋ก์ฒด์ธ ๊ฐ์ ์ํธ์ด์์ฑ
์ฐ๋ฆฌ๋ ์ฝ์ค๋ชจ์ค/ํ ๋๋ฏผํธ ํ๊ฒฝ์ ์๋น์ค ๊ธฐ๋ฐ ์ธํ๋ผ๋ฅผ ์ ์ฉํ์ฌ ํด๊ฒฐํ๊ณ ์ ํ๋ค.
์์ด๋ฆฌ์ค์ ์ค๊ณ๋ ์๋ ๊ฐ์ ์๋น์ค ํนํ ์ํคํ ์ฒ(SOA, Service-oriented Architecture)์ ์ฌ๊ณ ๋ฐฉ์์์ ์ ๋ํ๋ค. SOA๋ ๋ช ํํ ๊ฒฝ๊ณ, ๊ณต์ ์คํค๋ง(Shared Schema) ๊ทธ๋ฆฌ๊ณ ์ปจํธ๋ํธ๊ฐ ์๋ ์์จ ์๋น์ค ์ค๊ณ ๋ฐฉ์์ด๋ค. [13] ์ด๊ธฐ SOA๋ ์ํฐํ๋ผ์ด์ฆ ์๋น์ค ๋ฒ์ค(ESB, Enterprise Service Bus) ๊ฐ์ ์ผ์ข ์ ๊ณตํต ํต์ ๋ฒ์ค(common communication bus)๋ฅผ ํตํด ์๋น์ค ๊ฐ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. ์ด๋ฐ '๊ณตํต ํต์ ๋ฒ์ค'๋ ์๋น์ค ์ ๊ณต์์ ์๋น์ค ์๋น์๊ฐ ๊ณต์ ํ๋ ๋ค์์ ํต์ ์ง์ ์ ์ฐ๊ฒฐํด ์ํธ ํต์ ์ด ๊ฐ๋ฅํ๋ค. ํ์ง๋ง ESB ๊ฐ์ ์ค์ํ ๋ ์ด์ ์ฒด๊ณ์๋ ๋จ์ผ ์ฅ์ ์ง์ (single point of fauilure)์ด ์กด์ฌํ์ผ๋ฉฐ, ์๋น์ค ๋ฐฐํฌ์ ๋ํ ์์กด๋๊ฐ ์์๋ค.
๋ฐ๋ฉด, ์ต๊ทผ ๋ค์ด ์ธ๊ธฐ๋ฅผ ๋๊ณ ์๋ ๋ง์ดํฌ๋ก-์๋น์ค ์ ํ์ ์ํคํ ์ฒ๋ SOA์ ๋ผ์ดํธ ๋ฉ์์ง ๋๊ธฐ์ด(light message queues) ๋ณด๋ค ESB์ ์ค์ ์ ๋๋ฉฐ ํ ๋จ๊ณ ์ง๋ณดํ ๋ชจ์ต์ ๋ณด์ด๊ณ ์๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์๋น์ค ๊ฐ ์ํต(Inter service communication)์ ๋ธ๋ก์ฒด์ธ์ ํ๋์ '์ ๋ขฐ ๊ฐ๋ฅํ ๋จธ์ '์ผ๋ก ๋๋ฉฐ ๋น์ฆ๋์ค ํ์ ์ ์ค์ฌํ๊ฒ ๋๋ค. ์ด๋ฐ ํํ์ ์์คํ ์ ์๋น์ค ์ ๊ณต์์ ์๋น์ค ์๋น์์ ๊ทผ๋ณธ์ ์ธ '์ ๋ขฐ'๊ฐ ์์ด๋ ์ํต์ด ๊ฐ๋ฅํ๊ฒ ํ๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ํ ๋๋ฏผํธ๋ฅผ ๊ณ ์ฑ๋ฅ ํฉ์ ์์ง์ผ๋ก ์ ์ฉํ๋ค. ํ ๋๋ฏผํธ์ ์ ํ๋ฆฌ์ผ์ด์ ํนํ ๋ธ๋ก์ฒด์ธ ์ธํฐํ์ด์ค(ABCI, Application BlockChain Interface) ๊ณ์ธต์ด ์ ๊ณตํ๋ ์ ์ฐ์ฑ์ ์์ฉํ์ฌ ์๋น์ค ๊ถํ ์ค์ , ์๋น์ค ์๋น, ๊ทธ๋ฆฌ๊ณ ์๋น์ค ๊ฑฐ๋ฒ๋์ค๋ฅผ ์ผ์ข ์ '๊ฑฐ๋(transaction)'๋ก ์ ์ํ๋ค.
์๋จ์์ ์ค๋ช ํ๋ ๋ฐ์ ๊ฐ์ด, ๋๋ค์์ ๋น์ฆ๋์ค ๋ก์ง์ ๊ฒฐ์ ๋ก ์ ์ธ(deterministic) ๋ธ๋ก์ฒด์ธ ์ค๋งํธ ์ปจํธ๋ํธ๋ก ๊ตฌ์ฐํ๊ธฐ์ ๋ถ์ ์ ํ๋ค. ์์ด๋ฆฌ์ค๋ ์๋น์ค ๊ณ์ธต(service layer)์ ์ด์ฉํด ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ํนํ๋ ๋ก์ง์ ๋ธ๋ก์ฒด์ธ ์ธ๋ก(off-chain) ํต์ ํ๊ณ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ค. ์ฌ๊ธฐ์์ ๋ธ๋ก์ฒด์ธ์ ์ด๋ฐ ์คํ์ฒด์ธ ์๋น์ค๊ฐ ์ ๊ณตํ๋ ๊ฒฐ๊ณผ(result)์ ๋ํ ํฉ์๋ฅผ ์ ๊ณตํ๋ ๊ฒ์๋ง ์ ์ฉ์ด ๋๋ค.
์ด๋ฐ ์์ด๋์ด๋ ๋ผ์ดํธ๋ ๋คํธ์ํฌ์ ์คํ์ฒด์ธ ์คํ ์ดํธ ์ฑ๋(state channel)๊ณผ ํ๋ผ์ฆ๋ง์ ์ฌ๊ธฐ ๋ฐฉ์ง ์ฌ์ด๋์ฒด์ธ(fraud proof side chains)์์ ์๊ฐ์ ๋ฐ์๋ค. ์์ด๋ฆฌ์ค๋ ์ฌ์ด๋์ฒด์ธ์ ์ด์ฉํ์ง๋ ์์ง๋ง, ๊ธฐ์กด ๋น์ฆ๋์ค ์ฐ์ฐ ๋ก์ง์ ๋ธ๋ก์ฒด์ธ ์ธ์์ ์ฒ๋ฆฌํ๊ณ ์ถํ ๋ธ๋ก์ฒด์ธ์ ํ๋์ 'ํฉ์ ๋๊ตฌ'๋ก ์ด์ฉํ๋ค๋ ๊ฒ์์๋ ์ ์ฌํ ์ ์ด ์๋ค.
์ฝ์ค๋ชจ์ค IBC๋ ์ธํฐ์ฒด์ธ ํต์ ์ 'ํ ์ฒด์ธ์ ๊ณ์ข์ '๊ฐ(value)'์ ๋ค๋ฅธ ์ฒด์ธ์ ๊ณ์ข๋ก ์ด๋ํ๋ ๊ฒ'์ผ๋ก ์ ์ํ๋ค. ์ถ๊ฐ์ ์ผ๋ก, ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ IBC๋ฅผ ํตํด ๋ธ๋ก์ฒด์ธ ๊ฐ ์ฐ์ฐ(computation) ์์ฒญ ํ์์ ํ์คํํ์ฌ ์ค๊ณํ๋ค. ์์ด๋ฆฌ์ค๋ ์ด๋ฐ ๊ธฐ๋ฅ์ด ํ์ฅ ๊ฐ๋ฅํ ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํด์ ํ์๋ผ๊ณ ํ๋จํ๋ฉฐ, ๊ธฐ๋ฅ์ ์ ์ฉ ๊ฐ๋ฅ ์ฌ๋ก๋ ํ๋จ์ ์ค๋ช ๋์ด์๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์จ์ฒด์ธ ๊ฑฐ๋์ ์ฒ๋ฆฌ์ ์คํ์ฒด์ธ ๋ฐ์ดํฐ ํ๋ก์ธ์ฑ/๋น์ฆ๋์ค ๋ก์ง ์คํ์ ํ์ ์ด ๊ฐ๋ฅํ ์๋น์ค ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๊ฐ๋ฐ๋๋ค. ๋ํ IBC ๊ธฐ๋ฅ์ ํฅ์ํ์ฌ ์คํ์ฒด์ธ ๋ฐ์ดํฐ ํ๋ก์ธ์ฑ์ด ํ์์ ๋ฐ๋ผ ํฌ๋ก์ค-์ฒด์ธ ํํ๋ก ์์ฒญ๋ ์ ์๊ฒ ํ๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๊ฐ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ๋น์ ์๋ ์ค๋งํธ ์๋ ๊ฐ์ ํด๋ผ์ด์ธํธ ํนํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๊ฒ ๋ํ ํฌํจ๋์ด์๋ค. ํด๋น ์ค๋งํธ ์๋ ์ ํฌ๋ก์ค์ฒด์ธ ๋ฉํฐ์ ์ ๋ณด๊ด ๋ฐ ๊ด๋ฆฌ ์ธ์๋ ์์ด๋ฆฌ์ค์ iService ์ด์ฉ๋ ๊ฐ๋ฅํ ๊ฒ์ด๋ค. ์๋ฅผ ๋ค์ด, ํน์ ์๋น์ค ์ ์๋ฅผ ์์ฒญํ๋ ์๋น์๋ ํด๋ผ์ด์ธํธ SDK๋ฅผ ์ด์ฉํด ์๋น์ค ์ ๊ณต์์ ์ค์ผ๋ ํค(skeleton) ๋๋ ๋๋ค์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๊ธฐ๋ฐ์ ์๋น์์ฉ ์คํ (stub)์ ์์ฑํ ์ ์์ ๊ฒ์ด๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด, ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ๋์ผํ ํ ํด๋ก์ง(topology)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง๋ค. ์์ด๋ฆฌ์ค๋ ์์ด๋ฆฌ์ค ํ๋ธ๋ฅผ ์ฝ์ค๋ชจ์ค ํ๋ธ์ ์ฐ๊ฒฐํ์ฌ ์ผ์ข ์ ์ฝ์ค๋ชจ์ค ์กด์ด์ ์ง์ญ ํ๋ธ๋ก ์๋ฆฌ ์ก๊ฒ ๋๋ค.
์์ด๋ฆฌ์ค SDK(์ฝ์ค๋ชจ์ค SDK๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ ธ ์์ด๋ฆฌ์ค์ ํนํ๋ ํ์ฅ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋๊ตฌ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง ์์ด๋ฆฌ์ค ํ ๋ ธ๋(full node)๋ค์ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์๋น์ค ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๋ฉฐ IPFS(InterPlanetary File System) ๋ ธ๋์ ๊ธฐ๋ฅ์ ๋ด์ฅํ๋ค.
iService(์์ด๋ฆฌ์ค ์๋น์ค, IRIS Services)๋ ๋ธ๋ก์ฒด์ธ ์ํ๊ณ์ ๊ธฐ์กด ๋น์ฆ๋์ค ์ ํ๋ฆฌ์ผ์ด์ ์ํ๊ณ๋ฅผ ์ด์ด์ฃผ๋ ๋ค๋ฆฌ ์ญํ ์ ํ๋ค. iService๋ ์คํ์ฒด์ธ ์๋น์ค์ ์๋น์ค ์ ์๋ถํฐ ์๋น์ค ๋ฐ์ธ๋ฉ(binding), ์๋น์ค ์์ฒญ(invocation), ๊ฑฐ๋ฒ๋์ค(ํ๋กํ์ผ๋ง๊ณผ ๋ถ์ ํด๊ฒฐ)๊น์ง ์๋น์ค ๋ผ์ดํ์ฌ์ดํด(lifecycle)์ ํฌ๊ด์ ์ธ ์ค์ฌ ์ญํ ์ ํ๋ค. ์์ด๋ฆฌ์ค SDK๋ IBC ์ฒ๋ฆฌ ๋ก์ง์ ์๋น์ค ์๋ฏธ(service semantics)๋ฅผ ์ง์ํ์ฌ ๋ถ์ฐํ ๋น์ฆ๋์ค ์๋น์ค๊ฐ ๋ธ๋ก์ฒด์ธ์๋ ์ ๊ณต๋ ์ ์๊ฒ ํ๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์์ฒด์ ์ผ๋ก ํ์ ์ ์ธ ๋ถ์ฐํ ๋น์ฆ๋์ค ์๋ฃจ์ ์ ์ ๊ณตํ๋๋ฐ ์ด์ ์ ๋์ง๋ง, ํฌ๊ด์ ์ธ ์ฝ์ค๋ชจ์ค ์ํ๊ณ์ ์ผ์์ด๊ธฐ๋ ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ์์ด๋ฆฌ์ค ํ๋ธ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์กด์ ํ์ค IBC ํ๋กํ ์ฝ์ ์ด์ฉํด ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ์๋ ๋ชจ๋ ์กด๋ค๊ณผ ์ํตํ ์ ์๋ค. ๋ํ, ์์ด๋ฆฌ์ค๋ ์๋น์ค ์๋ฏธ(service semantics) ๊ณ์ธต์ ์ถ๊ฐํ์ฌ ์๋ก์ด ๋น์ฆ๋์ค ์๋๋ฆฌ์ค๋ค์ด ํผ์ณ์ง๋ฉฐ ์ฝ์ค๋ชจ์ค ์ํ๊ณ ํฌ๊ธฐ์ ๋ค์์ฑ์ ํค์ฐ๋๋ฐ ๊ธฐ์ฌํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๊ณ ์๋ค.
-
์๋น์ ๋คํธ์ํฌ์ ์์ฒญ์ ํ๊ณ ์๋ต์ ๋ฐ์ ์คํ์ฒด์ธ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ์ ์ .
-
์๋น์ค ์ ๊ณต์ ํ๋ ๋๋ ๊ทธ ์ด์์ iService ์ ์์ ์ ๊ณต์๋ก์ ์คํ์ฒด์ธ ์๋น์ค์ ๋ค๋ฅธ ํผ๋ธ๋ฆญ/์ปจ์์์ ๋ธ๋ก์ฒด์ธ/๊ธฐ์กด ์ํฐํ๋ผ์ด์ฆ ์์คํ ์ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๋ ์ ์ ์ด๋ค. ์๋น์ค ์ ๊ณต์๋ ๋ค์ด์ค๋ ์์ฒญ์ ๋ชจ๋ํฐ๋งํ ํ ์ฒ๋ฆฌํ๊ณ , ๋คํธ์ํฌ์ ์๋ต(response)ํ๋ค. ์๋น์ค ์ ๊ณต์๋ ์๋น์์ ๋์ผํ๊ฒ ๋ค๋ฅธ ํ๋ก๋ฐ์ด๋์๊ฒ ์๋น์ค ์์ฒญ์ ํ ์๋ ์๋ค.
ํ์ฌ ๊ณํ์ผ๋ก์จ๋ ์๋น์ค ์ ๊ณต์๋ ๋ณธ์ธ์ด ์ ๊ณตํ๋ ์๋น์ค์ ๋ํด์ ์ผ์ ์ ์์๋ฃ๋ฅผ ์์ฒญํด์ผ ํ๋ค. ์ด๋ ์์๋ฃ๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ๊ณ ์ ํ ํฐ IRIS๋ก ์ง๋ถ๋๋ค. ์๋น์ค ์ ๊ณต์๋ ๋ณธ์ธ์ด ์น์ธํ ๋ค๋ฅธ ์ฝ์ค๋ชจ์ค ์์๋ฃ ํ ํฐ์ผ๋ก ์ ๊ณต๋ฐ์ ์ ์๋ ๋ฐฉ์์ ์ถํ ๊ฒํ ํ ์์ ์ด๋ค.
- ํ๋กํ์ผ๋ฌ ํ์ฝฉ์ ๊ธฐ์ ์ธ ์์ด๋ฆฌ์ค ์ฌ๋จ(IRIS Foundation Limited)์ ๋ํํ์ฌ ์ผํ๋ ์ ์ ์ด๋ค. ํ๋กํ์ผ๋ฌ๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์์ ์ ์ผํ๊ฒ 'ํ๋กํ์ผ๋ง ๋ชจ๋(profiling mode)'๋ก iService ์์ฒญ์ ํ ์ ์๋ ์ ์ ์ด๋ค. ํ๋กํ์ผ๋ฌ๋ ์๋น์๋ค์ด ์๋น์ค ์ ๊ณต์๋ฅผ ์ ํํ ๋ ์ด์ฉํ ์ ์๋ ์๋น์ค ์ ๊ณต์ ํ๋กํ์ผ์ ์ ๊ณตํ๋ ์ผ์ ํ๋ค.
์ดํ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ iService๋ฅผ ์ ๊ฐํ๋ ๊ธฐ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ์ํ๋ค.
์๋น์ค ์ ์
Method
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
ID (int)
: ํด๋น iService ๋ฉ์๋(method)์ ๊ณ ์ ์์ด๋ -
Name (string)
: ํด๋น iService ๋ฉ์๋์ ๊ณ ์ ์ด๋ฆ -
Description (string)
: ๋ฉ์๋ ์ค๋ช -
Input (string)
: ์ธํ ํ๋ผ๋ฏธํฐ๋ค์ ๋ํ ๊ตฌ์กฐํ๋ ์ ์ -
Output (string)
: ์์ํ ๊ฐ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ์ -
Error (string)
: ๋ชจ๋ ์๋ฌ ๋ณ์์ ๋ํ ๊ตฌ์กฐํ๋ ์ ์ -
OutputPrivacy (enum)
:NoPrivacy
๋๋PubKeyEncryption
์ค ํ๋
ServiceDefinition
(์๋น์ค ์ ์) ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
Name (string)
: ํด๋น iService์ ์ด๋ฆ -
Description (string)
: ํด๋น iService ์ค๋ช -
Tags (string)
: ํด๋น iService์ ํค์๋. ์ผํ(,)๋ก ๋ถ๊ธฐ๋๋ค -
Creator (string)
: iService ์ ์์ ์๊ฐ ๋ฌธ๊ตฌ ์ ํ ์ฌํญ -
ChainID (string)
: iService๊ฐ ์ฒ์ ์ ์๋ ๋ธ๋ก์ฒด์ธ์ ID -
Messaging (enum)
:Unicast
๋๋Multicast
์ค ํ๋ -
Methods ([]Method)
: ํด๋น iService์์ ์ด์ฉ ๊ฐ๋ฅํ ๋ฉ์๋๋ค์ ์ ์
CreateServiceDefinitionTx
ํธ๋์ญ์
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
Definition (ServiceDefinition)
: ์์ฑ๋๋ ์๋น์ค ์ ์
์๋น์ค ๋ฐ์ธ๋ฉ:
CreateServiceBindingTx
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
DefinitionHash ([]byte)
: ์๋น์ค ์ ๊ณต์๊ฐ ๋ฐ์ธ๋ฉํ๋ ์๋น์ค ์ ์์ ํด์๊ฐ -
ChainID (string)
: ์๋น์ค ์ ๊ณต์๊ฐ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ ID -
ProviderAddress ([]byte)
: ์๋น์ค ์ ๊ณต์์ ๋ธ๋ก์ฒด์ธ ์ฃผ์ -
BindingType (enum)
:Local
๋๋Global
์ค ํ๋; ์๋น์ค ์ ๊ณต์๊ฐ ๋ณธ์ธ์ ๋ฐ์ธ๋ฉ์ด ๋ณธ์ธ์ ์ฒด์ธ ๋ฐ์ผ๋ก ๊ณต๊ฐ๋๋ ๊ฒ์ ์ํ๋ ๊ฒฝ์ฐGlobal
์ ์ ๋ ฅํ๋ค. ๋ฐ์ธ๋ฉ์ ๊ณต๊ฐ ๋ฒ์๋BindingExposedChainIDs ([]enum)
์ผ๋ก ์ ์ํ๋ค; ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐLocal
์ ์ ํํ๋ค.Local
๋ก ์ ์๋ ์๋น์ค ๋ฐ์ธ๋ฉ์ ์์๋ ๋ก์ปฌ ๋ธ๋ก์ฒด์ธ์์๋ง ์ฌ์ฉ๋ ์ ์๋ค. -
BindingExposedChainIDs ([]enum)
: ๋ฐ์ธ๋ฉ์ด ๋ ธ์ถ๋๋ ๋ธ๋ก์ฒด์ธ๋ค์ ์ฒด์ธ ID. ๋ง์ฝBindingType (enum)
์ดLocal
๋ก ์ ์๋ ๊ฒฝ์ฐ,BindingExposedChainIDs
๊ฐ์ ๋น์ด์์ด๋ ๋๋ค. -
ProviderDeposit (int64)
: ์ ํจํ ๋ฐ์ธ๋ฉ์ ๋ง๋ค๊ธฐ ์ํด์ ์๋น์ค ์ ๊ณต์๋ ์์คํ ์MinProviderDeposit
์ด ์ ์ํ๋ ๊ฐ ๋ณด๋ค ๋ง์ ์๋์ ์์ด๋ฆฌ์ค ํ ํฐ์ ๋ณด์ฆ๊ธ(deposit)์ผ๋ก ์์นํด์ผ ํ๋ค. ์์น๊ธ์ด ๋ง์์๋ก ์๋น์ค ์ ๊ณต์์ ์ ๋ขฐ๋๊ฐ ๋์ ๊ฒ์ ์๋ฆด ์ ์๋ค -
ServicePricing (string)
: ๊ฐ ๋ฉ์๋ ๋ณ๋ก ์ฒด๊ณ์ ์ผ๋ก ์ ๋ฆฌ๋ ์๋น์ค์ ๊ฐ๊ฒฉ ๋ชจ๋ธ. ์์ฒญ ๋ณ ๊ฐ๊ฒฉ, ๋๋ ์์ฒญ ํ ์ธ, ํ ์ธ ํ์ฌ ๋ฑ์ด ์์ ๊ฒฝ์ฐ ๋ชจ๋ ํฌํจ๋์ด์ผ ํ๋ค. ์๋น์ค ๊ฐ๊ฒฉ ์ง๋ถ ์๋จ์ ๊ธฐ๋ณธ์ ์ผ๋ก IRIS ํ ํฐ์ผ๋ก ์ ์๋๋, ์๋น์ค ์ ๊ณต์๊ฐ ์ํ๋ ์์๋ฃ ํ ํฐ์ ํ์ดํธ๋ฆฌ์คํธ์ ์ถ๊ฐํ ์ ์๋ค -
ServiceLevel (string)
: ๋ฐ์ ์๊ฐ(response time), ์ฌ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ(availability) ๊ฐ์ ์๋น์ค ์ ๊ณต์๊ฐ ๋ณด์ฅํ๋ ์๋น์ค ๋ ๋ฒจ์ ์ ์ -
BindingExpiration (int64)
: ํด๋น ๋ฐ์ธ๋ฉ์ ์ ํจ์ฑ์ด ๋ง๋ฃ๋๋ ๋ธ๋ก ๋์ด. ๋ง์ด๋์ค ๊ฐ์ '๋ง๋ฃ๋์ง ์์'์ ๋ปํจ
UpdateServiceBindingTx
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
DefinitionHash ([]byte)
: ์๋น์ค ์ ๊ณต์๊ฐ ๋ฐ์ธ๋ฉ ํ ์๋น์ค ์ ์์ ํด์๊ฐ -
ChainID (string)
: ์๋น์ค ์ ๊ณต์๊ฐ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ ID -
ProviderAddress ([]byte)
: ์๋น์ค ์ ๊ณต์์ ๋ธ๋ก์ฒด์ธ ์ฃผ์ -
ChangeSet (string)
: ํน์ ๋ฐ์ธ๋ฉ์DefinitionHash
,ChainID
,ProviderAddress
๊ฐ์ ๋ณ๊ฒฝ์ ์ฒด๊ณ์ ์ผ๋ก ๋์ดํ ๊ฐ
์๋น์ค ์ ๊ณต์๋ ServicePricing
,ServiceLevel
๊ทธ๋ฆฌ๊ณ BindingExpiration
์ ๊ฐ์ ์ธ์ ๋ ๋ณ๊ฒฝํ ์ ์๋ค. ํ์ง๋ง ServiceLevel
๊ณผ BindingExpiration
๊ฐ์ ๋ฐ๊ฟ ๊ฒฝ์ฐ ์๋์ ์์น๊ธ์ด BindingExpirationUpdateSlash
์ServiceLevelUpdateSlash
์ ๋ก์ง์ ๋ฐ๋ผ ์ฌ๋์ฑ ๋ ์ ์๋ค. ๋ง์ฝ BindingExpiration
์ ๋ธ๋ก ๋์ด ๊ฐ์ด ํ์ฌ ๋ธ๋ก ๋์ด๋ณด๋ค ๋ฎ๊ฒ ์ค์ ๋ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ธ๋ฉ์ ์ฆ์ ๋ฌดํจ์ฒ๋ฆฌ๋๋ค.
ProviderDeposit
๊ฐ์ ๋ณ๊ฒฝ์ ์ธ์ ๋ ํ์ฌ ์์น๊ธ์ ์์น๊ธ์ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ค. ๋ง์ฝ ์์น๊ธ์ด MinProviderDeposit
๊ฐ ๋ณด๋ค ๋ฎ์์ง ๊ฒฝ์ฐ, ๋ชจ๋ ๋ฐ์ธ๋ฉ ํ์๋ ์ต์ ์์น๊ธ ๊ฐ์ ๋์ ๋๊น์ง ๋นํ์ฑํ๋๋ค. ๋ง์ฝ ํน์ ๋ฐ์ธ๋ฉ์ด ๋ฌดํจ์ฒ๋ฆฌ๋์๊ฑฐ๋ ๋ง๋ฃ๋ ๊ฒฝ์ฐ, ์๋น์ค ์ ๊ณต์๋ ๋ณธ์ธ์ ์์น๊ธ์ ์๋์ผ๋ก ๋๋ ค๋ฐ๊ฒ ๋๋ค.
BindingType
๋ Local
๊ฐ์์ Global
๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์์ง๋ง, ๋ฐ๋๋ก Global
์์ Local
๋ก ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๋ง์ฝ ์๋น์ค ์ ๊ณต์๊ฐ ๋ณธ์ธ์ ๋ฐ์ธ๋ฉ์ Global
์์ Local
๋ก ๋ณ๊ฒฝ์ ์ํ๋ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ธ๋ฉ์ ์ฐ์ ๋ฌดํจ์ฒ๋ฆฌ ํ ํ ์๋ก์ด Local
๋ฐ์ธ๋ฉ์ ์์ฑํด์ผ ํ๋ค.
ProviderAdress
๊ฐ์ ๋ณ๊ฒฝ๋ ์ ์๋ค. ๋ง์ฝ ์๋น์ค ์ ๊ณต์๊ฐ ํน์ ๋ฐ์ธ๋ฉ์ ์๋ก์ด ์ฃผ์๋ก ์ด๋ํด์ผ ํ๋ ๊ฒฝ์ฐ, ๊ธฐ์กด ๋ฐ์ธ๋ฉ์ ๋ฌดํจ์ฒ๋ฆฌํ ํ ๋ณ๊ฒฝ๋ ProviderAddress
๊ฐ์ด ์
๋ ฅ๋ ์๋ก์ด ๋ฐ์ธ๋ฉ์ ์์ฑํด์ผ ํ๋ค.
์ ํ๋ฆฌ์ผ์ด์
์ด ์ ๋ ๊ฐ์ ํธ๋์ญ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉด, ServiceBinding
์ค๋ธ์ ํธ๊ฐ ์์ฑ/๋ณ๊ฒฝ๋๋ค.
ServiceBinding
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
DefinitionHash ([]byte)
-
ChainID (string)
-
ProviderAddress ([]byte)
-
ServiceLevel (string)
-
ServicePricing (string)
-
BindingExpiration (int64)
-
IsValid (enum)
:True
๋๋False
์๋น์ค ์์ฒญ(Service Invocation)
์๋น์์ ์๋น์ค ์ ๊ณต์๋ ์๋ก ์๋ํฌ์ธํธ๋ฅผ ํตํด ์ํตํ๋ค. ์๋ํฌ์ธํธ๋ ์์ฒญ ํ ์ด๋ธ(request table) ๊ณผ ์๋ต ํ ์ด๋ธ(response table) ํํ๋ก ์กด์ฌํ๋ค. ๋ชจ๋ ์๋น์ค ์์ฒญ์ ์์ฒญ ํ ์ด๋ธ์ ํฉ์ฐ๋๋ฉฐ, ์๋น์ค ์ ๊ณต์๋ค์ ์ด ํ ์ด๋ธ์ ๋ชจ๋ํฐ๋ง ํ ์ ์๋ค. ์๋น์ค ์ ๊ณต์๋ ์์ฒญ ํ ์ด๋ธ์ ์ฌ๋ผ์จ ์๋น์ค ์์ฒญ ์ค ๋ณธ์ธ์ด ๋์์ธ ๊ฒ์ ์ฒ๋ฆฌํ๊ณ , ์ดํ ๊ฒฐ๊ณผ(๋๋ ์๋ฌ)๋ฅผ ์๋ต ํ ์ด๋ธ์ ํฉ์ฐํ๋ค. ์๋น์๋ ์ด ์๋ต ํ ์ด๋ธ์ ๋ชจ๋ํฐ๋งํ๋ค.
Multicast
์๋น์ค์ ๊ฒฝ์ฐ, ๋ชจ๋ ๋ฐ์ธ๋ฉ์ ํ๋์ ์์ฒญ ํ
์ด๋ธ์ ๊ณต์ ํ๋ค. Unicast
์๋น์ค์ ๊ฒฝ์ฐ ๊ฐ ๋ฐ์ธ๋ฉ ๋ณ๋ก ์๋ก์ด ์์ฒญ ํ
์ด๋ธ์ด ์์ฐ๋๊ณ ์ ์ง๋๋ฉฐ, ๊ฐ ์๋น์ ๋ณ๋ก ๋ค๋ฅธ ์๋ต ํ
์ด๋ธ์ด ์์ฑ๋๊ณ ์ ์ง๋๋ค.
ServiceRequest
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
ChainID (string)
: ์๋น์ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ ID -
ConsumerAddress ([]byte)
: ์๋น์์ ๋ธ๋ก์ฒด์ธ ์ฃผ์ -
DefinitionHash ([]byte)
: ์๋น์ค ์ ์์ ํด์ฌ๊ฐ -
MethodID (int)
: ํธ์ถํ๋ ๋ฉ์๋์ ID -
InputValue (string)
: ๊ตฌ์กฐํ๋ ์ธํ ๊ฐ -
BindingHash ([]byte)
: ํ๊ฒ ๋ฐ์ธ๋ฉ์ ํด์ฌ ๊ฐ (Unicast
์ธ ๊ฒฝ์ฐ ํด๋น๋จ) ์ ํ ์ฌํญ -
MaxServiceFee (int64)
: ํน์ Multicast
์์ฒญ์ ๋ํด์ ์๋น์๊ฐ ์ง๋ถ ํ ์์ฌ๊ฐ ์๋ ์ต๋ ์์๋ฃ ๊ฐ ์ ํ ์ฌํญ -
Timeout (int)
: ์๋น์๊ฐ ์ ์ํ ์ต๋ ์๋ต ๋๊ธฐ ๊ธฐ๊ฐ(๋ธ๋ก ์๋ก ๊ณ์ฐ)
PostServiceRequestTx
ํธ๋์ญ์
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค:
-
Requests ([]ServiceRequest)
: ๊ฒ์ํ ์๋น์ค ์์ฒญ -
RequestDeposits ([]int64)
: ์๋น์๊ฐ ๊ฐ ์์ฒญ๋ง๋ค ์์นํด์ผ ํ๋ ์์น๊ธ(IRIS ํ ํฐ์ผ๋ก ๊ณ์ฐ). ์ด ๊ฐ์MinRequestDeposit
์ ์ ์๋์ด์๋ ๊ฐ ๋ณด๋ค ๋์์ผ ํ๋ค. ์ด ์์ฒญ ์์น๊ธ(request deposit)์ ์๋น์ค๋ฅผ ์ ๊ณต๋ฐ์ ์๋น์๊ฐ ํด๋น ์ฌ์ค์ ํ์ธํ๋ ๊ฒ์ ์ฅ๋ คํ๊ธฐ ์ํด ์กด์ฌํ๋ค (ConfirmServiceResponseTx
์ฐธ๊ณ )
์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ ์๋น์ ์์ฒญ์ ChainID
์ ConsumerAddress
, ๋ฐ์ธ๋ฉ ํ์ผ์ ์ ํจ์ฑ, ์์น๊ธ ์ถฉ์กฑ ์ฌ๋ถ, ์๋น์ ์๊ณ ๊ฐ ํด๋น ์๋น์ค ์์น๊ธ๊ณผ ์์๋ฃ๋ฅผ ์ง๋ถํ ์ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ํธ๋์ญ์
์ ์์ฒญ(request) ์๊ฐ MaxRequestPostBatch
์ ์ ์๋ ๊ฐ ๋ณด๋ค ๋ฎ์์ง ๊ฒ์ฆํ๋ค.
์๋น์ค ์์ฒญ์ด ๊ฒ์ฆ๋ ํ ์์ฒญ ํ
์ด๋ธ์ ๊ฒ์๋๋ค. ์ด๋ ์์๋ฃ(Multicast
์์ฒญ์ ๊ฒฝ์ฐ MaxServiceFee
)๋ ์๋น์ ์๊ณ ์์ ๊ณต์ ๋๊ณ ์์คํฌ๋ก์ ๋ณด๊ด๋๋ค.
GetServiceRequest
์ฟผ๋ฆฌ(query)๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
DefinitionHash ([]byte)
: ์๋น์ค ์ ์์ ํด์ฌ๊ฐ -
BindingHash ([]byte)
: ํน์ ์๋น์ค ๋ฐ์ธ๋ฉ์ ์ ๊ณตํ๋ ์๋น์ค ์ ๊ณต์์ ํด์ฌ๊ฐ. ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋น ๋ฐ์ธ๋ฉ์ ์ ํจ์ฑ์ ํ์ธํ๊ณ ์์ฒญ ๊ฐ์ด ์๋น์ค ์ ๊ณต์์ChainID
์ProviderAddress
์ ์ผ์นํ๋์ง ํ์ธํ๋ค. -
BeginHeight (uint64)
: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋น์ค ์ ๊ณต์์๊ฒ ์์ฒญ(request)์ ์ ๋ฌํ๊ธฐ ์์ํ๋ ๋ธ๋ก ๋์ด.BatchSize
์MaxRequestBatch
์ ๊ฐ ์ค ์์ ์ซ์๋ก ์ฒ๋ฆฌ๋๋ค. -
BatchSize (int)
: ์ต๋ ์์ฒญ ์๋ต ์
ServiceResponse
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
RequestHash ([]byte)
: ๋งค์นญ ๋ ์์ฒญ์ ํด์ฌ๊ฐ -
BindingHash ([]byte)
: ์ ๊ณต์ ์๋น์ค ๋ฐ์ธ๋ฉ์ ํด์ฌ๊ฐ -
OutputValue ([]byte)
: ๊ตฌ์กฐํ๋ ์์ํ ๊ฒฐ๊ณผ(output result). (์ํฉ์ ๋ฐ๋ผ ์ํธํ๋ ์ ์๋ค) ์ ํ ์ฌํญ -
ErrorMsg (string)
: ๊ตฌ์กฐํ๋ ์๋ฌ ๋ฉ์์ง ์ ํ ์ฌํญ
PostServiceResponseTx
ํธ๋์ญ์
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
Responses ([]ServiceResponse)
: ์๋ต ํ ์ด๋ธ์ ๊ฒ์ํ ์๋น์ค ์๋ต
์ ํ๋ฆฌ์ผ์ด์
์ ๋ชจ๋ ์๋ต์ ChainID
์ ProviderAddress
๊ฐ ์๋น์ค ์ ๊ณต์์ ์ ๋ณด์ ์ผ์นํ๋์ง ๊ทธ๋ฆฌ๊ณ ํธ๋์ญ์
์ ์๋ต์๊ฐ MaxResponsePostBatch
์ ๊ฐ ๋ณด๋ค ๋ฎ์์ง ๊ฒ์ฆํ๋ค. ๊ฒ์ฆ๋ ์์ฒญ์ ์๋น์์๊ฒ ์ ๋ฌ๋๊ธฐ ์ํด ์๋ต ํ
์ด๋ธ์ ๊ฒ์๋๋ค.
GetServiceResponse
์ฟผ๋ฆฌ(Query)๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
RequestHash ([]byte)
: ๊ธฐ์กด ์์ฒญ(original request)์ ํด์ฌ๊ฐ. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฟผ๋ฆฌ ์์ฒญ์๊ฐ ๊ธฐ์กด ์์ฒญ์ChainID
์ConsumerAddress
๊ฐ ๋์ผํ์ง ๊ฒ์ฆํ๋ค. -
BeginHeight (uint64)
: ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋น์์๊ฒ ์์ฒญ(request)์ ์ ๋ฌํ๊ธฐ ์์ํ๋ ๋ธ๋ก ๋์ด.BatchSize
์MaxResponseGetBatch
๊ฐ ์ค ์์ ์ซ์๋ก ์ฒ๋ฆฌ๋๋ค. -
BatchSize (int)
: ์ต๋ ์์ฒญ ์๋ต ์
ConfirmServiceResponseTx
ํธ๋์ญ์
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
ResponseHash ([][]byte)
: ํ์ธํ ์์ฒญ(response)์ ํด์ฌ๊ฐ
์ ํ๋ฆฌ์ผ์ด์
์ ConfirmServiceResponseTx
๋ฅผ ์์ฒญํ ์ ์ ๊ฐ ํ์ธ ๋์ ์์ฒญ(response)์ ์์ฑํ ์ ์ ์ธ์ง ํ์ธํ๋ฉฐ, ํธ๋์ญ์
์ ์์ฒญ ์๊ฐ MaxResponseConfirmBatch
์ ๊ฐ ๋ณด๋ค ๋ฎ์ ์ง๋ฅผ ๊ฒ์ฆํ๋ค.
Timeout
์ ์ง์ ๋ ๊ฐ ๋ฐ(Multicast
์์ฒญ์ ๊ฒฝ์ฐ ์ถ๊ฐ์ ์ธ ์์ฒญ์ด ๋ค์ด์ค๋ฉฐ MaxServiceFee
๊ฐ ์์ง๋ ๊ฒฝ์ฐ)์ ์์ฒญ์ ์ ํ๋ฆฌ์ผ์ด์
์ด ๊ฑฐ์ ํ๋ค. Unicast
์์ฒญ์ ๋ฐ์ ์๋น์๋ ์์ฒญ์ ๋ฐ์ ์ฆ์ ์ฒ๋ฆฌ๋ฅผ ์์ํ๋ค. ๋ฐ๋ฉด, Multicast
์ ๊ฒฝ์ฐ ์๋น์๋ ์ ๋ฌ๋ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ ์ Timeout
๊ธฐ๊ฐ์ด ๋ง๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค.
์๋น์๊ฐ Unicast
์์ฒญ์ ํ์ธํ๋ ๊ฒฝ์ฐ, ์๋น์ค ๋น์ฉ์ ์๋์ ์์๋ฃ(ํด๋น ์์๋ฃ๋ ServiceFeeTaxRate
์์ ์ ์๋๋ค)๋ฅผ ๊ณต์ ํ ํ ์์คํฌ๋ก์์ ํ๋ ค ์์คํ
๋ฆฌ์ ๋ธ(system reserve) ์ ์ถ๊ฐ๋๋ค. ํด๋น ์์ฒญ์ ์ฐ๊ด์ด ์๋ ์์น๊ธ์ ์๋น์์๊ฒ ๋ฐ๋ฉ๋๋ค.
๋ฐ๋ฉด Multicast
์ ๊ฒฝ์ฐ๋ ์กฐ๊ธ ๋ ์ํฉ์ด ๋ณต์กํ๋ค. ํน์ ์์ฒญ์ด ํ์ธ๋ ๊ฒฝ์ฐ, MaxServiceFee
์ ํด๋น ์์ฒญ์ ๋ํ ์๋น์ค ๋น์ฉ์ ๋น๋กํ๋ ์์น๊ธ์ ์ผ๋ถ๋ง ์๋น์์๊ฒ ๋ฐ๋ฉ๋๋ค. ๋ง์ฝ ๋ชจ๋ ์์ฒญ์ด ํ์ธ๋๋ค๋ฉด ์์คํฌ๋ก์ ๋ณด๊ด๋์ด์๋ ์๊ณ ๊ฐ ์๋น์์๊ฒ ๋ฐ๋ฉ๋๋ค.
๋ง์ฝ ์์ฒญ์ด ํน์ ์๋ต ์์ด ๊พธ์คํ ํ์์์(timeout)์ ํ๋ค๋ฉด, ์ ํ๋ฆฌ์ผ์ด์
์ ์์คํฌ๋ก์ ๋จ์์๋ ์๊ณ ์ ์์ฒญ ์์น๊ธ์ ์ ๋ถ ์๋น์์๊ฒ ๋๋ ค์ค๋ค. ํ์ง๋ง ๋ง์ฝ ์๋น์๊ฐ ํน์ ์๋ต์ ์ง์ ๋(ResponseConfirmTimeout
+ ์๋ต ์ ์ก ๋น์์ ๋ธ๋ก์ฒด์ธ ๋์ด๋ฅผ ๋ํ ๊ฐ) ๊ธฐ๊ฐ ์์ ํ์ธํ์ง ์๋๋ค๋ฉด ResponseConfirmDelayPenaltyRate
์ ๋ช
์๋ ์๋์ ๋ฒ๊ธ์ ์ง๋ถํ๊ฒ ๋๋ค. ๋ฒ๊ธ์ ์ ์ธํ ์์น๊ธ์ ์๋น์์๊ฒ ํ๋ถ๋๊ณ , ๊ด๋ จ ์๋น์ค ๋น์ฉ์ ์๋น์ค ์ ๊ณต์์๊ฒ ์ ์์ ์ผ๋ก ์ง๊ธ๋๋ค.
๋ถ์ ํด๊ฒฐ
๋ง์ฝ ํน์ ์๋น์๊ฐ ์๋น์ค ์๋ต์ ๋ํ ๋ถ๋ง์ด ์์ ๊ฒฝ์ฐ, ์๋น์๋ ์ค์ํ ๋ ๊ธฐ๊ด ๋๋ ๋ฒ์ ์์คํ ์ ์์กดํ์ง ์๊ณ ๋ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ๊ณ ํด๋น ๋ฌธ์ ์ ๋ํ ํ๋นํ ์๋๋ฅผ ๋ฐ์ ๋ฉ์ปค๋์ฆ์ด ํ์ํ๋ค. ์ด๋ฐ ๋ถ์ ํด๊ฒฐ ๋ฉ์ปค๋์ฆ์์ ์ฃผ๊ด์ ์ธ ํ๋จ์ด ์์ ๊ฒฝ์ฐ ์ ์ฉ๋ ํ๋ฅ ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ๊ด์ ์ธ ํ๋จ์ ๊ธฐ๋ฐ์ผ๋ก ํด๊ฒฐ์ ํด์ผ ํ ํ์๊ฐ ์๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ๋ถ์ ํด๊ฒฐ ์ ์ฐจ๋ ์๋น์ค ์์ฒญ(service invocation) ์ ์ฐจ์ ์ ์ฌํ ํํ๋ฅผ ๊ฐ์ง๋ค. ๋ค๋ง ๊ธฐ์กด ์๋น์ค ์์ฒญ ์ ์ฐจ์ ๋ฌ๋ฆฌ ์๋น์๋ ์๋น์ค ์ ๊ณต์์๊ฒ Complaint
๋ฅผ ๋ณด๋ด๊ณ , ์๋น์ค ์ ๊ณต์๋ Resolution
์ผ๋ก ์๋ตํ๋ค. ๋ถ์ํด๊ฒฐ ์ ์ฐจ์ ์ธํฐ๋์
์ ์ปดํ๋ ์ธ ํ
์ด๋ธ(complaint table) ๊ณผ ํด๊ฒฐ์ฑ
ํ
์ด๋ธ(resolution table) ์ด๋ผ๋ ๊ธ๋ก๋ฒ ์๋ํฌ์ธํธ(endpoint)๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค.
ํ์ฌ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ๋์์ธ์ ๋ฐ๋ฅด๋ฉด, ์๋น์๋ ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ ๋ ์ผ์ ์ ์์น๊ธ์ ์ ๊ธํด์ผ ํ๋ค. ์๋น์๊ฐ ์๋น์ค ์ ๊ณต์๊ฐ ์๋ตํ ํด๊ฒฐ์ฑ ์ ํ์ธํ์ง ์๋ ๊ฒฝ์ฐ, ํด๋น ์์น๊ธ์ ์ผ๋ถ๋ ๋ฒ๊ธ์ผ๋ก ๊ณผ๊ธ๋๋ค. ์ด๋ ์๋น์๊ฐ ์๋ต์ด ์๋ฃ๋ ํด๊ฒฐ์ฑ ์ ํ์ธ(confirm) ํ์ง ์๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค. ์ง์ ๋ ๊ธฐ๊ฐ ๋ด์ ์๋น์์ ๋ฌธ์ ์ ๋ํด ์๋ตํ์ง ์๋ ์๋น์ค ์ ๊ณต์ ๋ํ ์์ ๋น์ทํ๊ฒ ์ฌ๋์ฑ์ ๋นํ ์ ์๋ค.
Complaint
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
ResponseHash ([]byte)
: ๋ถ์ ๋์์ธ ์๋ต(response)์ ํด์ฌ๊ฐ -
Problem (string)
: ์๋น์ค ์ ๊ณต์์ ์๋ต์ ๋ํ ๋ถ๋ง์ ์ค๋ช -
PreferredDisposal (enum)
:Refund
๋๋Redo
Resolution
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
ComplaintHash ([]byte)
: ์๋ตํ๋ ๋ถ์Complaint
์ ํด์ฌ๊ฐ -
Disposal (enum)
:Refund
๋๋Redo
-
Refund (uint64)
: ํ๋ถํ ์๋น์ค ๋น์ฉ์ ๊ฐ ์ ํ ์ฌํญ -
OutputValue ([]byte)
: ๊ตฌ์กฐํ๋ ์์ํ ๊ฒฐ๊ณผ(output result). (์ํฉ์ ๋ฐ๋ผ ์ํธํ๋ ์ ์๋ค) ์ ํ ์ฌํญ
์์ ์ค๋ช ๋ ๋ถ์ ํด๊ฒฐ ์ ์ฐจ๋ ๋ฒ์ ์ ํจ์ฑ์ ๊ฐ์ง์ง ์์ ์ ์๋ค. ํ์ง๋ง ์์ด๋ฆฌ์ค๋ ์ด๋ฐ ์ ์ฐจ๊ฐ ๊ฐ์ฅ ํํ ๋ถ์์ ๋ํ ํด๊ฒฐ์ฑ ์ ์ ์ํ ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
์๋น์ค ํ๋กํ์ผ๋ง
iService ์ํ๊ณ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ์๋ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ๋ค์ด ์๋ค. ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ค ํ๋๋ ์๋น์๋ค์ด ์ ํฉํ ์๋น์ค ์ ๊ณต์๋ฅผ ์ฐพ๋ ๊ฒ์ด๋ค. ์๋น์๋ ์๋น์ค๋ฅผ ์ ํํ๊ธฐ ์ํด์ ์๋น์ค ์ ๊ณต์๋ค์ ์ฑ๋ฅ ์งํ๋ฅผ ์ํ์ง๋ง, ์๋น์ ์ฌ์ฉ๋ฅ ์ด ์ ์กฐํ ๊ฒฝ์ฐ ์๋น์ค ์ ๊ณต์์ ๋ํ ๋ฐ์ดํฐ ๋ถ์กฑ์ผ๋ก ์ฑ๋ฅ ์งํ๊ฐ ์ ๊ณต๋ ์ ์์ ์ ์๋ค.
์ด๋ฐ ์ํ ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๋์์, ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ํน์ ์์ ๊ถํ์ ๋ณด์ ํ ์์คํ ์ ์ ๋ฅผ ํตํด ํ๋กํ์ผ๋ง ๋ฉ์ปค๋์ฆ์ ์๊ฐํ๋ ค ํ๋ค. ํ๋กํ์ผ๋ฌ(Profiler) ๋ ํน์ ๊ธฐ๊ฐ๋ง๋ค ํ์ฑํ๋ ๋ชจ๋ ์๋น์ค์ ์์ฒญ์ ํ๊ณ ๊ด๋ จ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๋ค. ํ๋กํ์ผ๋ฌ๋ ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ํ ๋๋ก ์๋น์ค ์ ๊ณต์์ ๋ํ ๊ฐ๊ด์ ์ธ ์ฑ๋ฅ ์งํ(์๋ต ์๋, ์ฌ์ฉ ๊ฐ๋ฅ์ฑ(availability), ๋ถ์ ์ฒ๋ฆฌ ๋ฑ)๋ฅผ ์๋น์์๊ฒ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค.
์๋น์์ ์๋น์ค ์์ฒญ๊ณผ๋ ๋ฌ๋ฆฌ, ์๋น์ค ํ๋กํ์ผ๋ง ์์ฒญ์ ์๋น์ค ๋น์ฉ๊ณผ ์์น๊ธ์์ ๋ฉด์ ๋์ง๋ง ๋คํธ์ํฌ ์ฌ์ฉ๋ฃ๋ ์ง๋ถํด์ผ ํ๋ค. ์ด๋ฐ ํ๋กํ์ผ๋ง ์์ฒญ์ ์ง์ ๋ ํน์ ์ฃผ์์์๋ง ๋ฐ์ํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฅผ ์ธ์งํ์ฌ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
ํ๋กํ์ผ๋ง ํ๋์ ์ ๊ท ์๋น์ค์ ๋ํด์ ๊ท์น์ ์ด๊ฒ ๋ฐ์ํ๋ฉฐ, ์ดํ ์๋น์ ์ฌ์ฉ๋ฅ ์ด ๋์์ง๋ ์๋น์ค๋ ์ค์ ์๋น์ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ์ฑ๋ฅ ์งํ๋ฅผ ์ ๊ณตํ์ฌ ํ๋กํ์ผ๋ง ํ๋์ด ์ค์ด๋ค๊ฒ ํ๋ค.
ํ๋กํ์ผ๋ง ํ๋์์ ๋ฐ์ํ๋ ๋คํธ์ํฌ ์์๋ฃ(transaction fees)๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์คํ ์ ์์น๊ธ์์ ์ง๊ธ๋๋ฉฐ, ์ถํ ํ์์ ๋ฐ๋ผ ์ฌ๋จ์ด ๊ฐ์ ํ ์ ์๋ค.
์ฟผ๋ฆฌ(Query)
์๋จ์ ์ค๋ช
๋ ๋ชจ๋ ์๋น์ค๋ ABCI์ ์ฟผ๋ฆฌ ์ธํฐํ์ด์ค(query interface)[3]๋ฅผ ํตํด ์์ฒญ๋ ์ ์๋ค. ์ด๋ฐ ์ฟผ๋ฆฌ๋ค์ ์ฟผ๋ฆฌ ์ฐ๊ฒฐ(Query connection) ์ ํตํด์ ์ด๋ฃจ์ด์ง๋ฉฐ, ํฉ์ ํ๋ก์ธ์ค์ ์ฐธ๊ฐํ์ง ์๋๋ค. ์๋จ์ GetServiceRequest
๊ณผ GetServiceResponse
๊ฐ์ ์ฟผ๋ฆฌ๋ค์ด ์๋ํ๋์ง ์ค๋ช
๋์ด์๋ค.
๋ค์์ (ํฌ๊ด์ ์ด์ง ์์) ์ฟผ๋ฆฌ๋ค์ ๋ํ ์์ฝ์ด๋ค Below is a non-exhaustive summary of our currently planned queries:
์๋น์ค ์ค๋ธ์ ํธ(Service object)
์ค๋ธ์ ํธ | ํํ ์ด์ฉ๋๋ ํํฐ | ๊ถํ |
---|---|---|
์๋น์ค ์ ์(service definition) | Name, keywords, source (chain ID), messaging type, with active bindings... | ๋ชจ๋ ๊ฐ๋ฅ |
(ํน์ ์ ์์ ๋ํ) ์๋น์ค ๋ฐ์ธ๋ฉ | Location (local or remote), pricing, service level, expiration... | ๋ชจ๋ ๊ฐ๋ฅ |
์๋น์ค ์์ฒญ(service request) | Service definition and binding, blockchain height, batch size | ์์ฒญ ๊ด๊ณ์ |
์๋น์ค ์๋ต(service response) | Service request, blockchain height, batch size | ์์ฒญ/์๋ต ๊ด๋ จ ์๋น์ |
์ฑ๋ฅ ์งํ
๋ถ์ผ | ์งํ | ๊ถํ |
---|---|---|
์๋น์ค ์ ๊ณต์ (์ฃผ์) | ์๋น์ค ์ ๊ณต ํ์ (๊ณผ๊ฑฐ/ํ์ฌ ์ ๊ณต ์ค), ์๋ต ์๊ฐ (์ต์, ์ต๋, ํ๊ท ), ์ฒ๋ฆฌ๋ ์์ฒญ (๋ก์ปฌ, ์๊ฒฉ), ๋ฏธ์ฒ๋ฆฌ ์์ฒญ , ๋ฐ์ ์ปดํ๋ ์ธ, ๋ฌด์ํ ์ปดํ๋ ์ธ, ... | ๋ชจ๋ ๊ฐ๋ฅ |
์๋น์ค ์ ๊ณต์ (๋ฐ์ธ๋ฉ) | ํ์ฑํ ์๊ฐ, ์๋ต ์๊ฐ (์ต์, ์ต๋, ํ๊ท ), ์ฒ๋ฆฌ๋ ์์ฒญ (๋ก์ปฌ, ์๊ฒฉ), ๋ฏธ์ฒ๋ฆฌ ์์ฒญ, ๋ฐ์ ์ปดํ๋ ์ธ, ๋ฌด์ํ ์ปดํ๋ ์ธ, ... | ๋ชจ๋ ๊ฐ๋ฅ |
์๋น์ | ์๋น์ค ์ด์ฉ ํ์, ์์ฒญ ํ์, ํ์ธํ ์์ฒญ (ํ์ธ ๊ธฐ๊ฐ ๋ด / ํ์ธ ๊ธฐ๊ฐ ์ด๊ณผ), ์์ฒญํ ์ปดํ๋ ์ธ, ํ์ธํ ํด๊ฒฐ์ฑ (resolution), ... | ๋ชจ๋ ๊ฐ๋ฅ |
์๋น์ (์๋น์ค, ๋ฐ์ธ๋ฉ) | ์์ฒญ ํ์, ํ์ธํ ์์ฒญ (ํ์ธ ๊ธฐ๊ฐ ๋ด / ํ์ธ ๊ธฐ๊ฐ ์ด๊ณผ), ์์ฒญํ ์ปดํ๋ ์ธ, ํ์ธํ ํด๊ฒฐ์ฑ (resolution), ... | ๋ชจ๋ ๊ฐ๋ฅ |
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๊ฐ ์ฝ์ค๋ชจ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๊ฐ์ฅ ํฐ ์ฅ์ ์ค ํ๋๋ ์์ฒญ๊ณผ ์ ๊ฐ๊ฐ ์ํ๊ณ ๋ด์ ์๋ '๋ธ๋ก์ฒด์ธ์ ์ธํฐ๋ท'์์ ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค. ์์ด๋ฆฌ์ค์ ๊ณํ์ ๋ค์๊ณผ ๊ฐ๋ค.
-
์๋น์ค ์ ์๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์๋ ๋ชจ๋ ์กด์ ์ ํ๋๋ค;
-
๊ธ๋ก๋ฒ ์๋น์ค ๋ฐ์ธ๋ฉ์ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์๋ ๋ชจ๋ ์กด์ ์ ํ๋๋ค;
-
ํน์ ์๊ฒฉ ์๋น์ค ์ ๊ณต์๊ฐ ๋์์ธ ์๋น์ค ์์ฒญ๊ณผ ์ปดํ๋ ์ธ์ ํด๋น ์๋น์ค ์ ๊ณต์๊ฐ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ผ๋ก ๋ผ์ฐํ ๋๋ค;
-
ํน์ ์๊ฒฉ ์๋น์๊ฐ ๋์์ธ ์๋ต๊ณผ ํด๊ฒฐ์ฑ (resolution)์ ํด๋น ์๋น์๊ฐ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ผ๋ก ๋ผ์ฐํ ๋๋ค;
์ ํ๋ฆฌ์ผ์ด์
์ CreateServiceDefinitionTx
๋ฅผ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์์ ์ด์ ์ฒด์ธ๋ค์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ IBCPacket
์ ์์ฑํ๊ธฐ ์ ์ ServiceDefinition
์ค๋ธ์ ํธ๋ฅผ ๋จผ์ ๊ฒ์ฆํ๊ณ ๋ก์ปฌ ํ๊ฒฝ์ ์ ์ฅํ๋๋ก ์ค๊ณ๋์ด์๋ค.
๊ฐ ์ด์ ์ฒด์ธ์ ๋ฆด๋ ์ด ๊ณผ์ ์์ ํด๋น ํจํท์ด ํฌํจ๋ IBCPacketTx
๋ฅผ ์ ๋ฌ๋ฐ๊ฒ ๋๋ค. ๋ง์ฝ IBCPacketTx
๋ฅผ ์ ๋ฌ๋ฐ์ ์ฒด์ธ์ ์ ๋ฌ๋ฐ์ ์๋น์ค ์ ์๊ฐ ํฌํจ๋์ง ์์ ์ํ์ธ ๊ฒฝ์ฐ, ์์ ์ ์ฒด์ธ์ ์๋ก IBCPacket
์ ์์ฑํด IBCPacketTx
๋ฅผ ์ ๋ฌ๋ฐ์ ์ฒด์ธ์ ์ ์ธํ ๋ค๋ฅธ ์ฒด์ธ์๊ฒ ์๋ก ์์ฑํ IBCPacket
์ ์ ๋ฌํ๋ค. ๋ง์ฝ ์๋น์ค ์ ์๊ฐ ์์ ์ ์ฒด์ธ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ, ์์ ์ ์ฒด์ธ์ ์๋น์ค ์ ์๋ฅผ ์ ํํ์ง ์๋๋ค.
์์ ๋น์ทํ๊ฒ ServiceBinding
์BindingType
์ด Global
๋ก ์ค์ ๋์ด ์์ฑ๋์๊ฑฐ๋ ๊ธฐ์กด Local
์์ Global
๋ก ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ธ๋ฉ์ด ํฌํจ๋ IBCPacket
์ด ๊ฐ ์ด์ ์ฒด์ธ ๋์์ผ๋ก ๋ง๋ค์ด์ง๊ณ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ฅผ ํตํด์ ๋ชจ๋ ์ฒด์ธ์ ์ ํ๋๋ค.
์์ ์ค๋ช
๋ IBCPacket
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
Header (IBCPacketHeader)
: ํจํท ํค๋ -
Payload (ServiceDefinition or ServiceBinding)
: ์๋น์ค ์ ์ ๋๋ ์๋น์ค ๋ฐ์ธ๋ฉ์ ๋ฐ์ดํธ(byte)
IBCPacketHeader
์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค:
-
SrcChainID (string)
: ํด๋น ํจํท์ ์์ฑํ๋ ๋ธ๋ก์ฒด์ธ์ ID -
DstChainID (string)
: ํด๋น ํจํท์ ๋์ฐฉํ ๋ธ๋ก์ฒด์ธ์ ์ด์ ์ฒด์ธ ID -
Number (int)
: ๋ชจ๋ ํจํท์ ๋ํ ๊ณ ์ ๋ฒํธ -
Status (enum)
:NoAck
-
Type (string)
: "iris-service-definition" ๋๋ "iris-service-binding"
ํ๋จ์์๋ ์ธํฐ์ฒด์ธ ์๋น์ค ์์ฒญ์ด ์ด๋ป๊ฒ IBC๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ ์ง์ ๋ํ ์ค๋ช ์ด๋ค.
Unicast
์๋น์ค ์์ฒญ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์
์ ํ๊ฒ ๋ฐ์ธ๋ฉ์ด Local
์ธ์ง ํ์ธ์ ํ๋ค. ๋ง์ฝ Local
์ด ๋ง๋ ๊ฒฝ์ฐ, ServiceRequest
๋ ์๋จ 2.2์ ์์ ์ค๋ช
๋ ์์ฒญ ํ
์ด๋ธ์ ์ถ๊ฐ๊ฐ ๋๋ค. ํ์ง๋ง ๋ง์ฝ Local
์ด ์๋ ๊ฒฝ์ฐ, ServiceRequest
๊ฐ ํฌํจ๋IBCPacket
์ด ๋ณ๋๋ก ์์ฑ๋๋ค.
ServiceRequest
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
Header (IBCPacketHeader)
: ํจํท ํค๋ -
Payload (ServiceRequest)
: ์๋น์ค ์์ฒญ์ ๋ฐ์ดํธ(byte)
์๋จ์ IBCPacketHeader
๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ค:
-
SrcChainID (string)
: ํด๋น ํจํท์ ์์ฑํ๋ ์ฒด์ธ์ ID -
DstChainID (string)
: ์๊ฒฉ ์๋น์ค ์ ๊ณต์๊ฐ ์ฐ๊ฒฐ๋์ด์๋ ๋ธ๋ก์ฒด์ธ์ ID (์์,ServiceRequest.ServiceBinding.ChainID
) -
Number (int)
: ๋ชจ๋ ํจํท์ ๊ณ ์ ๋ฒํธ -
Status (enum)
:AckPending
-
Type (string)
: "iris-service-request" -
MaxHeight (int)
: ํ์ฌ ๋ธ๋ก ๋์ด +ServiceRequest.Timeout
๊ฐ
์๊ฒฉ ์์ฒญ์ด ๋ชฉ์ ์ง ์ฒด์ธ์ ๋์ฐฉํ๋ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์
์ ํ๊ฒ ๋ฐ์ธ๋ฉ์ ์ํด ํด๋น๋๋ ์๋ํฌ์ธํธ(์์ฒญ ํ
์ด๋ธ)์ ํด๋น ์์ฒญ(request) ์ถ๊ฐํ๋ค. ์ด ์๊ฒฉ ์์ฒญ์ ๋ํ ํ์ธ์ IBCPacket
ํํ์ ํ์ธ์๋ฅผ ํตํด ์์ฒญ์ด ์์๋ ์ฒด์ธ์ผ๋ก ๋์๊ฐ ํด๋น ์ฒด์ธ์ ์๋ํฌ์ธํธ(์ฌ๊ธฐ์ ๊ฒฝ์ฐ ์๋ต ํ
์ด๋ธ)์ ์ถ๊ฐ๋์ด ์์ฒญํ ์๋น์์๊ฒ ๋์๊ฐ๋ค.
Multicast
์๋น์ค๋ ๊ธฐ์กด Unicast
์๋น์ค์ ์ด๋ ํํ์ ๋น์ทํ์ง๋ง, ์์ฒญ์ด ์์๋ ์ฒด์ธ์์ 1๊ฐ ์ด์์ IBCPacket
์ด ์์ฑ๋๋ค๋ ์ ์์ ๋ค๋ฅด๋ค.
์๊ฒฉ ์ปดํ๋ ์ธ(complaint)๊ณผ ํด๊ฒฐ์ฑ (resolution)์ ๊ธฐ์กด ์์ฒญ-์๋ต ํํ์ ๋์ผํ๊ธฐ ๋๋ฌธ์ ์ค๋ช ์ ์๋ตํ๋ค.
๋ค์์ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์
-์์กด(application-dependent) IBCPacket
์ข
๋ฅ๋ค:
์ข ๋ฅ | iService ์ค๋ธ์ ํธ |
---|---|
"iris-service-definition" | ์๋น์ค ์ ์(ServiceDefinition) |
"iris-service-binding" | ์๋น์ค ๋ฐ์ธ๋ฉ(ServiceBinding) |
"iris-service-request" | ์๋น์ค ์์ฒญ(ServiceRequest) |
"iris-service-response" | ์๋น์ค ์๋ต(ServiceResponse) |
"iris-complaint" | ์ปดํ๋ ์ธ(Complaint) |
"iris-resolution" | ํด๊ฒฐ์ฑ (Resolution) |
๋ค์ ๋ถ๋ถ์์๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ด์ฉ ์ฌ๋ก์ ๋ํด์ ์ค๋ช ํ๋ค.
์ฐ๋ฆฌ๊ฐ ์ฌ๊ธฐ์ ์ ์ํ๋ ์๋น์ค๋ ์ํ์ด ๊ธฐ๋ฐ ์คํํธ์
Bianjie AI๊ฐ ํ๋กํ ํ์ดํ์ ์งํํ ์๋น์ค ์ธํ๋ผ๋ค. ํ์ฌ Bianjie AI๋ ์ด ์๋น์ค๋ฅผ BEAN (Blockchain Edge Analytics Network)
์ ์์ฉํ์ฌ ๋ถ์ ๋ชจ๋ธ์ ์ํ ๋ฐ์ดํฐ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํ๋ค. ๋์ข
์ ์ํธํ(homomorphic encryption)๋ ์ํธํ๋ ๋ฐ์ดํฐ์ ๋ํ ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐฉ๋ฒ ์ค ํ๋์ด์ง๋ง, ๋๋ฆฐ ์๋ ๋๋ฌธ์ ํ์ค์ ์ธ ๋จธ์ ๋ฌ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์ ํ๊ณ๊ฐ ์๋ค.
BEAN์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์กฐ๊ธ ๋ค๋ฅธ ํ์์ผ๋ก ํ์ด๋๊ฐ๊ธฐ ์ํด ๋ง๋ค์ด์ก๋ค. BEAN์ ๊ธฐ์กด ๋ถ์ฐํ AI ์ฐ๊ตฌ ์๋ฃ[14]๊ฐ ์ ์ํ๋ ๋ชจ๋ธ ํํํ(model parallelism)์ ์๋น์ค ์งํฅ ์ํคํ ์ฒ(SOA) ๋์์ธ์ ๊ฒฐํฉํ์ฌ ๋ถ์ฐํ ๋ถ์ ์๋น์ค๋ฅผ ๋ธ๋ก์ฒด์ธ ์์ ๊ณ์ธต์ผ๋ก ๋์ ํ๋ ๋ฐฉ์์ด๋ค.
๋ฐ์ดํฐ ์ ๊ทผ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ ๋ถ๋ถ์์ ์ด์ฉ๋๋ (๋ถ๋ถ์ ) ๋ชจ๋ธ์ ์คํ์์คํ ๋์ด ํน์ ์๋น์ค ์ ์๋ก ์๋น์์๊ฒ ์ ๊ณต๋์ด์ผ ํ๋ค. ์๋น์๋ ๋ถ๋ถ์ ๋ชจ๋ธ์๋ง ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ชจ๋ธ ๊ฐ๋ฐ์๋ ๋๊ตฐ๊ฐ ๋ณธ์ธ๋ค์ ๋ถ์ ๋ชจ๋ธ์ ๋์ฉํ ์ ์๋ค๋ ๊ฑฑ์ ์ ํ ํ์๊ฐ ์๊ฒ ๋๋ค. ์ด์ ๋์ผํ๊ฒ ๋ฐ์ดํฐ ์ ๊ณต์๋ ๋ณธ์ธ๋ค์ ์์ ๊ถ์ ๋ ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ ๊ทผ์ฑ์ ๊ด๋ฆฌํ๊ธฐ ์์ํด์ง๋ค.
์ด ์ธ์ ์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค:
- ํ๋ผ๋ฉํธ๋ฆญ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ถ๋ง ๋ธ๋ก์ฒด์ธ์์ ๊ตํ๋๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ํฅ์์ ๋์์ ์ค ์ ์๋ค
- ๋ฐ์ดํฐ ์ฌ์ฉ ๊ฐ์ฌ(audit) ์ค์ฉ์ ์ด๋ค (์๋ฃ ๋ถ์ผ์์ ํ์ํ ๋ถ๋ถ ์ค ํ๋)
์๋ฃ ๋ฐ์ดํฐ์์ ํ๋ผ์ด๋ฒ์๋ ๊ฐ์ฅ ์ค์ํ ๊ฒ ์ค์ ํ๋์ด๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ์๋ง์ ํ์ ๋ณด์ ์์๋ค์ด ์ ์ฉ๋์ด์๋ค. ์ด๋ฐ ๋ณด์์ ์์ ๋๋ฌธ์ ์๋ฃ๊ธฐ๊ด ๊ฐ์ ํ๋ ฅ(๋ณ์ ๊ฐ ์ง๋ฃ ๊ธฐ๋ก ๊ณต์ , ๋ค๊ธฐ๊ด ์์์คํ ์ฐธ์ฌ์ ์๋ฃ ๊ณต์ , ๋ณดํ ์ฒญ๊ตฌ ์๋ํ)์ ์ํด ์๋ฃ ์ ๋ณด ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ด ์ฝ์ง๊ฐ ์๋ค. ์ด ์๋ฃ ๋ฐ์ดํฐ ์๋น์ค ๊ณ์ธต์ ์ต์ ๊ธฐ๋ฅ ์ ํ(MVP, Minimum Viable Product)์ Ethermint
๋ฅผ ์ด์ฉํด ๋ค์์ ๋ณ์, ๋ณดํ ํ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ ๋ถ์ ํ์ฌ๋ฅผ ์๋ฃ ๋ฐ์ดํฐ์ ํ๋ผ์ด๋ฒ์๋ฅผ ๋ณด์กดํ๋ฉด์ ์ฐ๊ฒฐํ ์ ์๋๋ก ํ๋ค. ์จ์ฒด์ธ ์๋น์ค ๋ฑ๋ก๊ณผ ํธ์ถ(invocation)์ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ด์ฉํด ๋ ์ ์๋ค.
์ด๋ฐ ์๋น์ค ๊ณ์ธต์ ์ด์ฉํ ์คํ์ฒด์ธ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์์ ์ค ํ๋๋ '์ง๋จ ๊ด๋ จ ๊ทธ๋ฃน(DRG, Diagnosis Related Group)' ๋ถ์ ์๋น์ค์ด๋ค. ์๋ฅผ ๋ค์ด, ํน์ ๋ณ์์ด DRG ์๋น์ค๋ฅผ ํธ์ถํ๊ฒ ๋๋ฉด, ์์ฒญ๋ ์๋ฃ์ ๋ณด๋ ์๋น์ค ์ ๊ณต์๊ฐ ์ ๊ณตํ ์๋น์ NLP ํด๋ผ์ธ์ธํธ(์๋ฅผ ๋ค์ด SQL/ํ์ด์ฌ ๊ธฐ๋ฐ NLP)๋ฅผ ํตํด ํ์ํ ๋ถ๋ถ๋ง ์ ๋ฌ์ด ๋ ์ ์๋ค. ์ ๋ฌ๋๋ DRG ๋ฐ์ดํฐ๋ ์๋น์ค ์ ๊ณต์์ ์์น์ ๋ฐ๋ผ ์คํ์ฒด์ธ์์ ์ฒ๋ฆฌ๊ฐ ๋ ์ ์์ผ๋ฉฐ ๊ฐ์ธ ํ๋ผ์ด๋ฒ์๋ฅผ ๋ณด์กดํ๋ ํํ๋ก ์ฒ๋ฆฌ๋ ์ ์๋ค.
BEAN
์ ๊ฒฝ์ฐ ์์ ์๋ ์ฌ๋ก ์ธ์๋ ๋ถ์ฐํ ๋ถ์(distributed analytics), ์๋น์ค ์ ๊ณต์์ ์๋น์ค ์๋น์์ ์ฐ๊ฒฐ, ์์ ํ ๊ฑฐ๋ ์ฅ๋ถ ๊ธฐ๋ก, ๋ถ์ฐ ์ปดํจํ
๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ด์ฉ๋ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๊ณ ์๋ค.
๋ค์์ AI+๋ธ๋ก์ฒด์ธ ์๋น์ค๋ฅผ ๋ถ์ํ ๊ฒฐ๊ณผ, ๋๋ค์์ ํ๋ก์ ํธ๋ ๋ฐ์ดํฐ ๊ฑฐ๋์์ ๋ถ์ API ๊ฑฐ๋์๋ฅผ ์ ๊ณตํ ๊ฒ์ ์ผ๋ํ๊ณ ์๋ค. IRIS
์ ์ธํ๋ผ์ ๊ฒฝ์ฐ, ๋ฐ์ดํฐ ์๋น๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ ๊ณต์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๊ณ IRIS
์๋น์ค ์ ๊ณต์ SDK๋ฅผ ์ด์ฉํด ๋ํ ๋ถ์ API(wrapping analytics API)๋ฅผ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ค.
IRIS
์ธํ๋ผ๋ฅผ ์ด์ฉํ๋ค๋ฉด ERP
๊ฐ์ ๊ธฐ์กด ์ธ๋ฒคํ ๋ฆฌ ์ ๋ณด๋ฅผ ์ด์ฉํ๊ฑฐ๋ ์ ๋ขฐ๋ ์ ์๋ ๋ฐ์ดํฐ ์์ค์ ์ธํฐ์ฒด์ธ ์ฟผ๋ฆฌ(query)๋ฅผ ํ๋ ๊ฒ์ ๊ธฐ์กด ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์
ํ๊ฒฝ๊ณผ ์ ์ฌํ๊ฒ ๊ตฌ์ถํ ์ ์๋ค. ์ด๋ฐ ํ๊ฒฝ์ ๊ธฐ์กด ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์๋ค์๊ฒ ํฐ ์ฅ์ ์ผ๋ก ์์ฉ๋ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ํ๊ฒฝ์ ์ด์ฉํ๋ค๋ฉด ์๋ง์กด์ด๋ ์๋ฆฌ๋ฐ๋ฐ ๊ฐ์ ๊ธฐ์กด ์ค์ํ ์ ์์๊ฑฐ๋ ์์คํ
๊ณผ ์ ์ฌํ ๋ถ์ฐํ ์ ์์๊ฑฐ๋ ์์คํ
์ ๊ตฌ์ถํ ์ ์์ ๊ฒ์ด๋ค.
๋ค์์ ๋น์ฆ๋์ค ์๋๋ฆฌ์ค๋ฅผ ๊ณ ๋ คํ๋ค๋ฉด ์ปจ์์์ ๋ธ๋ก์ฒด์ธ๊ณผ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ์ ๊ฐ ๊ฐ์ ์ ๊ฒฐํฉํ ํ์ด๋ธ๋ฆฌ๋ ์ํคํ ์ฒ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด ํฐ ๊ฐ์ ์ผ ์ ์๋ค. ์ด๋ฐ ์์คํ ์ ๋์ ์ฑ๋ฅ, ์ฐ์ ๋ณด์ ๊ทธ๋ฆฌ๊ณ ๊ฒฝ์ ์ ์ธ์ผํฐ๋ธ๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ค.
์๋ฅผ ๋ค์ด, ๋ณ์๊ณผ ๋ณดํ์ฌ๋ ๋ค์์ ์๋ฃ ๋ณดํ ๊ฑฐ๋๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ์ฑ๋ฅ์ ์ปจ์์์ ๊ตฌ์ถํ ์ ์๋ค. ์ถ๊ฐ์ ์ผ๋ก ๊ณต์ ๋ ์ ์๋ ํน์ ์ ๋ณด๋ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ์ผ๋ก ๊ณต์ ํ์ฌ ํน์ ์ง๋ณ์ ๋ํ ํต๊ณ๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ๊ธ๋ก๋ฒ ์๋น์ค ๊ตฌ์ถ์ ์ด์ฉํ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ๋ํ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ์์ ๋ฐ์ํ๋ ๊ฒฝ์ ์ ์ธ์ผํฐ๋ธ๋ ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ์ปจ์์์ ๋ธ๋ก์ฒด์ธ ์ฐธ์ฌ์์๊ฒ ๋ถ๋ฐฐ๋์ด ์๋น์ค ํ์ง์ ๋์ด๋๋ฐ ๊ธฐ์ฌ๋ ์ ์๋ค.
IRIS
๊ฐ ์ ๊ณตํ๋ ์ธํ๋ผ๋ฅผ ์ด์ฉํ๋ค๋ฉด ๋ธ๋ก์ฒด์ธ ์์คํ
์ ๊ณ ์ง์ ์ธ ์ฑ๋ฅ, ๋ณด์, ๊ฐ์ธ์ ๋ณด ๋ณดํธ ์ธก๋ฉด์ ๋จ์ ์ ๊ฐ์ง์ง ์๊ณ ๋ ๋๋์ ์๋ฐ์ ๊ณต๋ ์์
์ด ์ด๋ฃจ์ด์ง ์ ์์ ๊ฒ์ด๋ค.
IRIS
์๋น์ค ์ธํ๋ผ๋ ์ด ์ธ์๋ ์์ฐ ๊ธฐ๋ฐ ๋ณด์ ์์คํ
(asset based security system), ๋ถ์ฐํ ๊ท์ ๊ธฐ์ , ๊ณต์ ์์คํ
๋ฑ ๋ค์ํ ์ธก๋ฉด์์ ์ด์ฉ๋ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋๋ค. ์์ด๋ฆฌ์ค ํ๋ก์ ํธ๋ ์์ผ๋ก ์๋ง์ ์ ํ๋ฆฌ์ผ์ด์
ํ๋ก์ ํธ๋ค๊ณผ ํ๋ ฅํ์ฌ ๊ทธ๋ค์ด ์๊ฐํ๋ ๋น์ฆ๋์ค ๊ฐ์น๋ฅผ ๋ธ๋ก์ฒด์ธ ์ธํ๋ผ๋ฅผ ํตํด ๋ ํจ์จ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์๋๋ก ์ง์ํ ์์ ์ด๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ๊ฐ์ด ๋ฉํฐ ํ ํฐ ๋ชจ๋ธ์ ์ง์ํ ์ ์๋๋ก ์ค๊ณ๋์๋ค. ์ํ๊ณ ๋ด์ ์๋ ํ ํฐ๋ค์ ๋ค๋ฅธ ์กด์์ ๋ณด๊ด์ด ๊ฐ๋ฅํ๋ฉฐ, ์์ด๋ฆฌ์ค ํ๋ธ๋ฅผ ํตํด์ ์กด ๊ฐ ์ด๋์ด ๊ฐ๋ฅํ๋ค.
ํ์ฌ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ด์์์ ์ด์ฉ๋ ํ ํฐ์ ๋ ๊ฐ์ง๊ฐ ์๋ค:
- ์คํ ์ดํน ํ ํฐ
- ์์๋ฃ ํ ํฐ
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ์คํ
์ดํน ๋ฉ์ปค๋์ฆ ๋์์ธ์ ์์ฉํ ๊ณ ์ ์คํ
์ดํน ํ ํฐ์ ์ด์ฉํ๋ค. ์ด ํ ํฐ์ ๋ช
์นญ์ IRIS
๋ค. ํ์ฌ๋ก์จ IRIS ํ ํฐ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ๋ค:
-
๊ฒ์ฆ์ธ(validator)๊ณผ ์์์(delegator)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ํฉ์ ๊ธฐ๋ฅ
-
์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๊ฑฐ๋ฒ๋์ค์ ํฌํ๊ถ์ ๋ถ์ฌํ๋ ๊ธฐ๋ฅ
์์ด๋ฆฌ์ค ๋คํธ์ํฌ์๋ ๋ ๊ฐ์ง ์์๋ฃ ํ ํฐ์ด ์กด์ฌํ๋ค:
-
๋คํธ์ํฌ ์์๋ฃ ์ด ํ ํฐ์ ์คํธ ๋ฐฉ์ง ์ฉ๋์ ์์ฅ์ ๊ด๋ฆฌํ๋ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ์๊ฒ ๊ฒฝ์ ์ ์ธ์ผํฐ๋ธ๋ก ์ง๊ธ๋๋ ์ฉ๋
-
์๋น์ค ์์๋ฃ ์ด ํ ํฐ์ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ iService๋ฅผ ์ ๊ณตํ๋ ์๋น์ค ์ ๊ณต์๋ค์๊ฒ ์ง๊ธ๋๋ ์ฉ๋๋ก ์ด์ฉ๋๋ค. ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ๊ธฐ๋ณธ ๊ฒฐ์ ์ฉ ํ ํฐ์ด๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ํ์ดํธ๋ฆฌ์คํธ์ ํฌํจ๋ ๋ชจ๋ ํ ํฐ(์, ํฌํค]๊ณผ IRIS ํ ํฐ์ ์ง์ํ ์์ ์ด๋ค
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ ํ์ดํธ๋ฆฌ์คํธ์ ํฌํจ๋ ๋ชจ๋ ํ ํฐ์ ์ง์ํจ์ผ๋ก์จ ๋คํธ์ํฌ ์ฐธ์ฌ์๋ค์๊ฒ ๋์ฑ ํธ๋ฆฌํ ํ๊ฒฝ์ ์ ๊ณตํ ์ ์๋ค. ์ฝ์ค๋ชจ์ค์ network fee token
์ ๊ฒฝ์ฐ, ๊ฐ ๋ฐธ๋ฆฌ๋ฐ์ดํฐ๋ config ํ์ผ์ ๋ณธ์ธ์ด ๊ฐ ์์๋ฃ ํ ํฐ์ ๋ํ ๊ฐ์น๋ฅผ ์ ์ํ๋ค. ์ํ๋ค๋ฉด ํฌ๋ก (cron) ํ๋ก์ธ์ค๋ฅผ ํ์ฉํ์ฌ ๋ณธ์ธ์ด ์ ํํ ์ค์๊ฐ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์๋ฃ ํ ํฐ์ ๋ํ ๊ฐ์น๋ฅผ ์ง์ ํ ์๋ ์๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ service fee token
์ค๊ณ ๋ํ ๋น์ทํ ๋ฉํฐ ํ ํฐ ๋ชจ๋ธ์ด ์ง์๋ ์์ ์ด๋ค. ์๋น์ค ์ ๊ณต์๋ ๋ณธ์ธ์ด ์ํ๋ ํ ํฐ์ผ๋ก ์๋น์ค ๋น์ฉ์ ์ง๋ถ๋ฐ์ ๊ถ๋ฆฌ๊ฐ ์์ผ๋ฉฐ, ์ด๋ฅผ ๊ฐ์์ ํ์ดํธ๋ฆฌ์คํธ๋ฅผ ํตํด ์ง์ ํ ์ ์๋ค.
์์ด๋ฆฌ์ค ๋คํธ์ํฌ ์ฐธ๊ฐ์๊ฐ ์ํธํํ ๊ฐ๊ฒฉ ๋ณ๋์ฑ์ ๋ ธ์ถ๋๋ ํ๋ฅ ์ ๋ฎ์ถ๊ธฐ ์ํด ์์ด๋ฆฌ์ค ์ฌ๋จ์ ๋ค์ํ ๊ฑฐ๋์์์ ๊ฐ๊ฒฉ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ ๊ณตํ๋ iService๋ฅผ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, ์ผ์ข ์ '์ค๋ผํด(oracle)' ์๋น์ค๋ฅผ ์ถํ์ ์ถ์ํ ์ ์๋ค.
์คํ ์ดํน ํ ํฐ๊ณผ ์์๋ฃ ํ ํฐ์ ๊ธฐ๋ฅ๊ณผ ๋์์ธ์ ๋ฒ์ ๊ท์ ์ค์ ์ฌ๋ถ์ ๋ฐ๋ผ ์ถํ์ ๋ณ๊ฒฝ๋ ์ ์๋ค.
์ ๋ค์์ค์์ ์ด 2,000,000,000๊ฐ์ IRIS ํ ํฐ์ด ์์ฑ๋๋ค. IRIS ํ ํฐ์ ๋ถ๋ฐฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์์ ๋์ด์๋ค:
-
ํ๋ผ์ด๋น ์ธ์ผ: 25%
-
Bianjie ๊ฐ๋ฐํ: 15% (4๋ ์ ๊ฑธ์ณ์ ๋งค์ 1/48์ด ์ธ๋ฝ)
-
ํ ๋๋ฏผํธ ๊ฐ๋ฐํ: 10% (2๋ ์ ๊ฑธ์ณ์ ๋งค์ 1/24์ด ์ธ๋ฝ)
-
์์ด๋ฆฌ์ค ์ฌ๋จ: 15% (์์ด๋ฆฌ์ค ์ฌ๋จ ์ด์์ ์ํด ๋ณด์ )
-
์ํ๊ณ ๊ฐ๋ฐ: 30% (์์ด๋ฆฌ์ค ํ๋ธ์ ์ฐ๊ฒฐ๋๋ ์กด๊ณผ ํ ํฐ ์ค์; ์ ์ฌ์ ์ฌ์ฉ์ ํ์; ์ฐ์ ํํธ๋ ์ง์; ํผ๋ธ๋ฆญ ์ธ์ผ ๊ฐ๋ฅ์ฑ ์์)
-
ATOM ๋ณด์ ์ ์์ด๋๋: 5% (์์ด๋๋์ ์ฝ์ค๋ชจ์ค์ ์์ด๋ฆฌ์ค ํ๋ธ์ ์ฅ๊ธฐ์ ์ฑ๊ณต์ ์ง์ํ๋ ๋ชฉ์ ์ ์ํด ์ฌ์ฉ๋๋ค. ํ์ฌ ๊ณ ๋ ค์ค์ ์๋ ์์ด๋๋ ํํ๋ ์ํฐ ๋ณด์ ์๋ค์ ์ฝ์ค๋ชจ์ค ํ๋ธ ์ง๊ฐ์ ํ ํฐ์ ์์ด๋๋ ํ์ฌ ์์ด๋ฆฌ์ค๋ท์ ์คํ ์ดํน์ ํ๋ ๊ฒ์ ์ฅ๋ คํ๋ ๊ฒ์ด๋ค. ์ด๋ฐ ํํ์ ์์ด๋๋์ ๋ ๋ธ๋ก์ฒด์ธ ํ๋ธ์ ๋ณด์์ฑ์ ํฅ์์ํค๋ฉฐ, ์ํฐ ๋ณด์ ์๋ค์ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ์ ๋ธ๋ก ๋ฆฌ์๋๋ฅผ ๋ณด์์ผ๋ก ๋ฐ์ ์ ์๋ ์ฅ์ ์ด ์๋ค.)
IRIS์ ํ๋ผ์ด๋น ์ธ์ผ๋ก ๋ฐ์ ์์ต๊ธ์ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๊ฐ๋ฐ์ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์ด์ฉ๋ ์์ ์ด๋ค:
-
์ฌ๋จ ์ด์๋น: 10% (์๋น์ค ์ ๊ณต์, ๋ฒ์ ์๋ฌธ, ์ปจ์คํ , ๊ฐ์ฌ ๊ฐ์ ์ธ๋ถ ์๋น์ค ๋น์ฉ ํฌํจ)
-
์ํํธ์จ์ด ๊ฐ๋ฐ๋น: 50% (๋ฉ์ธ๋ท ๊ฐ๋ฐ๊ณผ ์ง์ ์ ์ผ๋ก ์ฐ๊ด๋ ๋น์ฉ)
-
๊ฐ๋ฐ ์ง์: 10% (ํด์ปคํค ์ง์, ๋ด์ฌ์ ์ง์, ๊ต์ก ํ๋ จ ํ๋ก๊ทธ๋จ ๋ฑ)
-
R&D ์ง์: 10% (์ปจํผ๋ฐ์ค, ์ฐ๊ตฌ ํ๋ก๊ทธ๋จ, ๋ํ ํ๋)
-
๋ง์ผํ ๋ฐ ํ๋ณด: 20% (์ฌ์ ๊ฐ๋ฐ, ์ปค๋ฎค๋ํฐ ํ๋ก๊ทธ๋จ, ์ฌํ๋น, ํ๋ณด, ์ถํ, ๋ฑ์ ํ์ํ ๋น์ฉ)
์์ด๋ฆฌ์ค ํ๋ก์ ํธ์ ๊ณํ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ด ์ ๋ณด๋ ์์ธก์ฑ ์งํ์ด๋ฉฐ ์ธ์ ๋ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
-
ํ๊ตฌ(PANGU) (2018๋ 1์ ~ 2019๋ 3์) ์์ด๋ฆฌ์ค ํ๋ก์ ํธ์ ์ฒซ ๋จ๊ณ๋ ์์ด๋ฆฌ์ค ํ๋ธ ์ด์์ ์ง์ค๋๋ค. ์์ด๋ฆฌ์ค๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ๋ฅผ ๊ณต๊ฐํ ์์ ์ด๋ค. ์ด ๋จ๊ณ์์ ์์ด๋ฆฌ์ค ํ๋ก์ ํธ๋ ์๋น์ค ์ ์, ์๋น์ค ๋ฐ์ธ๋ฉ, ์๋น์ค ์์ฒญ, ์ฟผ๋ฆฌ ๊ฐ์ ์์ด๋ฆฌ์ค์ ์๋น์ค ๊ณ์ธต์ ๊ธฐ์ด๋ฅผ ๊ฐ๋ฐํ๋๋ฐ ์ง์คํ๋ค. ์ด ๋จ๊ณ์์๋ ์ฝ 1-2๊ฐ์ ํํธ๋์ฌ๋ฅผ ํตํด iService๋ฅผ ๊ณต๊ฐํ ์์ ์ด๋ค.
-
๋์(NUWA) (2019๋ 4์ ~ 2019๋ 9์) ์ด ๋จ๊ณ์์๋ IRIS SDK์ ๋ฒ ํ ๋ฒ์ ์ ๊ฐ๋ฐ์๋ค์๊ฒ ๊ณต๊ฐํ ๊ณํ์ด๋ค. ์ถ๊ฐ์ ์ผ๋ก IRISnet ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ์์ iService ๊ธฐ๋ฅ์ ์ง์ํ ์ ์๋๋ก ์ ๊ทธ๋ ์ด๋๋ ์์ ์ด๋ค. ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ํนํ ๋ธ๋ก์ฒด์ธ๋ค๊ณผ ํ๋ ฅํ์ฌ ์์ด๋ฆฌ์ค ํ๋ธ์ ์กด์ผ๋ก ์ฐ๊ฒฐ๋ ์ ์๊ฒ ์ง์ํ๊ณ ์ฝ์ค๋ชจ์ค ํ๋ธ์ ์ฐ๊ฒฐ๋ ๊ณํ์ ์ถ์งํ ์์ ์ด๋ค.
-
์ฟ ์ํธ(KUAFU) (2019๋ 10์ ~ 2019๋ 12์) ์ธ ๋ฒ์งธ ๋จ๊ณ๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ๊ฑฐ๋ฒ๋์ค ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ์ํ ์์ฐจ์ ์ ๊ทธ๋ ์ด๋์ ์ง์คํ ์์ ์ด๋ค.
-
ํธ์ฐ์ด(HOUYI) (2020๋ ์ดํ) ๋ค ๋ฒ์งธ ๋จ๊ณ์์๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ฅผ ๋์ฑ ํ์ ์ ์ด๊ฒ ๋ง๋ค ์ ์๋ ๊ธฐ์ ๊ฐ๋ฐ์ ์ง์คํ ์์ ์ด๋ค. ์ด ์ธ์๋ ๊ฐ๋ฐ์ ์ง์ ํ๋์ ๋๋ฆฌ๊ณ IRIS SDK์ ๋ชจ๋ฐ์ผ ํด๋ผ์ด์ธํธ์ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ์ ๊ฐ์ ํ ์์ ์ด๋ค.
Bianjie๋ ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ฝ์ด ๊ฐ๋ฐํ์ด๋ค. 2016๋
์ ์ํ์ด์ ์คํํธ์
์ผ๋ก ์ค๋ฆฝ๋ Bianjie ํ์ ๋ถ์ฐํ ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ค๋ ๊ฒฝ๋ ฅ์ ์๋ํ๋ค. Bianjie๋ ์๋ฃ ๊ธฐ๊ด๊ณผ ๊ธ์ต ๊ธฐ๊ด์ AI์ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ์ ์ฉํ ํ์ ์ ์ธ ์ ํ๊ณผ ์๋ฃจ์
์ ์ ๊ณตํ๋๋ฐ ์ง์คํด์๋ค. Bianjie๋ ์์ด๋ฆฌ์ค ์ธ์๋ BEAN (Blockchain Edge Analytics Network)
๋ผ๋ ์ฝ์ด ์ ํ์ ๊ฐ๋ฐ์ค์ด๋ค. BEAN์ ์๋ฃ ๋ฐ์ดํฐ ๋ถ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํ๊ฐํ ๋ธ๋ก์ฒด์ธ์ผ๋ก, ์์ฐ์ด์ฒ๋ฆฌ, ๋จธ์ ๋ฌ๋ ๊ฐ์ ๊ธฐ์ ์ ์์ฉํด ํ๋ผ์ด๋ฒ์๋ฅผ ๋ณด์กดํ๋ ์๋ฃ ๋ฐ์ดํฐ ๋ถ์์ ์ ๊ณตํ๋ค. Bianjie๋ ์ฝ์ค๋ชจ์ค ๋คํธ์ํฌ์ ์ค๊ตญ ์๋น์ค/์ด์ ํํธ๋์ด๋ค.
ํ ๋๋ฏผํธ (Tendermint ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ๊ณ ํ์ฌ ์ฝ์ค๋ชจ์ค๋ฅผ ์ ์ ์ค์ ์์), Wancloud (Wanxiang Blockchain์ ๊ณ์ด์ฌ) ๋ฑ์ด ํ์ฌ Bianjie์ ํจ๊ป ๊ธฐ์ ์ ํํธ๋๋ก ์์ด๋ฆฌ์ค ๋คํธ์ํฌ์ ์ธํ๋ผ๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค.
ํ ๋๋ฏผํธ๋ ์์ด๋ฆฌ์ค ํ๋ก์ ํธ ํ์๊ฒ ๊ธฐ์ ์ ๊ณ ๋ฌธ๊ณผ ๊ฐ๋ฐ ์ง์์ ์ ๊ณตํ์ฌ ์์ด๋ฆฌ์ค ํ๋ก์ ํธ๋ฅผ ํตํด ํ ๋๋ฏผํธ ABCI์ ์ฝ์ค๋ชจ์ค IBC ํ์ฉ๋๋ฅผ ๋์ด๋ ๊ฒ์ ์ง์ํ๊ณ ์๋ค. Wancloud๋ ์ฝ์ค๋ชจ์ค์ ์์ด๋ฆฌ์ค ์ํ๊ณ์ ์ ๋ต์ ํํธ๋๋ก์ ์์์ ์ง์ญ์ ์ฝ์ค๋ชจ์ค/์์ด๋ฆฌ์ค ๊ฐ๋ฐ์ ์ง์ํ๊ณ ์๋ค.
Haifeng Xi
Haifeng์ ์๋์ด ๊ธฐ์ ์์ด์ ์ฌ์ ๊ฐ๋ค. ๊ทธ๋ University of Maryland์์ ์ ์์ปดํจํฐ๊ณตํ ์์ฌ ํ์๋ฅผ ์ทจ๋ํ๋ค. ์์ด๋ฆฌ์ค ๋คํธ์ํฌ๋ฅผ ์์ํ๊ธฐ ์ ์ Haifeng์ Wanxiang Blockchain์ Wancloud์์ CTO๋ฅผ ํ์ผ๋ฉฐ, ๊ทธ ์ธ์๋ ๋ฏธ๊ตญ ๊ธ์ต ๊ธฐ์ Tudor Investment์ RBS Sempra์์ ์๋์ด ์ํคํ ํธ, NASDAQ ์์ฅ๊ธฐ์ ์ ํฌํจํ 3๊ฐ์ ์ค๊ตญ ๊ธฐ์ ์์ CTO ์ง์๋ฅผ ์ญ์ํ๋ค.
Harriet Cao
Harriet ์ ๋ธ๋ก์ฒด์ธ ๊ธฐ๋ฐ ์ค๋งํธ ์๋น์ค์ ๋ถ์ฐํ AI ๊ธฐ์ ์ ์ ๊ณตํ๋ ์ํ์ด ๊ธฐ๋ฐ Bianjie AI์ ์ฐฝ๋ฆฝ์๋ค. Harriet์ ๋ฐ์ดํฐ ๋ถ์๊ณผ ์ธ๊ณต์ง๋ฅ ๊ธฐ์ ์์ ์์ฐจ๋ก ์์ํ์ผ๋ฉฐ, 2010 INFORMS Daniel H. Wageris Prize๋ฅผ ๋ฐ๊ธฐ๋ ํ๋ค. Bianjie AI๋ฅผ ์ฐฝ๋ฆฝํ๊ธฐ ์ , ๊ทธ๋ IBM Research์์ 16๋ ๋์ ์ผํ์ผ๋ฉฐ, IBM Research Shanghai Lab์ ๋๋ ํฐ, IBM Global Labs์ ๋น ๋ฐ์ดํฐ ๋ถ์ ๋ฆฌ๋ ๋ฑ์ ์ญํ ์ ๋งก์๋ค. Harriet์ Carnegie Mellon University์ ๋ก๋ด๊ณตํ ์์ฌ ํ์์ ์นญํ๋ํ๊ต์ ์๋ํ ์ปจํธ๋กค ์์ฌ ํ์๋ฅผ ๋ณด์ ํ๊ณ ์๋ค.
Jae Kwon
2005๋ ์ฝ๋ฌ ๋ํ๊ต์์ ์กธ์ ํ ํ, ์ฌ๊ถ์ ๋ค์ํ ์ค๋ฆฌ์ฝ ๋ฐธ๋ฆฌ ๊ธฐ์ ๋ค(์๋ง์กด, Yelp)์์ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ก ์ผํ๋ค. ์ดํ ๊ทธ๋ ๋ธ๋ก์ฒด์ธ ์ํ๊ณ์ ๋น ์ง๋ฉฐ ํ ๋๋ฏผํธ BFT ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ฐํ์๊ณ , ์ดํ ํ์ ์ ๊ฒ์ฆ์ด ๊ฐ๋ฅํ ์ง๋ถ์ฆ๋ช ์๊ณ ๋ฆฌ์ฆ์ ๋ง๋ค๊ธฐ ์ํด ํ ๋๋ฏผํธ ์ฝ์ด ๋ธ๋ก์ฒด์ธ ์์ง์ ๊ฐ๋ฐํ์๋ค. ์ฌ๊ถ์ ์ฝ์ค๋ชจ์ค์ ์ฐฝ๋ฆฝ์๋ก์ ํ์ฌ '๋ธ๋ก์ฒด์ธ์ ์ธํฐ๋ท'์ ๊ทธ๋ฆฌ๋ ์ฝ์ค๋ชจ์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค.
Tom Tao
2016๋ ์ Wanxiang์ ํฉ๋ฅํ Tom์ Wanxiang Blockchain Group์ ์ปจ์คํ ์๋น์ค, Wancloud BaaS ํ๋ซํผ๊ณผ ChainBase ์ก์ ๋ ๋ ์ดํฐ/์ธํ๋ฒ ์ดํฐ ์๋น์ค๋ฅผ ๋ด๋นํ๊ณ ์๋ค. Tom Tao๋ Wanxiang์ ํฉ๋ฅํ๊ธฐ ์ ์ ์ธ๊ณ์ ์ธ ๊ธฐ์ ์์ ์๋น์ค ๊ด๋ฆฌ์ ๋น์ฆ๋์ค ๋งค๋์ง๋จผํธ ์ญํ ์ ๋ฌด๋ ค 18๋ ๋์ ํ๋ค. ๊ทธ๋ 2013๋ ๋ถํฐ ํด๋ผ์ฐ๋ ์๋น์ค, IoT ๋ฐ์ดํฐ ์๋น์ค ํ๋ซํผ, ๊ทธ๋ฆฌ๊ณ ์ก์ ๋ ๋ ์ดํฐ ํ๋ก๊ทธ๋จ์ ์ค๊ตญ ์์ฅ์ ์๊ฐํ๋ฉฐ ๊ธฐ์ ์ ํธ๋ ๋๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ๋ผ์ก๋ ์ญํ ์ ํ๋ค.
๊ทธ๋ Nankai University์์ ์ ๊ธฐ๊ณตํ ํ์ฌ, ๊ทธ๋ฆฌ๊ณ Fudan University์์ ๋ฌผ๋ฆฌํ ์์ฌ ํ์๋ฅผ ์๋ฃํ๋ค.
Dr. Shuo Bai
Bai ๋ฐ์ฌ๋ ํ ChainaLedger Technical Committee ์์์ฅ์ด์ ์ ์ํ์ด ์ฆ๊ถ ๊ฑฐ๋์์ ์ด ์ํคํ ํธ์๋ค. ๊ทธ๋ ์ค๊ตญ ์ ๊ณ์ ์๋์ด ๋ธ๋ก์ฒด์ธ ์ ๋ฌธ๊ฐ์ด๋ฉฐ, Peking Univeristy์์ ๋ฐ์ฌ ํ์๋ฅผ ์๋ฃํ ํ ํ์ , ์ฐ๊ตฌ, ๊ฐ๋ฐ ๋ฑ์ ์ ๋ฌธ ๋ถ์ผ์์ ํ๋์ ํ๋ค. ๋ํ Chinese Academy of Sciences์ Institute of Computing Technology์ ์์ ๊ณผํ์, ์ํํธ์จ์ด ๊ฐ๋ฐ ๋๋ ํฐ ๋ฑ ๊ณ ์ ์ง์์์ ์ผ์ ํ๋ค. ๊ทธ๋ 2000๋ ๋ถํฐ China National Internet Emergency Center (CNCERT/CC) ์ค๋ฆฝ์ ์ฃผ๋ํ์๋ค.
๊ทธ๋ ํ์ ์ ์ด๋ก ์ฐ๊ตฌ ์ธ์๋ ๊ธ์ต ๊ฑฐ๋์, ์ปจ์์์ ๋ธ๋ก์ฒด์ธ, ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ๋ถ์ผ์ ์ ๋ฌธ์ฑ๊ณผ ๊ฒฝํ์ ๋ณด์ ํ๊ณ ์๋ค.
Jim Yang
Jim Yang ์ ํ ๋๋ฏผํธ์์ ์ ๋ต์ ๋งก๊ณ ์๋ค. ๋ชจ๋ฐ์ผ ๋ฉ์์ง ์คํ๋์ค ChatX๋ฅผ ์ค๋ฆฝํ์ผ๋ฉฐ, ๊ทธ ์ธ์๋ ๋ ๋ํ(Red Hat)์ ์ธ์๋ Identyx์ ๊ณต๋ ์ค๋ฆฝ์์ด์ ๋ํ๋ฅผ ์ญ์ํ๋ค. Identyx๋ ์คํ์์ค ์ํฐํ๋ผ์ด์ฆ ์ ์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ค.
Zaki Manian
Zaki Manian, Trusted IoT Alliance ์ ๋ฌด์ด์ฌ๋ก์จ ๋ธ๋ก์ฒด์ธ๊ณผ ์ํธํํ ๊ธฐ์ ์ ํฐ ๊ธฐ์ฌ๋ฅผ ํ๊ณ ์๋ค. ๊ทธ๋ ์ํธํ๊ณผ ๋ถ์ฐํ ํฉ์ ์์คํ ์ ๋์ ์ ๋ฌธ์ฑ์ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ, ์ฝ์ค๋ชจ์ค ํ๋ก์ ํธ์ ์ด๋๋ฐ์ด์ ์ญํ ์ ํ๊ณ ์๋ค.
Adrian Brink
Adrian Brink, ํ ์กฐ์ค, ์ฝ์ค๋ชจ์ค, ํด์นด๋ท ๋ฑ ๋ค์์ ์ง๋ถ์ฆ๋ช ๋ธ๋ก์ฒด์ธ ์์คํ ์ ๊ฒ์ฆ์ธ์ ์ด์ํ๋ Cryptium Labs์ ์ค๋ฆฝ์๋ค. ๊ทธ๋ ๊ณผ๊ฑฐ ํ ๋๋ฏผํธ์ ์ฝ์ค๋ชจ์ค์์ ํํธ๋์ญ ๋๋ ํฐ์ ์ฝ์ด ๊ฐ๋ฐ์๋ก ์ผํ๋ค.
Michael Yuan
Dr. Michael Yuan๋ ์ฌ์ด๋ฒ๋ง์ผ์ฆ ์ฌ๋จ์ ์ด์ฌ๋ค. ๊ทธ๋ University of Texas at Austin ์ฐ์ฃผ๋ฌผ๋ฆฌํ ๋ฐ์ฌ ํ์๋ฅผ ์๋ฃํ๋ค. ์ง๊ธ๊น์ง ๊ทธ๋ ๋ฌด๋ ค 5๊ฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ด๋ จ ์ฑ ์ ์ ์๋ก์จ Prentice Hall, Addison-Wesley ๊ทธ๋ฆฌ๊ณ O'Reilly ๊ฐ์ ์ ๋ช ์ถํ์ฌ๋ฅผ ํตํด ์ถํ๋์๋ค. Michael Yuan ๋ฐ์ฌ๋ ํ์ด์ดํญ์ค, Fedora, JBoss ๋ฑ ๋ค์์ ์คํ์์ค ํ๋ก์ ํธ์์ ํ๋ํ์ผ๋ฉฐ, ๋ชจ๋ฐ์ผ ๋ฐ ์ํฐํ๋ผ์ด์ฆ ์ํํธ์จ์ด ์ ๋ฌธ๊ฐ์ด๋ค. ๊ทธ๋ ๋ฏธ๊ตญ ์ ๋ถ์ ์คํฐ์๋ฅผ ๋ฐ์ ๋ค์์ ์ฐ๊ตฌ ํ๋ก์ ํธ๋ฅผ ์ด๋๊ธฐ๋ ํ๋ค.
Yubo Ruan
Yubo๋ IRISnet์ ํฌ์ํ ํ๋ ์ค ํ๋์ธ 8 Decimal Capital์ ์ฐฝ๋ฆฝ์๋ค. 8 Decimal Capital์ IRISnet ์ธ์๋ 0x, Kyber, Ontology, Fcoin, Zilliqa, ICON, Wanchain, Bibox, BiShiJie ๋ฑ ๋ค์์ ํ๋ก์ ํธ์ ํฌ์ํ๋ค. Yubo๋ ๋ณด์คํด์ ์์นํ Skylight Investment์ ๊ณต๋ ์ฐฝ๋ฆฝ์์ด๋ฉฐ, Skylight Investment๋ ๋ด์๊ฑฐ๋์์ ์์ฅ๋ New Oriental์ ํฌ์๋ฅผ ๋ฐ๊ธฐ๋ ํ๋ค. ๊ณผ๊ฑฐ์ ๊ทธ๋ Alisimba(TopHacker Group์ ์ธ์) ๋ฑ 2๊ฐ์ ๊ธฐ์ ์ ์ฑ๊ณต์ ์ผ๋ก ์ฐฝ๋ฆฝํ์ผ๋ฉฐ, 4๊ฐ์ ํนํ๋ฅผ ๋ณด์ ํ๊ณ ์๋ค. ๊ทธ๋ 2017 AACYF 30 under 30์ ์์์์ด๋ฉฐ, 2012๋ iENA ๊ตญ์ ๋ฐ๋ช ์ ๋ํ์์ ์์์ ์์ํ๋ค.
-
1 Wanxiang Blochchain Inc., Distributed Business Value Research Institute, "Blockchain and Distributed Business Whitepaper", September 2017.
-
2 Ethereum Foundation, "Ethereum Homestead Documentation", http://ethdocs.org/en/latest/
-
3 Jae Kwon, Ethan Buchman๏ผ"Cosmos, A Network of Distributed Ledgers", https://cosmos.network/whitepaper
-
4 Gavin Wood, "Polkadot: Vision For a Heterogeneous Muilti-chain Framework", https://polkadot.io/
-
5 Tendermint, https://tendermint.com/docs/
-
6 Ethermint, https://ethermint.zone/
-
7 Oracle International Corporation, "Accountability and Trust in Distributed Ledger Systems", USA Patent Application 20170236120, August 17, 2017, http://www.freepatentsonline.com/y2017/0236120.html
-
8 Jan Xie, "CITA Technical Whitepaper", https://github.com/cryptape/cita-whitepaper/blob/master/en/technical-whitepaper.md
-
9 Hyperledger Burrow, https://github.com/hyperledger/burrow
-
10 Joseph Poon, Thaddeus Dryja, "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments", January 14, 2016, https://lightning.network/lightning-network-paper.pdf
-
11 Joseph Poon, Vitalik Buterin, "Plasma: Scalable Autonomous Smart Contracts", August 11, 2017, https://www.plasma.io/plasma.pdf
-
12 Ethan Frey, "Cosmos IBC Specification", Sep. 29, 2017, https://github.com/cosmos/ibc/blob/master/README.md
-
13 Thomas Erl, "SOA: Principles of Service Design", Prentice Hall; 1st edition (July 28, 2007)
-
14 Dean, J., Corrado, G.S., Monga, R., et al, Ng, A. Y. "Large Scale Distributed Deep Networks". In Proceedings of the Neural Information Processing Systems (NIPS'12) (Lake Tahoe, Nevada, United States, December 3--6, 2012). Curran Associates, Inc, 57 Morehouse Lane, Red Hook, NY, 2013, 1223-1232.
-
15 Tendermint Blog, "Cosmos Validator Economics -- Revenue Streams", January 2018, https://medium.com/@tendermint/b5b2c682a292
-
16 Sunny Aggarwal, "Cosmos Token Model", December 2017, https://drive.google.com/file/d/1jtyYtx7t1xy9gxEi2T5lXFNd8xUY7bhJ/view