상세 컨텐츠

본문 제목

[하이퍼레저 패브릭] 하이퍼레저 패브릭 구성요소(Ledger)

Development/하이퍼레저 패브릭

by J-Developer 2023. 1. 9. 22:22

본문

반응형

하이퍼레저 패브릭의 원장은 두 가지로 구분할 수 있습니다.

  • 현재 상태를 나타내는 'World State'
  • 원장의 생성 시점부터 현재까지 기록을 저장하는 'Blockchain'

 

원장의 예시

 

  • World State는 데이터의 기록, 수정, 읽기 등이 빈번하게 발생하기 때문에 데이터베이스로 구축되어 있습니다.
  • 블록체인 데이터 요청이 거의 없고 append-only 방식의 저장이 목적이기 때문에 파일 형태로 저장되어 있습니다.
  • World State에 저장된 데이터는 합의 과정에 의해 블록체인에 포함되기 전까지 체인코드를 통해 조회/변경/삭제가 가능합니다.
  • 합의에 의해 결정된 블록체인은 절대 수정할 수 없습니다.

 


▶ World State

World State는 두 가지 중 하나를 선택해서 데이터베이스를 구축할 수 있습니다.

  • Key-Value 방식을 사용하는 LevelDB
  • JSON 방식을 사용하는 CouchDB

peer는 World State에 트랜잭션을 업데이트하기 전 트랜잭션과 World State의 version 값을 비교하는 작업을 수행합니다.

트랜잭션의 version값과 World State의 version값이 같아야만 해당 트랜잭션의 내용이 업데이트 되고, 다르면 되지 않습니다.

 


▶ Blockchain

정해진 용량만큼 혹은 일정 시간 동안 발생한 트랜잭션은 하나의 블록이 됩니다.

블록체인은 이렇게 생성된 블록들이 합의 과정을 무사히 마친 후 암호학적 기법을 통해 생성된 순서대로 연결되어 저장되는 데이터를 일컫습니다.

 

 

블록체인 구조

블록체인 구조

 

블록 헤더에는 현재 발생하고 있는 트랜잭션에 대한 해시값과 이전 단계에서 생성된 블록의 해시값이 포함되어 있습니다.

 

 

블록 Header 구조

block header 구조

  • Block Number: 0부터 시작하여 합의 과정에 의해 블록이 생성될 때마다 숫자가 1씩 증가하게 됩니다.
  • Current Block Hash: 현재 블록에 포함되어 있는 트랜잭션의 해시값입니다.
  • Previous Block Hash: 이전 블록에 대한 해시값입니다.

 

 

트랜잭션 구조

트랜잭션 구조

  • Header: 트랜잭션의 version 정보와 트랜잭션이 실행되는 체인코드의 이름 등이 명시되어 있습니다.
  • Signature: 트랜잭션 생성자의 Identity 관련 디지틸 인증서 정보가 있습니다.
  • Proposal: 체인코드에 들어가는 트랜잭션의 입력값이 저장되어 있습니다. 해당 입력값을 이용해서 체인코드를 실행시킵니다.
  • Response: 트랜잭션 처리 결과값을 Read/Write Set 형태로 반환하는 필드입니다. Read는 트랜잭션이 반영되기 전 값이고, Write는 값이 반영된 후 값을 의미합니다. 이 값은 추후 최신 블록 검증 과정에 사용됩니다.
  • Endorsement: 트랜잭션을 보증해 준 peer의 identity 정보가 포함되어 있습니다. 보증 정책에 따라서 Endorsement는 한 개 혹은 여러 개가 될 수 있습니다.
  • Chaincode name: 트랜잭션이 실행되는 체인코드를 구분하는데 사용됩니다.
  • 그 외 여러가지의 항목들이 더 있으므로 공식문서에서 확인할 수 있습니다.
    (https://hyperledger-fabric.readthedocs.io/en/release-2.5/ledger/ledger.html)

 


 

이전글

2023.01.02 - [Development/하이퍼레저 패브릭] - [하이퍼레저 패브릭] 하이퍼레저 패브릭 구성요소(DApp)

 

[하이퍼레저 패브릭] 하이퍼레저 패브릭 구성요소(DApp)

▶ DApp 모바일 환경에서 사용되는 애플리케이션을 모바일 애플리케이션, 웹에서 사용되는 애플리케이션을 웹 애플리케이션이라고 부르는 것 처럼 분산된 환경(탈중화된 환경)에서 사용되는 애

j-dev.tistory.com

 

참조

https://search.shopping.naver.com/book/catalog/32495639398?query=%ED%95%98%EC%9D%B4%ED%8D%BC%EB%A0%88%EC%A0%80%20%ED%8C%A8%EB%B8%8C%EB%A6%AD%EC%9C%BC%EB%A1%9C%20%EB%B0%B0%EC%9A%B0%EB%8A%94%20%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8&NaPm=ct%3Dlbus6t6o%7Cci%3D02d1bc13b2454d71cabceefdefaf0114c7c96929%7Ctr%3Dboksl%7Csn%3D95694%7Chk%3D2910ef8d8bd397f2275fd03e24f6b2c88f3abbec

 

하이퍼레저 패브릭으로 배우는 블록체인 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

반응형

관련글 더보기

댓글 영역