본문 바로가기
Kor/Blockchain

암호기술과 블록체인 (2) - 머클트리와 블록체인

by PD Miles 2022. 7. 21.
반응형

해시의 응용 - 머클트리

해시는 다양하게 활용될 수 있지만, 블록체인을 공부하는 우리에게 필요한 내용을 하나 고르라고 한다면, 단연 ‘머클트리'일 것이다.

머클트리는 쉽게 얘기해서 각 데이터 파일의 해시값을 구하고, 그 결과를 2개씩 짝을 지어 연결한 것을 이야기한다.

그 최상단에 있는 것을 머클루트라고 부르는데, 머클트리를 블록체인에서 활용하는 이유는 다음과 같다.

 

우리는 이전에 해시의 특징에서 ‘입력값의 사소한 변경에도 민감하게 반응한다'라는 것을 배웠다.

어떤 입력값을 해시함수에 대입해도 출력값은 모두 다 다르게 나온다. 이는 입력값에서 점 하나만 바뀌어도 그 결과값이 완전히 달라진다는 것을 의미하는데, 머클트리의 어느 한 부분에서 데이터의 변조가 일어나면 그 부분에서부터 연결된 모든 해시값이 바뀌면서 결국 머클루트의 해시값도 바뀌게 된다.

우리는 어떤 데이터가 위변조되었는지 머클루트 하나의 값만보더라도 쉽게 알 수 있게 되는 것이다.


블록체인

블록체인은 우리 모두 알고있듯이 개별 트랜젝션이 모인 블록을 연결한 것을 이야기한다.

  • 트랜잭션 = 하나의 거래 기록
  • 블록 = 장부 한 페이지 (일정한 시간 동안의 트랜잭션 모음)
  • 블록체인 = 전체 장부 (블록이 체인처럼 연결됨)

일단 블록의 구성요소에 대해 알아보자

블록은 트랜잭션의 해시값이 머클트리로 연결되어있는 Body와 Body의 마지막 해시인 머클루트가 기록된 Header, 그리고 Header의 머클루트는 다시 하나의 해시값으로 암호화되어 Block Hash에 저장된다.

단일 블록의 구성요소

 

블록체인은 일정량의 트랜잭션이 쌓인 뒤 단일 블록이 가지고 있는 Block Hash를 다음 블록의 Header에 함께 포함시켜서 그 내용을 다시 해시값으로 암호화해서 Block Hash로 저장한다.

단일 블록이 계속해서 연결되면 블록체인이 된다.

 

이런 식으로 모든 블록을 연결시킨 것을 블록체인이라고 한다.

반응형