1. ์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ
๋ธ๋ก์ฒด์ธ์ ๊ฐ์ฅ ์ฃผ์ํ ๊ฐ์น ์ค ํ๋๋ ํ์ค์ํ์ผ ๊ฒ์ ๋๋ค. ๋ธ๋ก์ฒด์ธ์ ์ด์ฉํ๋ฉด ์ค์์ ํต์ ๋ ๊ฐ์ญ ์์ด ๊ฐ์ธ ๋ ๊ฐ์ธ์ด ์ ๋ขฐ ๊ฐ๋ฅํ ๊ฑฐ๋๋ฅผ ํ ์ ์์ฃ . ๊ทธ๋ฐ ์๋ฏธ์์ ๊ธฐ์ ์ด๋ ๊ธฐ๊ด๋ค์ด ์กฐ์ง ๋ด๋ถ์์ ์ด๊ฒ์ ํ์ฉํ๋ค๊ณ ํ๋ฉด ์ ์ง ์ด์ธ๋ฆฌ์ง ์๋๋ฏํ ๋๋์ด ๋ญ๋๋ค. ๊ธฐ์ ์ ํ๋์ ๋ชฉํ๋ก ์์ง์ฌ์ผํ๊ธฐ ๋๋ฌธ์, ์๋ฌด๋ฆฌ ์ํ์ ์ธ ํ์ด๋ผ๋ ํ์ฅ์ ์กด์ฌํ๊ธฐ ๋ง๋ จ์ ๋๋ค. ๊ฒ๋ค๊ฐ ๊ณต๊ธ๋ง ์ํ ์ถ์ , ๊ธ๋ก๋ฒ ๊ฒฐ์ ๋ด์ญ ๋ฑ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋๋ฐ์ ์ฌ์ฉํ ํ ๋ฐ ๊ฐ์ธ ๋๊ตฌ๋ ์ ๊ทผํด ์ฝ๊ณ ์ฐ๊ธฐ์๋ ์ ํฉํ์ง ์์ ๋ณด์ ๋๋ค.
๋ฐ๋ผ์ ๊ธฐ์ ์ ๋คํธ์ํฌ์ ์ฃผ์ฒด๊ฐ ์กด์ฌํ๊ณ ์์ ๋ค์ด ์ ํ ์กฐ๊ฑด์ ๋ง์ง ์๋ ์ฐธ์ฌ์๋ ์ ํํ ์ ์๋๋ก ํ๋ ํ๊ฐํ ๋ธ๋ก์ฒด์ธ์ ์ฌ์ฉํฉ๋๋ค. ์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ์ ๊ธฐ์ ์์ ์ฌ์ฉํ๋ ํ๊ฐํ ๋คํธ์ํฌ๋ฅผ ์๋ฏธํ๊ณ , ํ๋์ ๊ธฐ์ ๋ด๋ถ์์ ์ฌ์ฉํ ์๋ ์๊ณ , ์ฌ๋ฌ ๊ฐ์ ๊ธฐ์ ์ด ์ฐธ์ฌํด์ ์์ฅ์ ๊ณต์ ํ๋๋ก ํ ์๋ ์์ต๋๋ค. ํ์์ ๊ฐ์ ๊ฒฝ์ฐ๋ '์ปจ์์์ ๋ธ๋ก์ฒด์ธ'์ด๋ผ๊ณ ํน์ ํด ๋ถ๋ฆ ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ์ ์ฑ ์, ํ๊ฐ, ์์ , ํ์ฅ ํน์ฑ์ ๊ฐ์ต๋๋ค.
- ์ฑ ์ : ๋คํธ์ํฌ์ ๊ฐ ๋ ธ๋๋ค์ ์ ์์ด ์๋ ค์ง๊ณ , ์์ ์ ํ๋(ํธ๋์ญ์ ๋ฑ)์ ๋ํด ์ฑ ์์ ์ ธ์ผํ ์๋ ์์ต๋๋ค.
- ํ๊ฐ : ๋คํธ์ํฌ์ ์ฃผ์ฒด๊ฐ ํ๊ฐํ ์ฌ์ฉ์๋ง ๋ธ๋ก์ฒด์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์์ : ๋ง์ฝ ๋คํธ์ํฌ๋ฅผ ์ด์ํ๋ ์ฐธ์ฌ์๋ค์ด ๋ชจ๋ ๋์ํ๋ค๋ฉด, ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์๋ ์์ต๋๋ค.
- ํ์ฅ : ํ์ค์ํ๊ฐ ๋ ๋์ด์๊ธฐ ๋๋ฌธ์, ์๋ก์ด ํธ๋์ญ์ ์ ์ฝ๊ฒ ์ ๋ฐ์ดํธ ํด์ค ์ ์์ต๋๋ค.
2. Hyperledger Besu
ํ์ดํผ๋ ์ ธ๋ ๋ฆฌ๋ ์ค ์ฌ๋จ์ด ์ฃผ๊ดํ์ฌ ์งํ ์ค์ธ, ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ๊ตฌํํ ์ ์๋ ์คํ ์์ค ๊ธฐ๋ฐ์ ์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ ํ๋ก์ ํธ์ ๋๋ค. ์ ๋ง ๋ง์ ์์ธ ๊ธฐ๋ฅ๋ค์ด ์์ง๋ง, ์ฃผ์ ์คํ๋ค์ ์ ๋ฆฌํด๋ดค์ต๋๋ค.
๊ธฐ๋ฐ | ์ด๋๋ฆฌ์ |
์ธ์ด | JAVA |
ํฉ์ | ์์ ์ฆ๋ช (Ethash), ๊ถ์์ฆ๋ช (Clique, IBFT2.0, QBFT) |
์ค๋งํธ ์ปจํธ๋ํธ | ๊ฐ๋ฅ(EVM, ์ด๋๋ฆฌ์ Solidity ๊ฑฐ์ ํธํ, ๊ฒฐ์ ๋ก ์ ) |
ํ๊ฐ | ํ์ดํธ๋ฆฌ์คํธ ๋ฐฉ์ |
๋ณด์ | private ํธ๋์ญ์ |
์์ง์ ์ฆ๋ช | ์์ |
ํธ๋์ญ์ ํ๋ฆ | ๋ช ๋ น โ ์คํ/๊ฒ์ฆ |
๊ณ ์ ํํ | ์์, ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ด์ฉํ ํ ํฐ |
ํน์ง | EEA ์คํ ์ค์, ์ผ๋ฐ์ ์ธ ์ด๋๋ฆฌ์ ํด๋ผ์ด์ธํธ ๊ธฐ๋ฅ๋ ์ง์, ๊ณ์ ๊ธฐ๋ฐ ๋ฑ |
์ด๋๋ฆฌ์, ์ค๋งํธ ์ปจํธ๋ํธ
๋จผ์ ๊ธฐ๋ฐ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ด๋๋ฆฌ์์ ๋ํด ์ ๊น ๋จผ์ ์ค๋ช ๋๋ฆฌ์๋ฉด, ์ด๋๋ฆฌ์ ์ญ์ ๋นํธ์ฝ์ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ ์ฆ๋ช ์ ์ฌ์ฉํ๋ ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ์ ๋๋ค. ๋ธ๋ก์ ๋ง๋ค๊ณ , ์์ฒญ๋ ๋ ธ๋ ฅ์ ๋ค์ฌ ์ฑ๊ตด ํ ๋ธ๋ก์ ์ฒด์ธ์ ์ฌ๋ ค ๋คํธ์ํฌ์ ์ ํํฉ๋๋ค. ํ์ง๋ง ์ด๋๋ฆฌ์์ ํํ๋ก์์ ๊ธฐ๋ฅ๋ง ํ ์ ์๋ ๋นํธ์ฝ์ธ๊ณผ๋ ๋ค๋ฅด๊ฒ, ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ง์ํด ๋ธ๋ก์ฒด์ธ์ ํ๋ซํผํ ์์ผฐ์ต๋๋ค. ์ฅ๋ถ๋ฅผ ์ค์ด ๊ทธ์ด์ ธ ์๋ ๊ฐ๊ณ๋ถ ๋ ธํธ๊ฐ ์๋, ๋ฌด์์ด๋ ์ ์ ์ ์๋ ๋ฐฑ์ง ๋ ธํธ๋ก ๋ง๋ ๊ฒ ์ ๋๋ค. ์์ฒด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ Solidity๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋ธ๋ก์ ๋ฃ์ด ์ฌ๋ฆฌ๋ฉด, ์ด๊ฒ์ ๊ฐ ๋ ธ๋๊ฐ ์ด๋๋ฆฌ์ ๊ฐ์๋จธ์ (EVM)์ ์ด์ฉํด ์คํํ์ฌ ๊ฒ์ฆํฉ๋๋ค.
์ด ์ด๋๋ฆฌ์์ ๊ฐ์กฐํ์ฌ JAVA๋ก ๊ตฌํํ ์คํ์์ค ํด๋ผ์ด์ธํธ๊ฐ Besu์ ๋๋ค. EVM, Solidity๊ฐ ํธํ๋๋ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ฌ์ฉํ ์ ์๊ณ , ์ํ๋ค๋ฉด ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ์์ ์ฆ๋ช (Ethash)์ผ๋ก ์ค์ ํด ์ด๋๋ฆฌ์ ๋คํธ์ํฌ์ ํด๋ผ์ด์ธํธ์ฒ๋ผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. (์ฐธ๊ณ ๋ก ํด๋ผ์ด์ธํธ๋ผ ํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ ์๋ฒ๋ฅผ ๋ ์ฌ๋ฆฌ๊ฒ ๋์ง๋ง, ๋ธ๋ก์ฒด์ธ์ ํ์ค์ํ๋ ๊ฐ๋ ์ด๊ธฐ ๋๋ฌธ์ ์ค์์๋ฒ๊ฐ ๋ฐ๋ก ์์ด ํด๋ผ์ด์ธํธ๋ง ์กด์ฌํฉ๋๋ค)

ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ถ์์ฆ๋ช ์ผ๋ก ์ค์ ํ๋ค๋ฉด ์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ์ผ๋ก ํ์ฉํ๊ฒ ๋๊ฒ ์ฃ . Besu๋ Clique, IBFT2.0, QBFT ๋ฑ ๋ค์ํ ๊ถ์์ฆ๋ช ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ๊ถ์์ฆ๋ช ์๊ณ ๋ฆฌ์ฆ์ ๋ช๊ฐ์ง ๊ธฐ์ค์ ํตํด ๋น๊ตํด๋ณด๊ฒ ์ต๋๋ค.
๋ค์ํ ํฉ์ ์๊ณ ๋ฆฌ์ฆ
๋จผ์ ์ฆ๊ฒฐ์ฑ(Immediate Finality)์ '์ฒด์ธ์ ์ฌ๋ผ๊ฐ ๋ฐ์ดํฐ๊ฐ ๋ฐ๋ก ํ์ ๋๋๊ฐ'๋ฅผ ๋งํฉ๋๋ค. ์์ ์ฆ๋ช ์ ์ค๋ช ํ ๋ '๋ธ๋ก์ด ๋์์ ์ฑ๊ตด๋๊ฒ ๋๋ฉด Fork๊ฐ ๋ฐ์ํ๊ฒ ๋๊ณ , ๋ช ๊ฐ์ ๋ธ๋ก์ด ๋ค์ ๋ฌ๋ ค์ผ ํ์ ํ ์ ์๋ค'๊ณ ํ์๋๋ฐ ๊ธฐ์ต ๋์๋์? ์ด๋ฐ ๊ฒฝ์ฐ๋ ์ฆ๊ฒฐ์ฑ์ด ์๋ค๊ณ ๋งํฉ๋๋ค. IBFT๋ QBFT ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ๋ผ๊ฐ ๋ธ๋ก์ ๋ฐ๋ก ํ์ ๋์ง๋ง, Clique ์๊ณ ๋ฆฌ์ฆ์ ๊ทธ๋ ์ง ์์ต๋๋ค.
๊ฒ์ฆ์์ ์ต์ ์๋ '์ต์ ๋ช ๋ช ์ ๊ฒ์ฆ์๊ฐ ์์ด์ผ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ๊ฐ ๋์๊ฐ๋๊ฐ'๋ฅผ ๋งํฉ๋๋ค. IBFT, QBFT๋ ์์ ์ค๋ช ํ๋ ๋น์ํด ๋ฌธ์ ๋ด์ฑ(Byzantine Fault Tolerant)์ด ์ ์ฉ๋์๊ณ , ์ด ์์คํ ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋์์์ด ์ํธ ํต์ ํ๋ฉฐ ํฉ์๋ฅผ ํด์ผ ํ๋ ์์คํ ์ด๋ฏ๋ก ์ต์ 4๋ช ์ ๊ฒ์ฆ์๊ฐ ํ์ํฉ๋๋ค. ๋ฐ๋ฉด์ Clique๋ ์ต์ ํ๋์ ๋ ธ๋๋ก๋ ๋์์ด ๊ฐ๋ฅํ์ง๋ง ๋จ๋ ๊ฒ์ฆ์์ ์ฅ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, ์ด์ ๋ํ ๋์ฑ ์ ๋ง๋ จ๋์ด ์์ง ์์ต๋๋ค.

