728x90
블록체인의 구성
블록
- 'A가 'B에게 천 원을 송금'을 하나의 거래(트랜잭션)로 본다면 하나의 블록에는 이러한 거래 데이터가 여러 개 포함되어 있다.
- 하나의 블록은 다음과 같이 구성되어 있다.
블록헤더
- 블록의 정체성을 띠는 데이터를 가지고 있다.
바디
- 거래(트랜잭션)카운터
- 거래의 개수를 의미한다.
- 거래(트랜잭션)
- 블록에 기록된 거래내역을 의미한다.
블록 헤더
- 블록 헤더는 6개의 정보로 구성되어 있다.
Version
- 소프트웨어/프로토콜 버전
Previous block hash
- 블록체인에서 바로 앞에 위치하는 블록의 블록 해시
Mekle hash(root)
- 개별 거래 정보의 거래 해시를 2진 트리 형태로 구성할 때 트리 루트에 위치하는 해시값
Timestamp
- 블록이 생성된 시간
Bits
- 계산 난이도 조절용 수치
Nonce
- 임의값으로 채굴에 참여하는 참여자들이 찾아야하는 값
블록 해시(Block Hash)
- 해시 함수는 어떤 형태의 데이터든 길이에 상관없이 고정된 길이의 값을 변환시켜 준다.
- 각각의 거래 데이터들은 해시 함수를 통해 해시값으로 변환되어 2개당 하나로 합쳐진다.
- 그렇게 계속 합쳐지다 보면 거래 데이터들은 결국 하나의 최종 해시값인 Merkle hash 값으로 집약되고 이 값은 블록헤더를 구성하는 하나의 정보가 된다.
- 블록 해시는 블록의 식별자 역할로 6가지 블록 헤더의 정보에 SHA256 해시 함수를 적용하여 계산되는 값이다. 즉 블록헤더를 해시하여 얻은 값.
- 블록 헤더의 6가지 정보 중 Nonce를 제외한 5가지는 블록 해시를 구하려는 시점에 이미 확장되어 변하지 않는다. 따라서 Nonce 값만 결정되면 최종적으로 블록 해시 값을 구할 수 있다.
- 이처럼 블록 해시 값을 식별자로 가지는 유효한 블록을 만들어내는 과정이 바로 작업 증명(Proof of Work)이며 채굴이라 부른다.
참고
https://www.banksalad.com/contents/쉽게-설명하는-블록체인-머클트리-Merkle-Trees-란-ilULl
https://m.blog.naver.com/shakey7/221576691305
728x90
'넓고 얕은 블록체인 지식' 카테고리의 다른 글
블록체인 기술이 이중 지불 문제를 해결하는 방법 (1) | 2023.06.23 |
---|---|
DAO(탈중앙화된 자율조직) 1분 요약 정리 (0) | 2023.05.03 |
블록체인의 원리 - 작업증명, 채굴, 논스, 해시에 대하여 (0) | 2023.05.03 |
머클루트(Murkle Root)와 머클트리(Merkle Tree) 1분 요약 정리 (0) | 2023.05.03 |
AWS에서 설명하는 블록체인으로 블록체인 훑어보기 (0) | 2023.04.28 |