์ด๋ฒ ํฌ์คํธ์์๋ ํ๋์ ๋ธ๋ก์ฒด์ธ ๊ธฐ์ ์ ๊ทผ๊ฐ์ด ๋ ์ฌํ ์ ๋์นด๋ชจํ ์ bitcoin ๋ ผ๋ฌผ์ ์ค๋ช ํ๊ณ , ๋ธ๋ก์ฒด์ธ์ ํต์ฌ ๊ฐ๋ ์ ๋ํด ์ ์ด๋ณด๊ณ ์ ํ๋ค.
์ฌํ ์ ๋์นด๋ชจํ ๊ฐ ์ ์ํ bitcoin์ ๊ถ๊ทน์ ์ด๊ณ ๋ณธ์ง์ ์ธ ๋ชฉํ ์ 3 ๊ธฐ๊ด์ ๊ฐ์ ์์ด ํํ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ํํ์ ๊ตํ์์ ๊ฐ์ฅ ์ค์ํ ์ด์๋ ํน์ ํ ๊ฑฐ๋๊ฐ ๋๋ฒ ์ผ์ด๋๊ฒ ๋์ด ์กด์ฌํ์ง ์๋ ์ฌํ๊ฐ ์ ์ฐ์์ ์๊ฒจ๋๊ฒ ๋๋ double spending problem ์ด๋ค. ์ด๋ฅผ ์ํด ์ฌํ ์๋ ๋งค ์๊ฐ์ timestamp๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ p2p๋คํธ์ํฌ๋ฅผ ๊ณ ์ํ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฑฐ๋ ์ ๋ณด๋ ๋ธ๋กํ ๋์ด ์ฒด์ธ ๊ตฌ์กฐ๋ก ์ฐ๊ฒฐ๋๊ณ ๋๊ธฐํ ๋ ์ ์๋ค. ์ด๋ ๊ฒ ์ฒด์ธ์ ์ฐ๊ฒฐํด ๊ฐ๋ ๊ณผ์ ์์ ๊ฐ์ฅ ๋ง์ CPU ํ์๋ฅผ ๊ฐ์ง ์ปดํจํฐ ์ง๋จ์ด ๊ฐ์ฅ ๊ธด ์ฒด์ธ์ ์์ฑํ ์ ์์ ๊ฒ์ด๋ฉฐ ์ด๋ฅผ ์ ํํ๋ ๋คํธ์ํฌ ๊ตฌ์กฐ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ ๋ด์์์ ๊ฑฐ๋๋ ์ด๋ป๊ฒ ๋ฐ์ํ๋๊ฐ?
๋ธ๋ก์ฒด์ธ ์์คํ
๋ด์์์ ์ฝ์ธ์ ์ ์๋ ๋์งํธ ์๋ช
๋ค๋ก ์ด๋ฃจ์ด์ง ์ฒด์ธ ์ด๋ค. ์ฆ, ํ๋์ ์ฝ์ธ์ ์ฝ์ธ์ ์์ ์๋ค์ ์ ๋ณด๋ค์ ๋์ด๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ํด๋น ์ฝ์ธ์ ๊ฑฐ๋๋ ์ด๋ฌํ ์์ ์๋ค ์ ๋ณด์ ๋์ด์ ์ฝ์ธ์ ๋ค์ ์์ ์์ pubkey๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ๋ฐ์ํ๋ค. ์ด๋ฅผ ํตํด ๋ค์ ์์ ์์ private key ๊ฐ ์์ด์ผ๋ง ๋ค์ ๊ฑฐ๋๊ฐ ์ผ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ ์ฝ์ธ์ ์์ ๋ค ๋ง์ ๊ณ ์ ์ ์ญ์ฌ๋ฅผ ๊ฐ์ง๋ฉฐ ํ์ค ์ธ๊ณ์ ํํ์ ๋น์ ํ์๋ฉด ๋ชจ๋ ์ํ์ ๊ทธ ์ํ๋ฅผ ์์ ํ๋ ์ฌ๋๋ค์ ์ด๋ฆ๋ค์ด ๋ชจ๋ ์์ฑ๋์ด ์๋ ๊ฒ์ ์์ํ๋ฉด ๋๋ค. ์ฆ, ๋ธ๋ก์ฒด์ธ ๋ด์์ ๊ฑฐ๋(transaction) ๋ ์ด์ ๊ฑฐ๋์ ์ ๋ณด(์ด์ transaction'has value) ๋ฅผ ํฌํจํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฑฐ๋๋ ์๊ฐ ์์ผ๋ก ๋๊ธฐํ ๋๋ค.
๋ชจ๋ ๊ฑฐ๋์ ๋ด์ญ๋ค์ ๋ธ๋ก์ผ๋ก ์ ์ฅ๋๋ฉฐ ๊ฐ ๋ธ๋ก์ ํด์ฌ๊ฐ์ ๋จผ์ ํ์ด๋ธ ๋
ธ๋๊ฐ ์๋กญ๊ฒ ๋ธ๋ก์ ์์ฑํ๋ค.
ํด์ฌ๊ฐ์ ํธ๋ ๊ฒ์ ๊ณ์ํด์ nonce ๊ฐ์ ์ฆ๊ฐ์ํค๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด ์ง๋ฉฐ, ์ด๋ฅผ ํตํด ์๋์ ์ผ๋ก ๋ ๋ง์ ์ปดํจํ
ํ์๋ฅผ ๊ฐ์ง๋ ๋ฏฟ์ ์ ์๋ ๋
ธ๋๋ค์ ์ปดํจํ
ํ์๋ฅผ ํตํด ์ณ๋ฐ๋ฅธ ๋ธ๋ก์ ์์ํ๊ฒ ๋๋ค.
๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ๋ ๋ค์๊ณผ ๊ฐ์ ์์์ ๋ฐ๋ผ ์ด๋ฃจ์ด ์ง๋ค.
๋ง์ฝ ๋ ธ๋๊ฐ ๋ค์ ๋ธ๋ก์ ๋ฐ์ง ๋ชปํ๋ค ํ๋๋ผ๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ฐ, ์ด๋ ๊ทธ ๋ค์ ๋ธ๋ก์ ๋ฐ๊ฒ ๋๋ฉด ๋ ธ๋ ์์ฒด๊ฐ ์์ ์ด ๋ฐ์ง ๋ชปํ ๋ธ๋ก์ ์ธ์งํ๊ณ ๋ค๋ฅธ ๋ ธ๋๋ค์๊ฒ ์ด๋ฅผ ์์ฒญํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ํ ๋ชจ๋ ํธ๋์ญ์ ๋ค์ ๋งค์ฐ ๋ง์์ ๋น ํธ๋ฆฌ๋ฉด ํธ๋์ญ์ ์ด ์๋๋ผ๋ ๋ธ๋ก๋ค์ ๊ณ์ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋น ํธ๋ฆฐ transaction๋ค์ ๋ฌด์๋๊ณ ๋์ด๊ฐ๋ค.
๋ธ๋ก์ฒด์ธ ์์คํ ์ ์ฐธ์ฌ์๋ค์ ์ปดํจํ ํ์๋ฅผ ํตํด ๊ทธ ์ ๋ขฐ๊ฐ ์ ์ง๋๋ ์์คํ ์ด๋ฏ๋ก, ๋ชจ๋ ์ฐธ์ฌ์๋ค์ด ๊ณ์ํด์ ์ปดํจํ ํ์๋ฅผ ์ ๊ณตํ๋๋ก ๋๊ธฐ ๋ถ์ฌ ํ๊ธฐ ์ํด ์ธ์ผํฐ๋ธ๋ฅผ ๋ถ์ฌํ๋ค. ์ด๋ ๋ฐ๋ก ๋ธ๋ก์ ์์ฑํ ๋ ธ๋์๊ฒ ์ต์ด์ ํธ๋์ญ์ ์ ๋ฐํํ๋๋ก ํ๋ ๊ฒ์ผ๋ก ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ์๋ ์ฝ์ธ์ ์ฑ๊ตดํ๋ ๊ณผ์ ์ด ๋๋ค.
์ ๋ด์ฉ์์์ ๊ฐ์ด ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ฝ์ธ์ ๊ทธ ์ ์ ์์ ์๋ค์ ์ ๋ณด๋ฅผ ๊ฐ์ง๋ค๊ณ ์์๋ณด์์ผ๋ฉฐ, ์ด๋ ํ์ค ์ธ๊ณ์์ ํน์ 1๋ฌ๋ฌ ์งํ์ ์ด์ ๊น์ง์ ์์ ์๋ค์ด ์ ํ์๋ ๊ฒ์ ๋น์ ๋ ์ ์๋ค๊ณ ํ์๋ค. ํ์ง๋ง ์ข ๋ ์์ ๋จ์ ํน์ ๋ ํฐ ๋จ์์ ๋์ ์ก๊ธํ๋ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์, 1๋ฌ๋ฌ ์งํ ํ๋๋ฅผ ๋ค๋ฅธ ๋๊ตฐ๊ฐ ํน์ ์์ญ๋ช ์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ๋ ๊ฒ์ ์๊ฐํ ์ ์๋ค. ์ด๊ฒ์ ํ๋์ transaction์ด ์ฌ๋ฌ ๊ฐ์ input ๋ฐ output value๋ฅผ ๊ฐ์ง์ผ๋ก์จ ํด๊ฒฐ ๋ ์ ์๋ค. ํ๋์ transaction์ ๋ค๋ฅธ ์ฌ๋ฌ ์ฌ๋๋ค์๊ฒ ์ง๋ถ๋ ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋ด์ฉ์ด ํ๋์ transaction์ ์์ฑ๋์ด ์๋ค. ์ฝ๊ฒ ๋งํ๋ฉด 1๋ฌ๋ฌ ์งํ๋ฅผ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ์ฌ๋์ด ๋ณต์ ๋ช ์ด ๋์ด๋ ๊ด์ฐฎ๋ค๋ ๊ฒ์ด๋ค.