머클트리 편집하기
최신판 | 당신의 편집 | ||
11번째 줄: | 11번째 줄: | ||
=== 생성 과정 === | === 생성 과정 === | ||
− | 머클트리는 머클루트를 구하기 까지 반복하게 되는 과정이 토너먼트 대진표의 모양으로 만들어진다. ‘log₂[전체거래내역의수]’값을 구하면 해시화한 과정의 횟수도 알 수 있기 때문에 머클트리만 따라가면 특정 거래내역을 쉽게 찾을 수 있다. 머클트리는 트리구조를 형성하고 있는 암호화 과정이다. 우측 그림을 보면, 맨 밑에 위치한 최종 값을 머클루트, 상부의 값들을 | + | 머클트리는 머클루트를 구하기 까지 반복하게 되는 과정이 토너먼트 대진표의 모양으로 만들어진다. ‘log₂[전체거래내역의수]’값을 구하면 해시화한 과정의 횟수도 알 수 있기 때문에 머클트리만 따라가면 특정 거래내역을 쉽게 찾을 수 있다. 머클트리는 트리구조를 형성하고 있는 암호화 과정이다. 우측 그림을 보면, 맨 밑에 위치한 최종 값을 머클루트, 상부의 값들을 리프라고 칭한다. 8개 거래에 대한 머클트리를 예시로 들어보면 그림과 같이 거래에 대한 해시값이 TX1부터 TX8과 같이 리프가 이어져 있고, 이를 두 개씩 묶어 더한 후 같은 방식으로 진행하여 최종 값인 머클루트를 얻는다. 거래가 홀수인 경우, 맨 마지막 거래를 복사하여 거래를 짝수개로 만들어 사용하는 원칙으로 이용되고 있다. 이러한 경우를 [[균형트리]](balanced tree)라고 한다.<ref>easyblockchain, 〈[https://banksalad.com/contents/%EC%89%BD%EA%B2%8C-%EC%84%A4%EB%AA%85%ED%95%98%EB%8A%94-%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EB%A8%B8%ED%81%B4%ED%8A%B8%EB%A6%AC-Merkle-Trees-%EB%9E%80-ilULl 쉽게 설명하는 블록체인 : 머클트리(Merkle Trees)란]〉, 《뱅크샐러드》, 2018-07-30</ref> 머클트리의 생성 과정은 다음과 같다. |
# 최초 데이터를 SHA256형태의 해시값으로 변환한다. | # 최초 데이터를 SHA256형태의 해시값으로 변환한다. |