의견.png

이전블록해시

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

이전블록해시(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 바이트

장점

비트코인은 블록체인을 이용해 거래장부를 저장하고 관리한다. 비트코인은 거래 내역을 위·변조하려는 악의적인 해킹에서도 자유롭다. 첫 번째 이유는 블록체인의 구조 때문이다. 블록체인은 새로운 블록이 생성될 때 이전의 블록이 가진 고유한 값(해시 값)을 저장하게 돼 있다. 즉 해시 값을 통해 모든 블록이 연결되는 셈이다. 만약 누군가 거래 내역을 악의적으로 변조한다면 그 거래 내역이 담긴 블록의 해시 값이 바뀔 것이고 그 해시 값을 저장하고 있는 다음 블록의 해시 값도 변경된다. 해킹된 블록 이후의 모든 블록 정보가 연쇄적으로 다 바뀌어야 하는데 이는 대단히 어려운 일이다. 더구나 블록체인 장부는 모든 사용자에게 공유돼 있다. 한 개인이 가진 거래장부가 바뀐다 하더라도 이미 수많은 사용자들이 동일한 장부를 공유하고 있기 때문에 바로 원래대로 복구할 수 있다. 즉 거래 내역을 바꾸고자 한다면 전체 사용자의 과반수 이상의 장부를 동시에 수정해야 한다.[3] 이것은 큰 네트워크를 가진 곳에서는 사실상 불가능 한 것이다.

각주

  1. 박용범, 〈블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기〉, 《삼성뉴스룸》, 2018-08-09
  2. keepit, 〈KEEP!T Column 비트코인 뽀개기(3편)〉, 《스팀잇》, 2018-04-26
  3. 송은정 기자, 〈4차 산업혁명 중심 블록체인 공공서비스에 접목…안전한가?〉, 《서울와이어》, 2019-05-02

참고자료

같이 보기


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