TrialChain 블록체인 기반 대규모 바이오메디컬 연구 데이터 무결성 검증 플랫폼
초록
본 논문은 중국·미국 협력 연구팀이 대규모 심혈관 질환 연구인 “Million Persons Project”에 적용한 TrialChain이라는 블록체인 기반 데이터 거버넌스 시스템을 소개한다. MultiChain 기반의 사설 블록체인에 데이터 해시를 기록하고, 정기적으로 최신 블록 해시를 이더리움 퍼블릭 네트워크에 전송함으로써 데이터 무결성을 공개 검증할 수 있다. Docker‑ 기반 마이크로서비스, Apache NiFi, Hadoop·Spark 등 기존 데이터 과학 인프라와 원활히 연동되어 데이터 수집·분석 전 과정을 투명하게 감사한다.
상세 분석
TrialChain은 데이터 무결성 보장을 위해 두 단계 블록체인 구조를 채택했다. 첫 번째 단계는 사설 블록체인으로, MultiChain 1.0.2를 이용해 네트워크를 구축하고 마스터‑클라이언트 토폴로지를 적용하였다. 마스터 노드는 체인 파라미터와 권한을 정의하고, 각 서비스(웹 API, 포털, 데이터 인제스트 모듈)마다 별도 클라이언트 노드를 배치해 RPC 인터페이스를 제공한다. 이렇게 하면 각 컨테이너가 독립적으로 블록 데이터를 복제하고, 노드 장애 시 데이터 손실을 방지한다.
두 번째 단계는 퍼블릭 블록체인 연동이다. 사설 체인의 최신 블록 해시(블록 헤더)와 메타데이터를 일정 주기로 이더리움 메인넷에 트랜잭션 형태로 전송한다. 이를 위해 Docker 컨테이너에 Geth 1.8.0을 실행해 로컬 이더리움 노드를 운영하고, 필요 시 Infura·BlockCypher와 같은 외부 JSON‑RPC 엔드포인트를 활용한다. 트랜잭션 비용을 최소화하기 위해 Ether를 소량 보유한 전용 월렛을 생성하고, 트랜잭션 서명은 웹 포털 백엔드에서 자동화한다.
데이터 해시 생성은 Apache NiFi 0.4.0 워크플로우에서 수행된다. 파일이 NDSP(Hadoop HDFS)로 유입되면 NiFi가 MD5와 SHA‑256 두 종류의 해시를 동시에 계산한다. MD5(32자 제한)값을 MultiChain Asset ID로 사용하고, SHA‑256은 부가 메타데이터로 저장해 암호학적 강도를 보완한다. 해시와 타임스탬프, 소스 식별자 등을 JSON 형태로 포장해 Falcon 기반 REST API에 POST 요청하면, API 서버가 MultiChain에 자산을 발행하고 네트워크 전체에 브로드캐스트한다.
검증 단계에서는 사용자가 웹 포털에 MD5 해시를 입력하면, 로컬 MultiChain 노드에서 해당 자산을 조회하고, 해당 블록이 언제 퍼블릭 이더리움에 동기화되었는지 확인한다. 반환값에는 트랜잭션 영수증, 컨펌 수, etherscan.io 링크 등이 포함되어 외부 감사인이 손쉽게 검증할 수 있다. 동일 기능을 Python CLI에서도 제공해 자동화 파이프라인에 통합할 수 있다.
시스템 전반은 Docker Compose 1.21.0으로 정의된 마이크로서비스 아키텍처 위에 구축되었으며, Ubuntu 16.04 기반 이미지에 Python 3.6.2, Flask 0.12.2, Web3.py 3.16.5, Savoir 1.0.6 등을 설치했다. Hadoop 클러스터(HDFS 2.7.3, YARN 2.7.3, Spark 1.6.2 등)와 SLURM 기반 HPC와도 연동돼 대용량 유전체·이미징 데이터 처리에 지장을 주지 않는다. 전체 설계는 보안(Kerberos 인증), 고가용성(멀티 노드 복제), 비용 효율성(사설 체인 사용·퍼블릭 연동 최소화) 측면에서 균형을 맞추었다.
댓글 및 학술 토론
Loading comments...
의견 남기기