๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€/๋ธ”๋ก์ฒด์ธ

[๋ธ”๋ก์ฒด์ธ] 4. ํŠธ๋žœ์ ์…˜๊ณผ ๋„คํŠธ์›Œํฌ : Blockchain Transaction & Network

 

๋ชฉ์ฐจ : ๋„คํŠธ์›Œํฌ ๊ฐœ์š” / ๋น„ํŠธ์ฝ”์ธ์˜ ํŠธ๋žœ์ ์…˜ / ๋น„ํŠธ์ฝ”์ธ์˜ ๋„คํŠธ์›Œํฌ

 

๋„คํŠธ์›Œํฌ ๊ฐœ์š”

- Client-Server

๋‹จ์ผ ์ค‘์•™์„œ๋ฒ„, ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์— ์„œ๋ฒ„๊ฐ€ ์‘๋‹ต, ๋ณ‘๋ชฉ ํ˜„์ƒ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ

๊ตฌํ˜„๋น„์šฉ ๋น„์‹ธ์ง€๋งŒ, ์•ˆ์ •์ ์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅ

 

- P2P Network

๋„คํŠธ์›Œํฌ์˜ ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋กœ ๋ฐ์ดํ„ฐ ๊ณต์œ 

๊ฐ ๋…ธ๋“œ๊ฐ€ ์ž์ฒด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๋ฉฐ, ๊ตฌํ˜„ ๋น„์šฉ์€ ์ €๋ ดํ•˜์ง€๋งŒ ๋…ธ๋“œ ์ˆ˜ ์ฆ๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์ฆ๊ฐ€

 

- ๊ธˆ์œต ๋„คํŠธ์›Œํฌ์˜ ํ•„์ˆ˜ ์š”์†Œ

1. ๊ฑฐ๋ž˜ ์ฒ˜๋ฆฌ ๋Œ€๋ฆฌ์ธ

2. ์ด์ค‘์ง€๋ถˆ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒ€์ฆ์ž

3. ๊ฑฐ๋ž˜๋‚ด์—ญ ์ €์žฅํ•˜๋Š” DB

4. ๋Œ€๋ฆฌ์ธ๊ณผ ๊ฒ€์ฆ์ž์— ๋Œ€ํ•œ ์‹ ๋ขฐ

 

- ์ค‘์•™ ์„œ๋ฒ„๊ฐ€ ์—†๋Š” ๋ธ”๋ก์ฒด์ธ์—์„œ๋Š”?

 

- ๋น„์ž”ํ‹ด ์žฅ๊ตฐ ๋ฌธ์ œ (BFT : Byzantine Fault Tolerance)

 

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

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

์ด๋Ÿฌํ•œ ์ฐธ์‚ฌ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์žฅ๊ตฐ๋“ค์€ ๋ฐฐ์‹ ์ž๋ฅผ ์ฐพ์•„๋‚ด๊ฑฐ๋‚˜, ๋ฐฐ์‹ ์ž๋ผ๋ฉด ์•Œ ์ˆ˜ ์—†๋Š” ์•”ํ˜ธ๋ฅผ ํ†ตํ•ด ์ „๋ น์„ ๋ณด๋‚ด๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ์žฅ๊ตฐ๋“ค์—๊ฒŒ ํ•œ๊บผ๋ฒˆ์— ์ „๋ น์„ ๋ณด๋‚ด ๋ช…๋ น์„ ๋Œ€์กฐํ•ด๋ณด๋Š” ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ๋งŒ ํ•œ๋‹ค.

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

 

๋น„ํŠธ์ฝ”์ธ์˜ ํŠธ๋žœ์ ์…˜

UTXO : Unspent Transaction Output

- ์ž”๊ณ  = ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŠธ๋žœ์ ์…˜ output

- UTXO์˜ ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•จ์œผ๋กœ์จ ์ž์‚ฐ์˜ ์•ˆ์ „์„ฑ ํ™•์ธ

 

Transaction

- B๊ฐ€ C์—๊ฒŒ ๋น„ํŠธ์ฝ”์ธ์„ ์ „์†กํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

1. B๋Š” ์šฐ์„  ์ด์ „์— A์—๊ฒŒ ๋ฐ›์•˜๋˜ ์ž”์•ก ๊ธฐ๋ก์˜ ์œ„์น˜(UTXO)๋ฅผ ์ฐพ๋Š”๋‹ค.

