ํฉ์ ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ ๋ฐ ๊ตฌ์ฑ - PoW
- -
ํด๋น ํฌ์คํ ์ "ํฉ์ ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ ๋ฐ ๊ตฌ์ฑ"์ ๋ํด ์ค๋ช ํฉ๋๋ค.
* ์ค๋ฅธ์ชฝ ๋ชฉ์ฐจ๋ฅผ ํตํด ์กฐ๊ธ ๋ ๊ฐ์์ ์ธ ์์ฝ๋ด์ฉ์ ํ์ธํ์ค ์ ์์ต๋๋ค.
* ๋ด์ฉ์ ๋ํ ์ฐธ๊ณ ์๋ฃ & ๊ด๋ จ ์๋ฃ๋ ๋งจ ๋ ํ๋จ์ ์ฒจ๋ถํฉ๋๋ค. ๊ฐ์ด ํ์ธํด๋ณด์๊ณ ์ข์ ๋ด์ฉ์ ๊ณต์ ํ๋ฉด ์ข์ ๊ฒ ๊ฐ์์ :)
# ์ฒจ๋ถ์๋ฃ์ ์๋ ๊ทธ๋ฆผ ๋ฐ ํ์ ๊ฒฝ์ฐ ์์ฒด์ ์ผ๋ก ์ค๋ช ์ ์ํด ์ ์ํ ๊ฒ์ ๋๋ค #
1. ์ฅ์ ๋ชจ๋ธ์ ๋ฐ๋ฅธ ํฉ์ ์๊ณ ๋ฆฌ์ฆ
- P2P ๋คํธ์ํฌ์์๋ ๋ฐ์ ๊ฐ๋ฅํ ์ฅ์ ๋ชจ๋ธ๋ก ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง๊ฐ ์กด์ฌํ๋ค.(ํฌ๊ฒ ๋ถ๋ฅํ ๊ฒ ๋ฟ ๋ค์ํจ)
1-1. ํฉ์ ์๊ณ ๋ฆฌ์ฆ ๋น๊ตํ
PoW | PoS | PBFT/Sieve | Paxos/Raft | |
CPU ์ฐ์ฐ ๋น์ฉ | ๋์ | ์ค๊ฐ์ ๋. PoW๋ณด๋ค ๋ฎ์ง๋ง ๋๋ฆ๋๋ก์ ํด์ ๊ณ์ฐ์ ์ํ | ๋ฎ์ | ๋ฎ์ |
ํต์ ๋น์ฉ | ์ฐธ๊ฐ ์๋ฒ ์ ์ฒด๊ฐ ์๋, ๋ก์ปฌ ํต์ ๋ง์ผ๋ก ๋ฌธ์ ๊ฐ ์์. ๋ก์ปฌ ํต์ ์ ๋น์ฉ์ด ๋ฎ์ | ์ฐธ๊ฐ ์๋ฒ ์ ์ฒด๊ฐ ์๋, ๋ก์ปฌ ํต์ ๋ง์ผ๋ก ๋ฌธ์ ๊ฐ ์์. ๋ก์ปฌ ํต์ ์ ๋น์ฉ์ด ๋ฎ์ | ๊ฐ ์๋ฒ๊ฐ ํต์ ์ ์ํํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ ๋์ | ๋ฆฌ๋๋ฅผ ์ค์ฌ์ผ๋ก ํต์ ํ๊ธฐ ๋๋ฌธ์ PBFT๋ณด๋ค ํต์ ๋น์ฉ์ ๋ฎ์. PoW, PoS์ ๋น๊ตํ๋ฉด ์ ์ฒด์ ์ผ๋ก ๋น์ฉ์ ๊ฐ์ง๋ง ๋ฆฌ๋ 1๋์ ํต์ ๋น์ฉ์ด ๋์์ง |
์ฐธ๊ฐ ์๋ฒ์ ์กฐ๊ฑด | ์ด๋ค ์๋ฒ๋ ์ฐธ๊ฐ ๊ฐ๋ฅ | ์ด๋ค ์๋ฒ๋ ์ฐธ๊ฐ ๊ฐ๋ฅ | ์ ๋ขฐ๋ ์๋ฒ๋ง ์ฐธ๊ฐ | ์ ๋ขฐ๋ ์๋ฒ๋ง ์ฐธ๊ฐ |
๋น๋ฐ๋ฒํธ ์ธ์ฆ | ์ฐธ๊ฐ์ ์ค๋นํ ๊ณต๊ฐ ์ํธํ ํค๋ฅผ ์ฌ์ฉ | ์ฐธ๊ฐ์ ์ค๋นํ ๊ณต๊ฐ ์ํธํ ํค๋ฅผ ์ฌ์ฉ | ์ฌ์ ์ ์๋ก ์ ๋ขฐํ๊ณต๊ฐ ์ํธํ ํค๋ฅผ ์ฌ์ฉ | ํน๋ณํ ์์ |
๋์ํ๋ ์ฅ์ ๋ชจ๋ธ | Byzantine Fault | Byzantine Fault | Byzantine Fault | Fail-Stop Fail-Recover |
๋ค์๊ฒฐ ๋์ฉ | CPU ๊ณ์ฐ๋ | ๋ณด์ ํ ์์ฐ ํฌ๊ธฐ | ๋ค์๊ฒฐ | ๋ค์๊ฒฐ(ํฌํ ํ์, ๋๋ค ๋ฑ) |
๊ถํ์ ๋ถ์ฐ | ์ ๊ธฐ์ธ๊ฐ ๋ฎ์ ์ง์ญ์ ์ง์ค๋ ๊ฐ๋ฅ์ฑ์ด ์์(ex ์ค๊ตญ) | ์ผ๋ฐ์ ์ผ๋ก ํํ ๋ณด์ ๋ ์ง์ค๋ ๊ฐ๋ฅ์ฑ์ด ๋์ | ์ฐธ๊ฐ ์๋ฒ ๋ชจ๋๊ฐ ํ๋ฑ | ๋ฆฌ๋์๊ฒ ๊ฐํ ๊ถํ์ด ์์ผ๋, ๊ต์ฒดํ ์ ์์ |
๊ฒฐํจ ํ์ฉ์น | 1๋๋ผ๋ ๋จ์์์ผ๋ฉด ๋ฌธ์ ์์ | 1๋๋ผ๋ ๋จ์์์ผ๋ฉด ๋ฌธ์ ์์ | 1/3 ๋ฏธ๋ง๊น์ง ๋ณด์ฆ(์ ํํ 1/3์ธ ๊ฒฝ์ฐ ๋์ ๋ถ๊ฐ) | 1/2 ๋ฏธ๋ง์ ๋ฌธ์ ์์(์ ํํ 1/2์ธ ๊ฒฝ์ฐ ๋์ ๋ถ๊ฐ) PBFT๋ณด๋ค ์ ์ ๋์๋ก ๊ฐ๋ฅ |
PoW, PoS, PBFT, Sieve ๋ฑ์ ์๊ณ ๋ฆฌ์ฆ์ Byzantine fault ์ฅ์ ๋ชจ๋ธ์ ๋์ํ๊ธฐ ์ํด ๊ณ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ฉฐ,
Paxos, Raft ์๊ณ ๋ฆฌ์ฆ์ Fail-Stop, Fail-Recover ๋ฑ ์ฅ์ ๋ชจ๋ธ์ ๋์ํ๊ธฐ ์ํด ๊ณ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
1-2. ํฉ์ ์๊ณ ๋ฆฌ์ฆ PoW(Proof of Work)
์ ๋ขฐ๊ฐ ๊ฐ์ง ์๋ ๋ถํน์ ๋ค์๊ฐ ์ฐธ๊ฐํ๋ Privateํ Block Chain์ ๊ฒฝ์ฐ PoW ์๊ณ ๋ฆฌ์ฆ์ด ์ ํฉํ๋ค.
ํ์ง๋ง ์ ๋ขฐ๊ฐ ๋ณด์ฅ๋๋ ์ฐธ๊ฐ์๋ค ์ฌ์ด(์ปจ์์์์ ๋ง๋ค์ด ์ด์ฉํ๋ Business model)์์๋ ์คํ๋ ค ์ฒ๋ฆฌ ์๋ ๋ฐ ํ์ด๋๋ฆฌํฐ(๋ถ๋ณ์ฑ)์ ํ์ค์ฑ ๋ณด์ฅ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ PoW๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
- PoW ์๊ณ ๋ฆฌ์ฆ ๊ฐ์
Block chain ๋์ ๊ฐ์ ์์ ์ค๋ช ํ๋ PoW ๋ฐฉ์์ ์ดํด๋ณด๋ฉด์ PoW ์๊ณ ๋ฆฌ์ฆ ๋์ ๋ฐฉ์์ ์ดํด๋ณด์. ์์ PoW์ ์ฑํํ๋ ๋ธ๋ก์ฒด์ธ ๋์๊ณผ์ ์ ์์ฑ ๋ธ๋ก๊ณผ ํจ๊ป ์กฐ๊ธ ๋ ์์ธํ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค.
PoW์ ์ฒ๋ฆฌ ์ ์ฐจ๋ฅผ ์ดํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- Wallet์ด ํธ๋์ญ์ ์ ๋ฐํํ๊ณ ์ฐธ๊ฐ์ ์ ์์๊ฒ ๋ธ๋ก๋์บ์คํธ(1๋ฒ ํธ๋์ญ์ A->B)ํจ
- Mining Node์ธ Peer_1 ์ฌ์ฉ์๊ฐ ํด์๋ฅผ ๊ณ์ฐํ๋ค. ์ด๋ ๋ธ๋ก์ด ๋ธ๋ก์ฒด์ธ์ ์ถ๊ฐ๋จ
- Wallet์ด ํธ๋์ญ์ ์ ๋ฐํํ๊ณ ์ฐธ๊ฐ์ ์ ์์๊ฒ ๋ธ๋ก๋์บ์คํธ(2๋ฒ ํธ๋์ญ์ X->Y)ํจ
- Mining Node Peer_2, Peer_3์ด ๋์์ ํด์๋ฅผ ๊ณ์ฐํ์ฌ ๋ธ๋ก์ ์์ฑ ํ์๊ณ , ์ด๋ ๋ถ๊ธฐ(Fork)๊ฐ ๋ฐ์
- Wallet์ด ํธ๋์ญ์ ์ ๋ฐํํ๊ณ ์ฐธ๊ฐ์ ์ ์์๊ฒ ๋ธ๋ก๋์บ์คํธ(3๋ฒ ํธ๋์ญ์ B->W)ํจ
- Mining Node Peer_4๊ฐ ๋ฐ๊ฒฌํ์ฌ Peer_3์ด ์์ฑํ ๋ธ๋ก ๋ค์ ์ถ๊ฐํจ(์ด์ ํด์ ๊ฐ์ด Peer_3์ ๋ธ๋ก ์ด๋ ์๋ฏธ)
์ด๋, Peer_4๊ฐ ์์ฑํ ๋ธ๋ก์ด ์ฒด์ธ์ ์ด์ด์ง๋ฏ๋ก ๋ ๊ธด ๋ธ๋ก์ฒด์ธ(์๋)์ด ์ฌ๋ฐ๋ฅธ ๊ฒ์ผ๋ก ๋จ
์๋๋ ๋ธ๋ก์ ์กฐ๊ธ ๋ ์์ธํ ์ดํด ๋ณด์์ ๋ ๊ตฌ์กฐ๋ก, ์ค์ ์ด์ ๋ธ๋ก์ ๋ํ Hash ๊ฐ์ด ์กด์ฌํจ.
- ์์ ์ฆ๋ช ๊ณผ์
๋ชจ๋ ๋ธ๋ก๋ค์ ๊ณ ์ ํ ํด์ ๊ฐ์ ๊ฐ์ง๋ค. ํด์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์๋ ์์ ์ฐ๊ฒฐํ ๋ธ๋ก์ ํด์ ๊ฐ ์ด์ธ์๋ ๋ค๋ฅธ ์ ๋ณด๋ค์ ์ ๋ ฅ ๊ฐ์ผ๋ก ๊ฐ์ ธ์์ผ ํ๋๋ฐ, ๊ทธ ์ค ํ๋๊ฐ ‘Nonce’๋ผ๋ ๊ฐ์ด๋ค.
Nonce๋ ๋ค๋ฅธ ์ ๋ณด์ ๋ค๋ฅด๊ฒ ์ฃผ์ด์ง๋ ๊ฐ์ด ์๋ ์ง์ ๊ตฌํด์ผ ํ๋ ๊ฐ์ด๋ค. Nonce ๊ฐ์ ๊ตฌํด์ผ๋ง ์ต์ข
์ ์ผ๋ก ํด๋น ๋ธ๋ก์ ํด์ ๊ฐ์ ๊ตฌํ ์ ์๋ค. Nonce ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด์๋ ํน์ ์ํ์ ์ฐ์ฐ์ ์ํ(‘์์
์ฆ๋ช
’ ํน์ ‘์ฑ๊ตด’์ ์๋ฏธ)ํด์ผ ํ๋๋ฐ ๋ณต์กํ ์ฐ์ฐ์ ์๋์ง๋ง ๋ฐ๋ณต์ ์ธ ์์
์ ํ์๋ก ํ๋ ๋จ์ ์ฐ์ฐ์ผ๋ก ๋์ ์ปดํจํ
ํ์๋ฅผ ๊ฐ์ง์๋ก ์ ๋ฆฌํ๊ฒ ๋๋ค.
๋นํธ์ฝ์ธ์ ๊ฒฝ์ฐ ํ๊ท 10๋ถ์ด ์์๋๋๋ก ์ค๊ณ๋์ด ์๋๋ฐ ๊ธฐ์ ๋ฐ์ ๋ฑ์ ๋ฌธ์ ์ ๋์ํ๊ธฐ ์ํด ํด์ ๋์ด๋๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์กฐ์ ํ๊ณ ์๋ค.
- PoW ๋ฐฉ์์ ์ฃผ์ ๋ ธ๋
PoW ๋ฐฉ์์์ ์ฃผ์ ๋
ธ๋์ธ Mining(์ฑ๊ตด)์, Full(ํ)๋
ธ๋์ ์ญํ ์ ์ดํด๋ณด๋ฉด ์กฐ๊ธ ๋ ๋์ ๊ฐ์์ ๋ํด ์ดํดํ๊ธฐ ์ฝ๋ค.
์์ ์ฆ๋ช ์ด๋? ์ฃผ์๋ฅผ ์ฐธ๊ณ ํ๋ค.
- Fork์ ๊ณ ์ ๋ธ๋ก
์ ๊ทธ๋ฆผ์ ๋ค์ ์ดํด๋ณด๋ฉด ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์์ Peer_2, Peer_3์ด ๋์์ ํด์ ๊ฐ์ ๋ง์ถ์ด ๋ธ๋ก์ด ์์ฑ๋์๋ค. ์ด๋ ํ์ชฝ์ด ๋ธ๋ก์ฒด์ธ์ผ๋ก ์ ํ๋์ง ์๋๋ค๋ฉด ๊ธฐ์กด์ ์ ๋ณด(๊ฑฐ๋๋ด์ญ, ํธ๋์ญ์ )๋ ์ฌ๋ผ์ง๋ ๊ฒ์ผ๊น?
์ ์์ ์ธ ๊ฑฐ๋ ๋ด์ญ์ ๋คํํ ์ ์ง๋๋ค.
์ฆ ๊ฑฐ๋ ๋ด์ญ์ด ์ทจ์๋๊ฑฐ๋ ์ ์ค๋์ง ์๊ณ ๋ธ๋ก์ฒด์ธ์ ํฌํจ๋์ง ์์ ๊ฑฐ๋๋ก ์ทจ๊ธ๋์ด ๋ค๋ฅธ ๋ธ๋ก์ ํฌํจ๋๋ ๊ฒ์ด๋ค.
์ค์ ๋ก ๋ธ๋ก์ฒด์ธ์ ์ค์๊ฐ ๋๊ธฐ๊ฐ ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ์๋์ ๊ฐ์ด ์๋ก ๋ค๋ฅธ ๊ตญ๊ฐ์์ ๋ค์๊ณผ ๊ฐ์ ํ์์ด ๋ฐ์ํ๋ค๋ฉด ์ด์ด์ง๋ ๋ธ๋ก์ด ์ ์ ์ชฝ์ ๊ณ ์ ๋ธ๋ก์ด ๋๋ ๊ฒ์ด๋ค.
- GHOST ๊ณ์ด ์๊ณ ๋ฆฌ์ฆ
GHOST ์๊ณ ๋ฆฌ์ฆ์ ๋ฉ์ธ ์ฒด์ธ์ ์ ํํ๋ ๋ฐ ์์ด ๊ฐ์ฅ ๊ธด ์ฒด์ธ์ ์ ํํ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ฅ ๋ฌด๊ฑฐ์ด ์ฒด์ธ์ ์ฑํํ๋ค.
๋จ์ํ ์ผ๋ง๋ ๋ง์ ์์ ๋ธ๋ก๋ค์ด ์ด์ด์ ธ ์๋์ง ๋ฟ๋ง ์๋๋ผ ์ผ๋ง๋ ๋ง์ ์ํด ๋ธ๋ก(๊ณ ์ ๋ธ๋ก)๋ค์ ๊ฐ์ง๊ณ ์๋์ง๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ๊ฒฐ์ ๋๋ ๋ฉ์ปค๋์ฆ์ธ ์
์ด๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ์ฑ๊ตด(mining) ํ์ ๋ฒ๋ ค์ง๋ ๋ธ๋ก์ ๊ฐ์๋ฅผ ์ค์ฌ์ฃผ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ค. ๋ค๋ง ์ง๋์น ์ง์ค ํ์์ ๋ง๊ธฐ ์ํด ์ ํจ ์ํด ๋ธ๋ก ๊ฐ์๋ ์ต๋ 7๊ฐ๋ก ํ์ ํ๋ค.
์กฐ๊ธ ๋ ์์ธํ ๋ด์ฉ ์ฐธ๊ณ : [์ผ๋ธ๋ฆฌ] #44. ํฉ์ ์๊ณ ๋ฆฌ์ฆ ๋ง์คํฐํ๊ธฐ - 1ํธ (PoW, PoS) — Steemit
- PoW๋ฐฉ์์ ๋ฌธ์ ์
- ํ์ด๋๋ฆฌํฐ ๋ถํ์ค์ฑ(๊ฒฐ์ ์์ ์ฑ)
๋ ๊ธด ์ฒด์ธ์ด ์ฌ๋ฐ๋ฅธ ๊ฒ์ผ๋ก ํ๋จ๋์ด, ๊ธฐ์กด ๋ธ๋ก์ด ์ฑํ๋์ง ์์ ์ ์ด์ ๊ฑฐ๋ ๋ด์ญ์ด ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ฌ๋ผ์ง ์ ์์(51% ๊ณต๊ฒฉ) - ์ฉ๋์ ํ๊ณ ๋ฐ ์ ๋ ฅ ๋ญ๋น
์ ์ฒด ๊ฑฐ๋ ํธ๋์ญ์ ์ ๋ณด์ ํ๊ธฐ ๋๋ฌธ์ ์์ด ๋ฐฉ๋ํจ(๋ชจ๋ ๋ด์ฉ ํ๋ณด). ๋ฟ๋ง ์๋๋ผ ์ฑ๊ตด์ ๋ฐ๋ฅธ ์๋์ง ๊ณผ์ ์๋น(์ ๊ธฐ ์ด์ฉ) ๋ฐ ๋น์ฉ๋ฑ
- PoW์ ์ ์ฌํ PoET ์๊ณ ๋ฆฌ์ฆ
- PoW ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ์ฌํ์ง๋ง ์ฌ๊ธฐ์ Security๋ฅผ ๋ณด์ฅํ๋ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํจ. ์ด๋ฅผ PoET(Proof of Elapsed Time)์๊ณ ๋ฆฌ์ฆ ์ด๋ผ๊ณ ํจ.
- PoET(๊ฒฝ๊ณผ ์๊ฐ ์ฆ๋ช )์๊ณ ๋ฆฌ์ฆ์ ์์ ์ฆ๋ช ์ด TEE(์ ๋ขฐํ ์ ์๋ ์คํ ํ๊ฒฝ)์์ ๋ฌด์์๋ก ์์ฑ๋ ๋๊ธฐ ์๊ฐ์ผ๋ก ๋์ฒด๋๋ ํฉ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ์์ ์ฑ, ๋ฌด์์์ฑ์ ๋ณด์ฆํ๋ฉฐ ๋ฆฌ๋๋ฅผ ๋๋ค์ผ๋ก ๋ฝ๋๋ค. ๋ณด์ CPU๋ช ๋ น์ ํตํด ๋ฆฌ๋๋ฅผ ์ ์ถํ๋ ๋ฐฉ์์ด๋ค.
------------------------------
3. ์ฐธ๊ณ ์๋ฃ
[์ผ๋ธ๋ฆฌ] #44. ํฉ์ ์๊ณ ๋ฆฌ์ฆ ๋ง์คํฐํ๊ธฐ - 1ํธ (PoW, PoS) — Steemit
์์ ์ฆ๋ช , ์ง๋ถ์ฆ๋ช & ์์ ์ง๋ถ์ฆ๋ช : ๋ถ์ฐํ ์ปจ์ผ์์ค์ ํ๋ช
'IT & Security > Block Chain' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด์ธ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.01.02 |
---|---|
pos (0) | 2022.12.29 |
P2P ๋คํธ์ํฌ ํ๊ณ ๋ฐ ํด๊ฒฐ์ฑ (2) | 2022.12.21 |
๋ธ๋ก์ฒด์ธ ๋์๊ฐ์ & ๋ธ๋ก์ฒด์ธ ๋ ธ๋ ์ข ๋ฅ ๋ฐ ํน์ง (0) | 2022.12.19 |
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค