์ƒˆ์†Œ์‹

IT & Security/Block Chain

๋ธ”๋ก์ฒด์ธ ๋™์ž‘๊ฐœ์š” & ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ ์ข…๋ฅ˜ ๋ฐ ํŠน์ง•

  • -
๋ฐ˜์‘ํ˜•

ํ•ด๋‹น ํฌ์ŠคํŒ…์€ "๋ธ”๋ก์ฒด์ธ์˜ ๋™์ž‘ ๊ฐœ์š” ๋ฐ ๋…ธ๋“œ ์ข…๋ฅ˜"์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

 

* ์˜ค๋ฅธ์ชฝ ๋ชฉ์ฐจ๋ฅผ ํ†ตํ•ด ์กฐ๊ธˆ ๋” ๊ฐ€์‹œ์ ์ธ ์š”์•ฝ๋‚ด์šฉ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

* ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ฐธ๊ณ  ์ž๋ฃŒ & ๊ด€๋ จ ์ž๋ฃŒ๋Š” ๋งจ ๋ ํ•˜๋‹จ์— ์ฒจ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ™์ด ํ™•์ธํ•ด๋ณด์‹œ๊ณ  ์ข‹์€ ๋‚ด์šฉ์„ ๊ณต์œ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„์š” :)

 

# ์ฒจ๋ถ€์ž๋ฃŒ์— ์—†๋Š” ๊ทธ๋ฆผ ๋ฐ ํ‘œ์˜ ๊ฒฝ์šฐ ์ž์ฒด์ ์œผ๋กœ ์„ค๋ช…์„ ์œ„ํ•ด ์ œ์ž‘ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค #

 


1. ๋ธ”๋ก์ฒด์ธ ๋™์ž‘(๊ฐœ์š”)

Bit, Eth์€ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๊ฐ™์€ ์—ญํ• ์„ ๊ฐ€์ง€๊ณ  ๋™๋“ฑํ•œ ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— Pure P2P๋กœ ๋ถ„๋ฅ˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€์— ์ œ์•ฝ๋„ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋น„ ๊ตฌ์กฐํ™” ์˜ค๋ฒ„๋ ˆ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค๋ฅธ ์˜ˆ๋กœ Hyperledger Fabric(๋ถ„์‚ฐ์›์žฅ ํ”Œ๋žซํผ) ์˜ ๊ฒฝ์šฐ ๋…ธ๋“œ์— ๋”ฐ๋ผ ์—ญํ• ์ด ๋‹ค๋ฅด๋‹ค๋Š” ์ ์—์„œ ์Šˆํผ ๋…ธ๋“œ์˜ ๊ฐœ๋…์„ ๋„์ž…ํ•œ
๋น„ ๊ตฌ์กฐํ™” ์˜ค๋ฒ„๋ ˆ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ์ „์šฉ ๋ฉค๋ฒ„์‹ญ ์„œ๋ฒ„๋ฅผ ๊ฐ€์ง€๊ธฐ ์žˆ๋‹ค๋Š” ์ ์—์„œ Hybrid P2P ๋ผ๊ณ ๋„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

1-1. ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ

๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ๋„(๋…ธ๋“œ์˜ ์ข…๋ฅ˜)

์ด๋ก ์ ์œผ๋กœ ๋ธ”๋ก์ฒด์ธ์— ๊ธฐ๋ก๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ(์›์žฅ: Ledger)๋Š” ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋“ค์— ๋ชจ๋‘ ์ €์žฅ๋˜๋Š” ๊ตฌ์กฐ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ ์ฐธ์—ฌ์ž๋“ค์˜ ๋ชจ๋“  ์ปดํ“จํ„ฐ(๋…ธ๋“œ)์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์€ ํ˜„์‹ค์ ์œผ๋กœ ์‰ฝ์ง€ ์•Š๋‹ค. ๋•Œ๋ฌธ์— ๋…ธ๋“œ๋„ ๊ฐ ํŠน์„ฑ์— ๋งž๊ฒŒ ๊ธฐ๋Šฅ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.

ํ’€๋…ธ๋“œ(full Node)์™€ ๋ผ์ดํŠธ๋…ธ๋“œ(light Node)๋ฅผ ์‹œ์ž‘์œผ๋กœ ๋ธ”๋ก์ฒด์ธ์ด ๋ฐœ์ „ํ•ด๊ฐ€๋ฉฐ ๊ฐ ๋ธ”๋ก์ฒด์ธ ์‹œ์Šคํ…œ์— ๋งž๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋…ธ๋“œ๋“ค๋„ ์ƒ๊ฒจ๋‚ฌ๋‹ค. ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๊ฐ„๋žตํžˆ ๋…ธ๋“œ์˜ ์ข…๋ฅ˜๋“ค์„ ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

