# 블록체인 기반 제약물류의 이력 추적 시스템

- URL: https://soohan.dev/projects/cj/blockchain-pharmaceutical-logistics
- Category: projects/cj
- Published: 2021-11-17
- Tags: blockchain, hyperledger-fabric, pharmaceutical-logistics, supply-chain
- Author: Soohan Park

> SSCC를 키로 의약품 물류 이력을 Hyperledger Fabric에 기록하고, 참여 조직이 유통 상태를 검증할 수 있도록 설계한 연구.

---

<Download
  href="https://nptgbqzcpg7dbphu.public.blob.vercel-storage.com/files/projects/cj/blockchain-pharmaceutical-logistics/paper.pdf?download=1"
  title="블록체인기반 제약물류 시스템의 설계"
  meta="PDF · 583KB"
/>

CJ올리브네트웍스에 입사한 뒤, CJ대한통운의 제약물류 시스템에 블록체인을 적용하는 프로젝트와
연구에 저자로 참여했습니다. 의약품이 생산된 뒤 물류센터를 거쳐 의료기관에 도착하기까지
분산돼 있던 이력을 하나로 연결하고, 참여 조직이 유통 상태와 품질 정보를 함께 검증할 수 있는지
살펴본 연구입니다.

논문은 *블록체인기반 제약물류 시스템의 설계*로 발표했습니다.

## 팔레트 단위 이력을 SSCC로 연결

시스템은 팔레트와 같은 물류 단위에 부여되는 `SSCC`를 이력의 키로 사용합니다.
입고, 출고, 운송 중 상태가 바뀔 때마다 물류센터와 고객사, 처리 유형, 일자,
상품 코드, 주문·참조 번호, 생산일, 배치, 유통기한, 수량과 타임스탬프를 함께 기록합니다.

하위 포장 단위의 바코드와 상위 물류 단위의 SSCC를 집합 코드로 연결해,
하나의 팔레트 안에 어떤 의약품이 들어 있는지도 추적할 수 있도록 구성했습니다.

## 현재 상태와 전체 이력을 나눈 구조

Chaincode는 `/create`, `/update`와 조회 기능을 API로 제공합니다.
state database에는 SSCC별 최신 상태를 두고, ledger에는 생성 이후의 모든 변경 기록을 남깁니다.
업무 시스템은 현재 위치를 빠르게 조회할 수 있고, 문제가 생기면 ledger를 따라가며
언제 어떤 상태 변경이 있었는지 확인할 수 있습니다.

기존 의약품 물류 시스템인 PLS는 OMS, WMS, TMS, DTS에서 발생한 이벤트를 모아
Hyperledger Fabric 네트워크에 전달합니다. 유통사, 제약사, 의료기관은 허가형 네트워크의
조직과 peer로 참여하고, 공유 범위가 다른 데이터는 channel로 분리하는 구조입니다.

프로젝트에서는 AWS Managed Blockchain의 Hyperledger Fabric 1.4와 CouchDB를 기반으로
네트워크를 구성하고, Go Chaincode와 Java 8·Spring API를 개발해 물류 시스템과 연결했습니다.
이 구현 범위는 당시 공개한 경력 기록에 근거한 것이며, 논문에 적힌 전체 시스템의 성과를
개인의 기여로 확대해 해석하지 않습니다.

## 기록량과 조회 성능

논문은 한 제약사의 하루 평균 처리량을 약 500개의 SSCC로 설명합니다.
성능 실험에서는 블록 수를 늘리며 전체 이력을 조회했고, 블록 1,000개를 조회하는 데
약 8초가 걸렸습니다. 연구 환경에서 이력량이 늘어날 때 조회 시간이 어떻게 변하는지 확인한
수치이며, 여러 조직이 동시에 쓰는 상용 환경의 처리량이나 장애 복구 성능을 뜻하지는 않습니다.

## 설계가 해결한 것과 남긴 것

물류 이벤트를 변경하기 어려운 공통 원장에 기록하면 참여 조직마다 따로 관리하던 이력을
SSCC 하나로 연결할 수 있습니다. 회수 대상이 생겼을 때 생산 배치와 이동 경로를 따라가는 시간도
기존의 수작업 확인보다 줄일 수 있다는 것이 논문의 결론입니다.

반대로 블록체인은 입력된 센서값이나 업무 이벤트가 처음부터 정확했는지 보장하지 않습니다.
실제 운영에서는 참여 조직의 책임과 합의 절차, 조직별 권한과 channel 정책,
잘못 입력한 데이터를 정정하는 규칙까지 함께 설계해야 합니다.
공통 원장은 추적의 기반이고, 데이터 품질과 운영 거버넌스는 별도의 문제입니다.

## 논문 정보

- 제목: 블록체인기반 제약물류 시스템의 설계
- 영문 제목: Design of Blockchain based Pharmaceutical Logistics System
- 저자: 최재혁, 유현승, 김경은, 박수한, 김기호, 채세준, 신석병, 문동석, 박준영, 김현연, 손종수
- 발표: 한국IT서비스학회 추계학술대회
- 발표일: 2021년 11월 17일
