P2WPKH

P2WPKH

P2WPKH๋ž€ ๋น„ํŠธ์ฝ”์ธ ๋‚ด์—์„œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์Šคํฌ๋ฆฝํŠธ ํ˜•์‹์œผ๋กœ ๋น„ํŠธ์ฝ”์ธ ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€๋ถˆ ๊ฑฐ๋ž˜ ์œ ํ˜•์ด๋‹ค.

์ฃผ์†Œ๋Š” 1๋กœ ์‹œ์ž‘ํ•˜๋Š”๋ฐ, ์„ธ๊ทธ์œ—์„ ์ง€์›ํ•˜๋Š” ์ƒˆ๋กœ์šด ์ฃผ์†Œ 3 ๋˜๋Š” bc1๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฃผ์†Œ๋ณด๋‹ค ํ›จ์”ฌ ๋น„์‹ธ๋‹ค.

์ฆ‰, ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ๊ฐ€ 1๋กœ ์‹œ์ž‘ํ•˜๋ฉด P2PKH ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๊ณต๊ฐœํ‚ค์˜ ๊ฐ„๋‹จํ•œ ํ•ด์‹œ์ด๋ฉฐ, ์ด ํ•ด์‹œ๋ฅผ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๊ฒƒ์€ ์›๋ž˜ ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ ํ˜•์‹์ด์—ˆ์œผ๋ฉฐ ์˜ค๋Š˜๊นŒ์ง€๋„ ์ถฉ์‹คํžˆ ์ž‘๋™ํ•œ๋‹ค.

๋ ˆ๊ฑฐ์‹œ ์ฃผ์†Œ๋Š” ์„ธ๊ทธ์œ—๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์ง€๋งŒ, ์—ฌ์ „ํžˆ ๋ฌธ์ œ์—†์ด P2PKH ์ฃผ์†Œ์—์„œ ์„ธ๊ทธ์œ— ์ฃผ์†Œ๋กœ BTC๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ ˆ๊ฑฐ์‹œ ์ฃผ์†Œ ํŠธ๋žœ์žญ์…˜์ด ๋” ํฌ๊ธฐ ๋•Œ๋ฌธ์— P2PKH ์ฃผ์†Œ์—์„œ ์ „์†กํ•˜๋Š” ํ‰๊ท  ์†๋„๋Š” ์„ธ๊ทธ์œ— ์ฃผ์†Œ์—์„œ ์ „์†กํ•  ๋•Œ๋ณด๋‹ค ๋” ๋†’์€ ์š”๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

P2PKH์ด๋ž€

์šฐ๋ฆฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๊ฑฐ๋ž˜ ์œ ํ˜•์€ P2PKH์ด๋‹ค.

P2PKH๋Š” ๋ˆ„๊ตฐ๊ฐ€(Alice)๊ฐ€ ์ „ํ˜•์ ์ธ ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ๋กœ ์‚ฌํ† ์‹œ(Satoshi)๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ˆ˜์‹ ์ž(Bob)๋Š” ๊ฐ„๋‹จํ•œ ์•”ํ˜ธํ™”ํ‚ค ์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์‚ฌํ† ์‹œ๋ฅผ ์ถ”๊ฐ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Bob์ด ๋จผ์ € ๊ณต๊ฐœ/๊ฐœ์ธํ‚ค ์Œ์„ ์ž‘์„ฑํ•˜์—ฌ Alice๊ฐ€ ์ผ๋ถ€ ์‚ฌํ† ์‹œ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค.

๋น„ํŠธ์ฝ”์ธ์€ ์ด๋ฅผ ์œ„ํ•ด ECDSA๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Bob์€ ๊ณต๊ฐœํ‚ค์˜ ์•”ํ˜ธํ™” ํ•ด์‹œ๋ฅผ ๋งŒ๋“ ๋‹ค.

Bob์€ ๊ณต๊ฐœํ‚ค์˜ ํ•ด์‹œ๋ฅผ Alice์—๊ฒŒ ๋ณด๋‚ธ๋‹ค.

์ด ํ•ด์‹œ๋Š” ๋ณดํ†ต ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ๋กœ ์ธ์ฝ”๋”ฉ๋˜๋ฉฐ, Alice๋Š” Bob์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ํŠธ๋žœ์žญ์…˜์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

P2PKH ํŠธ๋žœ์žญ์…˜ ์ถœ๋ ฅ์—๋Š” Bob์˜ ์ด์ „์— ์ƒ์„ฑ๋œ ๊ฐœ์ธํ‚ค๋ฅผ ์ œ์–ดํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์— ๋Œ€ํ•œ ๊ถŒํ•œ์ด ํฌํ•จ๋œ๋‹ค.

