์ด์ ๋ด c# ๋ชจ๋ํฐ๋ง ํ๋ก๊ทธ๋จ ๋ด๊ฒจ์๋ usb๋ฅผ ๊ฐ์๊ธฐ ๋ฐ๊ฒฌํ๊ฒ ๋์๋ค.
์ด๋ ํ๋ฆฐ ์ค ์๊ณ ์ํฌ์๊ธฐ ํ๊ณ ์์๋๋ฐ ์๊ปด์ค์ผ์ง.. ์ ์์ค๋น๊ฐ ์๋ ์ฝฉ์๋งํด์ ํ๋ฒ ์๋ชป๋๋ฉด ์ฐพ๊ธฐ๊ฐ ํ๋ค๋ค.
๊ทธ ๊ณณ์๋ ๋ธ๋ก์ฒด์ธ ์์ ์๋ฃ๋ ์น ์์๊ณ ..
๊ทธ๋์ ์์ํ๋ ๋ธ๋ก์ฒด์ธ ํฌ์คํ ๋ ์ธ ๊ณ
์ฐธ๊ณ : 20๋
๋ ๋ง ์๋ฃ์ฌ์ ๋ฌด์ธ๊ฐ ์ ๊ท ๋ด์ฉ์ ๋ ํ ๊ฒ์ด๋ค.
ํ์ฌ๊น์ง๋ ์ ์ฉ๊ฐ๋ฅํ ๊ธฐ์ด ๊ฐ๋
์์ฃผ๋ก๋ง ์ ์ด๋ณด๋๋ก ํ๊ฒ ๋ค.
1. ๋์งํธ ์ธ์์ ๋ธ๋ก์ฒด์ธ ๊ธฐ๋ฐ ์ํธ๊ฒฝ์ ์ถํ
์๋ณธ์ฆ๋ช
์ํธํ ์ฆ๋ช ์ผ๋ก ์๋ณธ๊ณผ ๊ฐ์ง ๊ตฌ๋ณ. ๊ฐ์ธ์ ๋ณด์ ์ ์๊ถ ๋ณดํธ, ์๋ณ์กฐ ํดํน ๋ฐฉ์ง ๋ฑ
์ ๋ขฐ ๋งค๊ฐ
๋์งํธ ์ธ์์์ ์ด์ ๋ขฐ ๊ฑฐ๋ ๋งค๊ฐ, ์ ํต ์๋จ ์ผ๋ก์ ์ํธํํ, ๋์งํธ ์์ฐ ๊ธฐ๋ฅ ๋ฑ
๋ณด์ ์ฒด๊ณ
๋์งํธ ํตํ๋ก์ ํ์ค์ ๋ฐํ๊ณผ ์ ํต ๊ด๋ฆฌ, ์์ฑ๊ณผ ๊ฑฐ๋์ ์ฐธ์ฌ์ ์ธ์ผํฐ๋ธ ์ ๊ณต ๋ฑ
2. ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ๋ฐ ๊ฐ๋ ์ ๋ฆฝ
๋ฑ์ฅ ๋ฐฐ๊ฒฝ
PC์ ์ค๋งํธํฐ์ ํตํ ์จ๋ผ์ธ ๊ฑฐ๋๊ฐ ๋ณดํธํ๋๊ณ ์ฌ๋ฌผ์ธํฐ๋ท(IoT) ๊ธฐ๋ฐ์ด ํ์ถฉ๋์ด ์จ๋ผ์ธ-์คํ๋ผ์ธ(O2O) ๊ฑฐ๋๋ ์ฆ๊ฐํ๋ฉด์ ๊ธ์ต๊ณผ ์ ๋ณดํต์ (ICT)๊ฐ ์ ๋ชฉ๋ ํํ ํฌ(Fintech)์ ์ด์ด ํดํน๊ณผ ์์กฐ·๋ณ์กฐ๊ฐ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํ ๊ฑฐ๋์์คํ ์ ๋ํ ์ฌํ์ ์๊ตฌ ์ฆ๋
- ์ํธํตํ ์ถํ : ๋์งํธ ๊ฐ์ํํ์ธ '๋นํธ์ฝ์ธ(Bitcoin)'์ ์ ์ฉ๋ ๋ธ๋ก์ฒด์ธ(Blockchain) ๊ธฐ์ ์ ๊ธ์ต ๊ฑฐ๋๋ฟ๋ง ์๋๋ผ ์ฐ์ ์ ๋ฐ์ ์ ์ฉํ๋ ค๋ ์๋ก์ด ๋น์ฆ๋์ค ๋ชจ๋ธ ํ์ฐ
๊ธฐ์กด ๊ธ์ต๊ฑฐ๋ → ๋ธ๋ก์ฒด์ธ ๊ฑฐ๋ → ํ์ค์·๋ณด์์ฑ·์ต๋ช ์ฑ·ํฌ๋ช ์ฑ → ์์ ํ ๊ฑฐ๋ ์คํ
๊ฐ๋ ์ ์
๋ธ๋ก ์ฒด์ธ์ ๋ค์ํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ์์ฅ(ledger)์ ๋ชจ๋ ๊ตฌ์ฑ์(node/peer)์ด ๊ฐ์ ๋ถ์ฐ ๊ด๋ฆฌํ๊ณ , ์ฃผ๊ธฐ์ ๋ฐ ์๋ก์ด ๊ฑฐ๋๊ฐ ๋ฐ์ํ ๋๋ง๋ค ์ํธ๋ฐฉ์์ผ๋ก ์ฅ๋ถ๋ฅผ ๊ฒ์ฆ ๋ฐ ์ ๋ฐ์ดํธํ์ฌ, ๊ฐ๋ ์ ์ผ๋ก๋ ํ์ค์, ๋ณด์์ฑ, ์ต๋ช ์ฑ, ํฌ๋ช ์ฑ์ด ๊ฐ๋ ฅํ ๋์งํธ ๊ณต๊ณต์ฅ๋ถ ๋๋ ๋ถ์ฐ์์ฅ(distributed ledger) ์ด๋ผ ๋งํ ์ ์๋ค.
3. ๋ธ๋ก์ฒด์ธ ๋ฐ ์ํธํํ์ ์๋ฆฌ
- ๋ธ๋ก์ฒด์ธ์ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ผ๋ก ์ํธ๊ธฐ์ ์ ์ด์ฉํ์ฌ ์ค๊ณํ ๋ธ๋ก(Block)์ ๋ค์ํ ์ ๋ณด๋ฅผ ๋ด์ ์ฒด์ธ(Chain)์ฒ๋ผ ์ฐ๊ฒฐํ ๊ฒ์ ๋งํ๊ณ , ๋นํธ์ฝ์ธ์ ์ด๋ฅผ ์ค์ ์ ์ฉํ์ฌ ๊ตฌํํ ๋ํ์ ์ฌ๋ก
- ๋นํธ์ฝ์ธ์ ์์ ํ ํด์ ์๊ณ ๋ฆฌ์ฆ(SHA) ์ค์ ํ๋์ธ SHA256 ์ํธ๋ฐฉ์์ผ๋ก ๋ค์์ ์ฐธ์ฌ์(NODE)๊ฐ ์์
์ฆ๋ช
(Proof of Work)์ ํตํด ๋ธ๋ก์ฒด์ธ์ ๋ง๋ ๊ฒ์ผ๋ก ์ด๋ฅผ ์ํธํํ(BTC)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ์์ ์ฆ๋ช : SHA256 ์๊ณ ๋ฆฌ์ฆ์์ ํน์ ๋ชฉํ๊ฐ๋ณด๋ค ์์ ํด์๊ฐ์ ๊ตฌํ๋ ์์ (๊ณ์ฐ)์ ์ฐธ์ฌํ๊ณ ์๊ฒฐ(์ฆ๋ช )ํ๋ ํ์๋ฅผ ์๋ฏธ
4. SHA256 ํด์ ์ํธํ์ ์์ฑ
SHA256์ ํญ์ ์์์ ์ ๋ ฅ ๊ฐ์ ๋งค์นญ๋๋ ๊ณ ์ ๋ ์ถ๋ ฅ ๊ฐ(16์ง์, 64์๋ฆฌ)์ ๊ฐ๊ณ ์ํธํ๋๋ฉฐ, ๋ฐ๋์ ์ถ๋ ฅ ๊ฐ์ผ๋ก ์ ๋ ฅ ๊ฐ์ ์ฐพ๋ ๋ณตํธํ๊ฐ ๋ถ๊ฐ๋ฅํ ๋จ๋ฐฉํฅ ํน์ง์ผ๋ก ์์ ์ฆ๋ช (PoW)์ ํ์ฉ
5. ๋ธ๋ก์ฒด์ธ์ ๋ธ๋ก ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ
๋ธ๋ก๊ตฌ์กฐ
๋ธ๋ก์ฒด์ธ์ ํค๋(header)์ ๋ฐ๋(body) ๋ก ๊ตฌ๋ถ๋๋ฉฐ, ๋ธ๋ก ํค๋์๋ ํด์(Hash)์ Version, Previous Gash, Merkle hash, Timestamp, Bits, Nonce ๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ๋ธ๋ก ๋ฐ๋์๋ ์ฌ๋ฌ๊ฐ์ ๊ฑฐ๋(Transaction)์ ๊ธฐํ ์ ๋ณด๋ก ๊ตฌ์ฑ๋์ด ์ํธํ์ ๋ฐฉ์์ผ๋ก ์ฐ๊ฒฐ
6. ๋ธ๋ก์ฒด์ธ ๊ฐ์ธํค/๊ณต๊ฐํค, ์ง๊ฐ ์์ฑ(์์)
7. ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๊ตฌ์กฐ ๋ฐ ํน์ฑ
๊ธฐ์ ๊ตฌ์กฐ : ๋ธ๋ก์ฒด์ธ์ P2P ๋คํธ์ํฌ์์ ์ผ์ ์๊ฐ๋ง๋ค ์๋ก์ด ๊ฑฐ๋ ๋ด์ญ์ ๋ด์ ์ ๊ท ๋ธ๋ก(block)์ด ํ์ฑ๋์ด ๊ธฐ์กด ๋ธ๋ก์ ๊ณ์ ์ฐ๊ฒฐ(chain)๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ์์ฒ์ ์ผ๋ก ์ด์ค์ง๋ถ(double spending) ๋ฐฉ์ง ๋ฐ ์ด์ฒด ๋ถ๊ฐ์ญ์ฑ(irreversibility)'
8. ๋ธ๋ก์ฒด์ธ ๊ฑฐ๋ : Transaction & UTXO
๋ธ๋ก์ฒด์ธ์์ ๊ฑฐ๋(Transaction)๋ ํน์ ์ ๋ณด์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋งํ๋ฉฐ, ์ฃผ์๋ฅผ ํตํด ์ด๋ํ๋ ํํ๋ก ๊ตฌ์ฑํ๊ณ , ๊ฐ๋ณ ๊ฑฐ๋๋ฅผ ๊ตฌ๋ณํ๊ธฐ ์ํด TXID(Transaction ID) ๋๋ TxHash๋ฅผ ๋ถ์ฌํ์ฌ ๊ฑฐ๋์ ๋ฐํ๋๋ ํด์๊ฐ์ ํตํด ์ก์์ ์ฃผ์, ์๋, ์ปจํ, ์๊ฐ ๋ฑ์ ํ์ธํ ์ ์๋ค.
- UTXO(Unspent Transaction Output)๋ ์์ ์๊ฒ ๋ณด๋ด์ง ๊ฑฐ๋ ์ถ๋ ฅ ์ค์ ์์ง ๋ค๋ฅธ ์ฌ๋์๊ฒ ์ ์ก๋์ง ์์ ๋ฏธ์ฌ์ฉ(Unspent) ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋งํ๋ฉฐ, ๋ธ๋ก์ฒด์ธ ์ง๊ฐ ์ฃผ์์์ ์์ก ๊ฐ๋ ์ ์๋ฏธํ๋ค.