1-2. ๋ธ”๋ก์ฒด์ธ ๋…ธ๋“œ์˜ ์ข…๋ฅ˜์™€ ํŠน์ง•

ํ’€๋…ธ๋“œ(Frull node)

๋ธ”๋ก์ฒด์ธ์—์„œ ์ด๋ค„์ง„ ๋ชจ๋“  ๊ฑฐ๋ž˜(์›์žฅ) ์ •๋ณด๋ฅผ ๋ณด์œ ํ•œ ๋…ธ๋“œ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์—์„œ ์ตœ์ดˆ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ œ๋„ค์‹œ์Šค ๋ธ”๋ก(Genesis Block)๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ธ”๋ก๊นŒ์ง€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.
์Šค์Šค๋กœ ๋ณธ์ธ์˜ ๊ฑฐ๋ž˜๋ฅผ ๊ฒ€์ฆํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค ๋ณด๋‹ˆ ๋งŽ์€ ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•œ ๊ฒƒ์ด ๋‹จ์ ์ด๋‹ค.

 

๋ผ์ดํŠธ๋…ธ๋“œ(light node)

๋ธ”๋ก์ฒด์ธ์˜ ๋ฐ์ดํ„ฐ ์ผ๋ถ€(์ฃผ๋กœ ๋ธ”๋กํ—ค๋”์˜ ์ค‘์š” ๋ฐ์ดํ„ฐ)๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋…ธ๋“œ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ผ์ดํŠธ๋…ธ๋“œ๋Š” ๊ฑฐ๋ž˜๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์Šค์Šค๋กœ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋•Œ๋ฌธ์— ํ’€๋…ธ๋“œ์— ๊ฑฐ๋ž˜ ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜์—ฌ ๊ฐœ๋ณ„ ๊ฒ€์ฆ์„ ์ง„ํ–‰ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ถ€๋งŒ ๋ณด์œ ํ•˜๊ณ  ์žˆ์–ด ์ €์žฅ ๊ณต๊ฐ„์ด ๋งŽ์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ํ™•์ธํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

์ฑ„๊ตด๋…ธ๋“œ(mining node)

์ฑ„๊ตด ๋งŒ์„ ์œ„ํ•œ ๋…ธ๋“œ์ด๋‹ค. ์ด ๋…ธ๋“œ๋Š” PoW ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ ๋ธ”๋ก์ฒด์ธ์—์„œ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์ฑ„๊ตด์ด๋ž€ ๋ฐฉ์‹์ด ํผ์ฆ์„ ํ‘ธ๋Š”(Next Hash ๊ฐ’์„ ์ฐพ๋Š” ์ผ) ์ž‘์—…์ฆ๋ช…(PoW : Proof of Work) ๋ฐฉ์‹์—์„œ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฑ„๊ตด๋…ธ๋“œ๋Š” ์ปดํ“จํŒ… ํŒŒ์›Œ ์ž์›์„ ๊ณต์œ ํ•ด ์ฑ„๊ตด์— ์ฐธ์—ฌํ•˜๊ฑฐ๋‚˜ ์ŠคํŠธ๋ผํ…€ ํ”„๋กœํ† ์ฝœ(Stratum Protocol) ๋ฐ ๊ฒฝ๋Ÿ‰์ง€๊ฐ‘(light weight wallet)๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์Šˆํผ๋…ธ๋“œ(super node)

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

 

๋งˆ์Šคํ„ฐ๋…ธ๋“œ(master node)

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

 

๋žœ๋ค๋…ธ๋“œ(random node)

์ด์ค‘์œ„์ž„์ง€๋ถ„์ฆ๋ช…(DDPoS) ๋ฐฉ์‹์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ ์ „์ฒด ๋ธ”๋ก์ฒด์ธ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ๊ฐœ๋ฐœ๋œ ๋…ธ๋“œ์ด๋‹ค.
์ž„์˜๋กœ ์„ ํƒ๋œ ๋žœ๋ค๋…ธ๋“œ๊ฐ€ ๋ฌด์ž‘์œ„ ์ˆœ์„œ์— ๋”ฐ๋ผ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค. ๊ธฐ์กด ์œ„์ž„์ง€๋ถ„๋ฐฉ์‹์—์„œ ํ•œ ๋‹จ๊ณ„ ๊ฒ€์ฆ ์ ˆ์ฐจ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์ด ์ด์ค‘์œ„์ž„์ง€๋ถ„์ฆ๋ช…(DDPoS) ๋ฐฉ์‹์ด๋‹ค.

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

 

