월드스테이트 데이터베이스 (World State DB)

  • 하이퍼레저 패브릭의 용어

  • 모든 원장의 ‘현재 상태’ 를 의미한다

  • 패브릭에서는 원장(Ledger)에 모든 데이터를 넣지 않고 거래내역만을 기록한다

  • 실제 데이터는 ‘월드스테이트’ 라는 데이터베이스에 저장한다

  • 현재 값을 얻기 위해서 ‘전체 블록체인’ 을 뒤질 필요가 없고 ‘월드스테이트’ 가 있다면 바로 현재 값을 얻을 수 있다

  • 트랜잭션에 의해서 체인코드가 호출될 때 상태 & 데이터 저장을 위한 Key-Value 데이터베이스 (json)

  • 트랜잭션 처리 결과를 보존한다

  • 패브릭은 종료된 시점의 상태를 월드스테이트에 보존한다

월드 스테이트

트랜잭션들의 로그들로 생성, 변경된 모든 Key-Value 의 최신 상태

블록체인

트랜잭션들의 모든 블록이 암호학적 해시 함수로 연결되어 있는 형태


하이퍼레저 패브릭의 데이터 흐름

스마트컨트랙트 데이터 👉 월드스테이트 DB (json) 👉

  1. 데이터베이스 자체에서도 열어볼 수 있고
  2. 익스플로어 모니터링에서도 열어볼 수 있고
  3. 스마트컨트랙트에서 다시 꺼내 볼 수도 있다

스마트컨트랙트는 Go 언어로 작성되어있지만
Unmarshal 되어 쓰이는 곳에서는 자바스크립트 일수도있고 파이썬일수도 있다

👉 그래서 블록에 저장될때 (원장에 저장될때) json 형식으로 저장한다


하이퍼레저 패브릭은

블록체인과 DB를 동시에 가지고 있는 구조이다
속도와 신뢰를 동시에 얻기 위함이다

월드스테이트라는 DB에 저장을 하기 위해서는
하이퍼레저 패브릭에 들어있는 자체 블록체인에 저장하고
월드스테이트에 최종의 값(현재의 값)을 저장해둔다

최종값을 알기 위해서는 월드스테이트의 값만 확인하면 된다


참고 했던 사이트 🖥