2. ์ด Output-b์€ A๊ฐ€ B์˜ ๊ณต๊ฐœํ‚ค๋กœ ์ž ๊ถˆ๋†จ๊ณ , B์˜ ๊ฐœ์ธํ‚ค๋กœ ํ•ด์ œํ•  ์ˆ˜ ์žˆ๋‹ค.(์ „์ž์„œ๋ช…)

3. B๋Š” C์˜ ์ฃผ์†Œ์ •๋ณด์™€ ์†ก๊ธˆํ•  ๊ธˆ์•ก์„ ๊ธฐ๋กํ•œ๋‹ค.

4. ๊ทธ๋ฆฌ๊ณ  C์˜ ๊ณต๊ฐœํ‚ค ํ•ด์‹œ๋กœ ์ž ๊ธˆํ•œ๋‹ค.

5. ์ด์ œ Output-b๋Š” ๋”์ด์ƒ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅ

 

- ๋ธ”๋ก์ฒด์ธ์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜๋“ค๋„ chaind์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, Coinbase๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๊ฑฐ๋ž˜ ๋‚ด์—ญ์„ ์ถ”์  ๊ฐ€๋Šฅํ•˜๋‹ค.

- ์–ด๋Š UTXO๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ด์ค‘์ง€๋ถˆ์ด ๋ฐฉ์ง€๋จ

 

Transaction ๊ตฌ์กฐ

 

- ์ž…๋ ฅ๋ถ€ : ์†ก์‹ ์ž์˜ UTXO ํฌ์ธํ„ฐ์™€ ์ „์ž์„œ๋ช… ๋“ฑ

Version, Input Count, Previous Output, Output Index, Script Length, Script Sig

 

- ์ถœ๋ ฅ๋ถ€ : ์ˆ˜์‹ ์ž์˜ ๊ณต๊ฐœํ‚ค ํ•ด์‹œ์™€ ์†ก๊ธˆ ๊ธˆ์•ก ๋“ฑ

Sequence, Output Count, Value, Script Length, Script PubKey, Lock Time

 

 

Transaction ์ˆ˜์ˆ˜๋ฃŒ (Fee)

์ „์ฒด input - ์ „์ฒด output = ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ˆ˜๋ฃŒ

 

- ์ฑ„๊ตด์ž๋“ค์€ ์ ์€ ์šฉ๋Ÿ‰ & ๋†’์€ ์ˆ˜์ˆ˜๋ฃŒ ์„ ํ˜ธ

 

Coinbase Transaction

- ์ฑ„๊ตด์ž๊ฐ€ ์„ฑ๊ณตํ•  ๋•Œ ๋ฐ›๋Š” ๊ธฐ๋ณธ ์ˆ˜์ˆ˜๋ฃŒ๋Š” ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ๊ฑฐ๋ž˜๋กœ ๋ธ”๋ก์— ํฌํ•จ๋จ.

- ์ฝ”์ธ๋ฒ ์ด์Šค ํŠธ๋žœ์ ์…˜ ํŠน์ง•

1. ์ฑ„๊ตด ๊ธฐ๋ณธ ๋ณด์ƒ ์ˆ˜์ˆ˜๋ฃŒ์™€ ์ฑ„๊ตดํ•œ ๋ธ”๋ก์— ํฌํ•จ๋œ ๊ฑฐ๋ž˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ํฌํ•จํ•˜์—ฌ ์ฑ„๊ตด์ž์—๊ฒŒ ์ „์†ก

2. ํŠธ๋žœ์žญ์…˜ ์ˆ˜์ˆ˜๋ฃŒ๊ฐ€ ์—†์Œ

3. ์†ก์‹ ์ž์˜ ์ฃผ์†Œ๊ฐ€ ์—†์Œ (์ถ”์  ๋ถˆ๊ฐ€๋Šฅ)

 

 

๋น„ํŠธ์ฝ”์ธ์˜ ๋„คํŠธ์›Œํฌ

(Tx)

- B๋Š” C์—๊ฒŒ 3BTC๋ฅผ ์ „์†กํ•˜๋Š” ํŠธ๋žœ์ ์…˜์„ ์ƒ์„ฑํ–ˆ๋‹ค.

1. B๋Š” ์ƒ์„ฑํ•œ ํŠธ๋žœ์žญ์…˜ Tb๋ฅผ ์ธ๊ทผ ๋…ธ๋“œ๋“ค์— ์ „์†ก

2. ๋…ธ๋“œ๋“ค์€ Tb๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ๋‹ค์‹œ ์ธ๊ทผ ๋…ธ๋“œ์— ์ „ํŒŒ (Transaction Relay)

3. ์ „ํŒŒ ๊ณผ์ •์„ ํ†ตํ•ด Tb๊ฐ€ ํ’€ ๋…ธ๋“œ์— ๋„์ฐฉ

