- ์ด์ ์์ฑ์ผ: 2017๋
6์ 26์ผ, ๋ฒ์ญ: ์ดํ๋ฏผ (taeminlee), ๊ฐ์: ์กฐ์ฌ์ฐ (@clayop (https://steemit.com/@clayop)),
- 2017๋
9์ 3์ผ, 2์ฐจ๊ฐ์ ์ @loum์ @testz๊ฐ ๋ฒ์ญ.
์ด๋ก: EOS.IO ์ํํธ์จ์ด๋ ํ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ง ๋ฐ ์ํ ํ์ฅ์ด ๊ฐ๋ฅํ๊ฒ ๋์์ธ๋ ์๋ก์ด ๋ธ๋ก์ฒด์ธ ๊ตฌ์กฐ๋ฅผ ์๊ฐํฉ๋๋ค. ์ด๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ค(applications)์ ๋ง๋ค ์ ์๋ ์ด์์ฒด์ ์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ์์ฑํจ์ผ๋ก ๊ฐ๋ฅํฉ๋๋ค. ๋ณธ ์ํํธ์จ์ด๋ ์๋ฐฑ ๊ฐ์ CPU ์ฝ์ด ๋๋ ํด๋ฌ์คํฐ๋ฅผ ํตํด ๊ณ์ (accounts), ์ธ์ฆ(authentication), ๋ฐ์ดํฐ๋ฒ ์ด์ค(databases), ๋น๋๊ธฐ ํต์ (asynchronous communication), ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ผ์ฅด๋ง(application scheduling)์ ์ ๊ณตํฉ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ ์ด๋น ์๋ฐฑ๋ง ๊ฑด์ ํธ๋์ญ์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ๊ฐ์ถ๋ฉด์๋, ์์๋ฃ๊ฐ ์๊ณ , ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ์ํคํ ์ฒ ๊ธฐ์ ์ด ํ์ํ์ต๋๋ค.
์ฃผ์์ฌํญ: ๋ณธ ๋ฐฑ์์์ ์ธ๊ธ๋๋ ์ํธํํ ํ ํฐ์ EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ์์ ์กด์ฌํ๋ ํ ํฐ์ ์ง์นญํฉ๋๋ค. ์ด ํ ํฐ์ EOS ๋ถ๋ฐฐ์ ์ฌ์ฉ๋๋ ์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ ์์ ์กด์ฌํ๋ ERC-20 ๊ธฐ๋ฐ ํ ํฐ์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด ์๋๋๋ค.
์ ์๊ถ ์์ ยฉ 2017 block.one
๋๊ตฌ๋ ์ง ํ๊ฐ ์์ด ์๋์ ์ถ์ฒ์ ํด๋น ์ ์๊ถ ๊ณ ์ง๊ฐ ์ธ๊ธ๋ ๊ฒฝ์ฐ ๋น์๋ฆฌ์ ์ด๊ณ ๊ต์ก์ ์ธ ์ฉ๋ (์ฆ, ์ ๋ฃ ๋๋ ์์ ์ ๋ชฉ์ ์ด์ธ์ ๋ชฉ์ )๋ก ๋ณธ ๋ฐฑ์์ ์๋ฃ๋ฅผ ์ฌ์ฉ, ๋ณต์ ๋๋ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
๋ฉด์ฑ ์กฐํญ: EOS.IO ๊ธฐ์ ๋ฐฑ์๋ ์ค์ง ์ ๋ณด ์ ๊ณต์ ๋ชฉ์ ์ผ๋ก์จ ์ ๊ณต๋ฉ๋๋ค. block.one์ ์ ํ์ฑ์ ๋ณด์ฆ ํ์ง ์์ต๋๋ค ๋๋์ด ๋ฐฑ์์ ๊ฒฐ๋ก ๋๋ฌํ๊ณ ์ด ๋ฐฑ์๋ "์๋ ๊ทธ๋๋ก" ์ ๊ณต ๋ฉ๋๋ค. block.one์ ์ด ๋ฐฑ์์์ ๋๋ฌํ ๊ฒฐ๋ก ์ ์ ํ์ฑ์ ๋ณด์ฅํ์ง ์์ผ๋ฉฐ, ๋ฐฑ์๋ "์๋ ๊ทธ๋๋ก" ์ ๊ณต๋๋ฉฐ ์ด๋ (๋จ, ์ด์ ํ์ ๋์ง๋ ์์) ๋ช ์์ ์ด๊ฑฐ๋ ๋ฌต์์ ์ธ ๊ฒ์ผ๋ก์ ์ด๋ ํ ๋ณด์ฆ๋ ํ์ง ์์ต๋๋ค. (i) ์ํ์ฑ์ ๋ํ ๋ณด์ฆ, ํน์ ๋ชฉ์ ์ ์ํ ์ ํฉ์ฑ, ํ์ดํ ๋๋ ๋ฒ๊ท์ ์๋ฐ์ด ์์; (ii) ๋ณธ ๋ฐฑ์์ ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์๊ฑฐ๋ ์ด๋ค ๋ชฉ์ ์ ์ ํฉํ๋ค๋ ๊ฒ; (iii) ๊ทธ๋ฌํ ๋ด์ฉ์ด ์ 3์์ ๊ถ๋ฆฌ๋ฅผ ์นจํดํ์ง ์์ ๊ฒ์ ๋๋ค. block.one๊ณผ ๊ทธ ๊ณ์ด์ฌ๋ ์ด ๋ฐฑ์์ ํฌํจ๋ ์ ๋ณด์ ์ฌ์ฉ, ์ฐธ์กฐ ๋๋ ์ ๋ขฐ๋ก ์ธํด ๋ฐ์ํ๋ ๋ชจ๋ ์ข ๋ฅ์ ์ํด์ ๋ํด ๋ช ์์ ์ผ๋ก ์ฑ ์์ ์ง์ง ์์ต๋๋ค. ์ด๋ ํ ๊ฒฝ์ฐ์๋ block.one ๋๋ ๊ทธ ๊ณ์ด์ฌ ์ฑ ์์ ์ง์ง ๊ฒ์ ๋๋ค. ์ด๋ค ์ฌ๋ ๋๋ ๋จ์ฒด(entity)์ ๋ชจ๋ ์ํด, ์์ค, ์ฑ ์, ๋น์ฉ ๋๋ ์ด๋ ํ ์ข ๋ฅ์ ๋น์ฉ์ ๋ ํ ์ง์ ๋๋ ๊ฐ์ , ๊ฒฐ๊ณผ์ , ๋ณด์, ๋ถ์์ , ์ค์ , ๋ชจ๋ฒ, ์ง๋ฒ์ ๋๋ ์ ์ฌ์ฉ, ์ฐธ์กฐ, ๋๋ ์ด ๋ฐฑ์ ๋๋ ๋น์ฆ๋์ค์ ์์ค์ ํฌํจํ๋ ์ด ์ ํ ์์ด, ์ฌ๊ธฐ์ ํฌํจ ๋ ๋ด์ฉ์ ๋ํ ์์กด๋ ๋ํ ํน๋ณ ํ ์์ต, ์ด์ต, ๋ฐ์ดํฐ, ์ฌ์ฉ, ์์ ๊ถ ๋๋ ๊ธฐํ ๋ฌดํ ์์ค.
- ๋ฐฐ๊ฒฝ (Background)
- ๋ธ๋ก์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ตฌ์ฌํญ (Requirements for Blockchain Application)
- ํฉ์ ์๊ณ ๋ฆฌ์ฆ (DPOS) (Consensus Algorithm)
- ๊ณ์ (Accounts)
- ๋ฉ์์ง์ ์ฒ๋ฆฌ๊ธฐ (Messages & Handlers)
- ์ญํ ๊ธฐ๋ฐ ๊ถํ ๊ด๋ฆฌ (Role Based Permission Management)
- ๋ฉ์์ง์ ํ์ ์ง์ฐ ์๊ฐ (Messages with Mandatory Delay)
- ํค ๋๋์ผ๋ก๋ถํฐ ๋ณต๊ตฌ (Recovery from Stolen Keys)
- ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฐ์ ๋ก ์ ๋ณ๋ ฌ ์คํ (Deterministic Parallel Execution of Applications)
- ํต์ ์ง์ฐ ์ต์ํ (Minimizing Communication Latency)
- ์ฝ๊ธฐ ์ ์ฉ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ (Read-Only Message Handlers)
- ๋ค์ค ๊ณ์ ์ ์์์ ํธ๋์ญ์ (Atomic Transactions with Multiple Accounts)
- ๋ธ๋ก์ฒด์ธ ์ํ์ ๋ถ๋ถ ๊ฒ์ฌ (Partial Evaluation of Blockchain State)
- ์ฃผ๊ด์ ์ต์ ์ค์ผ์ฅด๋ง (Subjective Best Effort Scheduling)
- ํ ํฐ ๋ชจ๋ธ๊ณผ ๋ฆฌ์์ค ์ฌ์ฉ (Token Model and Resource Usage)
- ๊ฐ๊ด์ ์ธก์ ๊ณผ ์ฃผ๊ด์ ์ธก์ (Objective and Subjective Measurements)
- ์์ทจ์ธ ๋ถ๋ด (Receiver Pays)
- ๋ฆฌ์์ค ํ์ฉ๋ ์์ (Delegating Capacity)
- ํ ํฐ์ ๊ฐ์น๋ก๋ถํฐ ํธ๋์ญ์ ๋น์ฉ์ ๋ถ๋ฆฌ (Separating Transaction costs from Token Value)
- ์ํ ์ ์ฅ ๋น์ฉ (State Storage Costs)
- ๋ธ๋ก ๋ณด์ (Block Rewards)
- ์ปค๋ฎค๋ํฐ ํํ ์ ํ๋ฆฌ์ผ์ด์ (Community Benefit Applications)
- ๊ฑฐ๋ฒ๋์ค (Governance)
- ์คํฌ๋ฆฝํธ์ ๊ฐ์ ๋จธ์ (Scripts & Virtual Machines)
- ๋ธ๋ก์ฒด์ธ ๊ฐ ํต์ (Inter Blockchain Communication)
- ๊ฒฐ๋ก (Conclusion)
๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ 2008๋ ๋นํธ์ฝ์ธ ํํ์ ์ถํ๊ณผ ํจ๊ป ์์๋์์ผ๋ฉฐ, ์ดํ ๊ธฐ์ ๊ฐ์ ๊ฐ๋ฐ์๋ค์ด ํ๋์ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ์์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ์ง์ํ๊ธฐ ์ํด ๋ธ๋ญ์ฒด์ธ ๊ธฐ์ ์ ์ผ๋ฐํ๋ฅผ ์๋ํด ์์ต๋๋ค.
๋ค์์ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ์ด ์ ๋๋ก ์๋ํ๋ ๋ถ์ฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ๊ธฐ ์ํด ๋ ธ๋ ฅํ์์ง๋ง, BitShares์ ๋ถ์ฐํ ๊ฑฐ๋์(2014) ๋ฐ Steem์ ์์ ๋ฏธ๋์ด ํ๋ซํผ(2016)๊ณผ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ๋ธ๋ก์ฒด์ธ์ ์ด๋ฏธ ์๋ง ๋ช ์ ์ผ์ผ ์ฌ์ฉ์๋ฅผ ๊ฐ์ง ๋ธ๋ก์ฒด์ธ์ผ๋ก ์ฑ์ฅํ์์ต๋๋ค. ์ด๋ ์ด๋น ์์ฒ ๊ฑด์ ํธ๋์ญ์ ์ง์, 1.5์ด์ ์ง์ฐ์๊ฐ๊ณผ ๊ฐ์ ์ฑ๋ฅ ํฅ์, ์ฌ์ฉ ์์๋ฃ์ ์ ๊ฑฐ, ํ์ฌ ์๋น์ค๋๋ ์ค์ ์ง์คํ ์๋น์ค์ ์ ์ฌํ ์์ค์ ์ฌ์ฉ์ ๊ฒฝํ ์ ๊ณต์ ํตํด ๊ฐ๋ฅํ๊ฒ ๋์์ต๋๋ค.
ํ์กดํ๋ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ๋ค์ ๋น์ผ ์์๋ฃ์ ์ฐ์ฐ๋ฅ๋ ฅ์ ํ๊ณ ๋๋ฌธ์ ๋ธ๋ก์ฒด์ธ์ ๊ด๋ฒ์ํ ์ฌ์ฉ์ ์์ด์ ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค.
๋์ค์ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ์ํด์, ๋ธ๋ก์ฒด์ธ ์์์ ๋์๊ฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์์ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๋ ์ ์ฐํ ํ๋ซํผ์ ๊ฐ์ถฐ์ผ ํฉ๋๋ค.
Ebay, Uber, AirBnB, Facebook ๊ณผ ๊ฐ์ ๊ธฐ์กด ์๋น์ค์ ๊ฒฝ์ํ๊ธฐ ์ํด์, ์์ฒ๋ง์ ์ผ์ผ ์ฌ์ฉ์๋ฅผ ์์ฉํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค. ๊ฒฝ์ฐ์ ๋ฐ๋ผ, ๋ง์ ์ฌ์ฉ์๋ค์ด ์์ด์ผ ์ด์ฉํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ค๋ ์์ผ๋ฏ๋ก ๋ง์ ์ฌ์ฉ์๋ฅผ ์์ฉํ๋ ํ๋ซํผ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์ฌ์ฉ์๋ค์๊ฒ ๋ฌด๋ฃ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ ์ ์ฐ์ฑ์ด ํ์ํ๋ฉฐ, ์ฌ์ฉ์๋ค์ ํ๋ซํผ์ ์ฌ์ฉํ๊ฑฐ๋ ํ๋ซํผ์ ์๋น์ค๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ๋น์ฉ์ ์ง๋ถํด์๋ ์๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฌด๋ฃ๋ก ์ด์ฉํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ํ๋ซํผ์ด ๋ ๋๋ฆฌ ์ฌ์ฉ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์, ๊ฐ๋ฐ์์ ๊ธฐ์ ์ ํจ๊ณผ์ ์ธ ์์ต ์ฐฝ์ถ ์ ๋ต์ ๋ง๋ค ์ ์์ต๋๋ค.
๋ธ๋ก์ฒด์ธ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ธฐ์ ์ ๊ทธ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ๊ฐ์ ํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ง์ ์ํํธ์จ์ด๋ค์ ์๊ฒฉํ ๊ณต์์ ์ธ ๊ฒ์ฌ๋ฅผ ์งํํ๋๋ผ๋ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํฉ๋๋ค. ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์์ ๋ ๋ฒ๊ทธ๋ฅผ ์์ ํ ์ ์์ ๋งํผ ์์ ์ ์ด์ด์ผ ํฉ๋๋ค.
์ข์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ์ด ์ดํ์ ์ง์ฐ์๊ฐ์ ์์ ์ ์ธ ํผ๋๋ฐฑ์ ํ์๋ก ํฉ๋๋ค. ๊ธด ์ง์ฐ ์๊ฐ์ ์ฌ์ฉ์์ ๋ถ๋ง์ ์ผ์ผํค๋ฉฐ, ์ด๋ฌํ ๋ธ๋ก์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ธ๋ก์ฒด์ธ์ ์ฌ์ฉํ์ง ์๋ ๊ธฐ์กด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋นํด ๊ฒฝ์๋ ฅ์ด ๋จ์ด์ง๋๋ค.
๋ช๋ช ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฐจ์ ์ธ ์ฒ๋ฆฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ณ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ตฌํ๋ ์ ์์ต๋๋ค. ๊ฑฐ๋์(exchange)์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ๋ง์ ์์ ๊ฑฐ๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ์ถฉ๋ถํ ์์ฐจ์ ์ฑ๋ฅ์ ์๊ตฌํ๋ฏ๋ก, ํ๋ซํผ์ ๋น ๋ฅธ ์์ฐจ ์ฒ๋ฆฌ ์ฑ๋ฅ์ด ํ์ํฉ๋๋ค.
๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์์ ์ ๋ค์์ CPU์ ์ปดํจํฐ์ ์์ ๋ถํ๋ฅผ ๋๋์ด ์ฒ๋ฆฌํ ์ ์์ด์ผ ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ ์ ์ผํ ๋ถ์ฐ ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ธ ์ง๋ถ ์์ ์ฆ๋ช (DPOS; Deleteged Proof-Of-Stake)์ ์ฌ์ฉํฉ๋๋ค. ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค. ํ ํฐ ๋ณด์ ์๋ ์์ ์ด์๋๋ ํฌํ ์์คํ ์ ํตํด ๋ธ๋ก ์์ฐ์(block producer)๋ฅผ ์ ์ถํ๊ณ , ๋๊ตฌ๋ ๋ธ๋ก ์์ฐ์๋ก ์ฐธ์ฌํ ์ ์์ผ๋ฉฐ, ๋ธ๋ก์ ์์ฐํ ๊ธฐํ๋ ๋ชจ๋ ๋ค๋ฅธ ์์ฐ์๋ค์ด ๋ฐ์ ์ ์ฒด ํฌํ ์ค ๋ณธ์ธ์ด ๋ฐ์ ํฌํ ๋น์จ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ํ๋ผ์ด๋น ๋ธ๋ก์ฒด์ธ์์ ๊ด๋ฆฌ์๋ ํ ํฐ์ ์ฌ์ฉํ์ฌ IT ์ง์์ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ์ ํํ 3์ด๋ง๋ค ๋ธ๋ก์ ๋ง๋ค ์ ์๊ณ , ์ค์ง ํ ๋ช ์ ๋ธ๋ก ์์ฐ์๋ง์ด ๋ธ๋ก์ ์์ฑํ ์ ์์ต๋๋ค. ๋ง์ฝ ์ ํด์ง ์๊ฐ์ ๋ธ๋ก์ด ์์ฐ๋์ง ์์ ๊ฒฝ์ฐ, ํด๋น ์์ ์ ๋ธ๋ก ์์ฑ์ ๊ฑด๋๋ฐ๊ฒ ๋ฉ๋๋ค. 1๊ฐ ํน์ ๊ทธ ์ด์์ ๋ธ๋ก์ด ์์ฑ๋์ง ์์(skipped) ๊ฒฝ์ฐ, ๋ธ๋ก์ฒด์ธ์ ์์ฑ์ 6์ด ํน์ ๊ทธ ์ด์์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด์์ ๋ธ๋ก๋ค์ 21๋ฒ์ ๋จ๊ณ์ ๋ผ์ด๋๋ก ์์ฑ๋ฉ๋๋ค. ๊ฐ ๋ผ์ด๋๊ฐ ์์๋ ๋๋ง๋ค, 21๋ช ์ ๋ธ๋ก ์์ฐ์๊ฐ ์๋ก ์ ์ถ๋ฉ๋๋ค. ๋ง์ ๋ํ๋ฅผ ๋ฐ์ ์์ 20๋ช ์ ๋ธ๋ก ์์ฐ์๊ฐ ๊ฐ ๋ผ์ด๋ ๋ง๋ค ์๋์ ์ผ๋ก ์ ์ถ์ด ๋๊ณ , ๋ง์ง๋ง(21๋ฒ์งธ) ์์ฐ์๋ ๋ค๋ฅธ ์์ฐ์์์ ์๋์ ์ธ ํฌํ์์ ๋น๋กํ์ฌ ์ ์ถ๋ฉ๋๋ค. ์ ํ๋ ๋ธ๋ญ ์์ฑ์๋ ๋ธ๋ญ ์์ฑ ์๊ฐ์ ์ํด ์ป์ด์ง๋ ์์ฌ ๋์(pseudorandom number)์ ๋ฐ๋ผ ๋๋คํ๊ฒ ์์ฌ์ง๋๋ค. ๋ธ๋ก ์์ฑ ์์๋ฅผ ์๋ ๊ฒ์ ๋ชจ๋ ์์ฐ์์๊ฒ ๊ท ํ์ ์ธ ์ฐ๊ฒฐ(balanced connectivity)์ ์ ์งํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
์์ฐ์๊ฐ ๋ธ๋ก ์์ฑ์ ์คํจ(misses a block)ํ๊ณ ์ง๋ 24์๊ฐ ๋์ ์ด๋ ํ ๋ธ๋ก์ ์์ฑํ์ง ์์๋ค๋ฉด, ๊ทธ๋ ๋ธ๋ก์ฒด์ธ์ ๋ธ๋ก ์์ฑ ์ฐธ์ฌ ์์ฌ๋ฅผ ์๋ ค์ฃผ๊ธฐ ์ ๊น์ง ๋ธ๋ญ ์์ฑ์์ ์ ์ธ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฏฟ์ ์ ์๋(unreliable) ์ฌ๋์ ๋ธ๋ญ ์์ฑ์์ ๋ฐฐ์ ํ๋ฏ๋ก, ๋์น๋ ๋ธ๋ก์ ์ต์ํํ๊ณ ๋คํธ์ํฌ๊ฐ ์ํํ๊ฒ ๋์ํ๋๋ก ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ์ํฉ์์, ์ง๋ถ ์์ ์ฆ๋ช (DPOS) ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๋ธ๋ก์ฒด์ธ์ ์ด๋ ํ ํฌํฌ(fork)๋ ์ผ์ด๋์ง ์์ต๋๋ค. ํฌํฌ๊ฐ ๋ฐ์๋๋ฉด, ํฉ์๋ ๊ฐ์ฅ ๊ธด ์ฒด์ธ์ ์๋์ผ๋ก ์ ํ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ด ๋์ํ๋ ์ด์ ๋ ํน์ ๋ธ๋ก์ฒด์ธ ํฌํฌ์ ๋ธ๋ก๋ค์ด ์ถ๊ฐ๋๋ ์๋๊ฐ ๊ฐ์ ํฉ์๋ฅผ ๊ณต์ ํ๋ ๋ธ๋ก ์์ฑ์์ ๋น์จ๊ณผ ์ง์ ์ฐ๊ด๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฆ, ๋ ๋ง์ ๋ธ๋ก ์์ฐ์๊ฐ ์ฐธ์ฌํ๋ ๋ธ๋ก์ฒด์ธ์ด ์ ์ ๋ธ๋ก ์์ฐ์๊ฐ ์ฐธ์ฌํ๋ ๋ธ๋ก์ฒด์ธ์ ๋นํ์ฌ ๋น ๋ฅด๊ฒ ์์ฑ๋ฉ๋๋ค. ์ถ๊ฐ๋ก, ์ด๋ ํ ๋ธ๋ก ์์ฑ์๋ ๋์์ ๋ ๊ฐ์ ํฌํฌ์ ๋ธ๋ก์ ์์ฑํ ์ ์์ต๋๋ค. ๋ง์ผ ์ด๋ฌํ ๊ฒ์ด ์ ๋ฐ๋๋ฉด, ํด๋น ๋ธ๋ก ์์ฑ์๋ ํฌํ์์ ์ ์ธ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ๋๊ฐ ์ด์์ ๋ธ๋ญ์ฒด์ธ์ ์์ฑํ๋ ์ ์ฉ์๋ ์ํธํ์ ์ฆ๊ฑฐ(cryptographic evidence)์ ์ํด ์๋์ผ๋ก ์ ๊ฑฐ๋ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ DPOS ๋ธ๋ก์ฒด์ธ์ 100%์ ๋ธ๋ก ์์ฐ์ ์ฐธ์ฌ์จ์ ๊ฐ์ง๋๋ค. ๋ธ๋ก์ ์ ํ(braodcasting) ์๊ฐ๋ถํฐ ํ๊ท 1.5์ด์ ์๊ฐ์ด ํ๋ฅด๋ฉด ํธ๋์ญ์ ์ 99.9%์ ์ ๋ขฐ๋๋ก ํ์ธ(confirm)๋ฉ๋๋ค.
์ํํธ์จ์ด ๋ฒ๊ทธ, ์ธํฐ๋ท ์๋ ์ ํ ๋ฐ ๋น์ ์์ ๋ธ๋ก ์์ฐ์์ ๊ฐ์ ํน์ํ ์ํฉ์์ ๋ ๊ฐ ํน์ ๊ทธ ์ด์์ ํฌํฌ๊ฐ ์์ฑ๋ ์ ์์ต๋๋ค. ํธ๋์ญ์ ๋ฅผ ๋ชป ๋ฐ๊พธ๋๋ก(irreversible) ํ์ ํ๊ธฐ ์ํด์, ๋ ธ๋๋ 21๋ช ์ ๋ธ๋ก ์์ฐ์ ์ค 15๋ช ์ ํ์ธ(confirmation)์ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. EOS.IO ์ํํธ์จ์ด์ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ฅด๋ฉด, ์ด๊ฒ(ํธ๋์ญ์ ํ์ธ)์ ๋ณดํต ์ํฉ์์ 45์ด์ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๋ ธ๋๋ 21๋ช ์ค 15๋ช ์ด ํ์ธ(confirmed)๋๋ฉด ์ด ๋ธ๋ก์ ๋ฐ๋ ์ ์๊ณ , ๋ธ๋ก์ ๊ธธ์ด์ ์๊ด์์ด ๋ค๋ฅธ ๋ธ๋ญ์ฒด์ธ(ํฌํฌ)๋ก ์ ํ๋์ง ์์ต๋๋ค.
๋ ธ๋๋ ํฌํฌ๊ฐ ๋ถ๊ธฐ๋ ํ 9์ด ์ด๋ด์ ์์ ํฌํฌ(minority fork)์ ์ํด์์ ๊ฐ๋ฅ์ฑ์ด ๋์์ ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ํ ์ ์์ต๋๋ค. ๋ธ๋ก์ฒด์ธ์ 2๊ฐ์ ๋ธ๋ก์ด ์ฐ์์ ์ผ๋ก ์ถ๊ฐ๋์ง ์์(missed) ๊ฒฝ์ฐ, ์ด ๋ ธ๋๋ 95% ํ๋ฅ ๋ก ์์ ํฌํฌ์ ์ํฉ๋๋ค. 3๋ฒ ์ฐ์์ผ๋ก ๋ธ๋ญ์ด ์ถ๊ฐ๋์ง ์์ ๊ฒฝ์ฐ, ์์ ํฌํฌ์ ์์ ํ๋ฅ ์ด 99%๊ฐ ๋ฉ๋๋ค. ์ด์์์๊ฒ ๋ฌด์ธ๊ฐ ์๋ชป๋์๋ค๋ ์ฌ์ค์ ์ ์ํ๊ฒ ๊ฒฝ๊ณ ํ๊ธฐ ์ํด ๋๋ฝ๋(missed) ๋ ธ๋, ์ต๊ทผ ์ฐธ์ฌ์จ ๋ฐ ๊ธฐํ ์์ธ์ ๋ํ ์ ๋ณด๋ฅผ ํ์ฉํ ์์ ์ ์ธ ์์ธก ๋ชจ๋ธ์ ์์ฑ ํ ์ ์์ต๋๋ค.
๊ฒฝ๊ณ (warning)์ ๋ํ ๋์์ ๋น์ฆ๋์ค ํธ๋์ญ์ ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ, ๊ฐ์ฅ ๊ฐ๋จํ ๋์์ ๊ฒฝ๊ณ ๊ฐ ๋๋๋ 15/21์ ํ์ธ(confirmations)์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ชจ๋ ํธ๋์ญ์ ์ด ์ต๊ทผ ๋ธ๋ก ํค๋์ ํด์ฌ๊ฐ์ ํฌํจํ๋๋ก ์๊ตฌํฉ๋๋ค. ํด์ฌ๊ฐ์ ๋ ๊ฐ์ง ์ฉ๋๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- ์ฐธ์กฐ ๋ธ๋ก(referenced block)์ด ํฌํจ๋์ง ์์ ํฌํฌ์์ ํธ๋์ญ์ ์ด ์ฌ์คํ(replay)๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ํน์ ์ฌ์ฉ์์ ๊ทธ์ ์ง๋ถ(stake)์ด ํน์ (๋ธ๋ญ์ฒด์ธ) ํฌํฌ์์ ์กด์ฌํ๋์ง ๋คํธ์ํฌ์ ์๋ ค์ค๋๋ค.
์๊ฐ์ด ์ง๋ ์๋ก, ๋ชจ๋ ์ฌ์ฉ์๋ ๋ธ๋ก์ฒด์ธ์ ์ง์ ํ์ธ(confirm)ํ๊ฒ ๋๊ณ , ์ด๊ฒ์ ์์กฐํ์ฌ ํฉ๋ฒ์ ์ฒด์ธ์ ๊ฑฐ๋๋ฅผ ์ฎ๊ธธ ์ ์์ผ๋ฏ๋ก ์์กฐ ์ฒด์ธ์ ๋ง๋๋ ๊ฒ์ ์ด๋ ต๊ฒ ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ชจ๋ ๊ณ์ ์ด 2~32 ๊ธ์์ ์ฝ์ ์ ์๋ ๊ณ ์ ์ด๋ฆ์ ๊ฐ์ง๋๋ค. ๊ณ์ ์ด๋ฆ์ ์์ฑ์๊ฐ ์ ํํฉ๋๋ค. ๋ชจ๋ ๊ณ์ ์ ์์ฑ๋๋ ์์ ์ ๊ณ์ ์ ๋ณด์ ์ ์ฅ ๋น์ฉ ์ด์์ ์ต์ ๊ณ์ ์์ก(minimal account balance )์ ๋ณด์ ํด์ผ ํฉ๋๋ค. ๊ณ์ ์ด๋ฆ์ ๋ค์์คํ์ด์ค(namespaces)๋ฅผ ์ง์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, @domain ๊ณ์ ์ ์์ ์๋ง์ด @user.domain์ ์์ฑํ ์ ์๋๋ก ํฉ๋๋ค.
๋ถ์ฐ ํ๊ฒฝ์์, ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์๋ก์ด ์ฌ์ฉ์๊ฐ ๊ฐ์ ํ์ฌ ๊ณ์ ์ ์์ฑํ๋ ์ต์ํ์ ๋น์ฉ์ ๋ถ๋ดํด์ผ ํฉ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ธฐ์ ๋ค์ ์ด๋ฏธ ๊ด๊ณ ๋ ๋ฌด๋ฃ ์๋น์ค ์ ๊ณต์ผ๋ก ๋จ์ ์ฌ์ฉ์๋น ์๋นํ ๋์ ์ง์ถํ๊ณ ์์ต๋๋ค. ์ด์ ๋น๊ตํ ๋ ์๋ก์ด ๋ธ๋ก์ฒด์ธ ๊ณ์ ์ ๋ถ๋ดํ๋ ๋น์ฉ์ ์๋์ ์ผ๋ก ๋ฏธ๋ฏธํ ๊ฒ์ ๋๋ค. ์ด๋ฏธ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ ํ ์ฌ์ฉ์๋ ๊ณ์ ์ ์ค๋ณตํ์ฌ ๊ฐ์ ํ ํ์๋ ์์ต๋๋ค.
ํ ๊ณ์ ์์ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ๊ตฌ์กฐํ๋ ๋ฉ์์ง(structured message)๋ฅผ ์ ์กํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ก์ ํ์์ ๋ ์ฒ๋ฆฌํ๋ ์คํฌ๋ฆฝํธ(script)๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๊ฐ๊ฐ์ ๊ณ์ ์ด ๋ ๋ฆฝ๋ ํ๋ผ์ด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค(own private database)๋ฅผ ์ฃผ๊ณ , ์์ ์ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ๋ง์ด ์ด๊ฒ์ ์ ๊ทผํ๋๋ก ํ์ฉํฉ๋๋ค. ๋ฉ์์ง ์ฒ๋ฆฌ ์คํฌ๋ฆฝํธ(Message handling scripts)์์ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ ์กํ ์๋ ์์ต๋๋ค. EOS.IO๋ ์ค๋งํธ ์ปจํธ๋ ํธ(smart contracts)๋ฅผ ๋ฉ์์ง(messages)์ ์๋ํ๋ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ(automated message handlers)์ ๊ฒฐํฉ์ผ๋ก ์ ์ํฉ๋๋ค.
๊ถํ ๊ด๋ฆฌ(Permission management)๋ ๋ฉ์์ง๊ฐ ์ ์์ ์ผ๋ก ์ธ์ฆ(authorized)๋์๋์ง ๊ฒฐ์ ํฉ๋๋ค. ๊ฐ์ฅ ๋จ์ํ ํํ์ ๊ถํ ๊ด๋ฆฌ๋ ํธ๋์ญ์ ์ ์๋ช ์ฌ๋ถ๋ฅผ ๊ฒ์ฌํ๋ ๊ฒ๊ณ , ์ด๋ ์ด๋ฏธ ํ์ํ ์๋ช ์ ์๊ณ ์์ ๋ ๊ฐ๋ฅํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ถํ์ ์ฌ์ฉ์์ ๊ทธ๋ฃน์ ๋ถ์ฌ๋๋ฉฐ ์ด๋ค์ ๊ตฌ๋ถ๋ฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๊ณ์ ๋ณ๋ก ๋๊ฐ, ์ธ์ , ์ด๋ค ์์ ์ ํ ์ ์๋์ง์ ๋ํ์ฌ ์ธ๋ฐํ๊ณ ๋์ ์์ค์ ํต์ ๋ฅผ ์ ๊ณตํ๋ ์ ์ธ์ ๊ถํ ๊ด๋ฆฌ ์์คํ (declarative permission management system)์ ์ ๊ณตํฉ๋๋ค.
์ธ์ฆ๊ณผ ๊ถํ ๊ด๋ฆฌ(authentication and permission management)๋ฅผ ํ์คํํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด๊ฒ์ ๊ถํ ๊ด๋ฆฌ๊ฐ ๋ฒ์ฉ์ ์ธ ๊ด์ ์์ ์ด๋ฃจ์ด์ง๋๋ก ํ๋ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ ์ ์๊ฒ ํ๋ฉฐ, ๋ํ ์ฑ๋ฅ ์ต์ ํ์ ํฐ ๊ฐ๋ฅ์ฑ์ด ์ด๋ฆฌ๊ฒ ํฉ๋๋ค.
๋ชจ๋ ๊ณ์ ์ ๋ค๋ฅธ ๊ณ์ ๋ค(other accounts)๊ณผ ๊ฐ์ธํค๋ค(private keys)์ ๊ฐ์ค์น ์กฐํฉ(weighted combination)์ผ๋ก ์ ์ด๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ค์ ๊ถํ ๊ตฌ์ฑ ๋ฐฉ์๊ณผ ์ ์ฌํ ๊ณ์ธต์ ์ธ์ฆ ๊ตฌ์กฐ(hierarchical authority structure)๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ๋ํ ์๊ธ(funds)์ ๋ํ ๋ค์ค ์ฌ์ฉ์ ์ ์ด(multi-user control)๋ฅผ ์ฝ๊ฒ ํ๋๋ก ํฉ๋๋ค. ๋ค์ค ์ฌ์ฉ์ ์ ์ด(Multi-user control)๋ ๋ณด์ ๊ด์ ์์ ๊ฐ์ฅ ํฐ ๊ธฐ์ฌ์(single biggest contributor)์ด๋ฉฐ, ์ด๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ ๊ฒฝ์ฐ ํดํน์ผ๋ก ์ธํ ๋๋์ ์ํ์ ํฌ๊ฒ์ผ๋ก ๊ฐ์์ํฌ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๊ณ์ ์์ ํค ๋ฐ/๋๋ ๊ณ์ ์ ์กฐํฉ(combination of keys and/or accounts)์ด ํน์ ๋ฉ์์ง ์ ํ์ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ๋ณด๋ผ ์ ์๊ฒ ์ ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ฉ์์ ์์ ๋ฏธ๋์ด ๊ณ์ ์ ํค์ ๋ณ๋๋ก ๊ฑฐ๋์์ ์ ๊ทผํ ์ ์๋ ํค๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ฌ์ง์ด, ๋ค๋ฅธ ๊ณ์ (other accounts)์ ํค๋ฅผ ํ ๋นํ์ง ์๊ณ ๋ ๋ค๋ฅธ ๊ณ์ ์ด ์ฌ์ฉ์ ๊ณ์ (user's account)์ ๋์ ํ์ฌ ํ๋ํ ์ ์๋ ๊ถํ์ ์ค ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด์์ ๊ณ์ ์ ์์ ๋ ๋ฒจ์ ๋ช ๋ช ๋ ๊ถํ(higher level named permissions)์ผ๋ก๋ถํฐ ํ์๋๋ ๋ช ๋ช ๋ ๊ถํ ์์ค(named permission levels)์ ์ ์ํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ ๋ช ๋ช ๋ ๊ถํ ์์ค์ ์ธ์ฆ ๋ฐฉ์(authority)์ ์ ์ํฉ๋๋ค. ์ธ์ฆ์ ๋ค๋ฅธ ๊ณ์ ์ ํค์ ๋ช ๋ช ๋ ๊ถํ ๋ ๋ฒจ์ ์์ ๋ก์ด ์กฐํฉ์ ๋ํ ์๊ณ ๋ค์ค์๋ช ํ์ธ(threshold multi-signature check)์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด, ๊ณ์ ์ "์น๊ตฌ"๊ถํ ์์ค์ ์ค์ ํ๋ฉด ๊ทธ ๊ณ์ ์ ์น๊ตฌ ์ค ์๋ฌด๋ ๊ทธ ๊ณ์ ์ ๋๋ฑํ๊ฒ ์ ์ด ํ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์์ ๋ก์ Steem ๋ธ๋ก์ฒด์ธ์ด ์์ผ๋ฉฐ, ์ฌ๊ธฐ์๋ 3๊ฐ์ง ํ๋ ์ฝ๋ฉ๋ ๋ช ๋ช ๋ ๊ถํ ์์ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ฆ, ์์ ์(owner), ํ๋(active), ํฌ์คํ (posting) ์ ๋๋ค. ํฌ์คํ ๊ถํ์ ํฌํ๋ ๊ธ์ฐ๊ธฐ์ ๊ฐ์ ์์ ํ๋์ ํ ์ ์์ผ๋ฉฐ, ํ๋ ๊ถํ์ ์์ ์ ๋ณ๊ฒฝ์ ์ ์ธํ ๋ชจ๋ ํ๋์ด ๊ฐ๋ฅํฉ๋๋ค. ์์ ์(owner) ๊ถํ์ ์ฝ๋ ์คํ ๋ฆฌ์ง(cold storage)๋ฅผ ์๋ฏธํ๋ฉฐ ๋ชจ๋ ํ๋์ด ๊ฐ๋ฅํฉ๋๋ค. EOS.IO๋ steem์ ๊ฐ๋ ์ ์ผ๋ฐํํ์ฌ ๊ฐ๊ฐ์ ๊ณ์ ์์ ์ฃผ๊ฐ ํ๋ ๊ทธ๋ฃน์ ํฌํจํ๋ ๋ ์์ ์ธ ๊ณ์ธต(hierarchy)์ ์ ์ํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๊ฐ๊ฐ์ ๊ณ์ ์ด ๋ ์์ ์ธ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ๋ฅผ ๋ช ๋ช (named)ํ๊ณ ์ค์ฒฉ ๊ทธ๋ฃนํ(nested groups)ํ๋ ๊ฒ์ ํ์ฉํฉ๋๋ค. ๋ช ๋ช ๋ ๋ฉ์์ง ํธ๋ค๋ฌ ๊ทธ๋ฃน(named message handler groups)๋ค์ ์์ ์ ๊ถํ ์์ค์ ์ค์ ํ ๋ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก๋ถํฐ ์ฐธ์กฐ๋ ์ ์์ต๋๋ค.
์ต์์ ๋ ๋ฒจ์ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ ๊ทธ๋ฃน์ ๊ณ์ ์ด๋ฆ์ด๋ฉฐ, ๊ฐ์ฅ ๋ฎ์ ๋ ๋ฒจ์ ํน์ ๊ณ์ ์ผ๋ก๋ถํฐ ๋ฐ์ ๊ฐ๋ณ์ ์ธ ๋ฉ์์ง ํ์ (individual message type)์ ๋๋ค. ์ด๋ฌํ ๊ทธ๋ฃน๋ค์ ๋ค์๊ณผ ๊ฐ์ด ์ฐธ์กฐ๋ ์ ์์ต๋๋ค. @๊ณ์ ๋ช .๊ทธ๋ฃนA.ํ์๊ทธ๋ฃนB.๋ฉ์์งํ์ (@accountname.groupa.subgroupb.MessageType)
์ด๋ฌํ ๋ชจํ์ ์ด์ฉํ์ฌ ๊ฑฐ๋์์ ๊ณ์ฝ์ ๊ฑฐ๋ ๋จ์๋ก ๊ทธ๋ฃนํํ์ฌ ์ ๊ธ๊ณผ ์ถ๊ธ์ ๋ณ๊ฐ๋ก ๋ค๋ฃฐ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฑฐ๋ ๊ณ์ฝ์ ๊ทธ๋ฃนํ๋ ๊ฑฐ๋์์ ์ฌ์ฉ์์๊ฒ ํธ์์ฑ์ ์ ๊ณตํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๊ณ์ ๋ณ๋ก ์ด๋ ํ ๊ณ์ ์ ๋ช ๋ช ๋ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ ๊ทธ๋ฃน๊ณผ ๋ณด์ ํ๊ณ ์๋ ๋ช ๋ช ๋ ๊ด๋ฆฌ ์์ค ๊ฐ์ ๋งคํ์ ์งํํ ์ ์๋๋ก ํฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๊ฐ ๊ณ์ ์ด ์ด๋ค ๊ณ์ ์ ๋ช ๋ช ๋ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ ๊ทธ๋ฃน(Named Message Handler Group of any account)๊ณผ ๊ทธ๋ค ์์ ์ ๋ช ๋ช ๋ ๊ถํ ๋ ๋ฒจ(their own Named Permission Level) ๊ฐ์ ๋งคํ์ ์ ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณ์ ์์ ์๋ ํด๋น ๊ณ์ ์์ ์์ ์์ ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ "์น๊ตฌ" ๊ด๋ฆฌ ๊ทธ๋ฃน๊ณผ ๋งคํํ ์ ์์ต๋๋ค. ์ด ๋งคํ์ ํตํด, ์ด๋ค ์น๊ตฌ๋ค์ด๋ผ๋ ๊ณ์ ์์ ์์ฒ๋ผ ๊ณ์ ์์ ์์ ์์ ๋ฏธ๋์ด์ ๊ธ์ ํฌ์คํ ํ ์ ์์ต๋๋ค. ์น๊ตฌ๋ค์ด ๊ณ์ ์์ ์์ฒ๋ผ ๊ธ์ ํฌ์คํ ํ ์ง๋ผ๋, ์น๊ตฌ๋ค ์์ ์ ํค๋ก ๋ฉ์์ง์ ์๋ช ํฉ๋๋ค. ์ด๋ก์, ์ด๋ค ์น๊ตฌ๊ฐ ๊ณ์ ์ ์ฌ์ฉํ๊ณ ๊ทธ๊ฐ ๋ฌด์์ ํ์๋์ง ์ ์ ์์ต๋๋ค.
@์จ๋ฆฌ์ค๊ฐ @๋ฐฅ์๊ฒ "์ก์ " ํ์ ์ ๋ฉ์์ง๋ฅผ ๋ณด๋ธ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. EOS.IO ์ํํธ์จ์ด๋ ๋จผ์ @์จ๋ฆฌ์ค๊ฐ @๋ฐฅ.๊ทธ๋ฃนA.ํ์๊ทธ๋ฃน.์ก์ ์ฒ๋ฆฌ๊ธฐ์ ๋ํ ๊ถํ์ ๋งคํํ์๋์ง ํ์ธํฉ๋๋ค. ๋ง์ฝ ๋งคํ๋์ด ์์ง ์๋ค๋ฉด, ๋งคํ์ด ๋ฐ๊ฒฌ๋ ๋ ๊น์ง @bob.groupa.subgroup, @bob.groupa, ๊ทธ๋ฆฌ๊ณ @bob์ ์์๋ก ๊ฒ์ฌํฉ๋๋ค. ๋ง์ฝ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ์ ๋ํ ๋งคํ์ด ์์ผ๋ฉด**@alice.active**๋ก ๋ช ๋ช ๋ ๊ถํ ๊ทธ๋ฃน์ผ๋ก ๋งคํ๋ ๊ฒ์ ๊ฐ์ ํฉ๋๋ค.
๋ง์ฝ ๋งคํ์ด ํ์ธ์ด ๋๋ฉด, ์๊ณ ๋ค์ค์๋ช ์ ์ฐจ(threshold multi-signature process)์ ๋ช ๋ช ๋ ๊ถํ์ ๋ํ ์ธ์ฆ(authority associated with the named permission)์ ์ฌ์ฉํ์ฌ ์๋ช ๋ ์ธ์ฆ์ ๊ฒ์ฆํฉ๋๋ค. ์คํจํ ๊ฒฝ์ฐ, ์์ ๊ถํ์ผ๋ก ๊ฒ์ฌ๋ฅผ ์ํํ๋ฉฐ ์ต์ข ์ ์ผ๋ก ์์ ์ ๊ถํ์ธ @alice.owner๋ก ๊ฒ์ฌ๋ฅผ ์งํํฉ๋๋ค.
๋ชจ๋ ๊ณ์ ์ ๋ชจ๋ ๊ฒ์ ํ ์ ์๋ "์์ ์(owner)" ๊ถํ๊ณผ ์์ ์ ๋ณ๊ฒฝ์ ์ ์ธํ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋ฅํ "ํ๋(active)" ๊ถํ์ ๊ฐ์ง๋๋ค. ๊ทธ ์ธ์ ๋ค๋ฅธ ๊ถํ์ "ํ๋(active)"์ผ๋ก๋ถํฐ ํ์๋ฉ๋๋ค.
๊ถํ ๊ฒ์ฌ ์ ์ฐจ(permission evaluation process)๋ "์ฝ๊ธฐ"์ด๋ฉฐ, ํธ๋์ญ์ ์ ์ํ ๊ถํ์ ๋ณ๊ฒฝ์ ๋ธ๋ก์ด ์ข ๋ฃ๋ ๋๊น์ง๋ ์ด๋ ํ ์ํฅ๋ ๋ฐํํ์ง ๋ชปํฉ๋๋ค. ์ด๊ฒ์ ๋ชจ๋ ํธ๋์ญ์ ์ ๋ชจ๋ ํค์ ๊ถํ ๊ฒ์ฌ๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ์งํ๋ ์ ์์์ ๋ปํฉ๋๋ค. ๋ ๋์๊ฐ, ๋กค๋ฐฑํด์ผ ํ๋ ๊ฐ๋น์ผ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ์์ํ์ง ์๊ณ ๋, ์ ์ํ ๊ถํ ๊ฒ์ฌ์ ๊ฐ๋ฅํจ์ ์๋ฏธํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, ์ด๋ ๋ณด๋ฅ ์ค์ธ ํธ๋์ญ์ ์ด ์์ ๋ ๋ ํธ๋์ญ์ ๊ถํ์ ํ๊ฐํ ์ ์์ผ๋ฉฐ, ์ด๋ฏธ ์น์ธ๋ ํธ๋์ญ์ ์ ๋ค์ ๊ฒ์ฌํ ํ์๊ฐ ์์ต๋๋ค.
์ ์ฒด์ ์ธ ๊ด์ ์์, ๊ถํ ๊ฒ์ฌ(permission verification)๋ ํธ๋์ญ์ ์ ํ์ํ ์ฐ์ฐ์ ๋ง์ ๋น์ค์ ์ฐจ์งํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ถํ ๊ฒ์ฌ๋ฅผ ์ฝ๊ธฐ ์ฐ์ฐ๋ง์ผ๋ก ๊ตฌ์ฑํ์ฌ ๋ณ๋ ฌํํ๋ฉด ์ ์ฒด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ฉ๋๋ค.
๋ฉ์์ง ๋ก๊ทธ(message log)๋ก๋ถํฐ ๋ธ๋ก์ฒด์ธ์ ๊ฒฐ์ ๋ ์ํ(deterministic state)๋ก ์ฌ๊ตฌ์ถ(replay, ์ ๋ ธ๋๊ฐ ๋ธ๋ญ์ฒด์ธ์ ์ฒ์๋ถํฐ ๋ฐ๋ ๊ฒ)ํ๋ ๊ณผ์ ์์ ๊ถํ ๊ฒ์ฌ๋ฅผ ๋ค์ ์ํํ ํ์๋ ์์ต๋๋ค. ์ ์์ ์ธ ๋ธ๋ก์ ํธ๋์ญ์ ์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก, ์ด ๊ณผ์ ์ ๋์ด๊ฐ(skip) ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ ์ ๋ ์ปค์ง๋ ๋ธ๋ก์ฒด์ธ์ ์ฌ๊ตฌ์ถ์ ๋๋ ๊ณ์ฐ ๋น์ฉ์ ํฐ ํญ์ผ๋ก ๊ฐ์์ํฌ ์ ์์ต๋๋ค.
์๊ฐ์ ๋ณด์์ ํต์ฌ ์์์ ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ, ๊ฐ์ธ ํค(private key)๊ฐ ๋๋๋นํ ๊ฒฝ์ฐ ์ฌ์ฉ๋๊ธฐ ์ ์๋ ์ด๋ฅผ ์๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ์ ๋ณด๊ด๋๋ ํค๋ฅผ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ์ฌ๋๋ค์๊ฒ ์๊ฐ ๊ธฐ๋ฐ์ ๋ณด์(time based security)์ ๋์ฑ ์ค์ํฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๊ฐ ํน์ ๋ฉ์์ง๊ฐ ๋ธ๋ก์ ํฌํจ๋์์ง๋ง ์ ์ฉ๋๊ธฐ ์ด์ ์ ์ง์ ํ ์๊ฐ ๋งํผ ๊ธฐ๋ค๋ฆฌ๋๋ก ํ ์ ์์ต๋๋ค. ์ด ์๊ฐ ๋์์ ์ด ๋ฉ์์ง๋ ์ทจ์ ๊ฐ๋ฅํฉ๋๋ค.
์ฌ์ฉ์๋ ์ด๋ฉ์ผ์ด๋ ๋จ๋ฌธ์ผ๋ก ๋ฉ์์ง๊ฐ ์ ์ก๋์์์ ์๋ด๋ฐ์ ์ ์์ต๋๋ค. ๋ง์ฝ ๊ทธ๋ค์ด ํดํน์ ๋นํ ๊ฒ์ด๋ผ๋ฉด, ๊ทธ๋ค์ ๊ณ์ ๋ณต๊ตฌ ์ ์ฐจ๋ฅผ ํตํด ๊ณ์ ๋ณต๊ตฌ์ ๋ฉ์์ง ์ฒ ํ๋ฅผ ํ ์ ์์ต๋๋ค.
ํ์ ์ง์ฐ ์๊ฐ์ ์์ ์ ์ค์๋์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ์ปคํผ ํ์์ ๊ตฌ๋งคํ๋ ๊ฒ์ ์ง์ฐ์๊ฐ์ ๊ฐ์ง ์์ ๋ช ์ด ๋ด๋ก ์ทจ์ ๋ถ๊ฐ๋ฅํ ์ํ๊ฐ ๋๋ฉฐ, ์ง์ ์ฌ๋ ๊ฒ์ด๋ผ๋ฉด 72์๊ฐ์ ๊ฑฐ๋ ์๋ฃ ์กฐ์ ๊ธฐ๊ฐ์ ๋ ์ ์์ต๋๋ค. ์ ์ฒด ๊ณ์ ์ ์๋ก์ด ๊ถํ(new control)์ผ๋ก ์ด์ ํ๋ ๊ฒ์ 30์ผ์ ๊ธฐ๊ฐ์ ๋ ์๋ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ์ฌ์ฉ์๊ฐ ์ด ์ง์ฐ ์๊ฐ์ ์ ํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ์ฌ์ฉ์์ ํค๊ฐ ๋๋๋นํ์์ ๋, ๊ณ์ ์ ๋ํ ๋ณต๊ตฌ ์์ ์ ์ ๊ณตํฉ๋๋ค. ๊ณ์ ์์ ์๋ ์ต๊ทผ 30์ผ ์ด๋ด์ ์ฌ์ฉํ ์์ ์์ ํค๋ฅผ ๊ฐ์ง๊ณ ์ง์ ๋ ๊ณ์ ๋ณต๊ตฌ ํ๋ ฅ์์ ํ๋ ฅํ์ฌ ๊ทธ ๊ณ์ ์ ๋ํ ์์ ์ ํค๋ฅผ ์ฌ์ค์ ํ ์ ์์ต๋๋ค. ๊ณ์ ๋ณต๊ตฌ ํ๋ ฅ์๋ ์์ ์์ ํ๊ฐ ์์ด ๊ณ์ ์ ์์ ํ ์ ์์ต๋๋ค.
ํค๋ฅผ ๊ฐ์ง ํด์ปค๋ ์ด๋ฏธ ๊ณ์ ์ ์ ์ดํ ์ ์๊ธฐ ๋๋ฌธ์, ๋ณต๊ตฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํ์ฌ ์ป์ ์ ์๋ ๊ฒ์ด ์์ต๋๋ค. ๋ณต๊ตฌ ํ๋ก์ธ์ค์ ์ง์ ํ์ฌ๋ ๋ณต๊ตฌ ํ๋ ฅ์๋ ์ถ๊ฐ์ ์ธ ์ ๋ถ ์ฆ๋ช ์ด๋ 2์ฑ๋ ์ธ์ฆ(ํธ๋ํฐ์ด๋ ์ด๋ฉ์ผ)์ ์๊ตฌํ ๊ฒ์ ๋๋ค. ์ด ๊ณผ์ ์์ ํด์ปค๋ฅผ ์ํํ๊ฒ ํ๊ฑฐ๋ ๊ทธ๊ฐ ์๋ฌด๊ฒ๋ ์ป์ง ๋ชปํ๊ฒ ํ ์ ์์ต๋๋ค.
์ด ๊ณผ์ ์ ๋จ์ํ ๋ค์ค์๋ช ํฉ์(multi-signature arrangement)์ ๋งค์ฐ ๋ค๋ฆ ๋๋ค. ๋ค์ค์๋ช ํธ๋์ญ์ ์ ๊ฒฝ์ฐ, ๋ชจ๋ ํธ๋์ญ์ ์ ์ฐธ์ฌํ๋ ๋ณ๋์ ํ์ฌ๊ฐ ์กด์ฌํ๋ ๊ฒ์ ๋๋ค. ๋ณต๊ตฌ ์ฒ๋ฆฌ ๊ณผ์ ์ ์ด์ฉํ๋ฉด, ๋ณต๊ตฌ ํ๋ ฅ์๋ ๋ณต๊ตฌ๊ณผ์ ์๋ง ๊ด์ฌํ๋ฉฐ ํธ๋์ญ์ ์ ๊ดํด์๋ ์ด๋ ํ ์ํฅ๋ ฅ๋ ํ์ฌํ์ง ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฐธ์ฌ์๋ค์ ๋ํ ๋น์ฉ๊ณผ ๋ฒ์ ์ฑ ์์ ํฐํญ์ผ๋ก ๊ฐ์์ํฌ ์ ์์ต๋๋ค.
๋ธ๋ก์ฒด์ธ ํฉ์(consensus)๋ ๊ฒฐ์ ๋ก ์ ํ์(์ฌํ ๊ฐ๋ฅํ, deterministic behavior)์ ๋ฌ๋ ค์์ต๋๋ค. (๊ฒฐ์ ๋ก ์ : ์ด๋๋๋ ๊ฐ์ ์ ๋ ฅ์ ๊ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ) ์ด๋ ๋ชจ๋ ๋ณ๋ ฌ ์คํ์ ๋ฎคํ ์ค(mutex)๋ ๋ค๋ฅธ ์ ๊ธ ๊ธฐ๋ณธ์์(locking primitive) ์์ด ์ํ๋์ด์ผ ํจ์ ๋ปํฉ๋๋ค. (๋ฎคํ ์ค: mutualy exclusive๋ผ๋ ์ ๊ธ์) ์ ๊ธ(lock)์ด ์๋ค๋ฉด, ๋ชจ๋ ๊ณ์ ์ด ์์ ์ ํ๋ผ์ด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ง ์ฝ๊ธฐ/์ฐ๊ธฐ๋ฅผ ํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ด ์์ด์ผ ํฉ๋๋ค. ๋ํ ๊ฐ ๊ณ์ ์ด ๋ฉ์์ง๋ค์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฉฐ, ์ฐ์ฐ์ ๋ณ๋ ฌ์ฑ์ด ๊ณ์ ๋ณ๋ก ์ฒ๋ฆฌ๋๋ ๊ฒ์ ๋ปํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ๋, ๋ธ๋ก ์์ฐ์๊ฐ ๋ฉ์์ง๋ฅผ ๋ ๋ณ์ ์ธ ์ฐ๋ ๋(threads)๋ก ๊ตฌ์ฑํ์ฌ ์ด๋ค์ด ๋ณ๋ ฌ๋ก ํ๊ฐ๋๋๋ก ํฉ๋๋ค. ๊ฐ ๊ณ์ ์ ์ํ(state)๋ ์ ๋ฌ๋ฐ์ ๋ฉ์์ง(messages)์๋ง ์์กดํฉ๋๋ค. ๋ธ๋ก ์์ฐ์๋ค์ ์คํ ์ค์ผ์ฅด์ ๋ง๋ค๊ณ , ์ด๋ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ์คํ๋ฉ๋๋ค. ๋ค๋ง, ์ด ์ค์ผ์ฅด์ ๋ง๋๋ ๊ณผ์ ์ ๊ฒฐ์ ๋ก ์ ์ผ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ๋ธ๋ก ์์ฐ์๊ฐ ํธ๋์ญ์ ์ ์ค์ผ์ฅด๋งํ ๋ ๋ณ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉํ ์ ์์์ ๋ปํฉ๋๋ค.
์คํฌ๋ฆฝํธ๊ฐ ์๋ก์ด ๋ฉ์์ง๋ฅผ ๋ง๋ค ๋, ๋ฐ๋ก ์ ๋ฌ๋์ง ์๊ณ ๋ค์ ์ฌ์ดํด(cycle)์ ์ ๋ฌ๋๋๋ก ์ค์ผ์ฅด์ ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ถ๋ถ์ ๋ณ๋ ฌ ์คํ(Part of parallel execution)์ด๋ผ ํฉ๋๋ค. ๋ฉ์์ง๋ฅผ ๋ฐ๋ก ์ ๋ฌํ ์ ์๋ ์ด์ ๋ ์์ ์(receiver)๊ฐ ๋ค๋ฅธ ์ฐ๋ ๋๋ก ์ธํด ์์ ์ ์ํ(state)๊ฐ ๋ณ๊ฒฝ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ง์ฐ ์๊ฐ(latency)์ ํ ๊ณ์ ์์ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ์๋ต์ ๋ฐ๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋๋ค. ๊ธฐ์ ์ ๋ชฉํ๋ ๋ ๊ณ์ ์ฌ์ด์ ํ ๋ธ๋ก ์์์ ๋ฉ์์ง์ ๊ตํ์ด ์๋ค๋ก ์ด๋ฃจ์ด์ง๊ณ , ๋ฉ์์ง์ ๊ฐ๊ฒฉ์ด 3์ด ์ด๋ด์ ๋ค์ด๊ฐ๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ์ด๋ฃจ๊ธฐ ์ํด, EOS.IO ์ํํธ์จ์ด๋ ๊ฐ ๋ธ๋ก์ ์ฌ์ดํด(cycles)๋ก ๋๋๋๋ค. ๊ฐ ์ฌ์ดํด์๋ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋(threads)๊ฐ ์์ผ๋ฉฐ, ๊ฐ ์ค๋ ๋๋ ํธ๋์ญ์ ๋ค์ ๋ชฉ๋ก(list of transactions)์ ํฌํจํฉ๋๋ค. ๊ฐ ํธ๋์ญ์ (transaction)์ ์ ๋ฌํ๋ ๋ฉ์์ง์ ์งํฉ(set of messages)์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ ํธ๋ฆฌ(tree) ํํ๋ก ์๊ฐํ๊ฐ ๊ฐ๋ฅํ๋ฉฐ, ๋ ์ด์ด(alternating layers) ๋จ์๋ก ์์ฐจ(sequentially) ์ฒ๋ฆฌ๋๊ฑฐ๋ ๋ณ๋ ฌ(parallel) ์ฒ๋ฆฌ๋ฉ๋๋ค.
๋ธ๋ก(Block)
์ฌ์ดํด(Cycles) (์์ฐจ ์ฒ๋ฆฌ)
์ฐ๋ ๋(Threads) (๋ณ๋ ฌ ์ฒ๋ฆฌ)
ํธ๋์ญ์
(Transactions) (์์ฐจ ์ฒ๋ฆฌ)
๋ฉ์์ง(Messages) (์์ฐจ ์ฒ๋ฆฌ)
์์ ์ ๋ฐ ๊ณ์ ์๋ฆผ(Receiver and Notified Accounts) (๋ณ๋ ฌ ์ฒ๋ฆฌ)
ํ๋์ ์ฌ์ดํด์์ ์์ฑ๋ ํธ๋์ญ์ ๋ค์ ์ด์ด์ง๋ ์ด๋ ์ฌ์ดํด ํน์ ๋ธ๋ก์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ๋ธ๋ก ์์ฐ์๋ ๋ธ๋ก์ ์ง์ ๋ ์๊ฐ(3์ด)์ด ์ง๋๊ฑฐ๋ ๋ ์ ๋ฌํ ํธ๋์ญ์ ์ด ์์ ๋๊น์ง ์ฌ์ดํด์ ๊ณ์ ์ถ๊ฐํฉ๋๋ค.
์ ์ ๋ถ์(static analysis)์ผ๋ก ํ ๋ธ๋ก์์ ๋์ผ ์ฌ์ดํด์ ๊ฐ์ ๊ณ์ ์ ์์ ํ๋ 2๊ฐ ์ด์์ ์ฐ๋ ๋๋ฅผ ๊ฐ์ง ํธ๋์ญ์ ์ด ์๋์ง ์ ์ ์์ต๋๋ค. ๋ถ๋ณ์ฑ(invariant)์ด ์ ์ง๋๋ฉด, ํ๋์ ๋ธ๋ก์ ์ฌ๋ฌ ๊ฐ์ ์ฐ๋ ๋๋ก ๋ณ๋ ฌ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ด๋ค ๊ณ์ ์ ๋ด๋ถ ์ํ์ ์์ ํ์ง ์๊ณ ํต๊ณผ/์คํจ(pass/fail)์ผ๋ก ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฌ๋ฉด ํน์ ์ฌ์ดํด์ ํ๋ ์ด์์ ์ฐ๋ ๋๊ฐ ํฌํจ๋ ๊ฒฝ์ฐ ํด๋น ์์ ์ ์ํํ๋ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฌ๋ฉด, ํน์ ๊ณ์ ์ ๋ํ ์ฝ๊ธฐ ์ ์ฉ ๋ฉ์์ง ์ฒ๋ฆฌ๊ธฐ(read-only message handlers)๊ฐ ํน์ ์ฌ์ดํด์ ํ๋ ์ด์์ ์ค๋ ๋๋ฅผ ํฌํจํ๊ณ ์๋ค๋ฉด, ์ด๋ฌํ ์ฒ๋ฆฌ๊ธฐ๋ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค.
์ข ์ข ๋ฉ์์ง์ ์ ๋ฌ ๋ฐ ์ ์ฉ์ด ๋ค์์ ๊ณ์ ์์ ์์์ฑ(atomically)์ผ๋ก ๋ณด์ฅ๋์ด์ผ ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ, ๋ ๋ฉ์์ง๋ ํ๋์ ํธ๋์ญ์ ์ ์์นํ๊ณ , ๋ ๊ณ์ ์ ๊ฐ์ ์ฐ๋ ๋์ ํ ๋น๋๋ฉฐ, ๋ฉ์์ง๋ ์์ฐจ์ ์ผ๋ก ์ ์ฉ๋ฉ๋๋ค. ์ด ๋ฐฉ์์ ์ฑ๋ฅ ๋ฉด์์ ์ด์์ ์ด์ง ์์ต๋๋ค. ์ฌ์ฉ๋์ "์ฒญ๊ตฌ(billing)"๋ฅผ ์ํํ ๋, ํธ๋์ญ์ ์ ์ฐธ๊ณ ๋ ๊ณ์ ์ ์ ๋งํผ ๋น์ฉ์ด ์ฒญ๊ตฌ๋ฉ๋๋ค.
์ฑ๋ฅ๊ณผ ๋น์ฉ ๋๋ฌธ์์, 2๊ฐ ์ด์์ ๋ง์ด ์ฌ์ฉ๋๋ ๊ณ์ ๋ค(heavily utilized accounts)์ด ์ฐธ์ฌํ๋ ์์์ ์์ (atomic operations)์ ์ค์ด๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ํ์ฅ์ฑ์ ๋ณด์ฅํ๋ ค๋ฉด ๊ตฌ์ฑ ์์๋ ๋ชจ๋ํ๋์ด์ผ ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ๋ง ์ฌ์ฉํ ๋ ์ ์ฒด๋ฅผ ๋ค ๊ตฌ๋ํ ํ์๋ ์์ต๋๋ค.
๊ฑฐ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ์(exchange application developer)๋ ํ ๋ ธ๋(full node)๋ฅผ ์คํํ์ฌ ๊ฑฐ๋์ ์ํ(exchange state)๋ฅผ ์ฌ์ฉ์๋ค์๊ฒ ๋ณด์ฌ์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๊ฑฐ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฐ๋ํ์ฌ ๋์ํ ํ์๊ฐ ์์ต๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ํ ๋ ธ๋๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ค ์ผ๋ถ๋ฅผ ๊ตฌ๋ํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๊ฐ ์ ๋ฌ๋ฐ์ ๋ฉ์์ง๋ฅผ ํตํด ๊ฒฐ์ ๋๊ธฐ ๋๋ฌธ์, ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ๋ฌ๋ ๋ฉ์์ง ์ ์ก์ ์์ ํ๊ฒ ๋ฌด์๋ฉ๋๋ค.
์ด๊ฒ์ ๋ค๋ฅธ ๊ณ์ ๊ณผ์ ํต์ ์ ์ค์ํ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค. ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ค๋ฅธ ๊ณ์ ์ ์ํ๊ฐ ๋์ผํ ๋จธ์ (same machine)์์ ์ ๊ทผํ ์ ์๋ค๊ณ ๊ฐ์ ํด์๋ ์๋ฉ๋๋ค. ๋ํ ํ ๊ณ์ ์ด ๋ค๋ฅธ ๊ณ์ ์ ๋๊ธฐ์ ์ผ๋ก ํธ์ถํ๋๋ก ํ์ฉํ๋ "์ ๊ธ(locks)"์ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ๊ณ์ ์ด ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํ์ง ์์ผ๋ฉด์ด ๋์์ธ ํจํด์ด ์์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
๊ณ์ ์ฌ์ด์ ์ํ ํต์ (state communication)์ ๋ธ๋ก์ฒด์ธ์ ๋ฉ์์ง๋ก ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์๊ฐ ์ด๋ค ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ์ด๋ค ๋ฉ์์ง๋ฅผ ๋ณด๋ผ์ง์ ๋ํ์ฌ ๊ฐ์ ํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ๋ธ๋ก ์์ฐ์๋ ๊ณ์ฐ ๋ณต์ก๋์ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์๊ตฌ ์๊ฐ์ ๋ํ ์ฃผ๊ด์ ์ธ ์ธก์ ์ ์ํํฉ๋๋ค. ์ด๊ฒ์ ํธ๋์ญ์ ์ด ์ฌ์ฉ์์ ์ํด ์์ฑ๋๊ฑฐ๋ ์คํฌ๋ฆฝํธ์ ์ํด ์๋์ผ๋ก ์์ฑ๋ ๋ ๋ชจ๋ ์ ์ฉ๋ฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋คํธ์ํฌ ๊ด์ ์์ ๋ชจ๋ ํธ๋์ญ์ ์ ๋ํด 0.01ms์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์ง 10ms๊ฐ ๊ฑธ๋ฆฌ๋ ๊ฒ์ ์๊ด์์ด ๊ฐ์ ์ฐ์ฐ ๋์ญํญ(computational bandwidth) ๋น์ฉ์ ์ฒญ๊ตฌํฉ๋๋ค. ํ์ง๋ง ๋ธ๋ก ์์ฐ์๋ค์ ๊ฐ๋ณ์ ์ธ ์ธก์ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ๋ฆฌ์์ค ์ฌ์ฉ ๋น์ฉ์ ๊ณ์ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฐ ๋ธ๋ก ์ ์์๋ ์์ฒด ์๊ณ ๋ฆฌ์ฆ ๋ฐ ์ธก์ ์ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค ์ฌ์ฉ์ ๊ณ์ฐํ ์ ์์ต๋๋ค. ๋ฌผ๋ก ์ด ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ๋ธ๋ก ์์ฐ์๋ ๊ทธ ํธ๋์ญ์ ์ด ์ ํฉํ๋ค๊ณ ํ๋จํ์ฌ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ธ๋ก ์์ฐ์๊ฐ ํธ๋์ญ์ ๋๋ ๊ณ์ ์ด ๊ณผ๋ํ ์์ ๊ณ์ฐ ์ฉ๋์ ์๋นํ๋ค๊ณ ๊ฒฐ๋ก ์ ๋ด๋ฉด, ๋ธ๋ก์ ์์ฑํ ๋ ๊ทธ๋ค์ ๋จ์ํ ๊ทธ ํธ๋์ญ์ ์ ๊ฑฐ๋ถํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ๋ธ๋ก ์ ์์๊ฐ ์ ํจํ๋ค๊ณ ๊ฐ์ฃผํ๋ฉด ๊ทธ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ๊ฒ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํ๋ช ์ ๋ธ๋ก ์์ฐ์๋ผ๋ ํธ๋์ญ์ ์ด ๋ฆฌ์์ค ์ฌ์ฉ ์ ํ์ ๋์ง ์์ ์ ํฉํ๋ค๊ณ ๊ฐ์ฃผํ๋ฉด ๋ค๋ฅธ ๋ธ๋ก ์์ฐ์๋ ์ด๋ฅผ ์น์ธํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฌ๋, ์ด ๊ฒฝ์ฐ ๊ทธ ํธ๋์ญ์ ์ ๋ฐ์์ฃผ๋ ๋ธ๋ก ์์ฐ์๋ฅผ ์ฐพ๊ธฐ๊น์ง 1๋ถ ๊ฐ๊น์ด ์๊ฐ์ด ์์๋ ์ ์์ต๋๋ค. (์ค๋ช : 21๋ช ์ด 3์ด ๊ฐ๊ฒฉ์ผ๋ก ๋ธ๋ก์ ์์ฐํ๋ฏ๋ก)
๊ฐํน ์ด๋ค ๋ธ๋ก ์์ฐ์๊ฐ ํ์ฉ ๊ฐ๋ฅํ ๋ฒ์๋ฅผ ๋ช ๋ฐฐ๋ ๋๋ ํธ๋์ญ์ ์ ๋ธ๋ก์ ํฌํจ์ํฌ ์๋ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ค์ ๋ธ๋ก ์์ฐ์๋ ๊ทธ ๋ธ๋ก์ ๊ฑฐ์ ํด๋ฒ๋ฆด ์ ์์ผ๋ฉฐ, ์น์ธ๊ณผ ๊ฑฐ์ ์ด ๋๋ฅ ์ธ ์ํ(tie)์ด๋ฉด ๋ค์ ๋ธ๋ก ์์ฐ์์ ์ํด ์ด๊ฒ์ด ๊ฒฐ์ ๋ฉ๋๋ค. ์ด๋ ํฐ ๋ธ๋ก(large block)์ด ๋คํธ์ํฌ ์ ํ ์ง์ฐ์ ๋ฐ์์ํค๋ ๊ฒฝ์ฐ์ ๊ฐ์ต๋๋ค. ์ปค๋ฎค๋ํฐ๋ ์ด์ ํจํด(pattern of abuse)์ ํ์ ํ๊ณ , ์ด๋ฌํ ๋์ ์์ฐ์(rogue producer)์๊ฒ ํ๋ฅผ ์ฃผ์ง ์์ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ๋ธ๋ก ์์ฐ์์ ์ฃผ๊ด์ ํ๊ฐ๊ฐ ์๊ธฐ์ ๋ธ๋ก์ฒด์ธ์ ์ ํํ๊ณ ๋ช ํํ ์คํ ์๊ฐ ๊ณ์ฐ์ ์ธก์ ์ ํ์ง ์์๋ ๋ฉ๋๋ค. ์ด๋ฌํ ์ค๊ณ๋ก, ํฉ์๋ฅผ ์ด๊ธฐ์ง ์๊ณ ์ต์ ํ ๊ธฐํ๋ฅผ ๊ทน์ ์ผ๋ก ์ฆ๊ฐ์ํค๋ ๋ช ๋ น(instructions)์ ์ ํํ๊ฒ ์ง๊ณ(count)ํ ํ์๊ฐ ์์ต๋๋ค.
์ฃผ์์ฌํญ: ๋ณธ ๋ฐฑ์์์ ์ธ๊ธ๋๋ ์ํธํํ ํ ํฐ์ EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ธ๋ก์ฒด์ธ ์์ ์กด์ฌํ๋ ํ ํฐ์ ์ง์นญํฉ๋๋ค. ์ด ํ ํฐ์ EOS ๋ถ๋ฐฐ์ ์ฌ์ฉ๋๋ ์ด๋๋ฆฌ์ ๋ธ๋ก์ฒด์ธ ์์ ์กด์ฌํ๋ ERC-20 ๊ธฐ๋ฐ ํ ํฐ์ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด ์๋๋๋ค.
๋ชจ๋ ๋ธ๋ก ์ฒด์ธ์ ์์์ด ์ ํ๋์ด ์์ผ๋ฏ๋ก ์ ์ฉ์ ๋ง๊ธฐ์ํ ์์คํ ์ด ํ์ํฉ๋๋ค. EOS.IO๋ฅผ ์ฌ์ฉํ๋ ๋ธ๋ก์ฒด์ธ๊ณผ ํจ๊ป, ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ ํ๋ ๋ฆฌ์์ค์ 3 ๊ฐ์ ๋์ ์ข ๋ฅ๊ฐ ์๋ค: EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ธ๋ก์ฒด์ธ์์, ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๋นํ๋ ์์์(resources)์ ์ธ ๊ฐ์ง์ ๋๊ฒ ๋ถ๋ฅ(class)ํฉ๋๋ค.
- ๋์ญํญ๊ณผ ๋ก๊ทธ ์ ์ฅ์(Log Storage) (๋์คํฌ)
- ์ฐ์ฐ๊ณผ ์ฐ์ฐ ๋ฐฑ๋ก๊ทธ(backlog) (CPU)
- ์ํ ์ ์ฅ์ (๋จ)
๋์ญํญ๊ณผ ์ฐ์ฐ์ ์ฆ์ ์ฌ์ฉ๊ณผ ์ฅ๊ธฐ ์ฌ์ฉ์ 2๊ฐ์ ๊ตฌ์ฑ์์๋ก ๊ตฌ๋ถ๋ฉ๋๋ค. ๋ธ๋ก ์ฒด์ธ์ ๋ชจ๋ ๋ฉ์์ง์ ๋ก๊ทธ๋ฅผ ๊ด๋ฆฌํ๋ฉฐ,์ด ๋ก๊ทธ๋ ๋ชจ๋ ์์ ๋ ธ๋(full nodes)์ ์ํด ์ ์ฅ๋๊ณ ๋ค์ด๋ก๋๋ฉ๋๋ค. ๋ฉ์์ง์ ๋ก๊ทธ( log of messages)๋ฅผ ๊ฐ์ง๊ณ , ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ฌ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋ฉ์์ง ๋ก๊ทธ๋ก๋ถํฐ ์ํ๋ฅผ ์ฌ์์ฑํ๊ธฐ ์ํด ์ํ๋๋ ๊ณ์ฐ์ ์ฐ์ฐ ๋ถ์ฑ(computational debt)๋ผ ํฉ๋๋ค. ๋ง์ฝ์ ์ฐ์ฐ ๋ถ์ฑ๊ฐ ๊ณผ๋คํ๊ฒ ์ฆ๊ฐํ๋ฉด, ๋ธ๋ก์ฒด์ธ ์ํ์ ์ค๋ ์ท(snapshot)์ ์ ์ฅํ๊ณ ๊ณผ๊ฑฐ ์ด๋ ฅ์ ์ ๊ฑฐํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ง์ฝ์ ์ฐ์ฐ ๋ถ์ฑ๊ฐ ๋๋ฌด ๋น ๋ฅด๊ฒ ์ฆ๊ฐํ๋ฉด, ๋๋ก 1๋ ์ ํธ๋์ญ์ ์ ์ฌํํ๊ธฐ ์ํด 6๊ฐ์์ ์๊ฐ์ด ํ์ํ ์๋ ์์ต๋๋ค. ์ด๋ ๋งค์ฐ ์น๋ช ์ ์ด๋ฏ๋ก ์ฐ์ฐ ๋ถ์ฑ๋ ์ฃผ์ ๊น๊ฒ ๊ด๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
๋ธ๋ก์ฒด์ธ ์ํ ์ ์ฅ์(blockchain state storage)๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ด ์ ๊ทผํ ์ ์๋ ์ ๋ณด์ ๋๋ค. ์ด๋ ๊ณ์ ์์ก(account balances)๊ณผ ์ฃผ๋ฌธ์(order books)์ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๋ง์ฝ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํน์ ์ํ๋ฅผ ์ฝ์ง ์๋๋ค๋ฉด, ์ด๊ฒ์ ์ ์ฅํ ํ์๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋ธ๋ก๊ทธ ์์ฑ ๊ธ์ ๋ด์ฉ๊ณผ ๋๊ธ ๋ด์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ด ์ฝ์ง ์์ผ๋ฏ๋ก ๋ธ๋ก์ฒด์ธ ์ํ์ ์ ์ฅํ ํ์๊ฐ ์์ต๋๋ค. ๋ฐ๋ฉด์ ๊ธ/๋๊ธ์ ์กด์ฌ ์ฌ๋ถ์ ํฌํ ํ์์ ๋ค๋ฅธ ํน์ฑ๋ค์ ๋ธ๋ก์ฒด์ธ์ ์ํ์ ๊ธฐ๋ก๋์ด์ผ ํฉ๋๋ค.
๋ธ๋ก ์์ฐ์๋ ๊ทธ๋ค์ด ๊ฐ์ฉ ๊ฐ๋ฅํ ๋์ญํญ, ์ฐ์ฐ ๋ฅ๋ ฅ, ์ํ ํ์ฉ๋์ ์๋ ค์ฃผ์ด์ผ ํฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๊ฐ๊ฐ์ ๊ณ์ ์ด 3์ผ๊ฐ ๊ณ์ฝ์์ ๋ณด์ ํ ํ ํฐ ์์ ๋น๋กํ๋ ์์๋์ ์ฌ์ฉ์ ํ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, EOS.IO ๊ธฐ๋ฐ์ ๋ธ๋ก์ฒด์ธ์ด ์ถ์๋ ํ, ํ ๊ณ์ ์ด ์ ์ฒด ํ ํฐ์ 1%๋ฅผ ๋ณด์ ํ๊ณ ์๋ค๋ฉด ํด๋น ๊ณ์ ์ ์ ์ฒด ์ํ ์ ์ฅ์์ 1%๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด์์ ๋์ญํญ๊ณผ ์ฐ์ฐ ํ์ฉ๋์ ์ผ์์ (์ฌ์ฉํ์ง ๋ชปํ ๋ฆฌ์์ค๋ฅผ ๋์ค์ ๋ค์ ์ธ ์ ์์)์ด๋ฏ๋ก ์ด๋ค์ ๋ถ๋ถ ์๋น ์์ฝ ๊ธฐ์ค(fractional reserve basis)์ ๋ฐ๋ผ ํ ๋น๋ฉ๋๋ค. EOS.IO์ ์๊ณ ๋ฆฌ์ฆ์ ์คํ์์ ์ฌ์ฉํ๋ ๋์ญํญ ์ฌ์ฉ๋์ ์ ํ(rate-limit bandwidth usage)ํ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ์ฌํฉ๋๋ค.
์ฐ์ฐ ์ฌ์ฉ๋์ ์ธก์ (instrumenting computational usage)์ ์ฑ๋ฅ๊ณผ ์ต์ ํ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ชจ๋ ๋ฆฌ์ค์ค ์ฌ์ฉ ์ ํ์ ๊ถ๊ทน์ ์ผ๋ก ๋ธ๋ก ์์ฐ์์ ๊ฐ๋ณ์ ์ธ ์ธก์ ๋ฐฉ์๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์ฌ ์ฃผ๊ด์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.
์ฆ, ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ๊ฐ๋ฅํ ๊ฒ๋ค๋ ์์ต๋๋ค. ๋ฉ์์ง ์ ๋ฌ ์์ ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ๋ฐ์ดํฐ์ ์์ ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ํ ์ ์์ต๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์๊ฐ ๊ฐ๊ด์ ์ธก์ ์ ๋ํด ๋์ผํ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ ์ ์๊ฒ ํฉ๋๋ค. ํ์ง๋ง ์ฃผ๊ด์ ์ธ ์ธก์ ๋ณด๋ค ์๊ฒฉํ ์ฃผ๊ด์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉ ํ ์ ์์ต๋๋ค.
์ ํต์ ์ผ๋ก, ์ฌ์ ์ ํ๊ธฐ ์ํด์๋ ์คํผ์ค ๊ณต๊ฐ, ์ฐ์ฐ ๋ฅ๋ ฅ, ๊ทธ ์ธ์ ์์๋ค์ ๊ตฌ๋งคํด์ผ ํ๋ฉฐ ์ฌ๊ธฐ์์ ๋น์ฉ์ด ๋ฐ์ํฉ๋๋ค. ๊ณ ๊ฐ์ด ํน์ ๋ฌผํ์ ๊ตฌ๋งคํ ๋, ๋ฒ์ด๋ค์ธ ์ด์ต์ ์ผ๋ถ๋ ์ด๋ฌํ ์ฌ์ ๋น์ฉ์ ๊ฒฐ์ฌํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์ด๋ค ์น ์ฌ์ดํธ๋ ํธ์คํ ๋น์ฉ์ ์ถฉ๋นํ๊ธฐ ์ํด ๋ฐฉ๋ฌธ์์๊ฒ ์น ์ฌ์ดํธ ๋ฐฉ๋ฌธ์ ์ํ ์์ก ๊ฒฐ์ ๋ฅผ ์๊ตฌํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก, ํ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ญ์ ๊ณ ๊ฐ์ผ๋ก ํ์ฌ๊ธ ๋ธ๋ก์ฒด์ธ์ ์ฌ์ฉํ ๋ ๋ธ๋ก์ฒด์ธ ์ฌ์ฉ๋ฃ๋ฅผ ์๊ตฌํ์ฌ์๋ ์ ๋ฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ธ๋ก ์ฒด์ธ์ ์ฌ์ฉ์๊ฐ ๋ธ๋ก์ฒด์ธ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ง์ ์ง๋ถ ํ ํ์๊ฐ ์์ผ๋ฏ๋ก, ์ ํ์ ์์ฒด ์์ต ์ฐฝ์ถ ์ ๋ต(own monetization strategy for its products)์ ๊ฒฐ์ ํ๋ ๋น์ฆ๋์ค๋ฅผ ์ ํํ๊ฑฐ๋ ๋ฐฉ์งํ์ง ์์ต๋๋ค
EOS.IO ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ก์ฒด์ธ์ ์ถ์ํ์์ ๋, ํ์ํ ๋์ญํญ๋ณด๋ค ๋ง์ ํ ํฐ์ ๊ฐ์ง๊ณ ์๋ ์์ ์๋ฅผ ๊ฐ์ ํด ๋ด ์๋ค. ํด๋น ์์ ์๋ ๋จ์ ๋์ญํญ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์๋ํ๊ฑฐ๋ ๋น๋ ค์ค ์ ์์ต๋๋ค. EOS.IO์ ๋ธ๋ก ์์ฐ์๋ ์ด๋ฌํ ๋์ญํญ ํ์ฉ๋์ ์๋๋ฅผ ์ธ์งํ ์ ์์ผ๋ฉฐ, ์ด์ ๋ง์ถ์ด ๋์ญํญ์ ์ฌํ ๋นํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด์ ํฐ ์ฅ์ ์ค ํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ ์ ์๋ ๋์ญํญ์ ์์ด ํ ํฐ ๊ฐ๊ฒฉ์ ์์ ํ ๋ ๋ฆฝ์ ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๋ง์ฝ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๊ฐ ์ถฉ๋ถํ ์์ ํ ํฐ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด, ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ๋น๋(fixed) ์ํ์ ๋์ญํญ ์ฌ์ฉ๋์ ๋ฒ์ ์์์ ์ ํ ์์ด ์คํ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ, ๊ฐ๋ฐ์์ ์ฌ์ฉ์๋ ํ ํฐ ์์ฅ์ ๊ฐ๊ฒฉ ๋ณ๋์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฏ๋ก ๊ฐ๊ฒฉ ์ถ์ด์ ์์กดํ์ง ์์ต๋๋ค. ๋ค๋ฅธ ๋ง๋ก, EOS.IO ์ํํธ์จ์ด์์ ๋ธ๋ก ์์ฐ์๋ ํ ํฐ์ ๊ฐ์น์ ๋ฌด๊ดํ๊ฒ ํ ํฐ ๋น ์ฌ์ฉ๊ฐ๋ฅํ ๋์ญํญ, ์ฐ์ฐ ๋ฅ๋ ฅ, ์ ์ฅ ๋ฅ๋ ฅ์ ์์ฐ์ค๋ฝ๊ฒ ์ฆ๊ธฐ์ํฌ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์๊ฐ ๋ธ๋ก์ ์์ฑํ ๋๋ง๋ค ๋ณด์์ผ๋ก ํ ํฐ์ ์ ๊ณตํฉ๋๋ค. ํ ํฐ์ ๊ฐ์น๋ ๋ธ๋ก ์์ฐ์๊ฐ ๊ตฌ๋งคํ ์ ์๋ ๋์ญํญ, ์ ์ฅ์, ๊ณ์ฐ๋์ ์ํฅ์ ์ค๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ์ฆ๊ฐํ๋ ํ ํฐ ๊ฐ์ ํ์ฉํ์ฌ ๋คํธ์ํฌ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
๋์ญํญ๊ณผ ์ฐ์ฐ ๋ฅ๋ ฅ์ ์์ํ ์ ์์ง๋ง, ์ดํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํ๊ฐ ์ ๊ฑฐ๋๊ธฐ ์ ๊น์ง ์ ํ๋ฆฌ์ผ์ด์ ์ํ ์ ์ฅ์(storage of application state)๋ฅผ ์ํ ํ ํฐ์ ๋ณด์ ํด์ผ ํฉ๋๋ค. ๋ง์ฝ์ ์ํ๊ฐ ์์ํ ์ ์ง๋๋ค๋ฉด, ํด๋น ํ ํฐ์ ์ํํ์ง ๋ชปํ๊ฒ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค.
๋ชจ๋ ์ฌ์ฉ์ ๊ณ์ ์ ์ด๋ ์ ๋์ ์ ์ฅ ๊ณต๊ฐ์ด ํ์ํฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ชจ๋ ๊ณ์ ์ ์ต์ํ์ ์์ก์ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค. ๋คํธ์ํฌ์ ์ ์ฅ ์ฉ๋์ด ์ฆ๊ฐํ๋ฉด ์๊ตฌ๋๋ ์ต์ ์์ก์ ์ค์ด๋ค ๊ฒ์ ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก์ด ์์ฑ๋ ๋๋ง๋ค ๋ธ๋ก ์์ฑ์์๊ฒ ๋ณด์์ผ๋ก ํ ํฐ์ ์ค๋๋ค. ์์ฑ๋๋ ํ ํฐ์ ์์ ๋ธ๋ก ์์ฐ์๋ค์ด ์ ์ถํ ์๊ตฌ ๊ธ์ก์ ์ค์๊ฐ์ผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ์์ฐ์ ๋ณด์์ ์ด๋์ด ์ฐ ํ ํฐ ์ฆ๊ฐ๋ถ์ 5%๋ฅผ ๋์ง ๋ชปํ๋๋ก ์ ํ๋ ์ ์์ต๋๋ค.
๋ธ๋ก ์์ฐ์๋ฅผ ์ ์ถํจ๊ณผ ๋๋ถ์ด, EOS.IO ์ํํธ์จ์ด์ ์ฌ์ฉ์๋ค์ 3๊ฐ์ ์ปค๋ฎค๋ํฐ ์ ํ๋ฆฌ์ผ์ด์ (์ค๋งํธ ์ปจํธ๋ ํธ)์ ์ ์ถํ ์ ์์ต๋๋ค. ์ด 3๊ฐ์ ์ปค๋ฎค๋ํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ๋ ์ฐ๊ฐ ํ ํฐ ๊ณต๊ธ๋์์ ๋ธ๋ก ์์ฐ์์๊ฒ ์ง๊ธํ ํ ํฐ์ ์ ์ธํ ํ ํฐ์ ๋ฐ๊ฒ ๋ฉ๋๋ค. ์ด ์ค๋งํธ ์ปจํธ๋ ํธ๋ค์ด ๋ฐ๋ ํ ํฐ์ ์์ ๊ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ด ํ ํฐ ์์ ์๋ค๋ก๋ถํฐ ๋ฐ์ ํฌํ ์์ ๋น๋กํ์ฌ ๊ฒฐ์ ๋ฉ๋๋ค. ์ ์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ํน์ ์ค๋งํธ ์ปจํธ๋ ํธ๋ ํ ํฐ ์์ ์๋ค์ ํฌํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฐ๋ ์ ์์ต๋๋ค.
๊ฑฐ๋ฒ๋์ค๋ ์ฌ๋๋ค์ด ์ํํธ์จ์ด ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฒฐ์ ํ ์ ์๋ ์ฃผ๊ด์ ๋ฌธ์ ์ ๋ํ์ฌ ํฉ์๋ฅผ ์ด๋ฃจ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์๊ฐ ๊ฐ์ง๊ณ ์๋ ์ํฅ๋ ฅ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฌํ๋ ๊ฑฐ๋ฒ๋์ค ์ ์ฐจ๋ฅผ ๊ตฌํํฉ๋๋ค. ์ ์๋ ๊ฐ๋ฒ๋์ค ๊ณผ์ ์ ๋ถ์ฌ๋ก ์ธํด, ์ด์ ์ ๋ธ๋ก์ฒด์ธ๋ค์ ์ฆํฅ์ ์ด๊ณ ๋น๊ณต์์ ์ด๊ณ ๋๋ก๋ ์์ธกํ ์ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์์ํค๋ ๋ ผ๋์ ์ผ์ผํค๋ ๊ฑฐ๋ฒ๋์ค ๋ฐฉ๋ฒ์ ์์กดํ์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์์๊ฒ ๊ทธ ๊ถํ์ ์์ํ ํ ํฐ ์์ ์๋ก๋ถํฐ ๊ถํ์ด ๋ฐ์๋จ์ ์ธ์งํ๊ณ ์์ต๋๋ค. ๋ธ๋ก ์์ฐ์๋ ๊ณ์ ์ ๋๊ฒฐํ๊ณ , ๊ฒฐํจ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ๋ฉฐ, ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋ณ๊ฒฝํ๋ ํ๋ํฌํฌ๋ฅผ ์ ์ํ๋ ์ ํ์ ์ด๋ฉด ํ์ธ๋ ๊ถํ์ ๊ฐ์ง๋๋ค.
๋ธ๋ก ์์ฐ์๋ฅผ ์ ์ถํ๋ ๊ฒ์ EOS.IO ์ํํธ์จ์ด์ ๋ด์ฅ๋์ด ์์ต๋๋ค. ๋ธ๋ก์ฒด์ธ์ ๋ชจ๋ ๋ณ๊ฒฝ์ฌํญ์ ๋ธ๋ก ์์ฐ์์ ์น์ธ์ ๋ฐ์์ผ ํฉ๋๋ค. ๋ง์ฝ์ ๋ธ๋ก ์์ฐ์๋ค์ด ํ ํฐ ์์ ์๋ค์ด ์ํ๋ ๋ณ๊ฒฝ์ ๊ฑฐ๋ถํ๋ฉด ๊ทธ๋ค์ ๋์ ๋ ์ ์์ต๋๋ค. ๋ธ๋ก ์์ฐ์๊ฐ ํ ํฐ ์์ ์์ ํ๊ฐ ์์ด ๋ณ๊ฒฝํ๋ฉด, ๋ชจ๋ ๋น์์ฐ ํ ๋ ธ๋ ๊ฒ์ฌ์(non-producing full-node validators)(๊ฑฐ๋์ ๋ฑ)๋ค์ ์ด ๋ณ๊ฒฝ์ ๊ฑฐ๋ถํ ๊ฒ์ ๋๋ค.
๊ฐ๋ ์ค๋งํธ ์ปจํธ๋ ํธ๋ ๋น์ ์์ ์ด๊ฑฐ๋ ์์ธกํ์ง ๋ชปํ ๋ฐฉ์์ผ๋ก ๋์ํ์ฌ ์๋ํ๋ ๊ธฐ๋ฅ์ด ๋์ํ์ง ์์ ์ ์์ต๋๋ค. ์ด์ธ์๋ ๋น์ ์์ ์ธ ์์ ๋ฆฌ์์ค๋ฅผ ์๋นํ๋ ์ทจ์ฝ์ (exploit)์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๊ณ์ ์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฌธ์ ์ ์ด ๋ฐ์ํ์ ๋, ๋ธ๋ก ์์ฐ์๋ ์ด๋ฌํ ์ํฉ์ ๋ฐ๋ก ์ก์ ๊ถํ์ ๊ฐ์ง๋๋ค.
๋ชจ๋ ๋ธ๋ก์ฒด์ธ์ ๋ธ๋ก ์์ฐ์๋ค์ ๋ธ๋ก์ ํฌํจ๋๋ ํธ๋์ญ์ ์ ์ ํํ๋ ๊ถํ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ณ์ ์ ๋๊ฒฐํ ์ ์์ต๋๋ค. EOS.IO ์ํํธ์จ์ด๋ ํ์ฑํ๋ ๋ธ๋ก ์์ฐ์๋ค ๊ฐ์ 17/21 ํฌํ๋ฅผ ํตํด ํน์ ๊ณ์ ์ ๋ํ ๋๊ฒฐํ ์ ์๋ ๊ถํ์ ๊ฐ์ง๋๋ค. ๋ง์ฝ์ ๋ธ๋ก ์์ฐ์๋ค์ด ์ด ๊ธฐ๋ฅ์ ์ ์ฉํ๋ค๋ฉด, ๊ทธ๋ค์ ํฌํ์์ ์ ์ธ๋๊ณ ๋๊ฒฐ๋ ๊ณ์ ์ ๋ณต์๋ ๊ฒ์ ๋๋ค.
๋ค๋ฅธ ๋ชจ๋ ์๋จ์ด ์คํจํ๊ณ "๋ฉ์ถ์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ "์ด ์์ธกํ ์ ์์ด ๋์ํ๋ค๋ฉด EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก ์์ฐ์๋ค์ด ์ ์ฒด ๋ธ๋ก์ฒด์ธ์ ํ๋ ํฌํฌ ์์ด ๊ณ์ ์ ์ฝ๋๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ ํ์ฉํฉ๋๋ค. ๊ณ์ ๋๊ฒฐ๊ณผ ์ ์ฌํ๊ฒ, ์ฝ๋์ ์ด๋ฐ ๋ณ๊ฒฝ์ ์ ์ถ๋ ๋ธ๋ก ์์ฐ์๋ค ๊ฐ์ 17/21 ํฌํ๊ฐ ํ์ํฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก์ฒด์ธ์์ P2P ์๋น์ค ์ฝ์ ์ ์ฒด๊ฒฐํ๊ฑฐ๋, ์๋ช ํ ์ฌ์ฉ์ ๊ฐ์ ๊ตฌ์๋ ฅ์๋ ๊ณ์ฝ์ธ "ํ๋ฒ"์ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ํ๋ฒ์ผ๋ก ์ฝ๋๋ก ์ ์ฝ์ ๊ฐํ๊ธฐ ์ด๋ ค์ด ์ฌ์ฉ์ ๊ฐ์ ์๋ฌด๋ฅผ ๊ท์ ํ๋ฉฐ, ์ํธ ๊ฐ์ ๊ดํ ๊ถ์ ํ๋ฆฝํ๊ณ ๋ฒ๋ฅ ์ ์ ์ ํจ์ผ๋ก ๋ถ์ ํด๊ฒฐ์ ์ฝ๊ฒ ํฉ๋๋ค. ์ด ํ๋ฒ์ ๋ด์ฉ์ ์ฝ๋์ ์ํด ์์ ํ ์ํ๋ ์์๋ ์ฌ์ฉ์ ๊ฐ์ ์๋ฌด๋ฅผ ์ ์ํ๊ณ ์ํธ ์ธ์ ๋ ๋ค๋ฅธ ๊ท์น๊ณผ ํจ๊ป ๊ดํ ๊ถ๊ณผ ์ค๊ฑฐ๋ฒ ์ ํ์ ํ๋ฆฝํ์ฌ ๋ถ์ ํด๊ฒฐ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ๋คํธ์ํฌ๋ก ์ ํ๋๋ ๋ชจ๋ ํธ๋์ญ์ ์ ์ฝ๊ด์ ํด์(hash)๋ฅผ ์๋ช ์ ํฌํจํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ์๋ช ์๊ฐ ๋ช ์์ ์ผ๋ก ๊ณ์ฝ์ ๊ตฌ์๋๋๋ก ํฉ๋๋ค.
์ฝ๊ด์ ์ฌ๋์ด ์ฝ์ ์ ์๋ ํ์์ผ๋ก ์์ค์ฝ๋ ํ๋กํ ์ฝ์ ์๋๋ฅผ ์ ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ค๋ฅ๊ฐ ๋ฐ์ํ์์ ๋, ๋ฒ๊ทธ์ ๊ธฐ๋ฅ์ ์ฐจ์ด๋ฅผ ์ธ์ํ ์ ์๋๋ก ํ๊ณ ์ปค๋ฎค๋ํฐ๊ฐ ์์ ์ฌํญ์ด ์ ํฉํ์ง ์ฌ๋ถ๋ฅผ ํ๋จํ๋๋ก ํด์ค๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ์ ์ ์์ค ์ฝ๋ ๋ฐ ํ๋ฒ์ผ๋ก ๊ท์ ๋๋ ํ๋กํ ์ฝ์ ์ ์ฐจ๋ฅผ ๊ท์ ํ๋ฉฐ, ๋ค์์ ์ ์ฐจ๋ก ๊ฐ์ ํ ์ ์์ต๋๋ค.
- ๋ธ๋ก ์์ฐ์๋ค์ ์ฝ๊ด์ ๊ฐ์ ์ ์ ์ํ๊ณ 17/21 ์น์ธ์ ๋ฐ์ต๋๋ค.
- ๋ธ๋ก ์์ฐ์๋ค์ 17/21 ์น์ธ์ 30์ผ๊ฐ ์ ์งํฉ๋๋ค.
- ๋ชจ๋ ์ฌ์ฉ์๋ ์ ์ฝ๊ด์ ํด์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฑฐ๋์ ์๋ช ํด์ผ ํฉ๋๋ค.
- ๋ธ๋ก ์์ฐ์๋ค์ ์ฝ๊ด์ ๋ณํ๋ฅผ ๋ฐ์ํ๋๋ก ์์ค ์ฝ๋์ ๋ณ๊ฒฝ์ ์ฑํํ๋ฉฐ, git ์ปค๋ฐ์ ํด์๊ฐ์ ์ด์ฉํ์ฌ ๋ธ๋ก์ฒด์ธ์ ์ด๋ฅผ ์ ์ํฉ๋๋ค.
- ๋ธ๋ก ์์ฐ์๋ค์ 17/21 ์น์ธ์ 30์ผ๊ฐ ์ ์งํฉ๋๋ค.
- ์ฝ๋ ๋ณ๊ฒฝ์ 7์ผ๊ฐ์ ์์ค์ฝ๋ ์ ์ฉ ์ ์๊ธฐ๊ฐ์ ์ฃผ๋ฉฐ, 7์ผ์ด ์ง๋ ์ดํ ์ ์ฉ๋ฉ๋๋ค.
- ์ ์ฝ๋๋ก ์ ๊ทธ๋ ์ด๋ํ์ง ์์ ๋ ธ๋๋ ๊ฐ์ ๋ก ์ข ๋ฃ๋ฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด์ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ฅด๋ฉด, ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๋ธ๋ก์ฒด์ธ์ ์
๊ทธ๋ ์ด๋ ์์
์ 23๋ฌ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ํ๋ฒ์ ๊ฐ์ ์ด ํ์ ์๋ ์น๋ช
์ ์ด์ง ์์ ๋ฒ๊ทธ์ ์์ ์ 12๋ฌ์ด ๊ฑธ๋ฆฝ๋๋ค.
์น๋ช ์ ์ธ ๋ฒ๊ทธ๋ ๊ณต๊ฒฉ์๋ก ์ธํ ๋ณด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, ๋ธ๋ก ์์ฐ์๋ ์ ๊ทธ๋ ์ด๋ ๊ณผ์ ์ ๋น ๋ฅด๊ฒ ์งํํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์๋ก์ด ๊ธฐ๋ฅ์ ๋์ ํ๊ฑฐ๋ ์น๋ช ์ ์ด์ง ์์ ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ธฐ ์ํด ์ ๊ทธ๋ ์ด๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ ๊ฒ์ ํ๋ฒ์ ์ด๊ธ๋ฉ๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ์ธ์ฆ๋ ๋ฉ์์ง๋ฅผ ๊ณ์ ์ผ๋ก ์ ๋ฌํ๋ ๊ณผ์ ์ ์กฐ์ ํ๋ ์ต์ด์ด์ ๊ฐ์ฅ ์ค์ํ ํ๋ซํผ์ ๋๋ค. ์คํฌ๋ฆฝํธ ์ธ์ด์ ๊ฐ์ ๋จธ์ (virtual machine)์ ์ธ๋ถ ๋ด์ฉ์ EOS.IO์ ๊ธฐ์ ์ค๊ณ๋ก๋ถํฐ ๋ ๋ฆฝ๋ ์ธ๋ถ ๊ตฌํ ์ฌํญ์ ๋๋ค. ์ด๋ ํ ์ธ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ ์๋๋ฐ์ค ์ฒ๋ฆฌ๋๋ฉฐ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋์ํ๋ ๊ฐ์ ๋จธ์ ์ด๋ ์ง EOS.IO ์ํํธ์จ์ด API์ ํตํฉํ ์ ์์ต๋๋ค.
๊ณ์ ๊ฐ์ ๋ชจ๋ ๋ฉ์์ง๋ ๋ธ๋ก์ฒด์ธ ํฉ์ ์ํ์ ์ผ๋ถ์ธ ์คํค๋ง(schema)์ ๋ฐ๋ผ ์ ์๋ฉ๋๋ค. ์ด ์คํค๋ง๋ ๋ฐ์ด๋๋ฆฌ์ JSON ํ์์ ๋ฉ์์ง ์ฌ์ด์ ๊ฒฝ๊ณ ์๋(seamless) ๋ํ๋ฅผ ํ์ฉํฉ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ ์ ์ฌํ ์คํค๋ง๋ฅผ ์ด์ฉํ์ฌ ์ ์๋ฉ๋๋ค. ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ ์ฅ๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฌ๋์ด ์ฝ์ ์ ์๋ JSON์ผ๋ก ์ฒ๋ฆฌ๋ ๋ฟ๋ง ์๋๋ผ ํจ์จ์ ์ธ ๋ฐ์ด๋๋ฆฌ ํํ๋ก ์ ์ฅ ๊ด๋ฆฌ๋๋ ๊ฒ์ด ๋ณด์ฅ๋ฉ๋๋ค.
๋ณ๋ ฌ ์ฒ๋ฆฌ ํจ์จ์ ๊ทน๋ํ์ ํธ๋์ญ์ ๋ก๊ทธ(transaction log)๋ก๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ํ(application state)๋ฅผ ๋ค์ ์์ฑํ ๋์ ๊ณผ๋ค ์ฐ์ฐ( computational debt)์ ์ต์ํํ๊ธฐ ์ํ์ฌ, EOS.IO๋ ์ธ์ฆ ๋ฐฉ๋ฒ(authentication logic)์ ์ธ ๊ฐ์ง๋ก ๋ถ๋ฆฌํฉ๋๋ค.
- ๋ฉ์์ง์ ๋ด์ ์ผ๊ด์ฑ(internal consistency) ๊ฒ์ฆ
- ๋ชจ๋ ์ ์ ์กฐ๊ฑด(preconditions )์ ์ ํจ์ฑ ๊ฒ์ฆ
- ์ ํ๋ฆฌ์ผ์ด์ ์ํ( application state)์ ๋ณ๊ฒฝ
๋ฉ์์ง์ ๋ด์ ์ผ๊ด์ฑ ๊ฒ์ฆ(internal consistency)์ ์ฝ๊ธฐ ์ฐ์ฐ์ผ๋ก๋ง ๊ตฌ์ฑ๋๋ฉฐ, ๋ธ๋ก์ฒด์ธ ์ํ(blockchain state)์ ๋ํ ์ ๊ทผ์ ์๊ตฌํ์ง ์์ต๋๋ค. ์ด๋ ์ต๋ํ์ ๋ณ๋ ฌ์ฑ์ ๊ฐ์ง ์ ์์์ ๋ปํฉ๋๋ค. ํ์ ์์ก(required balance)๊ณผ ๊ฐ์ ์ ์ ์กฐ๊ฑด์ ๊ฒ์ฆํ๋ ๊ฒ์ ์ฝ๊ธฐ ์ฐ์ฐ์ด๋ฏ๋ก ์ด๊ฒ์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์์ต๋๋ค. ์ค์ง ์ ํ๋ฆฌ์ผ์ด์ ์ํ์ ๋ณ๊ฒฝ๋ง ์ฐ๊ธฐ ์ ๊ทผ์ ์๊ตฌํ๊ณ , ์ด๊ฒ์ ๊ฐ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ง๋ค ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค.
์ธ์ฆ(authentication)์ ๋ฉ์์ง์ ์ ์ฉ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ๊ฒ์ฆํ๋ ์ฝ๊ธฐ ์ฐ์ฐ ์์ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์์ ์ ์ํํฉ๋๋ค. ๋ ๊ฐ์ง ๊ณ์ฐ์ ์ค์๊ฐ์ผ๋ก ์ํ๋์ด์ผ ํ์ง๋ง ํธ๋์ญ์ ์ด ๋ธ๋ก์ฒด์ธ์ ํฌํจ๋์๋ค๋ฉด ๋ ์ด์ ์ธ์ฆ ์์ ์ ์ํํ ํ์๊ฐ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด์ ๋ชฉ์ ์ ๋ค์์ ๊ฐ์ ๋จธ์ ์ ์ง์ํ๊ณ , ํ์์ ๋ฐ๋ผ ์๋ก์ด ๊ฐ์ ๋จธ์ ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ณธ ๋ฐฑ์์์๋ ํน์ ์ธ์ด๋ ๊ฐ์๋จธ์ ์ ์ธ๋ถ์ ์ธ ๋ด์ฉ์ ๊ดํ์ฌ ๊ธฐ์ ํ์ง ์์ต๋๋ค. ์ฆ, ํ์ฌ EOS.IO ์ํํธ์จ์ด ๊ธฐ๋ฐ ๋ธ๋ก ์ฒด์ธ๊ณผ ํจ๊ป ์ฌ์ฉ๋๊ธฐ ์ํด ํ๊ฐ ์ค์ธ ๊ฐ์ ๋จธ์ ์ 2๊ฐ์ ๋๋ค.
์น ์ด์ ๋ธ๋ฆฌ๋ ๊ณ ์ฑ๋ฅ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๊ธฐ ์ํ์ฌ ์๋ก์ด ๋ฑ์ฅํ ์น ํ์ค์ ๋๋ค. ์น ์ด์ ๋ธ๋ฆฌ๋ฅผ ์ผ๋ถ ์์ ํ์ฌ ๊ฒฐ์ ๋ก ์ ์ด๋ฉฐ ์๋๋ฐ์ค์ธ ํํ๋ก ๋ง๋ค ์ ์์ต๋๋ค. ์น ์ด์ ๋ธ๋ฆฌ์ ์ฅ์ ์ ์ ๊ณ์ ๊ด๋ฒ์ํ ์ง์์ ๋ฐ๋ ๊ฒ๊ณผ ์น์ํ ์ธ์ด์ธ C๋ C++๋ก ์ปจํธ๋ ํธ๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
์ด๋๋ฆฌ์ ๊ฐ๋ฐ์๋ค์์น ์ด์ ๋ธ๋ฆฌ๋ฅผ ์๋๋ฐ์ฑ(sandboxing)ํ๊ณ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ์์ ํ์ฌ Ethereum flavored Web Assembly (EWASM) ์ผ๋ก ๋ง๋ค๊ณ ์์ต๋๋ค. EWASM์ EOS.IO ์ํํธ์จ์ด๋ก ์ฝ๊ฒ ์ ์ฉํ๊ณ ํตํฉ๋ ์ ์์ต๋๋ค.
์ด ๊ฐ์๋จธ์ ์ ํ์กดํ๋ ๋๋ถ๋ถ์ ์ค๋งํธ ์ปจํธ๋ ํธ๋ฅผ ๊ตฌ๋ํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ด์ฉํ์ฌ ๊ทธ๋ค์ ์์ ๋ฌผ์ EOS.IO ๋ธ๋ก์ฒด์ธ์ ์ ์ฉํ ์ ์์ต๋๋ค. EVM์ ์ปจํธ๋ ํธ๋ ์๋๋ฐ์ค ์์์ ๊ตฌ๋๋๋ฉฐ, ์ฝ๊ฐ์ ์กฐ์ ์ ๊ฑฐ์น๋ฉด EOS.IO์ ๋ธ๋ก์ฒด์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํต์ ํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๋ธ๋ก์ฒด์ธ ๊ฐ ํต์ ์ด ์ฝ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ ๋ฉ์์ง ์กด์ฌ ์ฆ๋ช ๊ณผ ๋ฉ์์ง ์์ ์ฆ๋ช ์ ์์ฑ์ ์์ฝ๊ฒ ํจ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ด๋ฌํ ์ฆ๋ช ๋ค์ ๋ฉ์์ง ์ ๋ฌ์ ๊ฐ์ธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์ ๊ฒฐํฉํ์ฌ ๋ธ๋ก์ฒด์ธ ๊ฐ ํต์ ๊ณผ ์ฆ๋ช ๊ฒ์ฆ ๊ณผ์ ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์๋ก๋ถํฐ ์๋๋๋๋ก ํฉ๋๋ค. ๋ฉ์์ง ์ ๋ฌ๊ณผ ๊ด๋ จ๋ ์์ฉ ํ๋ก๊ทธ๋จ ์ํคํ ์ฒ์ ๊ฒฐํฉ๋ ์ด๋ฌํ ์ฆ๋ช ์ ๋ธ๋ก ๊ฐ ํต์ ๋ฐ ์ฆ๋ช ๊ฒ์ฆ์ ๋ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์์๊ฒ ์จ๊ธธ ์ ์์ต๋๋ค.
๊ฒฝ๋ํ๋ ํด๋ผ์ด์ธํธ ๊ฒ์ฆ(LCV)์ ์ํ ๋จธํด ์ฆ๋ช (Merkle Proofs for Light Client Validation)
ํด๋ผ์ด์ธํธ๋ค์ด ๋ชจ๋ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ ๋, ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ๋ค๊ณผ ๊ฒฐํฉํ๋ ๊ฒ์ด ์ฌ์์ง๋๋ค. ์ฌ์ค, ๋ชจ๋ ๊ฑฐ๋์๋ ์ ์ฒด ๋ธ๋ก์ฒด์ธ ์ค ๊ฑฐ๋์์ ์ /์ถ๊ธ์ ๋ํด์๋ง ๊ด๋ฆฌํ๋ฉด ๋ฉ๋๋ค. ๊ฑฐ๋์ ์ฒด์ธ(exchange chain)์ ์ ๊ธ์ ๋ํ ๊ฒฝ๋ํ๋ ๋จธํด ์ฆ๋ช (lightweight merkle proofs of deposit)์ ์ด์ฉํ๋ ๊ฒ์ด ๋ธ๋ก ์์ฐ์ ์ ์ฒด๋ฅผ ์ ๋ขฐํ๋ ๊ฒ๋ณด๋ค ์ด์์ ์ ๋๋ค. ์ ์ด๋ ํด๋น ์ฒด์ธ์ ๋ธ๋ก ์์ฐ์๋ค์ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ๊ณผ ๋๊ธฐํ๋ฅผ ์ํด ์ต์ํ์ ์ฐ์ฐ ๋ถ๋ด์ ๊ฐ๋นํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
LCV(๊ฒฝ๋ํ๋ ํด๋ผ์ด์ธํธ ๊ฒ์ฆ)์ ๋ชฉํ๋ ์๋์ ๊ฒฝ๋ ๋ฐ์ดํฐ ์งํฉ์ ๋ณด๊ณ ์๋ ๋๊ตฌ๋ ์ง ๊ฒ์ฆํ ์ ์๋ ์๋์ ๊ฒฝ๋ ์ฆ๋ช ์ ๋ง๋ค ์ ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ํน์ ํธ๋์ญ์ ์ด ์ด๋ค ๋ธ๋ก์ ํฌํจ๋์ด ์๊ณ , ๊ทธ ๋ธ๋ก์ด ๋ธ๋ก์ฒด์ธ์ ์ธ์ฆ ์ด๋ ฅ(verified history)์ ํฌํจ๋์ด ์๋์ง๋ฅผ ์ฆ๋ช ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
๋นํธ์ฝ์ธ์ ๋ชจ๋ ๋ ธ๋๊ฐ ์ฐ 4MB ๊ฐ๋์ ๋ธ๋ก ํค๋์ ๋ชจ๋ ๊ธฐ๋ก์ ์ ๊ทผํ๋ ๊ฒ์ ๊ฐ์ ํ๊ณ ํธ๋์ญ์ ์ ๊ฒ์ฆ์ ์ํํฉ๋๋ค. ์ด๋น 10๊ฐ์ ํธ๋์ญ์ ์ด ๋ฐ์ํ ๊ฒฝ์ฐ, ์ ํจํ ์ฆ๋ช (valid proof)์ 512 ๋ฐ์ดํธ๋ฅผ ํ์๋ก ํฉ๋๋ค. 10๋ถ์ ๋ธ๋ก ๊ฐ๊ฒฉ์ ๊ฐ์ง๋ ๋ธ๋ก์ฒด์ธ์์ ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ง๋ง, 3์ด์ ๋ธ๋ก ๊ฐ๊ฒฉ์ ๊ฐ์ง๋ ๋ธ๋ก์ฒด์ธ์์ ์ด๊ฒ์ "๊ฒฝ๋"์ด ์๋๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ํธ๋์ญ์ ์ด ํฌํจ ๋ ์์ ์ดํ์ ๋๋๋ฆด ์์๋ ๋ธ๋ก ํค๋๋ฅผ ๊ฐ์ง ์ฌ๋์ด๋ผ๋ฉด ๋๊ตฌ๋ ๊ฐ๋ฒผ์ด ์ฆ๋ช ์ ๊ฐ๋ฅํ๊ฒํฉ๋๋ค. ์๋์ ๋ณด์ด๋ ํด์ฌ ์ฐ๊ฒฐ ๊ตฌ์กฐ(hash-linked structure)๋ฅผ ์ด์ฉํ์ฌ 1,024๋ฐ์ดํธ ์ดํ์ ์ฆ๋ช (proof)์ ๊ฐ์ง๋ ๋ชจ๋ ํธ๋์ญ์ ์ ๋ํ ์กด์ฌ ์ฆ๋ช (existence prove)์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฒ์ฆ ๋ ธ๋(validating nodes )๊ฐ ์ง๋ ํ๋ฃจ ๊ฐ(2MB์ ๋ฐ์ดํฐ)์ ๋ชจ๋ ๋ธ๋ก ํค๋๋ฅผ ์ ์งํ๋ค ๊ฐ์ ํ๋ฉด, ํธ๋์ญ์ ์ ๊ฒ์ฆ์ ์ํด์ 200๋ฐ์ดํธ์ ์ฆ๋ช ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.
๊ฒฝ๋ ๊ฒ์ฆ ๋ฐฉ์์ ๋์ ํ๊ธฐ ์ํด ์ ์ ํ ํด์ฌ-์ฐ๊ฒฐ(hash-linking)์ด ํฌํจ๋ ๋ธ๋ก์ ์์ฑํ๋ ๊ฒ์ ์ถ๊ฐ ๋น์ฉ์ ๋งค์ฐ ์ ์ผ๋ฏ๋ก, ์ด ๋ฐฉ์์ผ๋ก ๋ธ๋ก์ ์์ฑํ์ง ์์ ์ด์ ๋ ์์ต๋๋ค.
๋ค๋ฅธ ์ฒด์ธ์ ์ํ ์ฆ๋ช ๋ค์ ๊ฒ์ฆํ ๊ฒฝ์ฐ ๋ค์ํ ์ฐ์ฐ ์๊ฐ/๊ณต๊ฐ/๋์ญํญ ์ต์ ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ชจ๋ ๋ธ๋ก ํค๋(์ฐ๊ฐ 420MB)์ ์ถ์ (tracking)์ ์ฆ๋ช ์ ํฌ๊ธฐ๋ฅผ ์๊ฒ ์ ์งํ๊ฒ ํ ๊ฒ์ ๋๋ค. ์ต๊ทผ์ ํค๋๋ง ์ถ์ ํ๋ ๊ฒ์ ์ต์ ์ฅ๊ธฐ ์ ์ฅ์ ๊ด๋ฆฌ์ ์ฆ๋ช ์ฌ์ด์ ์ ์ถฉ(trade off)์ด ๋ฐ์ํฉ๋๋ค. ๋์์ผ๋ก, ๋ธ๋ก์ฒด์ธ์ ๊ณผ๊ฑฐ ์ฆ๋ช ์ ์ค๊ฐ ํด์ฌ๋ฅผ ๊ธฐ์ตํ๋ ์ง์ฐ ํ๊ฐ(lazy evaluation) ๋ฐฉ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ก์ด ์ฆ๋ช ์ ์ด๋ฏธ ์๋ ค์ง ํฌ์ ํธ๋ฆฌ(sparse tree)์ ๋ํ ๋งํฌ๊ฐ ํฌํจํ๋ฉด ๋ฉ๋๋ค. ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ ์ง๋ ๋จธํด ์ฆ๋ช ์ ์ฐธ์กฐํ๋ ํธ๋์ญ์ ์ ํฌํจํ๋ ์ธ๋ถ ๋ธ๋ก์ ๋น์จ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค.
์ํธ ์ฐ๊ฒฐ์ด ์ผ์ ๋น์จ ์ด์ ์ด๋ฃจ์ด์ง๋ค๋ฉด, ๋จ์ํ๊ฒ ๋ค๋ฅธ ์ฒด์ธ์ ๋ชจ๋ ๋ธ๋ก ๊ธฐ๋ก์ ํด๋น ์ฒด์ธ์ด ๊ฐ์ง๊ฒ ํ์ฌ ๊ฒ์ฆ์ ์ํด ๋ ์ฒด์ธ์ ๋ณผ ํ์๊ฐ ์๊ฒ ํ๋ ๊ฒ์ด ํจ์จ์ ์ ๋๋ค. ์ฑ๋ฅ ๊ด์ ์์ ์ฒด์ธ ๊ฐ ์ฆ๋ช ์ ๋น์จ์ ๋ฎ์ถ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ธ๋ถ์ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ๊ณผ ํต์ ํ ๋, ๋ธ๋ก ์์ฐ์๋ ์ ํฉํ ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์๋ค์ด๊ธฐ ์ด์ ์ ๋ค๋ฅธ ๋ธ๋ก์ฒด์ธ์์ ๋ฐ๋์ง ์๋ ํ์ธ ์ํ์ ๋์ ํ์์์ 100% ํ์ ํ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. EOS.IO ์ํํธ์จ์ด์ 21๋ช ์ ์์ฐ์์ 3์ด ๋ธ๋ก ์์ฑ ์๊ฐ์ ๊ฐ์ง๋ DPOS(์ง๋ถ ์์ ์ฆ๋ช ; Delegated Proof-Of-Stake)๋ฅผ ์ด์ฉํ ๋ ์ฝ 45์ด๊ฐ ๊ฑธ๋ฆฝ๋๋ค. ๋ง์ฝ์ ํน์ ์ฒด์ธ์ ๋ธ๋ก ์์ฐ์๊ฐ ๋ฐ๋์ง ์๋ ์ํ(irreversibility)๊ฐ ๋๋ ๊ฒ์ ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค๋ฉด ๊ฑฐ๋์์ ์ทจ์ํ ์ ๊ธ์ด ์น์ธ๋๋ ๊ฒ๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ฉฐ ์ฒด์ธ์ ํฉ์ ๊ฒ์ฆ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ์ ๋๋ค.
๋ธ๋ก์ฒด์ธ ์ธ๋ถ์ ๋จธํด ์ฆ๋ช ์ ์ฌ์ฉํ ๋, ๋ชจ๋ ํธ๋์ญ์ ์ด ์ํ๋ ๊ฒ์ ํ์ธํ๋ ๊ฒ๊ณผ ๋ฌด์ํ๊ฑฐ๋ ๋น ์ง ํธ๋์ญ์ ์ด ์์์ ํ์ธํ๋ ๊ฒ์ ์๋นํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ต๊ทผ์ ๋ชจ๋ ํธ๋์ญ์ ์ ๋ชจ๋ ์๊ณ ์์์ ์ฆ๋ช ํ๊ธฐ๋ ๋ถ๊ฐ๋ฅํ์ง๋ง, ํธ๋์ญ์ ์ด๋ ฅ์ ๋นํ(gap)์ด ์์์ ์ฆ๋ช ํ๋ ๊ฒ์ ๊ฐ๋ฅํฉ๋๋ค. EOS.IO๋ ๋ชจ๋ ๊ณ์ ๊ฐ ๋ฉ์์ง ์ ๋ฌ์ ์ผ๋ ฌ ๋ฒํธ๋ฅผ ๋ถ์ฌํ์ฌ ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ฌ์ฉ์๋ ํน์ ๊ณ์ ์ ๋ํ ๋ชจ๋ ๋ฉ์์ง๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ผ๋ฉฐ, ์์์ ๋ง์ถ์ด ์ฒ๋ฆฌ๋์์์ ์ฆ๋ช ํ ๋ ์ด๋ฌํ ์ผ๋ ฌ ๋ฒํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
EOS.IO ์ํํธ์จ์ด๋ ๊ฒ์ฆ๋ ๊ฐ๋ ๊ณผ ์ค์ง์ ์ธ ๊ฒฝํ์ ํตํด ์ค๊ณ๋์์ผ๋ฉฐ, ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๊ทผ๋ณธ์ ์ธ ๋ฐ์ ์ ๋ํํ๋ ์ ํ์ ๋๋ค. ์ด ์ํํธ์จ์ด๋ ์ ์ธ๊ณ์ ๊ท๋ชจ์ ๋ธ๋ก์ฒด์ธ์ ํ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๊ตฌํํ๊ณ ์ด์(governing)ํ๋ ์ ์ฒด์ ์ธ ์ฒญ์ฌ์ง์ ์ผ๋ถ์ ๋๋ค.