본문 바로가기
넓고 얕은 블록체인 지식

블록체인의 구성 간단 정리

by 팡펑퐁 2023. 5. 3.
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