eUTxO 인덱서 아키텍처: Kupo와 Ogmios를 활용한 온체인 데이터 실시간 파싱
📌 [기록 기준 및 기술 면책 안내]
카르다노의 eUTxO(extended Unspent Transaction Output) 아키텍처는 트랜잭션의 결정론적 검증과 고도의 병렬성을 보장하지만, 상태가 계정(Account) 단위로 집계되지 않고 원장 전체의 개별 출력값(Output)으로 파편화되어 분산 존재합니다. 따라서 dApp 백엔드와 오프체인 애플리케이션이 실시간 잔고, 스마트 컨트랙트 데이터(Datum), 스크립트 참조(Reference Script)를 효율적으로 질의하기 위해서는 전문적인 온체인 인덱서 파이프라인이 필수적입니다. 본 고에서는 Rust 기반 경량 인덱서인 Kupo와 JSON-WSP 웹소켓 브리지인 Ogmios의 결합 구조 및 데이터 동기화 아키텍처를 분석합니다.
1. Kupo와 Ogmios의 계층별 파이프라인 아키텍처
카르다노 풀 노드(`cardano-node`)의 Ouroboros 체인 동기화 프로토콜(Mini-protocols)과 클라이언트 애플리케이션 사이에서 Ogmios와 Kupo는 각각 직렬화 브리지 및 인덱싱 데이터베이스의 역할을 분담합니다.
| 컴포넌트 | 구현 언어 및 프로토콜 | 핵심 역할 및 동작 방식 |
|---|---|---|
| Ogmios | Haskell / WebSocket (JSON-WSP) | 카드라노 노드의 유닉스 도메인 소켓(N2C)에 연결하여 바이너리 CBOR 데이터를 구조화된 JSON 메시지로 실시간 변환 스트리밍 |
| Kupo | Rust / HTTP REST (SQLite / PostgreSQL) | Ogmios로부터 전달받은 블록 이벤트를 기반으로 특정 주소, 스마트 컨트랙트 해시, 정책 ID의 UTxO 패턴만을 필터링하여 고속 인덱싱 |
2. 블록 롤백(Rollback) 및 원장 일관성 보장 메커니즘
블록체인 분산 합의 과정에서는 네트워크 지연으로 인해 일시적인 체인 분기(Fork) 및 롤백이 필연적으로 발생합니다. Kupo는 Ogmios의 `ChainSync` 프로토콜에서 발행되는 `RollBackward` 이벤트를 수신할 때, 분기 발생 지점 이후에 저장된 UTxO 데이터베이스 레코드를 원자적 트랜잭션(ACID)으로 롤백하여 메모리 풀 및 인덱스의 완벽한 상태 정합성을 유지합니다.
※ 기술 면책 및 서술 기준
📚 연관 카르다노 코어 기술 연구 아카이브 (Related Research Notes)
대한민국 대표 베어메탈 스테이크 풀, JOY & HOPE에 위임하세요
24시간 무중단 베어메탈 서버 4대 운용, 블록 누락율 0%, 0% 고정 마진 수수료 및 미드나잇(Midnight) 프라이버시 파트너체인 완벽 대응. 안전한 비수탁 스테이킹으로 에포크 보상을 극대화하세요.