AWS QLDB: 무엇이고 왜 필요한가?(블록체인과의 차이점)

QLDB != 블록체인

  • QLDB(Quantum Ledger Database)는 블록체인 개념을 사용하는 "데이터베이스"이다.
  • 모든 변경 내용들을 추적 가능하며, 이를 검증할 수 있는 장점을 가지고 있다.
  • 블록체인처럼 노드끼리 작업을 증명하고 투표하는 과정들을 거치지 않고 데이터만 저장하기 위해서는 신뢰성 있는 레저를 구현하는 것이 중요하다. 

 

지금까지 Ledger(레저)를 구현한 방법

1. RDBMS

  • 감사 기능 등 스스로 구현
  • 시스템 관리자에 의해 발생한 변경을 확인(Verify) 어려움

2. 블록체인 플랫폼(ETH, QTUM 등)

  • 노드 간의 네트워크 연결로 복잡성 증가
  • 채굴과정으로 인해 느림

 

AWS QLDB(Quantum Ledger Database)란?

  • 간단히 말해서 모든 쿼리를 저널(Journal)이라는 것으로 만들고 모든 변화과정을 History DB에 따로 저장하는 것을 말한다.
  • 아래 그림과 같이 Current DB에 Insert, Update, Delete 등의 명령어가 들어오면 쿼리의 데이터를 SHA256으로 암호화하여 하나의 쿼리당 하나의 해시값으로 만들어낸다.

QLDB - Current DB, Journal, History DB

  • History DB는 insert만 가능하고 update, delete는 불가능하며, 모든 데이터의 변경 기록을 볼 수 있게 해준다.
  • 저널(Journal)로 데이터의 변경을 검증할 수 있는데, 이 과정에서 블록체인 개념이 사용된다.
    • 블록체인에서 블록이 Previous Hash Value값으로 서로 연결되어 있듯이 QLDB에서 저널(Journal)이 해시값으로 서로 연결되게 된다.

 

QLDB의 장점?

QLDB 장점

  • QLDB는 저널(Journal)이라는 개념을 통해서 변경 불가능한 투명성을 제공한다.
  • 체인 연결을 할 때 SHA256 암호화방식을 사용함으로서 검증을 할 수 있다.
  • 기존의 블록체인 프레임워크에 비해서 두세배 많은 트랜잭션을 실행 할 수 있다. 블록체인 프레임워크는 분산화 되어 있기 때문에 채굴과정도 거치고 투표과정을 거쳐야 하지만 QLDB는 중앙집중형 식으로 개발되어 있기 때문에 합의과정을 거치지 않아 확장이 용이 하다.
  • 데이터 변경내역에 대한 보안 출력 파일을 QLDB가 생성해주는데 이를 다이제스트라고 한다. 다이제스트는 디지털 변경내역의 증거로 사용될 수 있고 이는 데이터 변경의 무결성을 검증할 수 있는 자료가 된다.
  • 서버리스에서 실행되기 때문에 애플리케이션 요구 사항에 따라서 알맞게 확장 축소되며, 데이터베이스의 작동 상태를 볼 수 있도록 읽기, 쓰기, 이벤트 등의 운영 지표를 제공하기도 합니다.
  • 가격 역시 사용한 만큼만 지불하기 때문에 합리적입니다.

 

QLDB의 모델 구조

Dynamo DB, Mongo DB, Document DB와 같은 Document Board구조를 가지고 있으며, Query역시 SQL과 매우 비슷하다.

관계형 모델과는 달리 id로 연결되어 있지 않고 직접 모든 데이터를 포함하고 있다.

 

 

 

 

 

참조 :

1. https://www.youtube.com/watch?v=0xT4b0HGQdU 

2. The icons used in the image are created by Smashicons, SBTS2018, Freepik, Eucalyp, iconixar - Flaticon