아하 로고
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
WINTERFELL
WINTERFELL 19.07.17

블록의 헤드(Head)가 담고있는 데이터는 무엇인가요?

안녕하세요.

이하의 블록체인 전문가님들로부터 많은 도움을 받아 감사드립니다.

블록체인을 구성하는 각각의 블록에서 블록헤드가 담고있는 데이터, 정보는 무엇인가요?

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 블록은 블록 헤더와 블록 바디로 이루어져 있습니다. 그 중에서 질문해주신 블록 헤더에 저장되는 정보를 살펴보도록 하겠습니다.

    1. 버전 : 클라이언트 소프트웨어의 버전

    2. 이전 블록의 해시 값 : 이전 블록헤더를 해싱한 값

    3. 머클 루트 : 블록의 거래 정보를 이진 트리로 해싱 했을 때 모든 거래 내역이 포함된 하나의 해시 값

    4. 비츠 : 블록의 작업 증명 연산을 위한 난이도 타겟 값

    5. 타임 스탬프 : 블록의 생성 시간

    6. 논스 : 블록이 설정해 놓은 값보다 더 낮은 값을 찾기 위해 무작위로 대입하는 임시 값

    이러한 정보를 활용하여 마이닝 노드가 블록 해시 값을 구하는 연산을 실행하고 그 값을 구해야만 블록을 생성할 수 있습니다.

    1. POW 합의 알고리즘에서 새로운 블록을 생성하기 위해 블록 해시 값을 연산한다고 할 때 소프트웨어 버전, 이전 블록의 해시 값, 머클루트의 해시 값인 머클 해시, 블록이 생성된 시간, 난이도는 결정이 되고 변하지 않습니다.

    2. 다만 논스의 경우에는 변할 수 있는 무작위 값이기 때문에 논스가 달라짐으로써 새로운 블록의 해시 값이 다르게 연산되어 나오게 됩니다.

    3. 따라서 무작위 논스 값을 해시 함수에 대입하면서 난이도 값과 같거나 낮은 값을 찾는 연산을 진행하게 되는데 이 값을 찾게 되면 블록을 생성할 수 있게 되고 이때 논스를 비롯한 나머지 모든 값을 더한 후 이것을 해싱하게 되면 이 새로운 블록의 해시 값을 구할 수 있게 됩니다.

    4. 그리고 그 값이 다시 다음 블록의 해더에 '이전 블록의 해시 값'으로 기록되며 블록체인이 연결된다고 할 수 있겠습니다.

    답변이 도움이 되길 바랍니다.