의견.png

이전블록해시

위키원
shoot008 (토론 | 기여)님의 2019년 8월 7일 (수) 11:04 판 (특징)
이동: 둘러보기, 검색

이전블록해시(previous block hash)는 이전 블록의 주솟값을 알려주는 해시이다. 블록헤더에 속한다. 이전블록해시 값으로 블록간의 연결이 이뤄진다. 블록체인은은 거래 정보의 묶음인 블록이 실제 체인처럼 연결되어 있지는 않지만 뒤의 블럭이 앞의 블럭을 참조하고 또 뒤의 블럭이 앞의 블럭을 참조하는 모양에서 마치 체인 형태로 연결되어 있는 모습에 블록체인이라고 부르게 되었다.

개요

체인(Chain)은 블록들이 이전 블록 해시값을 이용하여 서로 연관되는 형태로 블록들을 연결시킨다. 이로써 데이터 변조도 방지된다. 블록체인에서 '블록'은 '헤드(Head)'와 '바디(Body)'로 나뉜다. 블록 바디엔 여러 거래 기록이 머클트리(Merkle Tree)로 불리는 구조로 구성된 후 저장된다. 이렇게 하면 블록 바디 전체를 대표하는 암호 해시가 만들어 진다. 블록 헤드엔 블록 바디 암호 해시 등 여러 가지 정보가 기록된다. 블록 헤드 또한 하나의 문서와 같은 만큼 암호 해시를 구할 수 있다. 이 블록 헤드 암호 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 이는 앞서 주의 깊게 봐둔 이전 블록 헤드 암호 해시다. 즉, 다음 블록 입장에서 보면 내 블록 헤드의 암호 해시가 다음 블록 헤드에 저장되는 이전 블록 헤드 암호 해시가 되는 것이다. 블록체인이란 명칭은 이처럼 "이전 블록 헤드 암호 해시가 다음 블록에 저장되는 행태의 반복"이란 뜻에서 붙여졌다.[1] 각 블록이 이전 블록의 해시 정보를 가지고 있기 때문에 각 블록이 서로 서로 연결되어 있는 구조가 될 수 있다.

특징

이전블록해시는 문자 그대로 바로 앞의 블록 해시(Block Hash)로, 새로 생성되는 블록의 유효성을 검증하는 데 활용된다. 블록해시는 블록의 식별자 역할을 수행한다. 블록 해시는 쉽게 말해 '블록'의 이름 정보라고 할 수 있다. 블록 해시는 블록 헤더 정보인 버전, 이전블록해시, 머클루트, 타임, 비트, 논스 정보를 모두 더하여 합을 구한 후 SHA 256방식으로 변환된 결과 값이다. 이전블록해시 정보는 새로운 블록이 생성되는 시점에서 바로 이전 블록의 블록 해시 정보를 참조한다. 블록이 생성되는 시점에서 이전 블록 해시 정보를 참조함으로써 블록과 블록이 연결 리스트(Linked list)형태로 연결된 자료구조를 가질 수 있다. 예를 들어 1000번 째 블록의 이전블록해시 정보는 999번 째 블록의 블록 해시 정보를 참조하고 있으며, 999번 째 블록 또한 마찬가지로 이전 블록인 998번 째 블록의 블록 해시 정보를 참조하게 된다. 이러한 방식으로 최초의 블록인 제네시스 블록까지 모든 블록이 시간의 흐름 순서에 따라 연결되어 있으며, 블록과 블록이 이러한 방식으로 체인 형태처럼 연결되어 있다고 하여 블록체인이라고 표현하는 것이다.[2] 블록체인은 결국 이전블록해시가 다음 블록의 한 구성요소가 되는 방식으로 체인처럼 연결되는 것으로 해시값이 맞지 않으면 다음 블록으로 자격을 갖추지 못하게 된다.

블록 헤더는 80 바이트이다.

  • 버전 번호 : 4 바이트
  • 이전블록헤더 해시 : 32 바이트
  • 머클 루트 : 32 바이트
  • 타임 스탬프 : 4 바이트
  • 비트 : 4 바이트
  • 논스 : 4 바이트

각주

  1. 박용범, 〈블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기〉, 《삼성뉴스룸》, 2018-08-09
  2. keepit, 〈KEEP!T Column 비트코인 뽀개기(3편)〉, 《스팀잇》, 2018-04-26

참고자료

같이 보기


  의견.png 이 이전블록해시 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.