HOME - 미래와 기술
블록체인의 구조 - 블록헤더, 블록바디, 블록해시
이전, 암호화폐 채굴의 원리와 방법에 대해 알아보았습니다. 

[암호화폐 채굴의 의미와 방법]

논스, 해시 등 낯선 개념에 대해서 간단히 소개만 하고 넘어갔었는데, 이번 글에서는 조금 더 상세히 설명해볼까 합니다.
 
50fba07bccd2a7006f98756fb295ea76_1570409772_5205.jpg

ⓒgettyimagesbank


# 블록이란

블록이란 거래 정보가 들어있는 상자를 말합니다. 예를 들어 블록이 생성되는 단위가 30분이라면 1번 블록은 00:00~00:30의 거래정보를, 2번 블록은 00:30~01:00의 거래정보를 가지고 있습니다.

이후, 01:00~01:30의 거래정보를 담고 있는 3번 블록을 연결하려면 우선 3번 블록의 거래정보를 확인합니다. 그리고 2번 블록과 이어지는 것인지 점검한 후, 승인되면 2번 블록에 연결합니다. 이 과정이 지난번 알아본 채굴과 작업 증명입니다.


# 블록의 구조 
8f49a25c321c73bb411112c693123269_1542616494_7175.png 
블록체인의 블록은 크게 블록 헤더(Header), 블록 바디(Body)로 나뉘어집니다. 헤더는 이전 블록 해시, 논스 등의 정보를, 바디는 거래 정보와 기타 정보를 가지고 있습니다. 그리고 각 블록은 블록해시로 구분됩니다.


# 블록 해시 (Block Hash) 

블록 해시는 블록을 구분할 수 있도록 하는 식별자 역할을 합니다. 블록 헤더에 있는 정보를 모두 더한 후 해시 알고리즘으로 변환된 값으로, 블록 전체의 해시값이 아닌 헤더의 해시값입니다. 


# 블록 헤더(Header)

헤더는 버전(Version), 이전 블록 해시(Previous block hash), 머클루트(Merkle Root), 타임(Time), 난이도 목표(bits, target), 논스(Nonce) 6개의 정보로 이루어져 있습니다.

- 버전(Version)
버전은 해당 블록을 만든 프로그램의 소프트웨어, 프로토콜 버전 정보를 뜻합니다. 

- 이전 블록 해시(Previous block hash)


8f49a25c321c73bb411112c693123269_1542616525_4715.png 
바로 이전 블록의 블록 해시를 말합니다. 이렇게 이전 블록의 정보를 가지고 있기 때문에 새로 만들어지는 블록의 유효성을 확인할 수 있습니다.

- 머클루트(Merkle Root)
머클루트는 블록 바디에 저장된 정보로 만들어진 값입니다. 거래정보(트랜잭션)의 해시트리로, 가까운 노드 2개를 한 쌍으로 묶어 해시값으로 변환하고 이 과정을 반복해 최종적으로 하나가 남으면 그 값이 머클루트가 됩니다. 입니다. 토너먼트 표와 같은 구조라고 생각하면 이해하기 편합니다.

- 타임(Time)
해당 블록이 생성된 시간입니다.

- 난이도 목표(bits) 
난이도를 조절하기 위한 수치입니다. 채굴에 참여하는 사람이 많아져 논스를 찾는 시간이 짧아지면 난도가 올라가고, 논스를 찾는 시간이 길어지면 난도가 낮아집니다.

- 논스(nonce) 
논스는 블록을 연결하기 위한 작업증명에 쓰입니다. 새 블록이 만들어졌을 때, 논스 값은 비어있습니다. 난이도 목표를 만족하는 논스를 찾으면 해당 블록은 유효한 것으로 인정되고 체인으로 연결됩니다.


#블록 바디(Body) 

블록 바디는 거래 정보를 포함하고 있습니다. [ A가 B에게 1코인을 전송했다 ] 라는 거래 정보가 하나의 트랜젝션이 되어 저장됩니다. 이 정보들을 바탕으로 머클루트가 만들어집니다.


  • 저작자표시
  • 비영리
  • 저작자표시
댓글

댓글목록

등록된 댓글이 없습니다.

뉴스레터 신청
블루벨트 코리아는 암호화폐, 금융 등 다양한 뉴스를 메일로 전달해 드립니다.