1-3. P2P ๋„คํŠธ์›Œํฌ์— ๋”ฐ๋ฅธ ๋ธ”๋ก์ฒด์ธ์˜ ๋™์ž‘ ๊ฐœ์š” 

Bitcoin Core์™€ ์ด๋”๋ฆฌ์›€๊ณผ ๊ฐ™์€ ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— Pow์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ์„ ์˜ˆ์‹œ๋กœ ๊ตฌ์„ฑํ•จ.

Pow(์ž‘์—…์ฆ๋ช…๋ฐฉ์‹)์„ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋ก์ฒด์ธ ๋™์ž‘๊ณผ์ •

 

์ฑ„๊ตด์ž(Miner)์— ๋™์ž‘ ๊ฐœ์š”

Peer_Y๋Š” ์ฑ„๊ตด ๋…ธ๋“œ์ด๋‹ค. ํ•ด๋‹น ๋…ธ๋“œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ’€(Pool)์— ํŠธ๋žœ์žญ์…˜์„ ์ €์žฅํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ํ’€์„ ํ•ด์‹œํ™”ํ•œ๋‹ค.

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

 

๊ฒฐ๊ตญ ๋ชจ๋“  ๊ฑฐ๋ž˜๋ฅผ ํ™•์ธํ•˜์—ฌ, ์ด ๊ฑฐ๋ž˜ ๋‚ด์—ญ๋“ค์ด ์ •์ƒ์ ์ธ ๊ฑฐ๋ž˜์ž„์„ ์ฆ๋ช…ํ•˜๋Š” ์ผ(Work)์„ ํ•œ ๊ฒƒ์ด๋ฏ€๋กœ, ๊ณตํ—Œ์— ์˜๋ฏธ๋กœ ์ฝ”์ธ(๋ณด์ƒ)์„ ์ฆ์—ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์กฐ๊ฑด์— ๋งž๋Š”(๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ์ฆ๋ช…ํ•˜๋Š”)ํ•ด์‹œ ๊ฐ’์„ ๋ฐœ๊ฒฌํ•˜์˜€๋‹ค๋ฉด Next ๋ธ”๋ก์„ ์ถ”๊ฐ€ํ•˜๊ณ , ์ดํ›„ P2P๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์— ๊ทธ ๊ธฐ๋ก์„ Broad Castํ•œ๋‹ค. ์ดํ›„ ๊ฐ๊ฐ์˜ ๋…ธ๋“œ๋Š” ๊ฐ’์— ๋Œ€ํ•œ ๊ฒ€์ฆ์„ ๊ฑฐ์ณ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด ๋ธ”๋ก์„ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.

 

 

์ฑ„๊ตด(Mining) ์ด๋ž€?

๋งˆ์ด๋‹(mining) : ์•”ํ˜ธํ™”ํ ์œ ์ง€๋ฅผ ์œ„ํ•ด ๊ฑฐ๋ž˜๋‚ด์—ญ์„ ๊ธฐ๋กํ•˜๋Š” ์žฅ๋ถ€ ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ๋ณด์ƒ์„ ์ง€๊ธ‰ํ•˜๋Š” ์›๋ฆฌ

 

1-4. P2P ๋„คํŠธ์›Œํฌ์—์„œ ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ์—ฐ๊ณ„

์•Œ์•„๋‘๋ฉด ์ข‹์„ ์ง€์‹
์ฒ˜์Œ ๋ธ”๋ก์ฒด์ธ ๋„คํŠธ์›Œํฌ์— ์ฐธ์—ฌํ•˜๋Š” ์ฐธ์—ฌ์ž(๋…ธ๋“œ)๋Š” ๊ธฐ์กด์— ์ •๋ณด๋‚˜ ๋ธ”๋ก์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๋…ธ๋“œ(๊ธฐ์กด์˜ ๋…ธ๋“œ)์™€ ์—ฐ๊ณ„ํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ฐ›์•„์™€์•ผ ํ•œ๋‹ค.

๋„คํŠธ์›Œํฌ ์—ฐ๊ณ„ ๊ณผ์ •

์ข…๋ฅ˜ ๋ฐฉ์‹
Hyperledger Fabric ๊ธฐ๋™ ์‹œ ์ง€์ •ํ•œ ์‹œ์ž‘์ ์ด ๋˜๋Š” ๋…ธ๋“œ(CORE_PEER_DISCOVERY_ROOTNODE)์— ๋Œ€ํ•œ ๋””์Šค์ปค๋ฒ„๋ฆฌ ํ”„๋กœํ† ์ฝœ์„ ๋ฐœํ–‰ํ•ด์„œ ์ฐธ๊ฐ€์ž ๋ชฉ๋ก์„ ๋ฐ›์•„์˜จ๋‹ค. ๊ทธ ํ›„์˜ ๋™์ž‘์€ ํ•ด๋‹น ๋…ธ๋“œ๊ฐ€ validating peer, non-validating peer ๋“ฑ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง„๋‹ค.