Clique๊ฐ IBFT์ QBFT๋ณด๋ค ๋ ๋ด๊ฒฐํจ์ฑ์ด ๊ฐํฉ๋๋ค. Clique๋ ๊ฒ์ฆ์๋ค์ ์ ๋ฐ ์ ๋๊ฐ ๊ฒฐํจ์ด ์๊ธฐ๋๋ผ๋ ํฉ์๋ฅผ ํ ์๊ฐ ์์ต๋๋ค. ํ์ง๋ง IBFT๋ QBFT์ ๊ฒฝ์ฐ 2/3 ์ด์์ ๊ฒ์ฆ์๋ค์ด ์๋ต์ ์ค ์ ์๋ ์ํ์ฌ์ผ ํฉ์๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ฐธ๊ณ ๋ก 3๊ฐ ์ดํ์ ๊ฒ์ฆ์๋ก๋ ์๋ก ๋ค๋ฅธ ํ๊ฒฝ์์ ์คํํ์ ๋ ๋ธ๋ก์ ์์ฑํ๊ธด ํ์ง๋ง ์ฆ๊ฒฐ์ฑ์ด๋ BFT๋ฅผ ๋ณด์ฅํ ์ ์์ผ๋ ์ค์ ์ฌ์ฉ ์์๋ ์ถ์ฒ๋์ง ์์ต๋๋ค.
์๋ ์ธก๋ฉด์์๋, ํฉ์์ ์ด๋ฅด๊ณ ๋ธ๋ก์ ์ถ๊ฐํ๋ ์๋ ์์ฒด๋ Clique๊ฐ ๋ ๋น ๋ฆ ๋๋ค. ํ์ง๋ง ๊ฒ์ฆ์๊ฐ ์ฆ๊ฐํ ์๋ก ๋ถ๊ธฐ๊ฐ ์ผ์ด๋ ํ๋ฅ ์ด ๋์์ง๋๋ค. ๋ฐ๋ฉด์ IBFT, QBFT๋ ๊ฒ์ฆ์๊ฐ ์ฆ๊ฐํด๋ ๋ถ๊ธฐ๊ฐ ์ผ์ด๋์ง๋ ์์ง๋ง, ํฉ์์ ์ด๋ฅด๊ณ ๋ธ๋ก์ ์ถ๊ฐํ๋ ์๋๋ ์ ์ ๋ ๋๋ ค์ง๋๋ค.
ํ๊ฐ(Permissioning), ํ๋ผ์ด๋ฒ์(Privacy)
ํ๊ฐ์ ํ๋ผ์ด๋ฒ์๋ ์ฝ๊ฐ ๋ค๋ฅธ ๊ฐ๋ ์ ๋๋ค. ํ๊ฐ๋ ์ฒด์ธ์ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ด๋ผ๋ฉด, ํ๋ผ์ด๋ฒ์๋ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค.
๋จผ์ ํ๊ฐ๋ ํ์ดํธ๋ฆฌ์คํธ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋ธ๋๋ฆฌ์คํธ์ ๋ฐ๋๋ง์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฐ๋ก ์ดํด๊ฐ ๋์ค ๊ฒ๋๋ค. ๋ฏธ๋ฆฌ ๋ช ๋จ์ ๊ฐ์ง๊ณ ์๊ณ , ํด๋น ๋ช ๋จ์ ์๋ ์ฌ๋๋ค๋ง ํ๊ฐ๊ฐ ๋ฉ๋๋ค. ํ๊ฐ์๋ ๋ ธ๋ ํ๊ฐ์ ๊ณ์ ํ๊ฐ๊ฐ ์์ผ๋ฉฐ, ์ด๊ฒ์ ๊ฐ ๋ ธ๋ ๋ ๋ฒจ์์ ์ง์ ํ ์๋ ์๊ณ , ๋คํธ์ํฌ ๋ ๋ฒจ์์ ์ง์ ํ ์๋ ์์ต๋๋ค. ๋ ธ๋ ํ๊ฐ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋ณ ๋ ธ๋์ ๋ํ ์ฐ๊ฒฐ์ ์ ์ดํ๊ณ , ๊ณ์ ํ๊ฐ๋ฅผ ์ด์ฉํ์ฌ ๋ ธ๋๊ฐ ํธ๋์ญ์ ์ ์๋ฝํ๊ณ ๊ฑฐ๋ถํ ๊ณ์ ์ ์ ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋ ธ๋ ๋ ๋ฒจ์์ ์ ์ํ๋ฉด ์์ ์ด ํต์ ํ๋ ๋ ธ๋๋ง ํด๋น ์ค์ ์ ๋ฐ๋ฅผ ๊ฒ์ ๋๋ค. ์จ์ฒด์ธ์์๋ ์ค๋งํธ ์ปจํธ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ธ๋, ๊ณ์ , ๊ด๋ฆฌ์์ ํ์ฉ ๋ชฉ๋ก์ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ฉฐ, ๋ชจ๋ ๋ ธ๋๊ฐ ๋จ์ผ ํ์ฉ ๋ชฉ๋ก์ ์ฝ์ ์ ์์ต๋๋ค.
Besu์์ ํ๋ผ์ด๋ฒ์๋ ์ฐธ์ฌ์๋ค ์ฌ์ด์ ํธ๋์ญ์ ์ ๋น๊ณต๊ฐ๋ก ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ค๋ฅธ ์ฐธ๊ฐ์๋ค์ ์ด๋ค ์ฐธ๊ฐ์๋ค์ด ์ด๋ค ํธ๋์ญ์ ์ ์ฃผ๊ณ ๋ฐ์๋์ง ์ก์ธ์คํ ์ ์์ต๋๋ค. Besu๋ ์ด๊ฒ์ Tessera(่ Orion)๋ผ๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค. Besu์์ ํ๋ผ์ด๋ฒ์ ์ค์ ์ด ์๋ ๋คํธ์ํฌ์ ๊ฐ ์ฐธ์ฌ์๋ค์ ๊ธฐ๋ณธ๊ฐ์ผ๋ก Tessera ๋ ธ๋์ Besu ๋ ธ๋ ๊ฐ๊ฐ์ ํ๋์ฉ ๋์๋๊ฒ ๋ฉ๋๋ค. Tessera๋ฅผ ํตํด ํค๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํ๋ผ์ด๋น ํธ๋์ญ์ ์ ์ํํ๊ฒ ๋ฉ๋๋ค.
<ํ๋ผ์ด๋น ํธ๋์ญ์ ์ ๋ํ ์ค๋ช >
'๐ป > ๋ธ๋ก์ฒด์ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Fabric] ์ฒด์ธ์ฝ๋ ๋์ ๊ณผ์ (0) | 2021.12.01 |
---|---|
[๋ธ๋ก์ฒด์ธ] Solana, ์ญ์ฌ์ฆ๋ช (0) | 2021.11.24 |
[๋ธ๋ก์ฒด์ธ] ๋ธ๋ก์ฒด์ธ ๋ฐฐ๊ฒฝ์ง์ (0) | 2021.11.15 |
[Besu] ๊ธฐ์ ๋ฌธ์ ์์ฑ ์ ์ฐธ๊ณ ๋งํฌ (0) | 2021.11.10 |
[๋ธ๋ก์ฒด์ธ] ์์ง์ ์ฌ์ดํธ ๋ชจ์ (0) | 2021.11.09 |