4. ํ’€ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ์˜ ๋ธ”๋ก์ฒด์ธ ๋ฐ์ดํ„ฐ์—์„œ ํ•ด๋‹น ํŠธ๋žœ์žญ์…˜์ด ๊ฐ€๋ฆฌํ‚ค๋Š” UTXO๋ฅผ ํ™•์ธ

 

- 4๋ฒˆ ๊ณผ์ •์—์„œ ๊ฒ€์ฆ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ™œ์šฉํ•จ

- ๊ฒ€์ฆ ์Šคํฌ๋ฆฝํŠธ : OP์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ (Operation code)

Stack์„ ํ†ตํ•ด ์‹คํ–‰

๋ณด์•ˆ์ƒ ๋ฐ˜๋ชฉ๋ฌธ์€ ์—†์Œ

 

๋น„ํŠธ์ฝ”์ธ OP ์ฝ”๋“œ ์ค‘ OP_DUP์—์„œ OP_CHECKSIG๊นŒ์ง€์˜ ๊ณผ์ •์€ ๋น„ํŠธ์ฝ”์ธ ๊ฑฐ๋ž˜ ํ™•์ธ ์ค‘์— ์ˆ˜ํ–‰๋˜๋Š” ์ผ๋ จ์˜ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

OP_DUP - ์ƒ์œ„ ์Šคํƒ ํ•ญ๋ชฉ ๋ณต์ œ
OP_DUP opcode๋Š” ์Šคํƒ์˜ ๋งจ ์œ„ ํ•ญ๋ชฉ์„ ๋ณต์ œํ•˜์—ฌ ์Šคํƒ์— ๋ฐ€์–ด๋„ฃ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ช… ํ™•์ธ ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉ๋  ๊ณต์šฉ ํ‚ค ํ•ด์‹œ์˜ ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

OP_HASH160 - ์ƒ๋‹จ ์Šคํƒ ํ•ญ๋ชฉ ํ•ด์‹œ
OP_HASH160 opcode๋Š” SHA-256 ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ RIPEMD-160 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํƒ์˜ ์ตœ์ƒ์œ„ ํ•ญ๋ชฉ์„ ํ•ด์‹œํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต๊ฐœ ํ‚ค๋ฅผ ๋ธ”๋ก ์ฒด์ธ์— ์ €์žฅํ•˜๊ธฐ์— ๋” ์งง๊ณ  ํšจ์œจ์ ์ธ ํ•ด์‹œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

OP_EQUALVERIFY - ์ƒ์œ„ ๋‘ ์Šคํƒ ํ•ญ๋ชฉ ๋น„๊ต ๋ฐ ์ œ๊ฑฐ
OP_EQUALVERIF opcode๋Š” ์Šคํƒ์˜ ์ƒ์œ„ ๋‘ ํ•ญ๋ชฉ์„ ๋น„๊ตํ•˜๊ณ  ๋™์ผํ•œ ๊ฒฝ์šฐ ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณต์šฉ ํ‚ค ํ•ด์‹œ๊ฐ€ ์ด์ „ ํŠธ๋žœ์žญ์…˜์˜ ์ถœ๋ ฅ ์Šคํฌ๋ฆฝํŠธ์— ์ €์žฅ๋œ ํ•ด์‹œ์™€ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

OP_CHECKSIG - ๊ณต๊ฐœ ํ‚ค์— ๋Œ€ํ•œ ์„œ๋ช… ํ™•์ธ
OP_CHECKSIGopcode๋Š” ํŠธ๋žœ์žญ์…˜ ์ž…๋ ฅ ์Šคํฌ๋ฆฝํŠธ์— ์ œ๊ณต๋œ ์„œ๋ช…์ด ์ด์ „์— ํ•ด์‹œ๋œ ๊ณต์šฉ ํ‚ค์— ๋Œ€ํ•ด ์œ ํšจํ•œ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํŠธ๋žœ์žญ์…˜ ์ž…๋ ฅ์ด ๊ณต์šฉ ํ‚ค ํ•ด์‹œ์™€ ์—ฐ๊ฒฐ๋œ ๊ฐœ์ธ ํ‚ค์˜ ์†Œ์œ ์ž์— ์˜ํ•ด ์ธ์ฆ๋˜๋„๋ก ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

