용어집 · 네트워크

머클 루트

CloudMineCrypto 팀 작성업데이트

정의

머클 루트는 비트코인 블록의 모든 거래를 요약하는 단일 해시예요. 거래를 쌍으로 묶어 해시한 뒤, 그 해시들을 다시 쌍으로 묶는 과정을 하나의 해시만 남을 때까지 반복해 만들고 블록 헤더에 저장해요.

비트코인 채굴 용어집의 일부입니다. 88개 용어를 쉬운 말로 설명합니다.

머클 루트 만들기

헤더의 머클 루트

17b1344a79d1

해시 0+1

de80192c

해시 2+3

b87d4f25

트랜잭션 0

94e5fe9e

트랜잭션 1

c752a4cd

트랜잭션 2

934d1415

트랜잭션 3

3f172c5d

거래 하나에서 Edit를 누르세요. 해당 거래의 해시, 짝 해시, 루트가 모두 바뀝니다.

실제 double SHA-256를 브라우저에서 실행하고, 화면에 표시되도록 줄였습니다. 실제 블록은 문장이 아니라 거래 데이터를 해시합니다.

머클 루트는 어떻게 만들어질까요?

블록에 있는 모든 거래의 ID부터 시작해요. 거래 ID 자체도 이중 SHA-256 해시예요. 코인베이스 거래를 맨 앞에 두고 순서대로 나열해요. 이웃한 해시끼리 쌍을 지어 합친 뒤 해시하면 해시 수가 절반으로 줄어요. 하나만 남을 때까지 반복하면 머클 루트가 돼요.

한 단계의 해시 개수가 홀수라면 마지막 해시를 자기 자신과 짝지어요. 거래 내용을 사토시 1개만큼이라도 바꾸면, 그 거래에서 맨 위까지 이어지는 경로의 모든 해시가 바뀌고 머클 루트도 달라져요. 위 데모에서 직접 확인해 보세요.

왜 해시 하나가 아니라 트리일까요?

증명. 거래가 블록에 포함됐다는 걸 증명하려면 블록 전체가 아니라 해당 거래에서 이어지는 경로의 해시만 있으면 돼요. 거래가 약 4,000건인 블록이라면 해시 12개만 필요해요. 크기는 수백 바이트에 불과하죠. 사토시의 백서는 블록 헤더만 저장하면서 이런 방식으로 결제를 확인하는 경량 지갑을 설명해요.

머클 루트는 채굴에도 중요해요. 채굴자가 코인베이스 거래의 추가 논스를 바꾸면 머클 루트도 바뀌고, 블록 헤더에 새 논스 값들이 들어가 다시 시도할 수 있어요.

출처

  1. Bitcoin: P2P 전자 현금 시스템 · Satoshi Nakamoto, 2008
  2. 블록체인 참고 자료: 헤더, 머클 트리, 목표값 · Bitcoin 개발자 문서
  3. 머클 트리 · Bitcoin Wiki

이 페이지의 실시간 수치는 CloudMineCrypto API와 공개 블록체인 데이터를 바탕으로 하며, 정기적으로 갱신되고 각 수치가 표시된 곳에 출처가 안내됩니다. 교육 목적으로만 제공되며 금융 조언이 아닙니다.

이제 채굴이 어떻게 이뤄지는지 확인해 보세요.

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your estimated BTC tick up from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.