validating peer์˜ ๊ฒฝ์šฐ ์ •๋ณด๋ฅผ ์ „ํŒŒํ•˜๊ธฐ ์œ„ํ•ด ์ž์‹ ์„ ์ œ์™ธํ•œ ๋ชจ๋“  validating peer์™€ Meshํ˜•ํƒœ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค. ๋ฐ˜๋ฉด non-validating peer๋Š” ์—ฐ๊ฒฐ์ด ํ—ˆ์šฉ๋œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด validating peer์™€ ์—ฐ๊ฒฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
Bitcoin Core 1. DNS(์˜ˆ๋ฅผ ๋“ค์–ด bitseed.xf2.org)๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰
2. ํด๋ผ์ด์–ธํŠธ ์†Œํ”„ํŠธ์›จ์–ด์— ์‚ฌ์ „์— ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ค€ ์˜๊ตฌ ๋…ธ๋“œ ๋ชฉ๋ก ์ฐธ์กฐ
3. ๋ช…๋ น์ค„์—์„œ ์ง€์ •ํ•œ IP ์ฃผ์†Œ ์ˆœ์„œ๋Œ€๋กœ ๋„คํŠธ์›Œํฌ์˜ ๋…ธ๋“œ ๋ชฉ๋ก์„ ์ทจ๋“ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•œ๋‹ค.

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

 

1-5. ๋ฐ์ดํ„ฐ(Block) ์†ก์ˆ˜์‹ 

์ข…๋ฅ˜ ๋ฐฉ์‹
Hyperledger Fabric - ๋…ธ๋“œ ๊ฐ„ ํ†ต์‹ ์— gRPC๋ฅผ ์ด์šฉํ•˜์—ฌ ์–‘๋ฐฉํ–ฅ ์ŠคํŠธ๋ฆผ ๊ธฐ๋ฐ˜ ๋ฉ”์‹œ์ง•์„
   ํ•  ์ˆ˜ ์žˆ๋‹ค.

- ์ง๋ ฌํ™” ๋œ Protocol Buffers๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค. gRPC์™€ Protocol
   Buffers๋Š” ๋ชจ๋‘ ๊ตฌ๊ธ€์—์„œ ๊ฐœ๋ฐœํ•œ ๊ธฐ์ˆ ์ด๋‹ค.

Bitcoin Core - ์ •๋ณด ๋ณธ์ฒด๋ฅผ ์†ก ยท ์ˆ˜์‹ ํ•  ๋•Œ ๊ทธ ํ•ด์‹œ๊ฐ’์„ inv ๋ฉ”์‹œ์ง€๋กœ ์ƒ๋Œ€๋ฐฉ์—๊ฒŒ
   ๋ณด๋‚ด์ค€๋‹ค.

- ์ •๋ณด๋ฅผ ์†ก ยท ์ˆ˜์‹ ํ•ด์•ผ ํ•  ๋•Œ๋Š” getdata ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด ์ •๋ณด์˜ ๋ณธ์ฒด๋ฅผ
   ์š”๊ตฌํ•˜๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ P2P ๋„คํŠธ์›Œํฌ๋ฅผ ํ๋ฅด๋Š”
   ๋ฐ์ดํ„ฐ ์–‘์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
์ด๋”๋ฆฌ์›€ - ๋ธ”๋ก์ฒด์ธ์˜ ๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ๊ทธ ํ•ด์‹œ๋ฅผ ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๊ณต์œ ํ•˜๋Š”
   ๊ณต๊ฐ„์— ์ฒด์ธ์œผ๋กœ ์ง€์ •ํ•ด '์›Œํฌ ํ’€'๋กœ ์ด์šฉํ•œ๋‹ค.

- ์ด๋ฅผ ํ†ตํ•ด ์ž๊ธฐ ๋…ธ๋“œ์—๊ฒŒ ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ณ , ํ•ด์‹œ๋ฅผ ์ด์šฉํ•˜์—ฌ
   ๋ธ”๋ก์„ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ํš๋“ํ•œ๋‹ค.

 

------------------------------

2. ์ฐธ๊ณ  ์ž๋ฃŒ

๋น„ํŠธ์ฝ”์ธ ์ฑ„๊ตด์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

๋…ธ๋“œ์˜ ์ข…๋ฅ˜์™€ ํŠน์ง• - ์—…๋น„ํŠธ ํˆฌ์ž์ž๋ณดํ˜ธ์„ผํ„ฐ

Protocol documentation - Bitcoin Wiki

P2P Networking

Bitcoin's P2P Network

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.