less than 1 minute read

Merkle Tree & Merkle Root๋ž€?

๋ธ”๋ก์ฒด์ธ์€ ์ˆ˜๋งŽ์€ ํŠธ๋žœ์žญ์…˜์„ ๋‹ด์•„์•ผ ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์ด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ, ๊ทธ๋ฆฌ๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ๊ฒ€์ฆํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ์š”?

๋ฐ”๋กœ Merkle Tree ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ํ•ต์‹ฌ์ด ๋ฐ”๋กœ Merkle Root์ž…๋‹ˆ๋‹ค.


๐Ÿ“˜ Merkle Tree๋ž€?

Merkle Tree๋Š” ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ(ํŠธ๋žœ์žญ์…˜ ๋“ฑ)๋ฅผ ํ•ด์‹œ๊ฐ’์œผ๋กœ ์ •๋ฆฌํ•œ ์ด์ง„ ํŠธ๋ฆฌ(binary tree) ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด,
โ€œ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ•ด์‹œ๊ฐ’(Merkle Root)์œผ๋กœ ์š”์•ฝโ€ํ•ด์„œ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ์˜ˆ์š”.


๐ŸŒณ ๊ตฌ์กฐ ์„ค๋ช…

  1. ๊ฐ๊ฐ์˜ ํŠธ๋žœ์žญ์…˜์€ ํ•ด์‹œ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  2. ์ธ์ ‘ํ•œ ํ•ด์‹œ๊ฐ’ ๋‘ ๊ฐœ๋ฅผ ํ•ฉ์ณ์„œ ๋‹ค์‹œ ํ•ด์‹œํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์„œ ์ตœ์ข… ํ•˜๋‚˜์˜ ํ•ด์‹œ(Merkle Root)๊ฐ€ ๋งŒ๋“ค์–ด์ง‘๋‹ˆ๋‹ค.

Merkle Tree ๊ตฌ์กฐ

         Merkle Root
           /     \
      Hash01     Hash23
      /   \       /   \
  Hash0 Hash1 Hash2 Hash3