Skip to content

Latest commit

ย 

History

History
444 lines (254 loc) ยท 59.5 KB

TechnicalWhitePaper.md

File metadata and controls

444 lines (254 loc) ยท 59.5 KB

EOS.IO ๊ธฐ์ˆ  ๋ฐฑ์„œ

์ดˆ์•ˆ ์ž‘์„ฑ์ผ: 2017๋…„ 6์›” 26์ผ, ๋ฒˆ์—ญ: ์ดํƒœ๋ฏผ (taeminlee), ๊ฐ์ˆ˜: ์กฐ์žฌ์šฐ (@clayop (https://steemit.com/@clayop))

์ดˆ๋ก: EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ˆ˜์ง ๋ฐ ์ˆ˜ํ‰ ํ™•์žฅ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๋””์ž์ธ๋œ ์ƒˆ๋กœ์šด ๋ธ”๋ก์ฒด์ธ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ์šด์˜์ฒด์ œ์™€ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ ์™„์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ณธ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ CPU ์ฝ”์–ด ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ๊ณ„์ •(accounts), ์ธ์ฆ(authentication), ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(databases), ๋น„๋™๊ธฐ ํ†ต์‹ (asynchronous communication), ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์Šค์ผ€์ฅด๋ง(application scheduling) ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ดˆ๋‹น ์ˆ˜๋ฐฑ๋งŒ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๋ฉด์„œ๋„, ์ˆ˜์ˆ˜๋ฃŒ๊ฐ€ ์—†๊ณ , ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ์ˆ ์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ: ๋ณธ ๋ฐฑ์„œ์—์„œ ์–ธ๊ธ‰๋˜๋Š” ์•”ํ˜ธํ™”ํ ํ† ํฐ์€ EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ์ƒ์— ์กด์žฌํ•˜๋Š” ํ† ํฐ์„ ์ง€์นญํ•ฉ๋‹ˆ๋‹ค. ์ด ํ† ํฐ์€ EOS ๋ถ„๋ฐฐ์— ์‚ฌ์šฉ๋˜๋Š” ์ด๋”๋ฆฌ์›€ ๋ธ”๋ก์ฒด์ธ ์ƒ์— ์กด์žฌํ•˜๋Š” ERC-20 ๊ธฐ๋ฐ˜ ํ† ํฐ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ €์ž‘๊ถŒ ์†Œ์œ  ยฉ 2017 block.one

๋ˆ„๊ตฌ๋“ ์ง€ ํ—ˆ๊ฐ€ ์—†์ด ์›๋ž˜์˜ ์ถœ์ฒ˜์™€ ํ•ด๋‹น ์ €์ž‘๊ถŒ ๊ณ ์ง€๊ฐ€ ์–ธ๊ธ‰๋œ ๊ฒฝ์šฐ ๋น„์˜๋ฆฌ์ ์ด๊ณ  ๊ต์œก์ ์ธ ์šฉ๋„ (์ฆ‰, ์œ ๋ฃŒ ๋˜๋Š” ์ƒ์—…์  ๋ชฉ์  ์ด์™ธ์˜ ๋ชฉ์ )๋กœ ๋ณธ ๋ฐฑ์„œ์˜ ์ž๋ฃŒ๋ฅผ ์‚ฌ์šฉ, ๋ณต์ œ ๋˜๋Š” ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉด์ฑ… ์กฐํ•ญ: EOS.IO ๊ธฐ์ˆ  ๋ฐฑ์„œ ์ดˆ์•ˆ์€ ์˜ค์ง ์ •๋ณด ์ œ๊ณต์˜ ๋ชฉ์ ์œผ๋กœ์จ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. block.one does not guarantee the accuracy of or the conclusions reached in this white paper, and this white paper is provided โ€œas isโ€. block.one does not make and expressly disclaims all representations and warranties, express, implied, statutory or otherwise, whatsoever, including, but not limited to: (i) warranties of merchantability, fitness for a particular purpose, suitability, usage, title or noninfringement; (ii) that the contents of this white paper are free from error; and (iii) that such contents will not infringe third-party rights. block.one and its affiliates shall have no liability for damages of any kind arising out of the use, reference to, or reliance on this white paper or any of the content contained herein, even if advised of the possibility of such damages. In no event will block.one or its affiliates be liable to any person or entity for any damages, losses, liabilities, costs or expenses of any kind, whether direct or indirect, consequential, compensatory, incidental, actual, exemplary, punitive or special for the use of, reference to, or reliance on this white paper or any of the content contained herein, including, without limitation, any loss of business, revenues, profits, data, use, goodwill or other intangible losses.

ํƒ„์ƒ ๋ฐฐ๊ฒฝ (Background)

๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์€ 2008๋…„ ๋น„ํŠธ์ฝ”์ธ ํ™”ํ์˜ ์ถœํ˜„๊ณผ ํ•จ๊ป˜ ์‹œ์ž‘๋˜์—ˆ์œผ๋ฉฐ, ์ดํ›„ ๊ธฐ์—…๊ฐ€์™€ ๊ฐœ๋ฐœ์ž๋Š” ํ•˜๋‚˜์˜ ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์—์„œ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์ˆ ์˜ ์ผ๋ฐ˜ํ™”๋ฅผ ์‹œ๋„ํ•ด ์™”์Šต๋‹ˆ๋‹ค.

๋‹ค์ˆ˜์˜ ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๋Š” ๋™์•ˆ, BitShares ํƒˆ์ค‘์•™ํ™” ๊ฑฐ๋ž˜์†Œ(2014) ๋ฐ Steem ์†Œ์…œ ๋ฏธ๋””์–ด ํ”Œ๋žซํผ(2016)๊ณผ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํŠนํ™” ๋ธ”๋ก์ฒด์ธ์€ ์ด๋ฏธ ์ˆ˜๋งŒ ๋ช…์˜ ์ผ์ผ ์‚ฌ์šฉ์ž๋ฅผ ๊ฐ€์ง„ ๋ธ”๋ก์ฒด์ธ์œผ๋กœ ์„ฑ์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ดˆ๋‹น ์ˆ˜์ฒœ ๊ฑด์˜ ํŠธ๋žœ์žญ์…˜ ์ง€์›๊ณผ 1.5์ดˆ์˜ ์ง€์—ฐ์‹œ๊ฐ„๊ณผ ๊ฐ™์€ ์„ฑ๋Šฅ ํ–ฅ์ƒ, ์‚ฌ์šฉ ์ˆ˜์ˆ˜๋ฃŒ์˜ ์ œ๊ฑฐ, ํ˜„์žฌ ์„œ๋น„์Šค๋˜๋Š” ์ค‘์•™ ์ง‘์ค‘ํ˜• ์„œ๋น„์Šค์™€ ์œ ์‚ฌํ•œ ์ˆ˜์ค€์˜ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ œ๊ณต์„ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์กดํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ๋“ค์€ ๋น„์‹ผ ์ˆ˜์ˆ˜๋ฃŒ์™€ ์—ฐ์‚ฐ๋Šฅ๋ ฅ์˜ ํ•œ๊ณ„ ๋•Œ๋ฌธ์— ๋ธ”๋ก์ฒด์ธ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ์‚ฌ์šฉ์— ์žˆ์–ด์„œ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์š”๊ตฌ์‚ฌํ•ญ (Requirements for Blockchain Application)

๋ธ”๋ก์ฒด์ธ ์œ„์—์„œ ๋Œ์•„๊ฐ€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋Š” ์œ ์—ฐํ•œ ํ”Œ๋žซํผ์„ ๊ฐ–์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜๋ฐฑ๋งŒ์˜ ์‚ฌ์šฉ์ž ํ—ˆ์šฉ (Support Millions of Users)

Ebay, Uber, AirBnB, Facebook ๊ณผ ๊ฐ™์€ ๊ธฐ์กด ์„œ๋น„์Šค์™€ ๊ฒฝ์Ÿ๋ ฅ์„ ๊ฐ–์ถ”๊ธฐ ์œ„ํ•ด์„œ ์ˆ˜์ฒœ๋งŒ์˜ ์ผ์ผ ์‚ฌ์šฉ์ž๋ฅผ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ด์šฉํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ์žˆ์œผ๋ฏ€๋กœ ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ์ˆ˜์šฉํ•˜๋Š” ํ”Œ๋žซํผ์€ ๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฌด๋ฃŒ ์‚ฌ์šฉ (Free Usage)

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ฌด๋ฃŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์ด ํ•„์š”ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋“ค์€ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ”Œ๋žซํผ์˜ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ํŽธ์ต์„ ์–ป๊ธฐ ์œ„ํ•ด ๋น„์šฉ์„ ์ง€๋ถˆํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด๋ฃŒ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์ด ๋” ๋„๋ฆฌ ์ „ํŒŒ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅธ ๋Œ€์ค‘ํ™”๋กœ ์ธํ•ด ๊ธฐ์—…๊ฐ€์™€ ๊ฐœ๋ฐœ์ž๋Š” ํšจ์œจ์ ์ธ ์ˆ˜์ต ์ฐฝ์ถœ ์ „๋žต์„ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ„ํŽธํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ๋ฐ ๋ฒ„๊ทธ ํ•ด์†Œ (Easy upgrades and Bug Recovery)

๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ธฐ์—…์€ ๊ทธ๋“ค์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ์†Œํ”„ํŠธ์›จ์–ด๋“ค์€ ์—„๊ฒฉํ•œ ๊ณต์‹์ ์ธ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•จ์—๋„ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์•ˆ์ •์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์งง์€ ์ง€์—ฐ ์‹œ๊ฐ„ (Low Latency)

์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์€ ์ˆ˜ ์ดˆ ์ดํ•˜์˜ ์ง€์—ฐ์‹œ๊ฐ„์„ ํ†ตํ•œ ์•ˆ์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ์„ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ๊ธด ์ง€์—ฐ ์‹œ๊ฐ„์€ ์‚ฌ์šฉ์ž์˜ ๋ถˆ๋งŒ์„ ์ผ์œผํ‚ค๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ธฐ์„ฑ ์‹œ์žฅ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋น„ํ•ด ๊ฒฝ์Ÿ๋ ฅ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

์ˆœ์ฐจ(sequential) ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ (Sequential Performance)

๋ช‡๋ช‡ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ˆœ์ฐจ์ ์ธ ์ฒ˜๋ฆฌ ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ‘๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฑฐ๋ž˜์†Œ(exchange)์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์€ ๋งŽ์€ ์–‘์˜ ๊ฑฐ๋ž˜๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ์ถฉ๋ถ„ํ•œ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜๋ฏ€๋กœ, ํ”Œ๋žซํผ์€ ๋น ๋ฅธ ์ˆœ์ฐจ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ (Parallel Performance)

๊ฑฐ๋Œ€ ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•˜๋‚˜์˜ ์ž‘์—…์„ ๋‹ค์ˆ˜์˜ CPU์™€ ์ปดํ“จํ„ฐ์— ๋ถ„๋ฐฐํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (DPOS) (Consensus Algorithm)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก์ฒด์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ํƒˆ์ค‘์•™ํ™” ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์ง€๋ถ„ ์œ„์ž„ ์ฆ๋ช…(DPOS; Deleteged Proof-Of-Stake)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Under this algorithm, those who hold tokens on a blockchain adopting the EOS.IO software may select block producers through a continuous approval voting system and anyone may choose to participate in block production and will be given an opportunity to produce blocks proportional to the total votes they have received relative to all other producers. For private blockchains the management could use the tokens to add and remove IT staff.

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ •ํ™•ํžˆ 3์ดˆ๋งˆ๋‹ค ๋ธ”๋ก์ด ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ๊ฐ ์‹œ์ ๋งˆ๋‹ค ์˜ค์ง ํ•œ ๋ช…์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋งŒ์ด ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ๋ธ”๋ก์ด ์ƒ์‚ฐ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ•ด๋‹น ์‹œ์ ์˜ ๋ธ”๋ก์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. 1๊ฐœ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ๋ธ”๋ก์ด ๋ฌด์‹œ๋  ๊ฒฝ์šฐ ๋ธ”๋ก์ฒด์ธ์—๋Š” 6์ดˆ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ๊ฐ„๊ฒฉ(gap)์ด ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ธ”๋ก๋“ค์€ 21๋ฒˆ์˜ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ผ์šด๋“œ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ. ๊ฐ ๋ผ์šด๋“œ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ 21๋ช…์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ์ •ํ•ด์ง‘๋‹ˆ๋‹ค. ๋ผ์šด๋“œ๋งˆ๋‹ค ๋งŽ์€ ๋“ํ‘œ๋ฅผ ๋ฐ›์€ ์ƒ์œ„ 20๋ช…์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ์ž๋™์œผ๋กœ ๋ฐฐ์ •๋˜๋ฉฐ, ๋งˆ์ง€๋ง‰ ์ƒ์‚ฐ์ž๋Š” ๋‹ค๋ฅธ ์ƒ์‚ฐ์ž์™€์˜ ์ƒ๋Œ€์ ์ธ ํˆฌํ‘œ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ์„ ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ์‹œ๊ฐ„์œผ๋กœ ์œ ๋„๋˜๋Š” ์˜์‚ฌ ๋‚œ์ˆ˜(pseudorandom number)์— ๋”ฐ๋ผ ์„ ์ถœ๋œ ์ƒ์‚ฐ์ž๋“ค์˜ ๋ธ”๋ก ์ƒ์„ฑ ์ˆœ์„œ๋ฅผ ๋žœ๋คํ•˜๊ฒŒ ์„ž์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก ์ƒ์„ฑ ์ˆœ์„œ๋ฅผ ์„ž๋Š” ๊ฒƒ์€ ๋ชจ๋“  ์ƒ์‚ฐ์ž๊ฐ€ ๋‹ค๋ฅธ ์ƒ์‚ฐ์ž๋“ค๊ณผ ๊ท ํ˜•์ ์ธ ์—ฐ๊ฒฐ(balanced connectivity)์„ ์œ ์ง€ํ•˜๋„๋ก ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์‚ฐ์ž๊ฐ€ ๋ธ”๋ก ์ƒ์„ฑ์— ์‹คํŒจํ•˜๊ณ  ์ง€๋‚œ 24์‹œ๊ฐ„ ๋™์•ˆ ์–ด๋– ํ•œ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ธ”๋ก์ฒด์ธ์— ๋ธ”๋ก ์ƒ์„ฑ ์ฐธ์—ฌ ์˜์‚ฌ๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์ „๊นŒ์ง€ ํ›„๋ณด๊ตฐ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์‚ฌ๋žŒ์„ ์ฐธ๊ฐ€์‹œํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ ๋†“์น˜๋Š” ๋ธ”๋ก์˜ ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ๊ฐ€ ์›ํ™œํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ์—์„œ ์ง€๋ถ„ ์œ„์ž„ ์ฆ๋ช…(DPOS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ์€ ์–ด๋– ํ•œ ํฌํฌ(fork)๋„ ์ผ์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธ”๋ก ์ƒ์„ฑ์ž๊ฐ€ ๊ฒฝ์Ÿ์ด ์•„๋‹Œ ํ˜‘๋ ฅ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํฌํฌ๊ฐ€ ์ผ์–ด๋‚œ ๊ฒฝ์šฐ, ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ž๋™์œผ๋กœ ๊ฐ€์žฅ ๊ธด ๋ธ”๋ก ์ฒด์ธ(chain)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์ด ๋™์ž‘ํ•˜๋Š” ์ด์œ ๋Š”, ํŠน์ • ๋ธ”๋ก์ฒด์ธ ํฌํฌ์— ๋ธ”๋ก๋“ค์ด ์ถ”๊ฐ€๋˜๋Š” ์†๋„๋Š” ๊ฐ™์€ ํ•ฉ์˜๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋ธ”๋ก ์ƒ์„ฑ์ž์˜ ๋น„์œจ๊ณผ ์ง์ ‘ ์—ฐ๊ด€๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์ˆ˜์˜ ์ƒ์‚ฐ์ž ์กด์žฌํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ํฌํฌ๋Š” ์ ์€ ์ƒ์‚ฐ์ž๋ฅผ ๊ฐ€์ง„ ๊ฒƒ์— ๋น„ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋กœ, ์–ด๋– ํ•œ ๋ธ”๋ก ์ƒ์„ฑ์ž๋„ ๋™์‹œ์— ๋‘ ๊ฐœ์˜ ํฌํฌ์— ๋ธ”๋ก์„ ์ƒ์„ฑํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ ๋ฐœ๋  ๊ฒฝ์šฐ ํ•ด๋‹น ๋ธ”๋ก ์ƒ์„ฑ์ž๋Š” ํƒ„ํ•ต๋‹นํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์ค‘ ์ƒ์‚ฐ์— ๋Œ€ํ•œ ์•”ํ˜ธํ•™์  ์ฆ๊ฑฐ(cryptographic evidence)๋Š” ์ •๋‹นํ•˜์ง€ ์•Š์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋“์„ ์ทจํ•œ ์‚ฌ๋žŒ์„ ์ž๋™์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ํ™•์ธ (Transaction Confirmation)

์ผ๋ฐ˜์ ์ธ DPOS ๋ธ”๋ก์ฒด์ธ์€ 100%์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž ์ฐธ์—ฌ์œจ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ „ํŒŒ(braodcasting) ์‹œ๊ฐ„๋ถ€ํ„ฐ ํ‰๊ท  1.5์ดˆ์˜ ์‹œ๊ฐ„์ด ํ๋ฅด๋ฉด ํŠธ๋žœ์žญ์…˜์€ 99.9%์˜ ์‹ ๋ขฐ๋„๋กœ ํ™•์ธ(confirm)๋˜์—ˆ๋‹ค ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„๊ทธ, ์ธํ„ฐ๋„ท ์†๋„ ์ €ํ•˜, ๋น„์ •์ƒ์  ๋ธ”๋ก ์ƒ์‚ฐ์ž์™€ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ์ƒํ™ฉ์—์„œ ๋‘ ๊ฐœ ํ˜น์€ ๊ทธ ์ด์ƒ์˜ ํฌํฌ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜์˜ ๋ฐ”๋€Œ์ง€ ์•Š์Œ(irreversible)์„ ํ™•์ •ํ•˜๊ธฐ ์œ„ํ•ด์„œ, ๋…ธ๋“œ๋Š” 21๋ช…์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž ์ค‘ 15๋ช…์˜ ํ™•์ธ(confirmation)์„ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋ณธ ์„ค์ •์— ๋”ฐ๋ฅด๋ฉด ๋ณดํ†ต ์ƒํ™ฉ์—์„œ 45์ดˆ์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋…ธ๋“œ๋Š” 21๋ช… ์ค‘ 15๋ช…์ด ํ™•์ธํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ๋ธ”๋ก์ด ๋ฐ”๋€Œ์ง€ ์•Š์Œ์„ ํ™•์ •ํ•˜๊ณ  ๋ธ”๋ก์˜ ๊ธธ์ด์™€ ์ƒ๊ด€์—†์ด ๋‹ค๋ฅธ ํฌํฌ๋กœ ์ „ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋…ธ๋“œ๋Š” ํฌํฌ๊ฐ€ ๋ถ„๊ธฐ๋œ ํ›„ 9์ดˆ ์ด๋‚ด์— ์†ํ•œ ๋…ธ๋“œ๊ฐ€ ์†Œ์ˆ˜ ํฌํฌ(minority fork)์— ์†ํ•ด์žˆ์Œ์„ ๋†’์€ ํ™•๋ฅ ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ ค์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ๊ฐ€ ์†ํ•œ ๋ธ”๋ก์ฒด์ธ์— 2๊ฐœ์˜ ๋ธ”๋ก์ด ์—ฐ์†์ ์œผ๋กœ ์ถ”๊ฐ€๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ 95% ํ™•๋ฅ ๋กœ ์†Œ์ˆ˜ ํฌํฌ์— ์†ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 3๋ฒˆ ์—ฐ์†์œผ๋กœ ์ถ”๊ฐ€๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ 99%์˜ ์†Œ์ˆ˜ ํฌํฌ ํ™•๋ฅ ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ธ”๋ก์ด Qkwls ๋…ธ๋“œ, ์ตœ๊ทผ ์ฐธ์—ฌ ๋น„์œจ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ํ† ๋Œ€๋กœ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ž˜๋ชป๋œ ์ƒํ™ฉ์— ๋Œ€ํ•œ ๊ฒฝ๋ณด๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ œ๊ณตํ•˜๋Š” ์•ˆ์ •์ ์ธ ์˜ˆ์ธก ๋ชจํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฝ๋ณด์— ๋Œ€ํ•œ ๋Œ€์‘์€ ๋น„์ฆˆ๋‹ˆ์Šค ํŠธ๋žœ์žญ์…˜์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉฐ, ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋Œ€์‘ ๋ฐฉ๋ฒ•์€ 15/21 ํ™•์ธ์ด ์ด๋ฃจ์–ด์ ธ ๊ฒฝ๋ณด๊ฐ€ ๋๋‚˜๋Š” ์‹œ์ ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋ฐ˜ ์ง€๋ถ„ ์ฆ๋ช… (Transaction as Proof of Stake, TaPoS)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์ด ์ตœ๊ทผ ๋ธ”๋ก ํ—ค๋”์˜ ํ•ด์‰ฌ๊ฐ’์„ ํฌํ•จํ•˜๋„๋ก ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‰ฌ ๊ฐ’์€ ๋‘ ๊ฐ€์ง€ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  1. ์ฐธ์กฐ ๋ธ”๋ก(referenced block)์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ํฌํฌ์—์„œ ํŠธ๋žœ์žญ์…˜์ด ์žฌ์‹คํ–‰ ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  2. ํŠน์ • ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ง„ ์ž์‚ฐ์ด ์–ด๋–ค ํฌํฌ์—์„œ ์กด์žฌํ•˜๋Š”์ง€ ๋„คํŠธ์›Œํฌ์— ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ง์ ‘ ๋ธ”๋ก์ฒด์ธ์„ ํ™•์ธ(confirm)ํ•˜๊ฒŒ ๋˜๋ฉฐ, ํ•ฉ๋ฒ•์  ์ฒด์ธ์˜ ๊ฑฐ๋ž˜๋ฅผ ์œ„์กฐ ์ฒด์ธ์œผ๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์œ„์กฐ ์ฒด์ธ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์–ด๋ ต๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ณ„์ • (Accounts)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ชจ๋“  ๊ณ„์ •์ด 2~32๊ธ€์ž์˜ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ  ์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ • ์ด๋ฆ„์€ ์ƒ์„ฑ์ž๊ฐ€ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ณ„์ •์€ ์ƒ์„ฑ๋˜๋Š” ์‹œ์ ์— ๊ณ„์ • ์ •๋ณด๋ฅผ ๋‹ด๋Š” ์ €์žฅ ๋น„์šฉ์„ ์ดˆ๊ณผํ•˜๋Š” ์ž”์•ก์„ ๋ณด์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ • ์ด๋ฆ„์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, @domain ๊ณ„์ •์˜ ์†Œ์œ ์ž๋งŒ์ด @user.domain์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

ํƒˆ์ค‘์•™ํ™” ํ™˜๊ฒฝ์—์„œ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ€์ž…ํ•˜์—ฌ ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ๋น„์šฉ์„ ๋ถ€๋‹ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ธฐ์—…๋“ค์€ ์ด๋ฏธ ๊ด‘๊ณ ๋‚˜ ๋ฌด๋ฃŒ ์„œ๋น„์Šค ์ œ๊ณต์˜ ๋ช…๋ชฉ์œผ๋กœ ๋‹จ์œ„ ์‚ฌ์šฉ์ž๋‹น ์ƒ๋‹น์•ก์˜ ๋ˆ์„ ์ง€์ถœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๋น„๊ตํ•  ๋•Œ ์ƒˆ๋กœ์šด ๋ธ”๋ก์ฒด์ธ ๊ณ„์ •์— ๋ถ€๋‹ดํ•˜๋Š” ๋น„์šฉ์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋ฏธ๋ฏธํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฐ€์ž…ํ•œ ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์„ ์ค‘๋ณตํ•˜์—ฌ ๊ฐ€์ž…ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€์™€ ์ฒ˜๋ฆฌ๊ธฐ (Messages & Handlers)

ํ•œ ๊ณ„์ •์—์„œ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ๊ตฌ์กฐํ™”๋œ ๋ฉ”์‹œ์ง€(structured message)๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์†ก์‹ ํ•˜์˜€์„ ๋•Œ ์ฒ˜๋ฆฌํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ(script)๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ฐ๊ฐ์˜ ๊ณ„์ •์ด ๋…๋ฆฝ๋œ ํ”„๋ผ์ด๋น— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฐ€์ง€๋„๋ก ํ•˜๋ฉฐ, ์ž์‹ ์˜ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ๋งŒ์ด ์ ‘๊ทผํ•˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ์Šคํฌ๋ฆฝํŠธ์—์„œ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. EOS.IO๋Š” ์Šค๋งˆํŠธ ์ปจํŠธ๋ ‰ํŠธ(smart contract)๋ฅผ ๋ฉ”์‹œ์ง€์™€ ์ž๋™ํ™”๋œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ์˜ ์กฐํ•ฉ์œผ๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์—ญํ•  ๊ธฐ๋ฐ˜ ๊ถŒํ•œ ๊ด€๋ฆฌ (Role Based Permission Management)

๊ถŒํ•œ ๊ด€๋ฆฌ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ธ์ฆ(authorized)๋˜์—ˆ๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ๊ถŒํ•œ ๊ด€๋ฆฌ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ์„œ๋ช… ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒƒ์ด๋‚˜, ์ด๋Š” ์ด๋ฏธ ํ•„์š”ํ•œ ์„œ๋ช…์„ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ถŒํ•œ์€ ์‚ฌ์šฉ์ž์™€ ๊ทธ๋ฃน์— ๋ถ€์—ฌ๋˜๋ฉฐ ์ด๋Š” ์ข…์ข… ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ณ„์ •๋ณ„๋กœ ๋ˆ„๊ฐ€, ์–ธ์ œ, ์–ด๋–ค ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•˜์—ฌ ์„ธ๋ถ€์ ์œผ๋กœ ์ œ์–ดํ•˜๋Š” ์„ ์–ธ์  ๊ถŒํ•œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ๊ณผ ๊ถŒํ•œ ๊ด€๋ฆฌ๋ฅผ ํ‘œ์ค€ํ™”ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ถŒํ•œ ๊ด€๋ฆฌ๊ฐ€ ๋ฒ”์šฉ์ ์ธ ๊ด€์ ์—์„œ ์ด๋ฃจ์–ด์ง€๋„๋ก ํ•˜๋Š” ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ฉฐ, ๋˜ํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ํฐ ๊ฐ€๋Šฅ์„ฑ์ด ์—ด๋ฆฌ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ณ„์ •์€ ๋‹ค๋ฅธ ๊ณ„์ •๋“ค(other accounts)๊ณผ ๊ฐœ์ธํ‚ค๋“ค(private keys)์˜ ๊ฐ€์ค‘์น˜ ์กฐํ•ฉ(weighted combination)์œผ๋กœ ์ œ์–ด๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ˜„์‹ค์˜ ๊ถŒํ•œ ๊ตฌ์„ฑ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•œ ์œ„๊ณ„์  ์ธ์ฆ ๊ตฌ์กฐ(hierarchical authority structure)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋˜ํ•œ ๊ธฐ๊ธˆ(funds)์— ๋Œ€ํ•œ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์ œ์–ด(multi-user control)๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์ œ์–ด๋Š” ๋ณด์•ˆ ๊ด€์ ์—์„œ ํฐ ์˜์˜๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•ดํ‚น์œผ๋กœ ์ธํ•œ ๋„๋‚œ์˜ ์œ„ํ—˜์„ ํฐํญ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ†ตํ•ด ๊ฐ ๊ณ„์ •์€ ํŠน์ • ์ข…๋ฅ˜์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ „์†กํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ํ‚ค ์กฐํ•ฉ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž์˜ ์†Œ์…œ ๋ฏธ๋””์–ด ๊ณ„์ •์˜ ํ‚ค์™€ ๋ณ„๋„๋กœ ๊ฑฐ๋ž˜ ๊ถŒํ•œ์˜ ํ‚ค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ณ„์ •์— ํ‚ค๋ฅผ ํ• ๋‹นํ•˜์ง€ ์•Š๊ณ ๋„ ๋‹ค๋ฅธ ๊ณ„์ •์ด ์‚ฌ์šฉ์ž์˜ ๊ณ„์ •์„ ๋Œ€์‹ ํ•˜์—ฌ ํ™œ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€ (Named Permission Levels)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์ •์€ ์ƒ์œ„ ๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€๋“ค๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋˜๋Š” ๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€์€ ์ธ์ฆ ๋ฐฉ์‹(authority)์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐฉ์‹์€ ๋‹ค๋ฅธ ๊ณ„์ •์˜ ํ‚ค์™€ ๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€์˜ ์ž์œ ๋กœ์šด ์กฐํ•ฉ์— ๋Œ€ํ•œ ์—ญ์น˜ ๋‹ค์ค‘์„œ๋ช… ํ™•์ธ(threshold multi-signature check)์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ๊ณ„์ •์˜ "์นœ๊ตฌ" ๊ถŒํ•œ ์ˆ˜์ค€์€ ํ•ด๋‹น ๊ณ„์ •์— ๋Œ€ํ•ด ์–ด๋– ํ•œ ์นœ๊ตฌ ๊ณ„์ •์œผ๋กœ๋„ ๋™๋“ฑํ•˜๊ฒŒ ์ œ์–ด๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์˜ˆ์ œ๋กœ์„œ Steem ๋ธ”๋ก์ฒด์ธ์ด ์žˆ์œผ๋ฉฐ, ์—ฌ๊ธฐ์—๋Š” 3๊ฐ€์ง€ ํ•˜๋“œ ์ฝ”๋”ฉ๋œ ๋ช…๋ช…๋œ ๊ถŒํ•œ ์ˆ˜์ค€์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์œ ์ž(owner), ํ™œ๋™(active), ํฌ์ŠคํŒ…(posting) ์ž…๋‹ˆ๋‹ค. ํฌ์ŠคํŒ… ๊ถŒํ•œ์€ ํˆฌํ‘œ๋‚˜ ๊ธ€์“ฐ๊ธฐ์™€ ๊ฐ™์€ ์†Œ์…œ ํ™œ๋™์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ™œ๋™ ๊ถŒํ•œ์€ ์†Œ์œ ์ž ๋ณ€๊ฒฝ ์™ธ ๋ชจ๋“  ํ™œ๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์†Œ์œ ์ž(owner) ๊ถŒํ•œ์€ ์ฝœ๋“œ ์Šคํ† ๋ฆฌ์ง€(cold storage)๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ๋ชจ๋“  ํ™œ๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. The EOS.IO software generalizes this concept by allowing each account holder to define their own hierarchy as well as the grouping of actions.

๋ช…๋ช…๋œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ ๊ทธ๋ฃน (Named Message Handler Groups)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ฐ๊ฐ์˜ ๊ณ„์ •์ด ๋…์ž์ ์ธ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๋ช…๋ช…(named)ํ•˜๊ณ  ์ค‘์ฒฉ ๊ทธ๋ฃนํ™”(nested groups)ํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ช…๋ช…๋œ ๋ฉ”์‹œ์ง€ ํ•ธ๋“ค๋Ÿฌ ๊ทธ๋ฃน(names message handler group)๋“ค์€ ๊ถŒํ•œ ์ˆ˜์ค€์„ ์„ค์ •ํ•  ๋•Œ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ๋ถ€ํ„ฐ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ƒ์œ„ ์ˆ˜์ค€์˜ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ ๊ทธ๋ฃน์€ ๊ณ„์ • ์ด๋ฆ„์ด๋ฉฐ, ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆ˜์ค€์€ ํŠน์ • ๊ณ„์ •์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ๊ฐœ๋ณ„์ ์ธ ๋ฉ”์‹œ์ง€ ํƒ€์ž…์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทธ๋ฃน๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. @๊ณ„์ •๋ช….๊ทธ๋ฃนA.ํ•˜์œ„๊ทธ๋ฃนB.๋ฉ”์‹œ์ง€ํƒ€์ž… (@accountname.groupa.subgroupb.MessageType)

์ด๋Ÿฌํ•œ ๋ชจํ˜•์„ ์ด์šฉํ•˜์—ฌ ๊ฑฐ๋ž˜์†Œ์˜ ๊ณ„์•ฝ์„ ๊ฑฐ๋ž˜ ๋‹จ์œ„๋กœ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ์ž…๊ธˆ๊ณผ ์ถœ๊ธˆ์„ ๋ณ„๊ฐœ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฑฐ๋ž˜ ๊ณ„์•ฝ์˜ ๊ทธ๋ฃนํ™”๋Š” ๊ตํ™˜์†Œ์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๋งคํ•‘ (Permission Mapping)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ณ„์ •๋ณ„๋กœ ์–ด๋– ํ•œ ๊ณ„์ •์˜ ๋ช…๋ช…๋œ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ ๊ทธ๋ฃน๊ณผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ๋ช…๋ช…๋œ ๊ด€๋ฆฌ ์ˆ˜์ค€ ๊ฐ„์˜ ๋งคํ•‘์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณ„์ • ์†Œ์œ ์ž๋Š” ํ•ด๋‹น ๊ณ„์ • ์†Œ์œ ์ž์˜ ์†Œ์…œ ๋ฏธ๋””์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ "์นœ๊ตฌ" ๊ด€๋ฆฌ ๊ทธ๋ฃน๊ณผ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งคํ•‘์„ ํ†ตํ•ด, ์–ด๋–ค ์นœ๊ตฌ๋“ค์ด๋ผ๋„ ๊ณ„์ • ์†Œ์œ ์ž์ฒ˜๋Ÿผ ๊ณ„์ • ์†Œ์œ ์ž์˜ ์†Œ์…œ ๋ฏธ๋””์–ด์— ํฌ์ŠคํŒ…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นœ๊ตฌ๋“ค์ด ๊ณ„์ • ์†Œ์œ ์ž์ฒ˜๋Ÿผ ํฌ์ŠคํŒ…ํ• ์ง€๋ผ๋„ ๊ทธ๋“ค์ด ๊ฐ€์ง„ ํ‚ค๋กœ ๋ฉ”์‹œ์ง€์— ์„œ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์–ด๋–ค ์นœ๊ตฌ๊ฐ€ ๊ณ„์ •์„ ์‚ฌ์šฉํ–ˆ๊ณ  ๋ฌด์—‡์„ ํ•˜์˜€๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๊ฒ€์‚ฌ (Evaluating Permissions)

@์•จ๋ฆฌ์Šค๊ฐ€ @๋ฐฅ์—๊ฒŒ "์•ก์…˜" ํƒ€์ž…์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค ๊ฐ€์ •ํ•ด๋ด…์‹œ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋จผ์ € @์•จ๋ฆฌ์Šค๊ฐ€ @๋ฐฅ.๊ทธ๋ฃนA.ํ•˜์œ„๊ทธ๋ฃน.์•ก์…˜ ์ฒ˜๋ฆฌ๊ธฐ์— ๋Œ€ํ•œ ๊ถŒํ•œ์„ ๋งคํ•‘ํ•˜์˜€๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋งคํ•‘๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋งคํ•‘์ด ๋ฐœ๊ฒฌ๋  ๋•Œ ๊นŒ์ง€ @๋ฐฅ.๊ทธ๋ฃนA.ํ•˜์œ„๊ทธ๋ฃน, @๋ฐฅ.๊ทธ๋ฃนA, @๋ฐฅ์˜ ์ˆœ์„œ๋กœ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ์— ๋Œ€ํ•œ ๋งคํ•‘์ด ์—†์œผ๋ฉด @์•จ๋ฆฌ์Šค.ํ™œ๋™(active) ๋ช…๋ช…๋œ ๊ถŒํ•œ ๊ทธ๋ฃน ๋งคํ•‘์„ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋งคํ•‘์ด ํ™•์ธ์ด ๋˜๋ฉด ์—ญ์น˜ ๋‹ค์ค‘์„œ๋ช… ์ ˆ์ฐจ์™€ ๋ช…๋ช…๋œ ๊ถŒํ•œ์— ๋Œ€ํ•œ ์ธ์ฆ์„ ํ†ตํ•ด ์„œ๋ช…๋œ ์ธ์ฆ์— ๋Œ€ํ•œ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์‹คํŒจํ•  ๊ฒฝ์šฐ ์ƒ์œ„ ๊ถŒํ•œ์œผ๋กœ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ์ตœ์ข…์ ์œผ๋กœ ์†Œ์œ ์ž ๊ถŒํ•œ์ธ @์•จ๋ฆฌ์Šค.์†Œ์œ ์ž(owner)๊นŒ์ง€ ๊ฒ€์‚ฌ๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ถŒํ•œ ๊ทธ๋ฃน( Default Permission Groups)

The EOS.IO technology also allows all accounts to have an "owner" group which can do everything, and an "active" group which can do everything except change the owner group. ๊ทธ์™ธ ๋‹ค๋ฅธ ๊ถŒํ•œ์€ "ํ™œ๋™(active)"์œผ๋กœ๋ถ€ํ„ฐ ํŒŒ์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ถŒํ•œ ๊ฒ€์‚ฌ์˜ ๋ณ‘๋ ฌํ™” (Parallel Evaluation of Permissions)

๊ถŒํ•œ ๊ฒ€์‚ฌ ์ ˆ์ฐจ๋Š” "์ฝ๊ธฐ ์ž‘์—…๋งŒ" ํ•„์š”๋กœ ํ•˜๋ฉฐ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ธํ•œ ๊ถŒํ•œ์˜ ๋ณ€๊ฒฝ์€ ๋ธ”๋ก์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€๋Š” ์–ด๋– ํ•œ ์˜ํ–ฅ๋„ ๋ฐœํœ˜ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์˜ ๋ชจ๋“  ํ‚ค์™€ ๊ถŒํ•œ ๊ฒ€์‚ฌ๊ฐ€ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ง„ํ–‰๋  ์ˆ˜ ์žˆ์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€, ๋กค๋ฐฑ์„ ๊ณ ๋ คํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์–ด ์ฒ˜๋ฆฌ ๋น„์šฉ์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์ด ์—†๋Š” ์‹ ์†ํ•œ ๊ถŒํ•œ ๊ฒ€์‚ฌ์˜ ๊ฐ€๋Šฅํ•จ๋„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, ์ด๋Š” ๋ณด๋ฅ˜ ์ค‘์ธ ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜์‹ ๋  ๋•Œ ํŠธ๋žœ์žญ์…˜ ๊ถŒํ•œ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์Šน์ธ๋œ ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์‹œ ๊ฒ€์‚ฌํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ „์ฒด์ ์ธ ๊ด€์ ์—์„œ, ๊ถŒํ•œ ๊ฒ€์‚ฌ๋Š” ํŠธ๋žœ์žญ์…˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์—์„œ ๋งŽ์€ ์—ฐ์‚ฐ ๋น„์ค‘์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ถŒํ•œ ๊ฒ€์‚ฌ๋ฅผ ์ฝ๊ธฐ ์—ฐ์‚ฐ๋งŒ์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๋ณ‘๋ ฌํ™”ํ•˜๋ฉด ์ „์ฒด ์„ฑ๋Šฅ์˜ ํฐ ํ–ฅ์ƒ์„ ์–ป๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€ ๋กœ๊ทธ(message log)๋กœ๋ถ€ํ„ฐ ๋ธ”๋ก์ฒด์ธ์˜ ๊ฒฐ์ •๋œ ์ƒํƒœ(deterministic state)๋กœ ์žฌ๊ตฌ์ถ•(replay)ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ถŒํ•œ ๊ฒ€์‚ฌ๋ฅผ ๋‹ค์‹œ ์ˆ˜ํ–‰ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ •์ƒ์ ์ธ ๋ธ”๋ก์— ํŠธ๋žœ์žญ์…˜์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ด ๊ณผ์ •์„ ๋„˜๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์ง„์ ์œผ๋กœ ๊ณผ๋Œ€ํ•ด์ง€๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ์žฌ๊ตฌ์ถ•์— ๋“œ๋Š” ๊ณ„์‚ฐ ๋น„์šฉ์„ ํฐ ํญ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€์˜ ํ•„์ˆ˜ ์ง€์—ฐ ์‹œ๊ฐ„ (Messages with Mandatory Delay)

์‹œ๊ฐ„์€ ๋ณด์•ˆ์˜ ํ•ต์‹ฌ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ, ๊ฐœ์ธ ํ‚ค(private key)๊ฐ€ ๋„๋‚œ๋‹นํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ๋˜๊ธฐ ์ „๊นŒ์ง€ ์•Œ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ์— ๋ณด๊ด€๋˜๋Š” ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ผ์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ์€ ๋”์šฑ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ํŠน์ • ๋ฉ”์‹œ์ง€๊ฐ€ ๋ธ”๋ก์— ํฌํ•จ๋˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  ์ ์šฉ๋˜๊ธฐ ์ด์ „์— ์ง€์ •ํ•œ ์‹œ๊ฐ„ ๋งŒํผ์„ ๊ธฐ๋‹ค๋ฆฌ๋„๋ก ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. During this time they can be cancelled.

์‚ฌ์šฉ์ž๋Š” ์ด๋ฉ”์ผ์ด๋‚˜ ๋‹จ๋ฌธ์œผ๋กœ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „์†ก๋˜์—ˆ์Œ์„ ์•ˆ๋‚ด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋ณธ์ธ์ด ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด, ๊ณ„์ • ๋ณต๊ตฌ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ๊ณ„์ • ๋ณต๊ตฌ์™€ ๋ฉ”์‹œ์ง€ ์ฒ ํšŒ๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์š”๊ตฌ๋˜๋Š” ์ง€์—ฐ ์‹œ๊ฐ„์€ ์ž‘์—…์˜ ์ค‘์š”๋„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ปคํ”ผ ํ•œ์ž”์„ ๊ตฌ๋งคํ•˜๋Š” ๊ฒƒ์€ ์ง€์—ฐ์‹œ๊ฐ„์„ ๊ฐ–์ง€ ์•Š์•„ ๋ช‡ ์ดˆ ๋‚ด๋กœ ์ทจ์†Œ ๋ถˆ๊ฐ€ ์ƒํƒœ๊ฐ€ ๋˜๋ฉฐ, ์ง‘์„ ์‚ฌ๋Š” ๋ฌธ์ œ๋ผ๋ฉด 72์‹œ๊ฐ„์˜ ๊ฑฐ๋ž˜ ์™„๋ฃŒ ์กฐ์ • ๊ธฐ๊ฐ„์„ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๊ณ„์ •์„ ์ƒˆ๋กœ์šด ํ™˜๊ฒฝ์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ 30์ผ์˜ ์œ ์˜ˆ๊ธฐ๊ฐ„์„ ๋‘˜ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์ง€์—ฐ ์‹œ๊ฐ„์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž์™€ ์‚ฌ์šฉ์ž๊ฐ€ ์ •ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ‚ค ๋„๋‚œ ์ƒํƒœ์—์„œ์˜ ๋ณต๊ตฌ (Recovery from Stolen Keys)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์‚ฌ์šฉ์ž์˜ ํ‚ค๊ฐ€ ๋„๋‚œ๋‹นํ•˜์˜€์„ ๋•Œ ๊ณ„์ •์— ๋Œ€ํ•œ ๋ณต๊ตฌ ์ž‘์—…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ • ์†Œ์œ ์ž๋Š” ์ตœ๊ทผ 30์ผ ์ด๋‚ด์— ์‚ฌ์šฉํ•œ ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์ง€์ •๋œ ๊ณ„์ • ๋ณต๊ตฌ ํ˜‘๋ ฅ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๊ณ„์ •์„ ์žฌ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์ • ๋ณต๊ตฌ ํ˜‘๋ ฅ์ž๋Š” ์†Œ์œ ์ž์˜ ํ—ˆ๊ฐ€ ์—†์ด ๊ณ„์ •์— ์ž‘์—…ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ‚ค๋ฅผ ๊ฐ€์ง„ ํ•ด์ปค๋Š” ์ด๋ฏธ ๊ณ„์ •์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ณต๊ตฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ๋„ํ•˜์—ฌ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ๋ณต๊ตฌ ํ”„๋กœ์„ธ์Šค์— ์ง„์ž…ํ•˜์—ฌ๋„ ๋ณต๊ตฌ ํ˜‘๋ ฅ์ž๋Š” ์ถ”๊ฐ€์ ์ธ ์‹ ๋ถ„ ์ฆ๋ช…์ด๋‚˜ 2์ฑ„๋„ ์ธ์ฆ(ํ•ธ๋“œํฐ์ด๋‚˜ ์ด๋ฉ”์ผ)์„ ์š”๊ตฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ํ•ด์ปค์˜ ์ •์ฒด๊ฐ€ ๋…ธ์ถœ๋˜๊ฑฐ๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ์–ป์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์€ ๋‹จ์ˆœํ•œ ๋‹ค์ค‘์„œ๋ช… ํ•ฉ์˜(multi-signature arrangement)์™€ ๋งค์šฐ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋‹ค์ค‘์„œ๋ช… ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์— ๊ด€์—ฌํ•˜๋Š” ๋ณ„๋„์˜ ํšŒ์‚ฌ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ณต๊ตฌ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์ด์šฉํ•˜๋ฉด ๋ณต๊ตฌ ํ˜‘๋ ฅ์ž๋Š” ๋ณต๊ตฌ๊ณผ์ •์—๋งŒ ๊ด€์—ฌํ•˜๋ฉฐ ํŠธ๋žœ์žญ์…˜์— ๊ด€ํ•ด์„œ๋Š” ์–ด๋– ํ•œ ์˜ํ–ฅ๋ ฅ๋„ ํ–‰์‚ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ฐธ์—ฌ์ž๋“ค์— ๋Œ€ํ•œ ๋น„์šฉ๊ณผ ๋ฒ•์  ์ฑ…์ž„์„ ํฐํญ์œผ๋กœ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฐ์ •๋ก ์  ๋ณ‘๋ ฌ ์‹คํ–‰ (Deterministic Parallel Execution of Applications)

๋ธ”๋ก์ฒด์ธ ํ•ฉ์˜(consensus)๋Š” ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๊ฒฐ์ •๋ก ์  ํ–‰์œ„(deterministic behavior)์— ๋‹ฌ๋ ค์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  ๋ณ‘๋ ฌ ์‹คํ–‰์€ ๋ฎคํ…์Šค(mutex)๋‚˜ ๋‹ค๋ฅธ ๊ธฐ์ดˆ ๋ผํ‚น ์—ฐ์‚ฐ(locking primitive) ์—†์ด ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•จ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ๋ฝ(lock)์ด ์—†๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋“  ๊ณ„์ •์ด ๋ณด์œ ํ•œ ํ”„๋ผ์ด๋น— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋งŒ ์ฝ๊ธฐ/์“ฐ๊ธฐ ์—ฐ์‚ฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ๊ฐ์˜ ๊ณ„์ •์•ˆ์˜ ๋ฉ”์‹œ์ง€๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์—ฐ์‚ฐ์˜ ๋ณ‘๋ ฌ์„ฑ์€ ๊ณ„์ • ๋‹จ์œ„์—์„œ ์ˆ˜ํ–‰๋จ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

In an EOS.IO software-based blockchain, it is the job of the block producer to organize message delivery into independent threads so that they can be evaluated in parallel. ๊ฐ๊ฐ์˜ ๊ณ„์ •์˜ ์ƒํƒœ(state)๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋ฉ”์‹œ์ง€์— ๋‹ฌ๋ ค์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก ์ƒ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๋ฌผ๋กœ ์‹คํ–‰ ์Šค์ผ€์ฅด์ด ๋‚˜์˜ค๊ฒŒ ๋˜๋ฉฐ, ์ด๋Š” ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์Šค์ผ€์ฅด์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •๊นŒ์ง€ ๊ฒฐ์ •๋ก ์ ์ผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ํŠธ๋žœ์žญ์…˜์„ ์Šค์ผ€์ฅด๋ง ํ•  ๋•Œ ๋ณ‘๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ƒˆ๋กœ์šด ๋ฉ”์‹œ์ง€๋ฅผ ๋งŒ๋“ค ๋•Œ, ๋ฐ”๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ์‚ฌ์ดํด(cycle)์— ์ „๋‹ฌ๋˜๋„๋ก ์Šค์ผ€์ฅด์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ๋ถ€๋ถ„์  ๋ณ‘๋ ฌ ์‹คํ–‰์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ”๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” ์ˆ˜์‹ ์ž(receiver)๊ฐ€ ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๋กœ ์ธํ•ด ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ†ต์‹  ์ง€์—ฐ ์ตœ์†Œํ™” (Minimizing Communication Latency)

์ง€์—ฐ ์‹œ๊ฐ„์€ ํ•œ ๊ณ„์ •์—์„œ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์  ๋ชฉํ‘œ๋Š” ๋‘ ๊ณ„์ • ์‚ฌ์ด์˜ ๋ฉ”์‹œ์ง€ ๊ตํ™˜์ด ๋‹จ์ผ ๋ธ”๋ก์—์„œ ์ด๋ฃจ์–ด์ง€๋ฉฐ ๋ฉ”์‹œ์ง€ ๊ฐ„ ๊ฐ„๊ฒฉ์ด 3์ดˆ ์ด๋‚ด์— ๋“ค์–ด๊ฐ€๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก์„ ์‚ฌ์ดํด ๋‹จ์œ„๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ๊ฐ ์‚ฌ์ดํด์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค๋ ˆ๋“œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ํŠธ๋žœ์žญ์…˜๋“ค์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ํŠธ๋žœ์žญ์…˜์€ ์ „๋‹ฌํ•˜๋Š” ๋ฉ”์‹œ์ง€์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ํŠธ๋ฆฌ(tree) ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™” ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ ˆ์ด์–ด ๋‹จ์œ„๋กœ ์ˆœ์ฐจ(sequentially) ์ฒ˜๋ฆฌ๋˜๊ฑฐ๋‚˜ ๋ณ‘๋ ฌ(parallel) ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

    ๋ธ”๋ก(Block)

      ์‚ฌ์ดํด(Cycles) (์ˆœ์ฐจ ์ฒ˜๋ฆฌ)

        ์“ฐ๋ ˆ๋“œ(Threads) (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ)

          ํŠธ๋žœ์žญ์…˜(Transactions) (์ˆœ์ฐจ ์ฒ˜๋ฆฌ)

            ๋ฉ”์‹œ์ง€(Messages) (์ˆœ์ฐจ ์ฒ˜๋ฆฌ)

              ์ˆ˜์‹ ์ž ๋ฐ ๊ณ„์ • ์•Œ๋ฆผ(Receiver and Notified Accounts) (๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ)

ํ•˜๋‚˜์˜ ์‚ฌ์ดํด์—์„œ ์ƒ์„ฑ๋œ ํŠธ๋žœ์žญ์…˜๋“ค์€ ์ดํ›„ ์‚ฌ์ดํด ํ˜น์€ ๋ธ”๋ก์—์„œ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ๋ธ”๋ก์— ์ง€์ •๋œ ์‹œ๊ฐ„(3์ดˆ)์ด ์ง€๋‚˜๊ฑฐ๋‚˜ ๋” ์ „๋‹ฌํ•  ํŠธ๋žœ์žญ์…˜์ด ์—†์„ ๋•Œ๊นŒ์ง€ ์‚ฌ์ดํด์„ ๊ณ„์† ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ •์  ๋ถ„์„(static analysis)์œผ๋กœ ํ•œ ๋ธ”๋ก์—์„œ ๋™์ผ ์‚ฌ์ดํด์— ๊ฐ™์€ ๊ณ„์ •์„ ์ˆ˜์ •ํ•˜๋Š” 2๊ฐœ ์ด์ƒ์˜ ์“ฐ๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง„ ํŠธ๋žœ์žญ์…˜์ด ์—†๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—†์œผ๋ฉด, ํ•˜๋‚˜์˜ ๋ธ”๋ก์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์“ฐ๋ ˆ๋“œ๋กœ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ๊ธฐ ์ „์šฉ ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ (Read-Only Message Handlers)

ํŠน์ • ๊ณ„์ •์˜ ๋ฉ”์‹œ์ง€๋Š” ๋‚ด๋ถ€ ์ƒํƒœ์˜ ์ˆ˜์ •์ด ์•„๋‹Œ ํ†ต๊ณผ/์‹คํŒจ(pass/fail) ๊ธฐ๋ฐ˜์œผ๋กœ ์ฒ˜๋ฆฌํ•  ๋•Œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌ๋ฉด ํŠน์ • ์‚ฌ์ดํด์— ํ•˜๋‚˜ ์ด์ƒ์˜ ์“ฐ๋ ˆ๋“œ๊ฐ€ ํฌํ•จ๋  ๊ฒฝ์šฐ ํ•ด๋‹น ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ๊ธฐ๋Š” ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์ค‘ ๊ณ„์ •์˜ ์›์ž์  ํŠธ๋žœ์žญ์…˜ (Atomic Transactions with Multiple Accounts)

์ข…์ข… ๋‹ค์ˆ˜์˜ ๊ณ„์ •์— ๋ฉ”์‹œ์ง€์˜ ์ „๋‹ฌ ๋ฐ ์ ์šฉ์— ๋Œ€ํ•œ ์›์ž์„ฑ(atomicity)์„ ๋ณด์žฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ, ๋‘ ๋ฉ”์‹œ์ง€๋Š” ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์— ์œ„์น˜ํ•˜๊ณ , ๋‘ ๊ณ„์ •์€ ๊ฐ™์€ ์“ฐ๋ ˆ๋“œ์— ํ• ๋‹น๋˜๋ฉฐ, ๋ฉ”์‹œ์ง€๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์‹์€ ์„ฑ๋Šฅ ๋ฉด์—์„œ ์ด์ƒ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋Ÿ‰์— ๋Œ€ํ•œ "์ฒญ๊ตฌ(billing)"๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ํŠธ๋žœ์žญ์…˜์— ์ฐธ๊ณ ๋œ ๊ณ„์ •์˜ ์ˆ˜ ๋งŒํผ ๋น„์šฉ์ด ์ฒญ๊ตฌ๋ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ๊ณผ ๋น„์šฉ ์ธก๋ฉด์—์„œ 2๊ฐœ ์ด์ƒ์˜ ๊ณ„์ •์ด ์ฐธ์—ฌํ•˜๋Š” ์›์ž์  ํŠธ๋žœ์žญ์…˜์„ ์ค„์ด๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ์ƒํƒœ์˜ ๋ถ€๋ถ„ ๊ฒ€์‚ฌ (Partial Evaluation of Blockchain State)

๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ํ™•์žฅ์„ฑ์„ ๋ณด์žฅํ•˜๋ ค๋ฉด ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋ชจ๋“ˆํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•  ๋•Œ ์ „์ฒด๋ฅผ ๋‹ค ๊ตฌ๋™ํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๊ฑฐ๋ž˜์†Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ๋ฐœ์ž๋Š” ๊ฑฐ๋ž˜ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ํ’€ ๋…ธ๋“œ(full node)๋ฅผ ๊ตฌ๋™ํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฑฐ๋ž˜์†Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์†Œ์…œ ๋ฏธ๋””์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—ฐ๋™ํ•˜์—ฌ ๋™์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ’€ ๋…ธ๋“œ๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘ ์ผ๋ถ€๋ฅผ ํ•œ์ • ์ง€์–ด ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌ๋ฐ›์€ ๋ฉ”์‹œ์ง€๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๊ฐ€ ์ „์ด๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฉ”์‹œ์ง€ ์ „์†ก์€ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๋‹ค๋ฅธ ๊ณ„์ •๊ณผ์˜ ํ†ต์‹ ์— ์ค‘์š”ํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ํŠนํžˆ ๋‹ค๋ฅธ ๊ณ„์ •์˜ ์ƒํƒœ๋ฅผ ๋™์ผ ๊ธฐ๊ณ„(machine)๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋‹ค๋ฅธ ๊ณ„์ •๊ณผ์˜ ๋™๊ธฐํ™” ์ฝœ(call)์„ ํ˜ธ์ถœํ•˜๋„๋ก ๋กœํฌ(lock)๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, ๋‹ค๋ฅธ ๊ณ„์ •์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜์ง€ ์•Š์œผ๋ฉด ์ด ๋””์ž์ธ ํŒจํ„ด์€ ์†์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ณ„์ • ๊ฐ„ ์ƒํƒœ ํ†ต์‹ (state communication)์€ ๋ธ”๋ก์ฒด์ธ์˜ ๋ฉ”์‹œ์ง€๋กœ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ๊ด€์  ์ตœ์„  ์Šค์ผ€์ฅด๋ง (Subjective Best Effort Scheduling)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ์–ด๋–ค ๊ณ„์ •์œผ๋กœ ์–ด๋–ป๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ์ง€์— ๋Œ€ํ•˜์—ฌ ๊ฐ•์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ๊ณ„์‚ฐ ๋ณต์žก๋„์™€ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์š”๊ตฌ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์ฃผ๊ด€์ ์ธ ์ธก์ •์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํŠธ๋žœ์žญ์…˜์ด ์‚ฌ์šฉ์ž์— ์˜ํ•ด ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์Šคํฌ๋ฆฝํŠธ์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋  ๋•Œ ๋ชจ๋‘ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

On a launched blockchain adopting the EOS.IO software, at a network level all transactions are billed a fixed computational bandwidth cost regardless of whether it took .01ms or a full 10 ms to execute it. ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ํ•œ ํŠธ๋žœ์žญ์…˜ ํ˜น์€ ๊ณ„์ •์ด ๊ณผ๋„ํ•œ ์–‘์˜ ์—ฐ์‚ฐ ์ž์›์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํŒ๋‹จ์ด ๋˜๋ฉด ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์„ ๋ณธ์ธ์ด ์ƒ์‚ฐํ•˜๋Š” ๋ธ”๋ก์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ด ๊ฒฝ์šฐ์—๋„ ๋‹ค๋ฅธ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ๊ทธ ํŠธ๋žœ์žญ์…˜์ด ์ ํ•ฉํ•˜๋‹ค๊ณ  ํŒ๋‹จํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ํ•œ๋ช… ์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋ผ๋„ ํŠธ๋žœ์žญ์…˜์ด ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ์ œํ•œ์„ ๋„˜์ง€ ์•Š์•„ ์ ํ•ฉํ•˜๋‹ค๊ณ  ๊ฐ„์ฃผํ•˜๋ฉด ๋‹ค๋ฅธ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋„ ์Šน์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์ด ๊ฒฝ์šฐ ํŠธ๋žœ์žญ์…˜์ด ๋ฐ›์•„์ฃผ๋Š” ๋ธ”๋ก ์ƒ์‚ฐ์ž๋ฅผ ์ฐพ๊ธฐ๊นŒ์ง€ 1๋ถ„ ๊ฐ€๊นŒ์šด ์‹œ๊ฐ„์ด ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„ํ˜น ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฒ”์œ„๋ฅผ ๋ช‡ ๋ฐฐ๋‚˜ ๋„˜์–ด๊ฐ€๋Š” ํŠธ๋žœ์žญ์…˜์„ ๋ธ”๋ก์— ํฌํ•จ ์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋‹ค์Œ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ๊ทธ ๋ธ”๋ก์„ ์•„์˜ˆ ๊ฑฐ์ ˆํ•ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์Šน์ธ๊ณผ ๊ฑฐ์ ˆ์ด ๋™๋ฅ ์ธ ์ƒํƒœ๋Š” ๋‹ค์Œ ๋ธ”๋ก ์ƒ์‚ฐ์ž์— ์˜ํ•ด ํŒ๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฑฐ๋Œ€ ๋ธ”๋ก์œผ๋กœ ์ธํ•ด ๋„คํŠธ์›Œํฌ ์ „ํŒŒ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ์ด์ƒ ํŒจํ„ด์„ ํŒŒ์•…ํ•˜๊ณ  ์ด๋Ÿฌํ•œ ๋ถˆ๋Ÿ‰ ์ƒ์‚ฐ์ž์—๊ฒŒ ํ‘œ๋ฅผ ์ฃผ์ง€ ๋ง์•„์•ผ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋ธ”๋ก ์ƒ์‚ฐ์ž์˜ ์ฃผ๊ด€์  ํ‰๊ฐ€๊ฐ€ ์žˆ๊ธฐ์— ๋ธ”๋ก์ฒด์ธ์€ ์ •ํ™•ํ•˜๊ณ  ๋ช…ํ™•ํ•œ ์‹คํ–‰ ์‹œ๊ฐ„ ๊ณ„์‚ฐ์˜ ์ธก์ •์„ ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋””์ž์ธ์€ ์ •ํ™•ํ•œ ๊ณ„์ˆ˜ ๋ช…๋ น(count instruction)์„ ์š”๊ตฌํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด ํ•ฉ์˜๋ฅผ ํ•ด์น˜์ง€ ์•Š๋Š” ์ตœ์ ํ™” ๊ธฐํšŒ๊ฐ€ ์—ด๋ฆฌ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ† ํฐ ๋ชจ๋ธ๊ณผ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ (Token Model and Resource Usage)

PLEASE NOTE: CRYPTOGRAPHIC TOKENS REFERRED TO IN THIS WHITE PAPER REFER TO CRYPTOGRAPHIC TOKENS ON A LAUNCHED BLOCKCHAIN THAT ADOPTS THE EOS.IO SOFTWARE. THEY DO NOT REFER TO THE ERC-20 COMPATIBLE TOKENS BEING DISTRIBUTED ON THE ETHEREUM BLOCKCHAIN IN CONNECTION WITH THE EOS TOKEN DISTRIBUTION.

All blockchains are resource constrained and require a system to prevent abuse. With a blockchain that uses EOS.IO software, there are three broad classes of resources that are consumed by applications:

  1. ๋Œ€์—ญํญ๊ณผ ๋กœ๊ทธ ์ €์žฅ์†Œ (๋””์Šคํฌ)
  2. ์—ฐ์‚ฐ๊ณผ ์—ฐ์‚ฐ ๋กœ๊ทธ (CPU)
  3. ์ƒํƒœ ์ €์žฅ์†Œ (๋žจ)

๋Œ€์—ญํญ๊ณผ ์—ฐ์‚ฐ์€ ์ฆ‰์‹œ ์‚ฌ์šฉ๊ณผ ์žฅ๊ธฐ ์‚ฌ์šฉ์˜ 2๊ฐœ์˜ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก์ฒด์ธ์€ ๋ชจ๋“  ๋ฉ”์‹œ์ง€์˜ ๋กœ๊ทธ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ๋Š” ์ €์žฅ๋˜๋ฉฐ ํ’€ ๋…ธ๋“œ(full node)์— ๋‹ค์šด๋กœ๋“œ ๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€์˜ ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ƒํƒœ๋ฅผ ์žฌ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”์‹œ์ง€ ๋กœ๊ทธ๋กœ๋ถ€ํ„ฐ ์ƒํƒœ๋ฅผ ์žฌ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ณ„์‚ฐ์„ ์—ฐ์‚ฐ ๋ถ€์ฑ„(compudational debt)๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์—ฐ์‚ฐ ๋ถ€์ฑ„๊ฐ€ ๊ณผ๋‹คํ•˜๊ฒŒ ์ฆ๊ฐ€ํ•˜๋ฉด ๋ธ”๋ก์ฒด์ธ์˜ ์ƒํƒœ์˜ ์Šค๋ƒ…์ƒท(snapshot)์„ ์ €์žฅํ•˜๊ณ , ๊ณผ๊ฑฐ ์ด๋ ฅ์„ ์ œ๊ฑฐํ•  ํ•„์š”์„ฑ์ด ์ƒ๊น๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์—ฐ์‚ฐ ๋ถ€์ฑ„๊ฐ€ ๋„ˆ๋ฌด ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๋ฉด ๋•Œ๋ก  1๋…„์˜ ํŠธ๋žœ์žญ์…˜์„ ์žฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด 6๊ฐœ์›”์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ์น˜๋ช…์ ์ด๋ฏ€๋กœ ์—ฐ์‚ฐ ๋ถ€์ฑ„๋Š” ์ฃผ์˜ ๊นŠ๊ฒŒ ๊ด€๋ฆฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก์ฒด์ธ ์ƒํƒœ ์ €์žฅ์†Œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ณ„์ • ์ž”์•ก๊ณผ ๊ฑฐ๋ž˜ ๋‚ด์šฉ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํŠน์ • ์ƒํƒœ๋ฅผ ์ฝ๋Š” ์ผ์ด ์—†๋‹ค๋ฉด ๊ตณ์ด ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ธ”๋กœ๊ทธ ์ž‘์„ฑ ๊ธ€์˜ ๋‚ด์šฉ๊ณผ ๋Œ“๊ธ€ ๋‚ด์šฉ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ์ง์— ์˜ํ•ด ์ฝํžˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๊ธ€/๋Œ“๊ธ€์˜ ์กด์žฌ ์—ฌ๋ถ€์™€ ํˆฌํ‘œ ํšŸ์ˆ˜ ๋“ฑ์˜ ์†์„ฑ๊ฐ’์€ ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ์— ๊ธฐ๋ก๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ๊ทธ๋“ค์ด ๊ฐ€์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€์—ญํญ, ์—ฐ์‚ฐ ๋Šฅ๋ ฅ, ์ƒํƒœ ํ—ˆ์šฉ๋Ÿ‰์„ ์•Œ๋ ค์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ฐ๊ฐ์˜ ๊ณ„์ •์ด 3์ผ๊ฐ„ ๋ˆ„์ ํ•œ ๊ณ„์•ฝ์˜ ํ† ํฐ ์–‘์— ๋น„๋ก€ํ•˜์—ฌ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ฒŒ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, EOS.IO ๊ธฐ๋ฐ˜์˜ ๋ธ”๋ก์ฒด์ธ์ด ์ถœ์‹œํ•œ ํ›„ ํ•œ ๊ณ„์ •์ด ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ „์ฒด ํ† ํฐ์˜ 1%๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ํ•ด๋‹น ๊ณ„์ •์€ ์ „์ฒด ์ƒํƒœ ์ €์žฅ์†Œ์˜ 1%๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Adopting the EOS.IO software on a launched blockchain means bandwidth and computational capacity are allocated on a fractional reserve basis because they are transient (unused capacity cannot be saved for future use). The algorithm used by EOS.IO software is similar to the algorithm used by Steem to rate-limit bandwidth usage.

๊ฐ๊ด€์  ์ธก์ •๊ณผ ์ฃผ๊ด€์  ์ธก์ • (Objective and Subjective Measurements)

์—ฐ์‚ฐ ์‚ฌ์šฉ๋Ÿ‰์˜ ๊ณ„์ธก์€ ์„ฑ๋Šฅ๊ณผ ์ตœ์ ํ™”์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ชจ๋“  ๋ฆฌ์Šค์Šค ์‚ฌ์šฉ ์ œํ•œ์€ ๊ถ๊ทน์ ์œผ๋กœ ๋ธ”๋ก ์ƒ์‚ฐ์ž์˜ ๊ฐœ๋ณ„์ ์ธ ์ธก์ • ๋ฐฉ์‹๊ณผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•˜์—ฌ ์ฃผ๊ด€์ ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ๊ด€์ ์œผ๋กœ ์ธก์ • ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋“ค๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ ์ˆ˜์™€ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์€ ๊ฐ๊ด€์ ์œผ๋กœ ์ธก์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ๊ฐ๊ด€์  ์ธก์ •์„ ์œ„ํ•œ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ฃผ๊ด€์  ์ธก์ • ๋ฐฉ์‹์„ ์œ„ํ•œ ์ฃผ๊ด€์  ์•Œ๊ณ ๋ฆฌ์ฆ˜๋งŒ ์ ์šฉํ•˜๊ฒŒ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜์ทจ์ธ ๋ถ€๋‹ด (Receiver Pays)

์ „ํ†ต์ ์œผ๋กœ, ์‚ฌ์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์˜คํ”ผ์Šค ๊ณต๊ฐ„, ์—ฐ์‚ฐ ๋Šฅ๋ ฅ, ๊ทธ ์™ธ์˜ ์š”์†Œ๋“ค์„ ๊ตฌ๋งคํ•ด์•ผ ํ•˜๋ฉฐ ์—ฌ๊ธฐ์—์„œ ๋น„์šฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ํŠน์ • ๋ฌผํ’ˆ์„ ๊ตฌ๋งคํ•  ๋•Œ, ๋ฒŒ์–ด๋“ค์ธ ์ด์ต ์ผ๋ถ€๋Š” ์ด๋Ÿฌํ•œ ์‚ฌ์—… ๋น„์šฉ์„ ๊ฒฐ์žฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ์ง์ ‘ ์‚ฌ์—… ๋น„์šฉ์„ ๋‚ด์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋น„์Šทํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด, ์–ด๋– ํ•œ ์›น์‚ฌ์ดํŠธ๋„ ๊ณ ๊ฐ์ด ์†Œ์•ก๊ฒฐ์ œ๋ฅผ ํ•  ๋•Œ ํ˜ธ์ŠคํŒ… ๋น„์šฉ์„ ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์—ญ์‹œ ๊ณ ๊ฐ์œผ๋กœ ํ•˜์—ฌ๊ธˆ ๋ธ”๋ก์ฒด์ธ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ธ”๋ก์ฒด์ธ ์‚ฌ์šฉ๋ฃŒ๋ฅผ ์š”๊ตฌํ•˜์—ฌ์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.

A launched blockchain that uses the EOS.IO software does not require its users to pay the blockchain directly for its use and therefore does not constrain or prevent a business from determining its own monetization strategy for its products.

๋ฆฌ์†Œ์Šค ํ—ˆ์šฉ๋Ÿ‰ ์œ„์ž„ (Delegating Capacity)

A holder of tokens on a blockchain launched adopting the EOS.IO software who may not have an immediate need to consume all or part of the available bandwidth, can give or rent such unconsumed bandwidth to others; the block producers running EOS.IO software on such blockchain will recognize this delegation of capacity and allocate bandwidth accordingly.

ํ† ํฐ์˜ ๊ฐ€์น˜์™€ ํŠธ๋žœ์žญ์…˜ ๋น„์šฉ์˜ ๋ถ„๋ฆฌ (Separating Transaction costs from Token Value)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด์˜ ํฐ ์žฅ์  ์ค‘ ํ•˜๋‚˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•„์š”ํ•œ ๋Œ€์—ญํญ์€ ์–ด๋– ํ•œ ํ† ํฐ ๊ฐ€๊ฒฉ๊ณผ๋„ ๋…๋ฆฝ์ ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. If an application owner holds a relevant number of tokens on a blockchain adopting EOS.IO software, then the application can run indefinitely within a fixed state and bandwidth usage. In such case, developers and users are unaffected from any price volatility in the token market and therefore not reliant on a price feed. In other words, a blockchain that adopts the EOS.IO software enables block producers to naturally increase bandwidth, computation, and storage available per token independent of the token's value.

A blockchain using EOS.IO software also awards block producers tokens every time they produce a block. ํ† ํฐ์˜ ๊ฐ€์น˜๋Š” ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์—ญํญ, ์ €์žฅ์†Œ, ์—ฐ์‚ฐ์žฅ์น˜์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋ธ์€ ํ† ํฐ ๊ฐ€์น˜์˜ ์ƒ์Šน์„ ์ด์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ƒํƒœ ์ €์žฅ ๋น„์šฉ (State Storage Costs)

๋Œ€์—ญํญ๊ณผ ์—ฐ์‚ฐ ๋Šฅ๋ ฅ์€ ์œ„์ž„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๊ฐ€ ์ œ๊ฑฐ๋˜๊ธฐ ์ „๊นŒ์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ ์ €์žฅ์†Œ ์œ ์ง€๋ฅผ ์œ„ํ•œ ํ† ํฐ์„ ๋ณด์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ์ƒํƒœ๊ฐ€ ์˜์›ํžˆ ์œ ์ง€๋œ๋‹ค๋ฉด, ํ•ด๋‹น ํ† ํฐ์€ ์ˆœํ™˜๊ณผ์ •์„ ํ†ตํ•ด ํšจ๊ณผ์ ์œผ๋กœ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ์‚ฌ์šฉ์ž ๊ณ„์ •์€ ์–ด๋Š ์ •๋„์˜ ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ชจ๋“  ๊ณ„์ •์€ ์ตœ์†Œํ•œ์˜ ์ž”์•ก์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ์˜ ์ €์žฅ ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋˜๋ฉด ์ตœ์†Œ ์ž”์•ก์€ ์ค„์–ด๋“ค ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ธ”๋ก ๋ณด์ƒ (Block Rewards)

A blockchain that adopts the EOS.IO software will award new tokens to a block producer every time a block is produced. In these circumstances, the number of tokens created is determined by the median of the desired pay published by all block producers. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ƒ์‚ฐ์ž ๋ณด์ƒ์˜ ์ด๋Ÿ‰์ด ์—ฐ ํ† ํฐ ์ฆ๊ฐ€๋ถ„์˜ 5%๋ฅผ ๋„˜์ง€ ๋ชปํ•˜๋„๋ก ์ œํ•œ์„ ๊ฑธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ ํ˜œํƒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (Community Benefit Applications)

In addition to electing block producers, pursuant to a blockchain based on the EOS.IO software, users can elect 3 community benefit applications also known as smart contracts. ์ปค๋ฎค๋‹ˆํ‹ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์„ค์ •๋œ ์—ฐ๊ฐ„ ํ† ํฐ ๊ณต๊ธ‰๋Ÿ‰์—์„œ ๋ธ”๋ก ์ƒ์‚ฐ์ž์—๊ฒŒ ์ง€๊ธ‰ํ•œ ์–‘์„ ์ œ์™ธํ•œ ํ† ํฐ์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด ์Šค๋งˆํŠธ ์ปจํŠธ๋ ‰ํŠธ๋“ค์ด ๋ฐ›๋Š” ํ† ํฐ์˜ ์–‘์€ ๊ฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ† ํฐ ์†Œ์œ ์ž๋“ค๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ ํˆฌํ‘œ ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค. ์„ ์ •๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜น์€ ์Šค๋งˆํŠธ ์ปจํŠธ๋ ‰ํŠธ๋Š” ํ† ํฐ ์†Œ์œ ์ž๋“ค์˜ ํˆฌํ‘œ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฑฐ๋ฒ„๋„Œ์Šค (Governance)

๊ฑฐ๋ฒ„๋„Œ์Šค๋Š” ์‚ฌ๋žŒ๋“ค์ด ์†Œํ”„ํŠธ์›จ์–ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ฒฐ์ •ํ•  ์ˆ˜ ์—†๋Š” ์ฃผ๊ด€์  ๋ฌธ์ œ์— ๋Œ€ํ•˜์—ฌ ํ•ฉ์˜๋ฅผ ์ด๋ฃจ๋Š” ๊ณผ์ •์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. An EOS.IO software-based blockchain implements a governance process that efficiently directs the existing influence of block producers. ์ •์˜๋œ ๊ฐ€๋ฒ„๋„Œ์Šค ๊ณผ์ •์˜ ๋ถ€์žฌ๋กœ ์ธํ•ด ์ด์ „์˜ ๋ธ”๋ก์ฒด์ธ๋“ค์€ ์ฆ‰ํฅ์ ์ด๊ณ , ๋น„๊ณต์‹์ ์ด๊ณ , ๋•Œ๋กœ๋Š” ๋…ผ๋ž€์„ ์ผ์œผํ‚ค๋Š” ๊ฑฐ๋ฒ„๋„Œ์Šค ๊ณผ์ •์„ ๊ฒช์—ˆ๊ณ  ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

A blockchain based on the EOS.IO software recognizes that power originates with the token holders who delegate that power to the block producers. ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ๊ฐ€์ง€๋Š” ๊ถŒํ•œ์€, ๊ณ„์ •์„ ๋™๊ฒฐํ•˜๊ณ , ๊ฒฐํ•จ์ด ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํŒ์˜ฌ๋ฆผํ•˜๋ฉฐ, ๊ธฐ๋ณธ ํ”„๋กœํ† ์ฝœ์˜ ๋ณ€๊ฒฝ์„ ๊ฐ€ํ•˜๋Š” ํ•˜๋“œํฌํฌ๋ฅผ ์ œ์•ˆํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ•œ์ •ํ•ฉ๋‹ˆ๋‹ค.

Embedded into the EOS.IO software is the election of block producers. ๋ธ”๋ก์ฒด์ธ์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ๋ธ”๋ก ์ƒ์‚ฐ์ž์— ์˜ํ•ด ๊ฒ€์ˆ˜๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ์— ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ํ† ํฐ ์†Œ์œ ์ž์— ๋ฐ˜ํ•˜๋Š” ๊ฒฐ์ •์„ ๋‚ด๋ฆฐ๋‹ค๋ฉด ํˆฌํ‘œ์— ์˜ํ•ด ์ง€์œ„๋ฅผ ์ƒ์‹คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธ”๋ก ์ƒ์‚ฐ์ž๊ฐ€ ํ† ํฐ ์†Œ์œ ์ž์˜ ํ—ˆ๊ฐ€ ์—†์ด ๋ณ€๊ฒฝ์„ ๊ฐ€ํ•œ๋‹ค๋ฉด ๋ชจ๋“  ๋น„์ƒ์‚ฐ ํ’€ ๋…ธ๋“œ ๊ฒ€์‚ฌ์ž(non-producing full-node validators)(๊ฑฐ๋ž˜์†Œ ๋“ฑ)๋“ค์€ ๋ณ€๊ฒฝ์„ ๊ฑฐ๋ถ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ณ„์ • ๋™๊ฒฐ (Freezing Accounts)

๊ฐ€๋” ์Šค๋งˆํŠธ ์ปจํŠธ๋ ‰ํŠธ๋Š” ๋น„์ •์ƒ์ ์ด๊ฑฐ๋‚˜ ์˜ˆ์ธกํ•˜์ง€ ๋ชปํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜์—ฌ ์˜๋„ํ–ˆ๋˜ ๊ธฐ๋Šฅ์ด ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์™ธ์—๋„ ๋น„์ •์ƒ์ ์ธ ์–‘์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•˜๋Š” ๊ฒƒ์„ ์ธ์ง€ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ๊ณ„์ •์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์ด ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๋ฐ”๋กœ ์žก์„ ๋ฐฉ๋ฒ•์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ธ”๋ก์ฒด์ธ์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ ๋ธ”๋ก์— ํฌํ•จ๋˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ์„ ํƒํ•˜๋Š” ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ„์ •์„ ๋™๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. A blockchain using EOS.IO software formalizes this authority by subjecting the process of freezing an account to a 17/21 vote of active producers. ๋งŒ์•ฝ์— ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์ด ์ด ๊ธฐ๋Šฅ์„ ์•…์šฉํ•œ๋‹ค๋ฉด ํˆฌํ‘œ์— ์˜ํ•ด ์ง€์œ„๋ฅผ ์ƒ์‹คํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ๊ฒฝ์šฐ ๋™๊ฒฐ๋œ ๊ณ„์ •์€ ๋ณต์›๋ฉ๋‹ˆ๋‹ค.

๊ณ„์ • ์ฝ”๋“œ ๋ณ€๊ฒฝ (Changing Account Code)

When all else fails and an "unstoppable application" acts in an unpredictable manner, a blockchain using EOS.IO software allows the block producers to replace the account's code without hard forking the entire blockchain. ๊ณ„์ • ๋™๊ฒฐ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ฝ”๋“œ์˜ ๊ต์ฒด ์ž‘์—…์€ ์„ ์ถœ๋œ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค ๊ฐ„์˜ 17/21 ํˆฌํ‘œ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์•ฝ๊ด€ (Constitution)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ P2P ์„œ๋น„์Šค ์•ฝ์ •์„ ์ฒด๊ฒฐํ•˜๊ฑฐ๋‚˜, ์„œ๋ช… ํ•œ ์‚ฌ์šฉ์ž ๊ฐ„์˜ ๊ตฌ์†๋ ฅ ์žˆ๋Š” ๊ณ„์•ฝ์ธ "์•ฝ๊ด€"์„ ์ˆ˜๋ฆฝํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์•ฝ๊ด€์œผ๋กœ ์ฝ”๋“œ๋กœ ์ œ์•ฝ์„ ๊ฐ€ํ•˜๊ธฐ ์–ด๋ ค์šด ์‚ฌ์šฉ์ž ๊ฐ„์˜ ์˜๋ฌด๋ฅผ ๊ทœ์ •ํ•˜๋ฉฐ, ์ƒํ˜ธ ๊ฐ„์˜ ๊ด€ํ• ๊ถŒ์„ ํ™•๋ฆฝํ•˜๊ณ  ๋ฒ•๋ฅ ์„ ์ œ์ •ํ•จ์œผ๋กœ ๋ถ„์Ÿ ํ•ด๊ฒฐ์„ ์‰ฝ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋กœ ์ „ํŒŒ๋˜๋Š” ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์€ ์•ฝ๊ด€์˜ ํ•ด์‹œ(hash)๋ฅผ ์„œ๋ช…์— ํฌํ•จํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ์„œ๋ช…์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ๊ณ„์•ฝ์— ๊ตฌ์†๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

์•ฝ๊ด€์€ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ์†Œ์Šค์ฝ”๋“œ ํ”„๋กœํ† ์ฝœ์˜ ์˜๋„๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์„ ๋•Œ ๋ฒ„๊ทธ์™€ ๊ธฐ๋Šฅ์˜ ์ฐจ์ด๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ˆ˜์ •์‚ฌํ•ญ์ด ์ ํ•ฉํ•œ์ง€ ์•„๋‹Œ์ง€ ํŒ๋‹จํ•˜๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ๊ณผ ์•ฝ๊ด€์˜ ๊ฐœ์ • (Upgrading the Protocol & Constitution)

The EOS.IO software defines a process by which the protocol as defined by the canonical source code and its constitution, can be updated using the following process:

  1. ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ ์•ฝ๊ด€์˜ ๊ฐœ์ •์„ ์ œ์•ˆํ•˜๊ณ  17/21 ์Šน์ธ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  2. ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ 17/21 ์Šน์ธ์„ 30์ผ๊ฐ„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ชจ๋“  ์‚ฌ์šฉ์ž๋Š” ์ƒˆ ์•ฝ๊ด€์˜ ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฑฐ๋ž˜์— ์„œ๋ช…ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ ์•ฝ๊ด€์˜ ๋ณ€ํ™”๋ฅผ ๋ฐ˜์˜ํ•˜๋„๋ก ์†Œ์Šค ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์„ ์ฑ„ํƒํ•˜๋ฉฐ, git ์ปค๋ฐ‹์˜ ํ•ด์‹œ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ์— ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
  5. ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ 17/21 ์Šน์ธ์„ 30์ผ๊ฐ„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  6. ์ฝ”๋“œ ๋ณ€๊ฒฝ์€ 7์ผ๊ฐ„์˜ ์†Œ์Šค์ฝ”๋“œ ์ ์šฉ ์œ ์˜ˆ๊ธฐ๊ฐ„์„ ์ฃผ๋ฉฐ, 7์ผ์ด ์ง€๋‚œ ์ดํ›„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
  7. ์ƒˆ ์ฝ”๋“œ๋กœ ํŒ์˜ฌ๋ฆผํ•˜์ง€ ์•Š์€ ๋…ธ๋“œ๋Š” ๊ฐ•์ œ๋กœ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ธฐ๋ณธ ์„ค์ •์— ๋”ฐ๋ฅด๋ฉด, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ์˜ ํŒ์˜ฌ๋ฆผ ์ž‘์—…์€ 23๋‹ฌ์ด ๊ฑธ๋ฆฌ๋ฉฐ, ์•ฝ๊ด€์˜ ๊ฐœ์ •์ด ํ•„์š” ์—†๋Š” ์น˜๋ช…์ ์ด์ง€ ์•Š์€ ๋ฒ„๊ทธ์˜ ์ˆ˜์ •์€ 12๋‹ฌ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

์‘๊ธ‰ ๋ณ€๊ฒฝ (Emergency Changes)

์น˜๋ช…์ ์ธ ๋ฒ„๊ทธ๋‚˜ ๊ณต๊ฒฉ์ž๋กœ ์ธํ•œ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ํŒ์˜ฌ๋ฆผ ๊ณผ์ •์„ ๋น ๋ฅด๊ฒŒ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•˜๊ฑฐ๋‚˜ ์น˜๋ช…์ ์ด์ง€ ์•Š์€ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ํŒ์˜ฌ๋ฆผ์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๊ฒƒ์€ ์•ฝ๊ด€์— ์–ด๊ธ‹๋‚ฉ๋‹ˆ๋‹ค.

์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ€์ƒ ๋จธ์‹  (Scripts & Virtual Machines)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ธ์ฆ๋œ ๋ฉ”์‹œ์ง€๋ฅผ ๊ณ„์ •์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์„ ์กฐ์ •ํ•˜๋Š” ์ตœ์ดˆ์ด์ž ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์™€ ๊ฐ€์ƒ ๋จธ์‹ (virtual machine)์˜ ์„ธ๋ถ€ ๋‚ด์šฉ์€ EOS.IO์˜ ๊ธฐ์ˆ  ์„ค๊ณ„์™€ ๋…๋ฆฝ์ ์ธ ์„ธ๋ถ€ ๊ตฌํ˜„ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. EOS.IO ์†Œํ”„ํŠธ์›จ์–ด API๋ฅผ ์ด์šฉํ•˜์—ฌ ์–ด๋– ํ•œ ์–ธ์–ด๋‚˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๋Š” ์ƒŒ๋“œ๋ฐ•์Šค ์ฒ˜๋ฆฌ๋˜๋ฉฐ ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์„ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ ์ •์˜ ๋ฉ”์‹œ์ง€ (Schema Defined Messages)

๊ณ„์ • ๊ฐ„์˜ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋Š” ๋ธ”๋ก์ฒด์ธ ํ•ฉ์˜ ์ƒํƒœ์˜ ์ผ๋ถ€์ธ ์Šคํ‚ค๋งˆ(schema)์— ๋”ฐ๋ผ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์ด ์Šคํ‚ค๋งˆ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ JSON ํ˜•์‹์˜ ๋ฉ”์‹œ์ง€์˜ ๊ฒฝ๊ณ„ ์—†๋Š”(seamless) ๋Œ€ํ™”๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ ์ •์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (Schema Defined Database)

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋Š” ์œ ์‚ฌํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ •์˜๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ €์žฅ๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋Š” ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” JSON์œผ๋กœ ์ฒ˜๋ฆฌ๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํšจ์œจ์ ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•ํƒœ๋กœ ์ €์žฅ ๊ด€๋ฆฌ๋จ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ธ์ฆ ๋ถ„๋ฆฌ (Separating Authentication from Application)

To maximize parallelization opportunities and minimize the computational debt associated with regenerating application state from the transaction log, EOS.IO software separates validation logic into three sections:

  1. ๋ฉ”์‹œ์ง€์˜ ๋‚ด์  ์ผ๊ด€์„ฑ(internal consistency) ๊ฒ€์ฆ
  2. ๋ชจ๋“  ์ „์ œ ์กฐ๊ฑด์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ
  3. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์˜ ๋ณ€๊ฒฝ

๋ฉ”์‹œ์ง€์˜ ๋‚ด์  ์ผ๊ด€์„ฑ ๊ฒ€์ฆ์€ ์ฝ๊ธฐ ์—ฐ์‚ฐ์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋ธ”๋ก์ฒด์ธ ์ƒํƒœ์— ๋Œ€ํ•œ ํ™•์ธ์„ ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ตœ๋Œ€ํ•œ์˜ ๋ณ‘๋ ฌ์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ๋ถˆ ์ž”์•ก ํ™•์ธ๊ณผ ๊ฐ™์€ ์ „์ œ ์กฐ๊ฑด์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ ์—ญ์‹œ ์ฝ๊ธฐ ์—ฐ์‚ฐ๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์˜ ์ด์ ์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์˜ค์ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ ๋ณ€๊ฒฝ๋งŒ ์“ฐ๊ธฐ ์—ฐ์‚ฐ์„ ํ•ด์•ผ ํ•˜๋ฉฐ, ๊ฐ๊ฐ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งˆ๋‹ค ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ(authentication)์€ ๋ฉ”์‹œ์ง€์˜ ์ ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ์ฝ๊ธฐ ์—ฐ์‚ฐ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‹ค์ œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐ€์ง€ ๊ณ„์‚ฐ์€ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ˆ˜ํ–‰๋˜์–ด์•ผ ํ•˜์ง€๋งŒ ํŠธ๋žœ์žญ์…˜์ด ๋ธ”๋ก์ฒด์ธ์— ํฌํ•จ๋˜์—ˆ๋‹ค๋ฉด ๋” ์ด์ƒ ์ธ์ฆ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ ๋จธ์‹  ๋…๋ฆฝ ์•„ํ‚คํ…์ฒ˜ (Virtual Machine Independent Architecture)

It is the intention of the EOS.IO software-based blockchain that multiple virtual machines can be supported and new virtual machines added over time as necessary. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ณธ ๋ฐฑ์„œ์—์„œ๋Š” ํŠน์ • ์–ธ์–ด๋‚˜ ๊ฐ€์ƒ๋จธ์‹ ์— ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์— ๊ด€ํ•˜์—ฌ ๊ธฐ์ˆ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. That said, there are two virtual machines that are currently being evaluated for use with an EOS.IO software-based blockchain.

์›น์–ด์…ˆ๋ธ”๋ฆฌ (WASM; Web Assembly)

์›น์–ด์…ˆ๋ธ”๋ฆฌ๋Š” ๊ณ ์„ฑ๋Šฅ์˜ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ์ž‘ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ƒˆ๋กœ์ด ๋“ฑ์žฅํ•œ ์›น ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. ์›น์–ด์…ˆ๋ธ”๋ฆฌ์„ ์ผ๋ถ€ ์ˆ˜์ •ํ•˜์—ฌ ๊ฒฐ์ •๋ก ์ ์ด๋ฉฐ ์ƒŒ๋“œ๋ฐ•์Šค์ธ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น์–ด์…ˆ๋ธ”๋ฆฌ์˜ ์žฅ์ ์€ ์‚ฐ์—… ํ˜„์žฅ์—์„œ ํญ๋„“๊ฒŒ ์ˆ˜์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์นœ์ˆ™ํ•œ ์–ธ์–ด์ธ C๋‚˜ C++๋กœ ์ปจํŠธ๋ ‰ํŠธ๋ฅผ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋”๋ฆฌ์›€ ๊ฐœ๋ฐœ์ž๋“ค์€ Ethereum flavored Web Assembly (EWASM) ์œผ๋กœ ์›น์–ด์…ˆ๋ธ”๋ฆฌ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ƒŒ๋“œ๋ฐ•์‹ฑํ•˜๊ณ  ๊ฒฐ์ •๋ก ์ ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์— ์ฐฉ์ˆ˜ํ•˜์˜€์Šต๋‹ˆ๋‹ค. EWASM์€ EOS.IO ์†Œํ”„ํŠธ์›จ์–ด์— ์‰ฝ๊ฒŒ ์ ์šฉํ•˜๊ณ  ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋”๋ฆฌ์›€ ๊ฐ€์ƒ ๋จธ์‹  (EVM; Ethereum Virtual Machine)

์ด ๊ฐ€์ƒ๋จธ์‹ ์€ ํ˜„์กดํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์Šค๋งˆํŠธ ์ปจํŠธ๋ ‰ํŠธ๋ฅผ ๊ตฌ๋™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ทธ๋“ค์˜ ์ž‘์—…๋ฌผ์„ EOS.IO ๋ธ”๋ก์ฒด์ธ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. It is conceivable that EVM contracts could be run within their own sandbox inside an EOS.IO software-based blockchain and that with some adaptation EVM contracts could communicate with other EOS.IO software blockchain applications.

๋ธ”๋ก์ฒด์ธ ๊ฐ„ ํ†ต์‹  (Inter Blockchain Communication)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ธ”๋ก์ฒด์ธ ๊ฐ„ ํ†ต์‹ ์ด ์‰ฝ๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”์‹œ์ง€ ์กด์žฌ ์ฆ๋ช…๊ณผ ๋ฉ”์‹œ์ง€ ์ˆœ์„œ ์ฆ๋ช…์˜ ์ƒ์„ฑ์„ ์†์‰ฝ๊ฒŒ ํ•จ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฆ๋ช…๋“ค์€ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์„ ๊ฐ์‹ธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์•„ํ‚คํ…์ฒ˜์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ธ”๋ก์ฒด์ธ๊ฐ„ ํ†ต์‹ ๊ณผ ์ฆ๋ช… ๊ฒ€์ฆ ๊ณผ์ •์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ์€๋‹‰๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๋Ÿ‰ํ™”๋œ ํด๋ผ์ด์–ธํŠธ ๊ฒ€์ฆ(LCV)์„ ์œ„ํ•œ ๋จธํด ์ฆ๋ช… (Merkle Proofs for Light Client Validation)

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•  ํ•„์š”๊ฐ€ ์—†์„ ๋•Œ ๋ธ”๋ก์ฒด์ธ๋“ค์„ ๊ฒฐํ•ฉํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์‚ฌ์‹ค, ๋ชจ๋“  ๊ฑฐ๋ž˜์†Œ๋Š” ์ „์ฒด ๋ธ”๋ก์ฒด์ธ ์ค‘ ๊ฑฐ๋ž˜์†Œ์˜ ์ž…/์ถœ๊ธˆ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ด€๋ฆฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ตํ™˜ ์ฒด์ธ(exchange chain)์˜ ์ž…๊ธˆ ์ด๋ ฅ์— ๋Œ€ํ•œ ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋จธํด ์ฆ๋ช…์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ธ”๋ก ์ƒ์‚ฐ์ž ์ „์ฒด์— ๋Œ€ํ•œ ์‹ ๋ขฐ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์ ์–ด๋„ ํ•ด๋‹น ์ฒด์ธ์˜ ๋ธ”๋ก ์ƒ์‚ฐ์ž๋“ค์€ ๋‹ค๋ฅธ ๋ธ”๋ก์ฒด์ธ๊ณผ ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ์ตœ์†Œํ•œ์˜ ์—ฐ์‚ฐ ๋ถ€๋‹ด์„ ๋ฐ›๊ธธ ์›ํ•ฉ๋‹ˆ๋‹ค.

LCV(๊ฒฝ๋Ÿ‰ํ™”๋œ ํด๋ผ์ด์–ธํŠธ ๊ฒ€์ฆ)์˜ ๋ชฉํ‘œ๋Š” ์ƒ๋Œ€์  ๊ฒฝ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ๋ณด๊ณ  ์žˆ๋Š” ๋ˆ„๊ตฌ๋“ ์ง€ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ๋Œ€์  ๊ฒฝ๋Ÿ‰ ์ฆ๋ช…์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํŠน์ • ํŠธ๋žœ์žญ์…˜์ด ์–ด๋–ค ๋ธ”๋ก์— ํฌํ•จ๋˜์–ด ์žˆ๊ณ , ๊ทธ ๋ธ”๋ก์ด ๋ธ”๋ก์ฒด์ธ์˜ ์ธ์ฆ ์ด๋ ฅ(verified history)์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

๋น„ํŠธ์ฝ”์ธ์€ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋ธ”๋ก ํ—ค๋”์— ๊ธฐ๋ก๋œ 4MB ๊ฐ€๋Ÿ‰์˜ ๋ชจ๋“  ๊ธฐ๋ก์„ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€์ •ํ•˜๊ณ  ํŠธ๋žœ์žญ์…˜์˜ ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋‹น 10๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ, ์œ ํšจํ•œ ์ฆ๋ช…(valid proof)์€ 512 ๋ฐ”์ดํŠธ๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. 10๋ถ„์˜ ๋ธ”๋ก ๊ฐ„๊ฒฉ์„ ๊ฐ€์ง€๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ ์ด ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, 3์ดˆ์˜ ๋ธ”๋ก ๊ฐ„๊ฒฉ์„ ๊ฐ€์ง€๋Š” ๋ธ”๋ก์ฒด์ธ์—๋Š” "๊ฒฝ๋Ÿ‰"์ด ์•„๋‹™๋‹ˆ๋‹ค.

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋ฐ”๋€Œ์ง€ ์•Š๋Š”(irreversible) ๋ธ”๋ก ํ—ค๋”์— ํฌํ•จ๋œ ์ดํ›„, ํ•ด๋‹น ๋ธ”๋ก ํ—ค๋”๋ฅผ ๊ฐ€์ง„ ๋ˆ„๊ตฌ๋‚˜ ๊ฒฝ๋Ÿ‰ ์ฆ๋ช…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์— ๋ณด์ด๋Š” ํ•ด์‰ฌ ์—ฐ๊ฒฐ ๊ตฌ์กฐ(hash-linked structure)๋ฅผ ์ด์šฉํ•˜์—ฌ 1,024๋ฐ”์ดํŠธ ์ดํ•˜์˜ ์ฆ๋ช…(proof)์„ ๊ฐ€์ง€๋Š” ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•œ ์กด์žฌ ์ฆ๋ช…(existance prove)์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋…ธ๋“œ๊ฐ€ ์ง€๋‚œ ํ•˜๋ฃจ ๊ฐ„(2MB์˜ ๋ฐ์ดํ„ฐ)์˜ ๋ชจ๋“  ๋ธ”๋ก ํ—ค๋”๋ฅผ ์œ ์ง€ํ•œ๋‹ค ๊ฐ€์ •ํ•˜๋ฉด, ํŠธ๋žœ์žญ์…˜์˜ ๊ฒ€์ฆ์„ ์œ„ํ•ด์„œ 200๋ฐ”์ดํŠธ์˜ ์ฆ๋ช…์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฝ๋Ÿ‰ ๊ฒ€์ฆ ๋ฐฉ์‹์„ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด ์ ์ ˆํ•œ ํ•ด์‰ฌ-์—ฐ๊ฒฐ(hash-linking)์ด ํฌํ•จ๋œ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์˜ ์ถ”๊ฐ€ ๋น„์šฉ์€ ๋งค์šฐ ์ ์œผ๋ฏ€๋กœ, ์ด ๋ฐฉ์‹์œผ๋กœ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์„ ์ด์œ ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ฒด์ธ์— ์†ํ•œ ์ฆ๋ช…๋“ค์„ ๊ฒ€์ฆํ•  ๊ฒฝ์šฐ ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ ์‹œ๊ฐ„/๊ณต๊ฐ„/๋Œ€์—ญํญ ์ตœ์ ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ธ”๋ก ํ—ค๋”(์—ฐ๊ฐ„ 420MB)์˜ ์ถ”์ (tracking)์€ ์ฆ๋ช…์˜ ํฌ๊ธฐ๋ฅผ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ฒŒ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ ๋ฐœ์ƒํ•œ ํ—ค๋”๋งŒ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์€ ์žฅ๊ธฐ์  ๊ด€์ ์˜ ์ €์žฅ์†Œ ๊ด€๋ฆฌ์™€ ์ฆ๋ช… ํฌ๊ธฐ ๊ฐ„์˜ ์ ˆ์ถฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์•ˆ์œผ๋กœ, ๋ธ”๋ก์ฒด์ธ์€ ๊ณผ๊ฑฐ ์ฆ๋ช…์˜ ์ค‘๊ฐ„ ํ•ด์‰ฌ๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ์ง€์—ฐ ํ‰๊ฐ€(lazy evaluation) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ฆ๋ช…์€ ์ด๋ฏธ ์•Œ๋ ค์ง„ ํฌ์†Œ ํŠธ๋ฆฌ(sparse tree)์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ํฌํ•จํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ• ์ง€๋Š” ๋จธํด ์ฆ๋ช…์„ ์ฐธ์กฐํ•˜๋Š” ํŠธ๋žœ์žญ์…˜์„ ํฌํ•จํ•˜๋Š” ์™ธ๋ถ€ ๋ธ”๋ก์˜ ๋น„์œจ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

์ƒํ˜ธ ์—ฐ๊ฒฐ์ด ์ผ์ • ๋น„์œจ ์ด์ƒ ์ด๋ฃจ์–ด์ง„๋‹ค๋ฉด, ๋‹จ์ˆœํ•˜๊ฒŒ ๋‹ค๋ฅธ ์ฒด์ธ์˜ ๋ชจ๋“  ๋ธ”๋ก ๊ธฐ๋ก์„ ํ•ด๋‹น ์ฒด์ธ์ด ๊ฐ€์ง€๊ฒŒ ํ•˜์—ฌ ๊ฒ€์ฆ์„ ์œ„ํ•ด ๋‘ ์ฒด์ธ์„ ๋ณผ ํ•„์š”๊ฐ€ ์—†๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๊ด€์ ์—์„œ ์ฒด์ธ ๊ฐ„ ์ฆ๋ช…์˜ ๋น„์œจ์„ ๋‚ฎ์ถ”๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์ฒด์ธ ๊ฐ„ ํ†ต์‹ ์˜ ์ง€์—ฐ ์‹œ๊ฐ„ (Latency of Interchain Communication)

์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๋ธ”๋ก์ฒด์ธ๊ณผ ํ†ต์‹ ํ•  ๋•Œ, ๋ธ”๋ก ์ƒ์‚ฐ์ž๋Š” ์ ํ•ฉํ•œ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ›์•„๋“ค์ด๊ธฐ ์ด์ „์— ๋‹ค๋ฅธ ๋ธ”๋ก์ฒด์ธ์—์„œ ๋ฐ”๋€Œ์ง€ ์•Š๋Š” ํ™•์ธ ์ƒํƒœ์— ๋Œ์ž…ํ•˜์˜€์Œ์„ 100% ํ™•์‹ ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. Using an EOS.IO software-based blockchain and DPOS with 3 second blocks and 21 producers, this takes approximately 45 seconds. If a chain's block producers do not wait for irreversibility it would be like an exchange accepting a deposit that was later reversed and could impact the validity of the blockchain's consensus.

์™„์ „์„ฑ ์ฆ๋ช… (Proof of Completeness)

๋ธ”๋ก์ฒด์ธ ์™ธ๋ถ€์˜ ๋จธํด ์ฆ๋ช…์„ ์‚ฌ์šฉํ•  ๋•Œ, ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰ ๋œ ๊ฒƒ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ๊ณผ ๋ฌด์‹œํ•˜๊ฑฐ๋‚˜ ๋น ์ง„ ํŠธ๋žœ์žญ์…˜์ด ์—†์Œ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ์˜ ๋ชจ๋“  ํŠธ๋žœ์žญ์…˜์„ ๋ชจ๋‘ ์•Œ๊ณ  ์žˆ์Œ์„ ์ฆ๋ช…ํ•˜๊ธฐ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํŠธ๋žœ์žญ์…˜ ์ด๋ ฅ์˜ ๋นˆํ‹ˆ(gap)์ด ์—†์Œ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. EOS.IO๋Š” ๋ชจ๋“  ๊ณ„์ •๊ฐ„ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ์— ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ํŠน์ • ๊ณ„์ •์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ์œผ๋ฉฐ, ์ˆœ์„œ์— ๋งž์ถ”์–ด ์ฒ˜๋ฆฌ๋˜์—ˆ์Œ์„ ์ฆ๋ช…ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก  (Conclusion)

EOS.IO ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๊ฒ€์ฆ๋œ ๊ฐœ๋…๊ณผ ์‹ค์งˆ์ ์ธ ๊ฒฝํ—˜์„ ํ†ตํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ ์˜ ๊ทผ๋ณธ์ ์ธ ๋ฐœ์ „์„ ๋Œ€ํ‘œํ•˜๋Š” ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ์ด ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ „ ์„ธ๊ณ„์  ๊ทœ๋ชจ์˜ ๋ธ”๋ก์ฒด์ธ์˜ ํƒˆ์ค‘์•™ํ™” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์šด์˜(governing)ํ•˜๋Š” ์ „์ฒด์ ์ธ ์ฒญ์‚ฌ์ง„์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.