5. ํ’€ ๋…ธ๋“œ์— ์˜ํ•ด ๊ฒ€์ฆ๋œ Tb๋Š” ์ด๋ฅผ ์ „ํŒŒํ•˜๊ณ , ์ด๋ฅผ ๋ฐ›์€ ๋งˆ์ด๋„ˆ ๋…ธ๋“œ๋„ ์œ ํšจ์„ฑ ๊ฒ€์ฆ

6. ๊ฒ€์ฆ๋˜๋ฉด ๋‹ค๋ฅธ Tx๋“ค๊ณผ ํ•ฉ์ณ ์ƒˆ ๋ธ”๋ก ์ƒ์„ฑ

7. ์ƒ์„ฑ๋œ ์ƒˆ ๋ธ”๋ก์„ ํ’€ ๋…ธ๋“œ๋“ค์— ์ „ํŒŒ

8. Tb ๊ฑฐ๋ž˜ ์™„๋ฃŒ

9. ์ดํ›„ ๋ธ”๋ก์ด 6๊ฐœ ๋” ์ถ”๊ฐ€๋˜๋ฉด, ์™„์ „ ์Šน์ธ์œผ๋กœ ํŒ๋‹จ

 

 

- ํ’€ ๋…ธ๋“œ๋Š” Tx ์ˆ˜์‹  ์‹œ Tx์˜ input์ด ๊ฐ€๋ฆฌํ‚ค๋Š” output์ด UTXO์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋ณ„๋„์˜ DB(UTXO set) ๊ด€๋ฆฌ

- ๋”ฐ๋ผ์„œ ํ’€ ๋…ธ๋“œ๋Š” ๋น ๋ฅด๊ฒŒ Ta์˜ output์„ ์ฐพ์Œ

- Tb ์Šน์ธ ํ›„ Ta์˜ output์€ spent ์ƒํƒœ๊ฐ€ ๋จ (์ด์ค‘์ง€๋ถˆ ๋ฐฉ์ง€, ๋‚ด์šฉ์ด ๋ฐ”๋€Œ๋Š” ๊ฑด ์•„๋‹˜)

 

(Mining)

- ๋งˆ์ด๋„ˆ ๋…ธ๋“œ๋Š” Tx๋“ค์„ ๋ชจ์•„ ๋จธํด ๋ฃจํŠธ ๊ณ„์‚ฐ

๋ธ”๋ก์˜ ์ฒซ Tx๋Š” Coinbase Tx, Segwit ๋„์ž… ํ›„ ์ „์ž์„œ๋ช…์„ ๋ชจ์•„ Coinbase Tx์— ๊ธฐ๋ก

 

- Difficulty Target (Bits) : ์ฑ„๊ตด์˜ ์„ฑ๊ณต ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๋Š” ์ •๋ณด

๋ธ”๋กํ—ค๋” ํ•ด์‹œ๊ฐ’์˜ ์ƒํ•œ์„ (ํ—ค๋” ํ•ด์‹œ)์ด ํƒ€๊ฒŸ๊ฐ’๋ณด๋‹ค ์ž‘์•„์•ผ ์œ ํšจํ•œ ๋ธ”๋ก์œผ๋กœ ์ธ์ •

๋งˆ์ด๋„ˆ ๋…ธ๋“œ๋Š” ๋„Œ์Šค ๊ฐ’์„ ๋ฐ”๊ฟ”๊ฐ€๋ฉฐ ํ•ด์‹œ๊ฐ€ ํƒ€๊ฒŸ๋ณด๋‹ค ๋” ์ž‘์•„์ง€๋Š” ๋„Œ์Šค๋ฅผ ์ฐพ์Œ (์ž‘์—…์ฆ๋ช…)

 

- ๋ธ”๋ก ์ฑ„๊ตด ์‹œ, ๋„Œ์Šค ๊ฐ’์„ ์œ„ํ•ด ์ปดํ“จํ„ฐ ํŒŒ์›Œ๋ฅผ ์†Œ๋น„ํ•จ์œผ๋กœ์จ ๊ฑฐ๋ž˜ ์œ„๋ณ€์กฐ ๊ณต๊ฒฉ ๋ฐฉ์ง€

- ๋ธ”๋ก์˜ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ

- ์ „์ฒด Network hash์— ๋”ฐ๋ผ difficulty ๋น„๋ก€

 

 

- ๋งŒ์•ฝ ๊ฑฐ์˜ ๋™์‹œ์— ๋‘ ์ฑ„๊ตด์ž๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํšจ ๋ธ”๋ก์„ ์ƒ์„ฑํ•œ๋‹ค๋ฉด?

๋ธ”๋ก์ฒด์ธ์˜ ์ผ์‹œ์  ๋ถ„๊ธฐ ๋ฐœ์ƒ.

