"이전블록해시"의 두 판 사이의 차이
(→참고자료) |
(→특징) |
||
5번째 줄: | 5번째 줄: | ||
== 특징 == | == 특징 == | ||
− | [[블록 해시]](Block Hash)는 블록의 식별자 역할을 수행한다. 블록 해시는 쉽게 말해 '블록'의 이름 정보라고 할 수 있다. 블록 해시는 [[블록 헤더]] 정보인 [[버전]], [[이전블록해시]], [[머클루트]], [[타임]], [[비트]], [[논스]] 정보를 모두 더하여 합을 구한 후 [[SHA 256]]방식으로 변환된 결과 값이다. 이전블록해시 정보는 새로운 블록이 생성되는 시점에서 바로 이전 블록의 블록 해시 정보를 참조한다. 블록이 생성되는 시점에서 이전 블록 해시 정보를 참조함으로써 블록과 블록이 [[연결 리스트]](Linked list)형태로 연결된 자료구조를 가질 수 있다. 예를 들어 1000번 째 블록의 이전블록해시 정보는 999번 째 블록의 블록 해시 정보를 참조하고 있으며, 999번 째 블록 또한 마찬가지로 이전 블록인 998번 째 블록의 블록 해시 정보를 참조하게 된다. 이러한 방식으로 최초의 블록인 [[제네시스 블록]]까지 모든 블록이 시간의 흐름 순서에 따라 연결되어 있으며, 블록과 블록이 이러한 방식으로 [[체인]] 형태처럼 연결되어 있다고 하여 [[블록체인]]이라고 표현하는 것이다.<ref>keepit, 〈[https://steemit.com/coinkorea/@keepit/keep-t-column-3 KEEP!T Column 비트코인 뽀개기(3편)]〉, 《스팀잇》, 2018-04-26</ref> | + | 이전블록해시는 문자 그대로 바로 앞의 블록해시로, 새로 생성되는 블록의 유효성을 검증하는 데 활용된다.[[블록 해시]](Block Hash)는 블록의 식별자 역할을 수행한다. 블록 해시는 쉽게 말해 '블록'의 이름 정보라고 할 수 있다. 블록 해시는 [[블록 헤더]] 정보인 [[버전]], [[이전블록해시]], [[머클루트]], [[타임]], [[비트]], [[논스]] 정보를 모두 더하여 합을 구한 후 [[SHA 256]]방식으로 변환된 결과 값이다. 이전블록해시 정보는 새로운 블록이 생성되는 시점에서 바로 이전 블록의 블록 해시 정보를 참조한다. 블록이 생성되는 시점에서 이전 블록 해시 정보를 참조함으로써 블록과 블록이 [[연결 리스트]](Linked list)형태로 연결된 자료구조를 가질 수 있다. 예를 들어 1000번 째 블록의 이전블록해시 정보는 999번 째 블록의 블록 해시 정보를 참조하고 있으며, 999번 째 블록 또한 마찬가지로 이전 블록인 998번 째 블록의 블록 해시 정보를 참조하게 된다. 이러한 방식으로 최초의 블록인 [[제네시스 블록]]까지 모든 블록이 시간의 흐름 순서에 따라 연결되어 있으며, 블록과 블록이 이러한 방식으로 [[체인]] 형태처럼 연결되어 있다고 하여 [[블록체인]]이라고 표현하는 것이다.<ref>keepit, 〈[https://steemit.com/coinkorea/@keepit/keep-t-column-3 KEEP!T Column 비트코인 뽀개기(3편)]〉, 《스팀잇》, 2018-04-26</ref> |
블록 헤더는 80 바이트이다. | 블록 헤더는 80 바이트이다. |
2019년 8월 7일 (수) 10:57 판
이전블록해시(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]
각주
- ↑ 박용범, 〈블록체인 기술의 핵(核), ‘암호 해시’ 파헤치기〉, 《삼성뉴스룸》, 2018-08-09
- ↑ keepit, 〈KEEP!T Column 비트코인 뽀개기(3편)〉, 《스팀잇》, 2018-04-26
- ↑ alcio, 〈Is the hash of the previous block included in the block header?〉, 《StackExchange》, 2017-07-11
참고자료
- yahweh87, 〈#3- 블록체인 기술 및 블록에 관한 정의〉, 《스팀잇》, 2018-02-07
- 랜딩블록, 〈“트랜잭션(Transaction)”, “블록(Block)”, “체인(Chain)”〉, 《네이버 카페》, 2019-03-20
- 불곰, 〈블록체인 기술 정의〉, 《티스토리》, 2018-07-08
같이 보기