์ด๋Ÿฌํ•œ ๋ช…๋ น์–ด๋ฅผ Pubkey script ๋˜๋Š” scriptPubkey๋ผ๊ณ  ํ•œ๋‹ค.

Alice๋Š” ๋ธ”๋ก์ฒด์ธ์— ์ถ”๊ฐ€ํ•  ํŠธ๋žœ์žญ์…˜์„ ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ ํ•œ๋‹ค.

ํŠธ๋žœ์žญ์…˜์€ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŠธ๋žœ์žญ์…˜ ์ถœ๋ ฅ(UTXO)์œผ๋กœ ์ธ์‹๋œ๋‹ค.

Bob์˜ ์ง€๊ฐ‘์—๋Š” ์ด UTXO์˜ ๊ธˆ์•ก์ด ์ง€์ถœ ๊ฐ€๋Šฅํ•œ ๊ธˆ์•ก์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค.

๋‚˜์ค‘์— Bob์€ ์ด ๊ธˆ์•ก ์ค‘ ์ผ๋ถ€๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ•˜๋ฉด, ๊ทธ๋Š” Alice์˜ ๊ฑฐ๋ž˜ ํ•ด์‹œ์™€ ํ•ด๋‹น ์ถœ๋ ฅ ๋ฒˆํ˜ธ๋ฅผ ๋งŒ๋“ ๋‹ค.

๋˜ํ•œ, ์„œ๋ช… ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

์Šคํฌ๋ฆฝํŠธ, OpCode, P2PK, P2PKH

๋น„ํŠธ์ฝ”์ธ์€ ์Šคํฌ๋ฆฝํŠธ๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด ์Šคํฌ๋ฆฝํŠธ๋Š” ์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ์™€ ํ•ด์ œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.

์Šคํฌ๋ฆฝํŠธ๋Š” OpCode๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๋ช…๋ น์–ด ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

OpCode

opcode๋Š” operation code์˜ ์•ฝ์ž๋กœ, ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด ์ง‘ํ•ฉ์ด๋‹ค.

๋น„ํŠธ์ฝ”์ธ ์Šคํฌ๋ฆฝํŠธ๋Š” ์Šคํƒ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด opcode๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

์‹ค์ œ๋กœ ์Šคํƒ์ด ์Šคํฌ๋ฆฝํŠธ์— ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์„œ๋ช… ๊ฒ€์ฆ ๋ฐฉ์‹์ธ P2PK์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๋ฉด ์ข‹์„ ๊ฒƒ์ด๋‹ค.

P2PK

P2PK๋Š” Pay To Public Key์˜ ์•ฝ์ž๋กœ ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ์„œ๋ช… ๊ฒ€์ฆ ๋ฐฉ์‹์ด๋ฉฐ, ํ˜„์žฌ๋Š” ๊ฑฐ์˜ ์“ฐ์ด์ง€ ์•Š๋Š” ๋ฐฉ์‹์ด๋‹ค.

P2PK๋Š” ์„œ๋ช… ๊ฒ€์ฆ์„ ์œ„ํ•ด ๊ณต๊ฐœํ‚ค, ์„œ๋ช…, ์„œ๋ช… ๊ฒ€์ฆ ํ•จ์ˆ˜๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ์˜ ์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ์™€ ํ•ด์ œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๋ฐ”๋กœ P2PK ์Šคํฌ๋ฆฝํŠธ์ด๋‹ค.

P2PKH

P2PKH๋Š” Pay-to-Public-Key-Hash์˜ ์•ฝ์ž๋กœ, P2PK์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€์ด๋‹ค.

์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ ๊ตฌ์„ฑ

๊ณต๊ฐœํ‚ค๋ฅผ ์ด์šฉํ•ด ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์••์ถ• ๋˜๋Š” ๋น„์••์ถ• ๋ฐฉ์‹์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์ƒ์„ฑ

  2. Hash 160์„ ์ด์šฉํ•ด ๊ณต๊ฐœํ‚ค์˜ ํ•ด์‹œ๊ฐ’ ๊ตฌํ•˜๊ธฐ

  3. ์ฃผ์†Œ ๊ตฌ๋ถ„

  4. ์ฒดํฌ์„ฌ

  5. Base58Check ์ธ์ฝ”๋”ฉ

๊ฐ ๋‹จ๊ณ„๋ณ„ ๊ฐ’์˜ ์˜ˆ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. 02eb6033f9e7446731e50e75b099ed5439698f3d5a59e89b1f64c2445c2a245bf0 (๋น„์••์ถ• ๋ฐฉ์‹ ์ด์šฉ)

  2. 4d2f18c566944ff7ce000b657d237e8a2fecbf87

  3. 004d2f18c566944ff7ce000b657d237e8a2fecbf87

  4. 004d2f18c566944ff7ce000b657d237e8a2fecbf87f03c65b1

  5. 1837T7TYua4iekZQ8d6jYMoMVpCqQ6AoMS

