๋ธ๋ก์ฒด์ธ์ ๊ฐ๋ตํ '๋ถ์ฐ์์ฅ'(ๅๆฃๅ ๅธณ, distributed ledger) ๊ธฐ์ ์ด๋ผ๊ณ ํ๋ค.
๋ค์์ ์จ๋ผ์ธ ๊ฑฐ๋ ๊ธฐ๋ก์ ๋ฌถ์ด ํ๋์ ๋ฐ์ดํฐ ๋ธ๋ก(block)์ ๊ตฌ์ฑํ๊ณ , ํด์(hash) ๊ฐ์ ์ด์ฉํ์ฌ ์ด์ ๋ธ๋ก๊ณผ ์ดํ ๋ธ๋ก์ ๋ง์น ์ฒด์ธ(chain)์ฒ๋ผ ์ฐ๊ฒฐํ ๋ค, ์ด ์ ๋ณด์ ์ ๋ถ ๋๋ ์ผ๋ถ๋ฅผ ํผํฌํผ(P2P) ๋ฐฉ์์ผ๋ก ์ ์ธ๊ณ ์ฌ๋ฌ ์ปดํจํฐ์ ๋ณต์ฌํ์ฌ ๋ถ์ฐ ์ ์ฅยท๊ด๋ฆฌํ๋ ๊ธฐ์ ์ด๋ค.
๋ธ๋ก์ฒด์ธ์ ํธ๋์ญ์
์ ๋ด์ ๋ธ๋ก๋ค์ ๋ธ๋ก ํด์๋ก ์ฐ๊ฒฐํ ์๋ฃ๊ตฌ์กฐ์ด๋ค.
๋ธ๋ก์ ๋ธ๋ก ํด์, header, body, ๊ฑฐ๋ ์นด์ดํธ๋ก ๊ตฌ์ฑ
๋ธ๋ก ํด์๋ ๋ธ๋ก์ header ์ ๋ณด์ธ ๋ฒ์ , ์ด์ ๋ธ๋ก ํด์, ๋จธํด๋ฃจํธ, ํ์, bits/target, Nonce ๋ฅผ ๋ชจ๋ ๋ํ ํฉ์ SHA-256 ์ผ๋ก ๋ณํํ ๊ฒฐ๊ณผ ๊ฐ. header ์ ๋ณด๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ธ๋ก ํด์ ๋ํ ๋ณ๊ฒฝ
A. ๋ฒ์
ํด๋น ๋ธ๋ก์ ๋ฒ์ ์ ๋ณด
B. ์ด์ ๋ธ๋ก ํด์
์ฒด์ธ์ผ๋ก ์ฐ๊ฒฐํ ์ด์ ๋ธ๋ก์ ๋ธ๋ก ํด์
C. ๋จธํด๋ฃจํธ
Body์ ์ ์ฅ๋ ํธ๋์ญ์
๋ค์ ํด์ํธ๋ฆฌ์ ๋ฃจํธํด์
D. ํ์
ํด๋น ๋ธ๋ก ์์ฑ์๊ฐ, 1970๋
1์ 1์ผ ์์ ๋ถํฐ ๊ฒฝ๊ณผํ ์๊ฐ์ ์ด๋จ์๋ก ๊ณ์ฐ
E. Bits/target
๋์ด๋ ํด์ ๋ชฉํ๊ฐ, ๋
ผ์ค๋ฅผ ์กฐ์ ํด ๋์ด๋ ํด์ ๋ชฉํ๊ฐ๋ณด๋ค ๋ฎ์ ํด์ ๊ฐ ๋์ค๋ฉด ๋ธ๋ก์ ์์ฑ. ์ด๋ฅผ ์ฑ๊ตด์ด๋ผํจ
F. Nonce
๋์ด๋ ๋ชฉํ ๊ฐ๋ณด๋ค ๋ฎ์ ํด์ ๊ฐ์ ๊ตฌํ๊ธฐ ์ํด ์กฐ์ ํ๋ ๋ณ์
๊ฑฐ๋๋ด์ญ์ ํธ๋์ญ์ ์ผ๋ก ์ ์ฅ. ํธ๋์ญ์ ์ ๊ฑฐ๋๋ด์ญ์ ๊ธฐ๋ณธ๋จ์๋ก ํ๋์ ํธ๋์ญ์ ๋น ํ๋์ ๊ฑฐ๋๋ด์ญ์ ๊ธฐ๋ก
๊ฑฐ๋(ํธ๋์ญ์ )์ ๊ฐ์
ํ๋์ ์๋ก์ด ๋ธ๋ก์ ๊ตฌ์ฑํ ๊ฒฝ์ฐ, ์ฒด์ธ์ฒ๋ผ ์ด์ ๋ถํฐ ์ด์ด์ ธ ๋ด๋ ค์ค๋ ๋ธ๋ก์ฒด์ธ์ ๋งจ๋์ ์๋ก์ด ๋ธ๋ก์ ์ฐ๊ฒฐ
์ ๋ธ๋ก ๊ตฌ์กฐ์์ ์ค๋ช ํ ์ฑ๊ตด ๋ฐฉ์์ผ๋ก ๋ชฉํ๊ฐ๋ณด๋ค ๋ฎ์ ํด์๊ฐ์ ์ฐพ์๋ผ ๊ฒฝ์ฐ ์๋ก์ด ๋ธ๋ก์ด ์์ฑ๋์ด ๊ธฐ์กด ๋ธ๋ก์ฒด์ธ์ ์ฐ๊ฒฐ
์๋ก์ด ๋ธ๋ก์ ์์ฑ ๋น์ ์ด์ ๋ธ๋ก ํด์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ์ด๋ฅผ ์ฐ๊ฒฐ๋ ์ด์ ๋ฒํธ์ ๋ธ๋ก ํด์์ ๋น๊ตํด ํด๋น ๋ธ๋ก์ฒด์ธ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆ
P2P๋ Peer to Peer์ ์ฝ์๋ก ์ธํฐ๋ท์์ ์ฐ๊ฒฐ๋ ๋ค์์ ๊ฐ๋ณ ์ฌ์ฉ์๋ค์ด ์ค๊ฐ๊ธฐ๊ด์ ๊ฑฐ์น์ง ์๊ณ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๋งํจ
๋ธ๋ก์ฒด์ธ์ ๋ฐ์ดํฐ๋ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ ธ๋์ ๋ณต์ฌ๋์ด ๋ถ์ฐ ์ ์ฅ
๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ์์ ์๋ก์ด ๊ฑฐ๋๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ด์ญ์ด ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๋ ธ๋๋ค์ ์ ํ๋์ด ์๋ ค์ง
๊ฐ ๋ ธ๋๋ค์ ์ผ์ ์๊ฐ ๋์ ์ด๋ฃจ์ด์ง ๋ชจ๋ ํธ๋์ญ์ ๋ฅผ ๋ฌถ์ด ์๋ก์ด ๋ธ๋ก์ ๊ตฌ์ฑํ๊ณ ๋ชฉํ๊ฐ ์ดํ์ ํด์๊ฐ์ ์ฐพ๊ธฐ ์ํด ์๋ก ๊ฒฝ์(์ฑ๊ตด)
๊ฐ์ฅ ๋จผ์ ์ฑ๊ตด์ ์ฑ๊ณตํ ๋ ธ๋๊ฐ ๊ฒฝ์์์ ์น๋ฆฌํ๊ฒ ๋๊ณ ์ด๋ฅผ ๋ชจ๋ ๋คํธ์ํฌ์ ์๋ฆผ
๋คํธ์ํฌ์ ์ฐธ์ฌํ ๋ค๋ฅธ ๋ ธ๋๋ค์ ์๋ก ์์ฑ๋ ๋ธ๋ก์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๊ณ ๋ฌธ์ ๊ฐ ์์ ๊ฒฝ์ฐ ํด๋น ๋ธ๋ก์ ์์ฑ์ ์น์ธ, ์ฐธ์ฌํ ๋ ธ๋๋ค์ ๊ณผ๋ฐ์๊ฐ ์ด๋ฅผ ์น์ธํ ๊ฒฝ์ฐ ํด๋น ๋ธ๋ก์ ์ ์๋ธ๋ก์ผ๋ก ์ฑํ๋์ด ๋ธ๋ก์ฒด์ธ์ ์ถ๊ฐ
๋ง์ฝ ์๋ก ๋ค๋ฅธ ๋ธ๋ก์ด ๋์์ ์์ฑ๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ๋ ์ผ์ ์๊ฐ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ์ง์ผ๋ณด๋ค ๊ฐ์ฅ ๊ธด ๊ธธ์ด๋ฅผ ๊ฐ์ง ์ฒด์ธ์ ์ ํ
์ด ๋ ์ ํ๋์ง ๋ชปํ ๋ธ๋ก์ ๋ฒ๋ ค์ ธ ๊ณ ์๋ธ๋ก(orphan block)์ด ๋จ
๊ฐ๋ฐฉํ ๋ธ๋ก์ฒด์ธ์ผ๋ก ๋๊ตฌ๋ ํธ๋์ญ์
์ ์์ฑํ ์ ์์
๋๊ตฌ๋ ์ฐธ์ฌํ ์ ์๊ณ ๋ชจ๋ ์ฐธ์ฌ์์ ์ํธ ๊ฒ์ฆ์ ๊ฑฐ์ณ ์ ๋ขฐ๋๊ฐ ๋์ง๋ง ๋ชจ๋ ์ฐธ์ฌ์์ ๊ฑฐ๋ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ณ ๊ณต์ ํ๋๋ผ ์ฒ๋ฆฌ ์๋๊ฐ ๋๋ฆผ
ํ์ ํ ๋ธ๋ก์ฒด์ธ์ผ๋ก ์๋น์ค ์ ๊ณต์์ ์น์ธ์ ๋ฐ์์ผ๋ง ์ฐธ์ฌํ ์ ์์ผ๋ฉฐ ์ฃผ๋ก ๊ธฐ์ ์์ ํ์ฉํ์ฌ ์ํฐํ๋ผ์ด์ฆ ๋ธ๋ก์ฒด์ธ์ด๋ผ๊ณ ๋ ํจ
์ฌ๋ฌ ๊ธฐ์ ์ด ๊ณต๋์ผ๋ก ์ฐธ์ฌํ๋ ๋ธ๋ก์ฒด์ธ
๊ตฌ๋ถ | ํผ๋ธ๋ฆญ ๋ธ๋ก์ฒด์ธ | ์ปจ์์์ ๋ธ๋ก์ฒด์ธ | ํ๋ผ์ด๋น ๋ธ๋ก์ฒด์ธ |
---|---|---|---|
๊ด๋ฆฌ์ | ๋ชจ๋ ๊ฑฐ๋ ์ฐธ์ฌ์ | ์ปจ์์์ ์์ ์ฐธ์ฌ์ | ์ค์ ๊ธฐ๊ด์ด ๋ชจ๋ ๊ถํ ๋ณด์ |
๊ฑฐ๋ฒ๋์ค | ์ ํด์ง ๋ฒ์น์ ๋ฐ๊พธ๊ธฐ ์ด๋ ค์ | ์ปจ์์์ ์ฐธ์ฌ์๋ค์ ํฉ์์ ๋ฐ๋ผ ๋ณ๊ฒฝ๊ฐ๋ฅ | ์ค์ ๊ธฐ๊ด์ ์์ฌ๊ฒฐ์ ์ ๋ฐ๋ผ ๋ณ๊ฒฝ ๊ฐ๋ฅ |
๊ฑฐ๋์๋ | ๋คํธ์ํฌ ํ์ฅ์ด ์ด๋ ต๊ณ ๊ฑฐ๋์๋๊ฐ ๋๋ฆผ | ๋คํธ์ํฌ ํ์ฅ์ด ์ฝ๊ณ ๊ฑฐ๋์๋๊ฐ ๋น ๋ฆ | ๋คํธ์ํฌ ํ์ฅ์ด ๋งค์ฐ ์ฝ๊ณ ๊ฑฐ๋์๋๊ฐ ๋น ๋ฆ |
๋ฐ์ดํฐ ์ ๊ทผ | ๋๊ตฌ๋ ์ ๊ทผ ๊ฐ๋ฅ | ํ๊ฐ๋ฐ์ ์ฌ์ฉ์๋ง ์ ๊ทผ๊ฐ๋ฅ | ํ๊ฐ๋ฐ์ ์ฌ์ฉ์๋ง ์ ๊ทผ๊ฐ๋ฅ |
์๋ณ์ฑ | ์ต๋ช ์ฑ | ์๋ณ๊ฐ๋ฅ | ์๋ณ๊ฐ๋ฅ |
๊ฑฐ๋์ฆ๋ช | PoW, PoS ๋ฑ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๊ฑฐ๋ ์ฆ๋ช ์๊ฐ ๊ฒฐ์ ๋จ. ์ฌ์ ์ ํ์ธ๋ถ๊ฐ | ๊ฑฐ๋ ์ฆ๋ช ์๊ฐ ์ธ์ฆ์ ๊ฑฐ์ณ ์๋ ค์ง ์ํ | ์ค์ ๊ธฐ๊ด์ ์ํ์ฌ ๊ฑฐ๋ ์ฆ๋ช ์ด ์ด๋ฃจ์ด์ง |
ํ์ฉ์ฌ๋ก | ๋นํธ์ฝ์ธ, ์ด๋๋ฆฌ์ | R3 CEV, Hyperledger fabric | ๊ฑฐ๋์ ํ๋ซํผ โLinqโ ์์ง, ์ผ์ฑ, ํํ ๋ฑ ๊ตญ๋ด ๋๊ธฐ์ ์ ์์ฒด ๊ฐ๋ฐ ๋ธ๋ก์ฒด์ธ |
ํด์์ key๋ฅผ ๋ฐ์ value๋ฅผ ์์ฑํ๋ ํจ์
ํด์๋ โ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ๋ ๊ธธ์ด์ ๋ฐ์ดํฐ๋ก ๋ณํโํ๋ ๊ฒ์ ์๋ฏธ
๋จ๋ฐฉํฅ ๋ณํ์ผ๋ก ํด์๊ฐ์ ์ด์ฉํด ์๋ณธ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ๋ถ๊ฐ๋ฅ
ex) SHA-256
์ด์งํธ๋ฆฌ์ ์ผ์ข ์ผ๋ก ํด์๋ก ์ํธํ๋ ํธ๋์ญ์ ์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ
๊ฐ ์ธ์ ํ ๋ ธ๋(์ํธํ๋ ํธ๋์ญ์ )๋ค์ ํฉํ ๋ค์,
๋ค์ SHA-256์ผ๋ก ์ํธํํด ํด์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด ๋ถ๋ชจ๋ ธ๋๋ฅผ ์์ฑ
์ ๊ณผ์ ์ ๋ ธ๋๋ค์ ์์ ์ง์ ์ ์์ ๋๊น์ง ๋ฐ๋ณต, ์ต์ข ์ ์ผ๋ก ์์ฑ๋ ๋ถ๋ชจ๋ ธ๋๋ฅผ ๋จธํด๋ฃจํธ๋ผ ํจ
๋จธํดํธ๋ฆฌ ๋
ธ๋๋ค์ด ํด์๋ก ์ด๋ฃจ์ด์ง ๋งํผ ๋ธ๋ก ๋ด ํ๋๊ฐ์ด ๋ณ์กฐ๋ ๊ฒฝ์ฐ ๋จธํด๋ฃจํธ ํด์๊ฐ์ด ๋ณ์กฐ๋๋ ์๋ ํจ๊ณผ๊ฐ ๋ฐ์. ์ด๋ฅผ ํตํด ๋ธ๋ก์ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง ๋ฐ ๊ฒ์ฆ
- http://wiki.hash.kr/index.php/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8#cite_note-5
- http://wiki.hash.kr/index.php/%EB%A8%B8%ED%81%B4%ED%8A%B8%EB%A6%AC
- http://wiki.hash.kr/index.php/SHA256
- https://brunch.co.kr/@skkrypto/2
- https://steemit.com/kr/@yahweh87/3
- https://www.kiri.or.kr/pdf/%EC%97%B0%EA%B5%AC%EC%9E%90%EB%A3%8C/%EC%97%B0%EA%B5%AC%EB%B3%B4%EA%B3%A0%EC%84%9C/nre2018-24_02.pdf
- https://steemit.com/kr/@brownbears/merkle-tree