๊ฐ ์ฑ„๊ตด์ž๋Š” ์ž์‹ ์ด ์ƒ์„ฑํ•œ ๋ธ”๋ก์„ ์ธ๊ทผ ๋…ธ๋“œ์— ์ „ํŒŒ, ํ’€ ๋…ธ๋“œ๋Š” ๋จผ์ € ๋ฐ›์€ ๋ธ”๋ก์„ Main chain์— ์—ฐ๊ฒฐ

๋‹ค์Œ ์ƒ์„ฑ ๋ธ”๋ก์ด Parent๋กœ ์„ ํƒํ•˜๋Š” ๋ธ”๋ก์ด ์œ ํšจํ•œ ๊ฒƒ์œผ๋กœ ์ธ์ •.

 

์—ฐ๊ฒฐ๋˜์ง€ ๋ชปํ•œ ๋ธ”๋ก์€ ํ๊ธฐ๋จ -> ํฌํ•จ๋œ ํŠธ๋žœ์žญ์…˜๊ณผ ์ฑ„๊ตด ๋ณด์ƒ์€ ์ทจ์†Œ

- ์ทจ์†Œ๋œ ํŠธ๋žœ์žญ์…˜์€ ๋‹ค์Œ ๋ธ”๋ก ์ƒ์„ฑ ์‹œ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Œ

 

- ์ฑ„๊ตด์ž๋“ค์€ ์•ˆ์ „ํ•œ ๋ณด์ƒ์„ ์œ„ํ•ด ํ๊ธฐ ๊ฐ€๋Šฅ์„ฑ์ด ์ ์€ Longest Chain์„ ์„ ํƒ.

 

- ๋ถ€๋ชจ๊ฐ€ ์—†๋Š” ๊ณ ์•„ ๋ธ”๋ก์„ ์ „๋‹ฌ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ

์งง์€ ์‹œ๊ฐ„ ์•ˆ์— ์—ฐ๋‹ฌ์•„ ์ด์–ด์ง„ ๋ธ”๋ก์ด ์ƒ์„ฑ๋์„ ๋•Œ, ์ž„์‹œ์ €์žฅ์†Œ ๋ณด๊ด€ ํ›„ ๋ถ€๋ชจ๋ธ”๋ก์ด ๋„์ฐฉํ•˜๋ฉด ์ฒ˜๋ฆฌ

 

 

Hard Fork & Soft Fork

 

- ๊ฐœ๋ฐœ์ž๋“ค์ด ์†Œํ”„ํŠธ์›จ์–ด ๋ณ€๊ฒฝํ•  ๋•Œ ๋ธ”๋ก์ฒด์ธ์ด ๋ถ„๊ธฐ๋  ์ˆ˜ ์žˆ์Œ

 

- ์†Œํ”„ํŠธ ํฌํฌ : ์ƒˆ sw๊ฐ€ ๊ธฐ์กด sw์™€ ํ˜ธํ™˜

sw๊ฐœ๋ฐœ ๊ณ„ํš์— ์ฑ„๊ตด์ž๋“ค์ด ๋™์˜ํ•˜๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ, Chain์ด ํ•˜๋‚˜๋กœ ์œ ์ง€๋จ

์—…๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ์•Š์€ ์ฑ„๊ตด์ž์— ์˜ํ•ด ์ผ์‹œ์  ๋ถ„๊ธฐ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

(์ผ์‹œ์  ๋ถ„๊ธฐ ๋ธ”๋ก์€ ํ๊ธฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ํผ -> ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š”๊ฒŒ ์œ ๋ฆฌ)

 

- ํ•˜๋“œ ํฌํฌ : ๋ณ€๊ฒฝ๋œ sw๊ฐ€ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ๋•Œ

์ƒˆ๋กœ์šด sw ์ฑ„๊ตด์ž์™€ ๊ธฐ์กด sw ์ฑ„๊ตด์ž๊ฐ€ ๊ฐ์ž ๋ธ”๋ก์„ ์ƒ์„ฑํ•˜์—ฌ, ์˜๊ตฌ์ ์ธ ๋ถ„๊ธฐ๋ฅผ ๋งŒ๋“ฆ

๋‘ Chain์€ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ์ฝ”์ธ์ด ๋จ

๋„คํŠธ์›Œํฌ๊ฐ€ ๋ถ„๋ฆฌ๋˜๊ณ  ๋น„ํŠธ์ฝ”์ธ ์ „์ฒด ๊ฐ€์น˜ ํ•˜๋ฝ ์œ„ํ—˜