์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•˜์—ฌ P2PKH์˜ ์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค.

๋จผ์ € ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ์œ„ ์ฃผ์†Œ๋กœ ๋น„ํŠธ์ฝ”์ธ์„ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๋น„ํŠธ์ฝ”์ธ ์ง€๊ฐ‘ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ด์šฉํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

์‚ฌ์šฉ์ž๋Š” ๋น„ํŠธ์ฝ”์ธ ์ง€๊ฐ‘ ์†Œํ”„ํŠธ์›จ์–ด์— ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋น„ํŠธ์ฝ”์ธ์„ ๋ฐ›์„ ์‚ฌ๋žŒ์˜ ์ฃผ์†Œ ๊ฐ’์„ ์ž…๋ ฅํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

์ „์†กํ•  ์ฃผ์†Œ: 1837T7TYua4iekZQ8d6jYMoMVpCqQ6AoMS

์ง€๊ฐ‘ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ๋ฐ›์€ ์ฃผ์†Œ๋ฅผ ๋””์ฝ”๋”ฉํ•˜์—ฌ ์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ์— ์‚ฌ์šฉํ•œ๋‹ค.

ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ์—ญ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— hash160์ด ์ด๋ค„์ง„ ๊ฐ’๊นŒ์ง€๋งŒ ๋””์ฝ”๋”ฉํ•œ๋‹ค.

  1. Base58Check ๋””์ฝ”๋”ฉ

004d2f18c566944ff7ce000b657d237e8a2fecbf87f03c65b1

  1. ์ฒดํฌ์„ฌ๊ณผ ์ฃผ์†Œ ๊ตฌ๋ถ„ ์ œ๊ฑฐ

4d2f18c566944ff7ce000b657d237e8a2fecbf87

์ง€๊ฐ‘ ์†Œํ”„ํŠธ์›จ์–ด๋Š” ์œ„ ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์ž ๊ธˆ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ์ž‘ํ•œ๋‹ค.

P2WPKH: Segwit ์Šคํฌ๋ฆฝํŠธ

SegWit ํŠธ๋žœ์žญ์…˜์€ ๊ธฐ์กด์˜ Non-Segwit ๋…ธ๋“œ๋“ค๊ณผ Backward Compatibility๋ฅผ ์ง€์›ํ•˜๋ฉด์„œ ๋„์ž…๋˜์—ˆ๋‹ค.

๋‹ค์‹œ ๋งํ•˜๋ฉด, Segwit์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ธฐ์กด์˜ ๋…ธ๋“œ๋“ค๋„ ๊ธฐ์กด์˜ ๋น„ํŠธ์ฝ”์ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ–ˆ์„ ๋•Œ, ์—๋Ÿฌ๊ฐ€ ๋‚˜์ง€ ์•Š๋„๋ก ๊ตฌํ˜„๋˜์—ˆ๋‹ค.

Native Segwit์˜ ๋น„ํŠธ์ฝ”์ธ ์Šคํฌ๋ฆฝํŠธ P2WPKH ์€ ๋‹ค์Œ๊ณผ ํ˜•์‹์„ ๊ฐ–๋Š”๋‹ค.

P2WPKH ์Šคํฌ๋ฆฝํŠธ์—์„œ ScriptSig๋Š” ๋น„์–ด์žˆ์œผ๋ฉฐ, ๋Œ€์‹  witness ์˜์—ญ(txinwitness)์— ์„œ๋ช…(signature)๊ณผ public key๊ฐ€ "์Šคํฌ๋ฆฝํŠธ ํ˜•์‹์ด ์•„๋‹Œ" ๋ฐ์ดํƒ€๋กœ ๋“ค์–ด ์žˆ๋‹ค.

SegWit ํŠธ๋žœ์žญ์…˜์˜ UTXO๋Š” Transaction Output์— "OP_0 + {public-key-hash}" ํฌ๋งท์œผ๋กœ ๋ฐ์ดํƒ€๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ OP_0 (0x00)์€ Segwit ๋ฒ„์ „ ๋„˜๋ฒ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์•„๋ฌดํŠผ ์•Œ์•„์•ผ ํ•  ์ ์€ P2WPKH๋Š” ๋น„ํŠธ์ฝ”์ธ ์Šคํฌ๋ฆฝํŠธ ํ‘œ์ค€์ด๊ณ , ์„ธ๊ทธ์œ—๊ณผ Non-segwit ๋ชจ๋‘๋ฅผ ์ง€์›ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

Last updated