블록체인에서의 유향 비순환 그래프(DAG)
DAG란 무엇이며 블록체인과 무엇이 다른가요?
**유향 비순환 그래프(Directed Acyclic Graph, DAG)**는 방향성을 가진 간선으로 노드를 연결하되, 어떤 경로를 따라가도 다시 시작점으로 돌아오지 않는 데이터 구조입니다. 분산원장 관점에서 DAG 기반 원장은 트랜잭션이나 이벤트를 하나의 직선형 체인이 아닌 거미줄 같은 그래프로 배치합니다. 즉, 전통적인 블록체인은 새로운 블록이 하나의 이전 블록만을 참조해 선형 체인을 이루지만, DAG에서는 한 노드가 여러 이전 트랜잭션이나 블록을 동시에 참조할 수 있습니다. 그 결과, 트랜잭션은 시간순 블록에 하나씩 묶여 처리되는 것이 아니라, 동시에 병렬로 확정될 수 있습니다.
블록체인이 블록으로 이루어진 긴 사슬처럼 보인다면, DAG 원장은 개별 트랜잭션이 가지를 뻗는 나무 혹은 웹에 더 가깝습니다. DAG에서는 새 트랜잭션이 이전의 한두 건 이상을 첨부하여 검증하기 때문에, 다음 블록에 실리길 기다릴 필요가 없습니 다. 이러한 구조적 차이는 다음과 같은 특징을 만듭니다.
- 병렬 검증: 블록체인에서는 채굴자/검증자가 한 번에 한 블록씩 추가하므로, 트랜잭션은 새 블록이 생성될 때마다 묶음으로 확정됩니다. DAG에서는 여러 트랜잭션(혹은 소규모 “블록”)을 동시에 추가할 수 있고, 각 트랜잭션이 그래프의 서로 다른 부분에 연결됩니다. 이러한 병렬성 덕분에 네트워크가 긴 체인이 한 블록씩 늘어나는 것을 기다릴 필요가 없습니다.
- 전역 순서 부재: 블록체인은 모든 트랜잭션에 절대적인 순서를 부여합니다(각 블록이 하나의 직선 시퀀스 상의 위치를 갖습니다). 반면 DAG 원장은 트랜잭션의 부분 순서를 형성합니다. “가장 최신 블록”이 단일하게 존재하지 않고, 그래프의 여러 팁이 동시에 존재하면서 확장됩니다. 따라서 그래프 내 트랜잭션의 순서나 유효성에 대한 합의를 위해 별도의 합의 프로토콜이 필요합니다.
- 트랜잭션 확정: 블록체인에서는 트랜잭션이 채굴/검증된 블록에 포함되고, 그 블록이 체인에 채택된 뒤(보통 추가 블록이 쌓인 후) 확정됩니다. DAG 시스템에서는 새로운 트랜잭션 자체가 이전 트랜잭션을 참조함으로써 검증에 기여합니다. 예컨대 IOTA의 Tangle(DAG)에서는 각 트랜잭션이 이전 두 건을 승인해야 하며, 사용자들이 서로의 트랜잭션을 협력 검증하게 됩니다. 이를 통해 블록체인 채굴에서 존재하는 “트랜잭션 생성자”와 “검증자”의 구분이 희미해지고, 트랜잭션 발행자가 검증 작업도 일부 담당하게 됩니다.
중요한 점은, 블록체인은 사실 DAG의 특수한 형태라는 것입니다. 블록체인은 단일 체인 형태로 제한된 DAG로 볼 수 있습니다. 두 구조 모두 분산원장기술(DLT)의 일종으로서 불변성, 탈중앙화 등 공통 목표를 지니지만, DAG 원장은 구조적으로 “블록리스” 혹은 다중 부모 구조를 취하기 때문에 실제 특성이 달라집니다. 비트코인과 이더리움처럼 전통적인 블록체인은 직렬 블록을 사용하며 경쟁 블록(fork)은 대부분 버립니다. 반면 DAG 원장은 충돌이 없는 트랜잭션을 최대한 수용·정렬하려 합니다. 이러한 근본적 차이가 성능과 설계에서 다양한 차이를 낳습니다.
기술 비교: DAG와 블록체인
DAG와 블록체인을 구조와 검증 방식 측면에서 비교해보면 다음과 같습니다.
- 데이터 구조: 블록체인은 트랜잭션을 담은 블록을 직선으로 연결하며, 각 블록은 하나의 이전 블록을 가리킵니다. DAG 원장은 그래프 구조를 택하고 각 노드가 트랜잭션이나 이벤트 블록을 의미하며, 여러 이전 노드를 참조할 수 있습니다. 유향 비순환 특성상 과거를 따라가도 출발점으로 되돌아가지 않습니다. 이 때문에 참조된 트랜잭션이 항상 앞에 오도록 하는 위상 정렬이 가능합니다. 요약하면 블록체인은 1차원 체인, DAG는 다차원 그래프입니다.
- 처리량과 동시성: 구조적 차이는 처리량에도 영향을 줍니다. 블록체인은 이상적으로도 블록을 하나씩 추가해야 하며(새 블록이 네트워크 전체에 전파·검증될 때까지 기다리는 경우가 많습니다), 이는 TPS(초당 트랜잭션 수)를 제한합니다. 예를 들어 비트코인은 5
7 TPS, 전통적인 PoW 이더리움은 1530 TPS 수준입니다. DAG 시스템은 많은 트랜잭션/블록을 동시에 원장에 기록할 수 있습니다. 여러 분기가 동시 성장해 나중에 합류할 수 있으므로 잠재 처리량이 크게 늘어납니다. 일부 최신 DAG 네트워크는 수천 TPS를 주장하며, 전통 결제 네트워크 수준에 도달하거나 능가한다고 합니다. - 트랜잭션 검증 절차: 블록체인에서는 트랜잭션이 메모리풀에 대기하고, 채굴자/검증자가 새 블록에 담은 뒤 다른 노드가 전체 이력을 기준으로 검증합니다. DAG에서는 검증이 더 지속적이고 탈중앙화되어 진행됩니다. 새 트랜잭션이 과거 트랜잭션을 참조(승인)함으로써 검증 행위를 수행합니다. 예컨대 IOTA Tangle에서는 각 트랜잭션이 두 건을 확인하고 소규모 PoW를 수행해 해당 트랜잭션에 “투표”합니다. Nano의 블록-라티스에서는 각 계정이 자체 체인을 이루고 대표 노드의 투표로 검증합니다. 결과적으로 DAG는 검증 작업을 분산시키며, 단일 블록 생산자가 한 번에 처리하는 대신 많은 참여자가 동시에 다양한 트랜잭션을 검증합니다.
- 합의 메커니즘: 블록체인과 DAG 모두 어느 트랜잭션이 확정되었고 순서가 어떠한지 네트워크 전체가 합의해야 합니다. 블록체인에서는 주로 작업증명(PoW)이나 지분증명(PoS)으로 다음 블록을 생성하고 “가장 긴(혹은 가장 무거운) 체인이 승리한다”는 규칙이 적용됩니다. DAG에서는 단일 체인이 없기 때문에 합의가 더 복잡합니다. 고십(gossip) 프로토콜과 가상 투표(Hedera Hashgraph)나 MCMC 기반 팁 선택(초기 IOTA) 등 프로젝트별로 서로 다 른 접근을 취합니다. DAG에서 합의를 이루면 처리량 측면에서 빠를 수 있지만, 동시에 존재하는 트랜잭션 간 충돌(더블스펜드 등)을 다루기 위해 정교한 설계가 필요합니다.
- 포크 처리: 블록체인에서 거의 동시에 두 블록이 만들어지면 “포크”가 발생하고, 결국 한 체인이 승리하고 다른 하나는 고아 블록으로 버려집니다. 이는 컴퓨팅 리소스를 낭비합니다. DAG에서는 포크를 추가 분기로 받아들이는 철학입니다. 그래프에 양쪽을 모두 포함시키고, 합의 알고리즘이 어떤 트랜잭션을 확정할지(충돌 시 어떤 것을 버릴지) 결정합니다. 덕분에 낭비되는 계산이 없어 효율적입니다. Conflux의 Tree-Graph(PoW DAG)는 생성된 모든 블록을 원장에 포함해 순서를 정하려는 예시입니다.
정리하면, 블록체인은 단순하고 엄격하게 순서를 부여하는 구조로 블록 단위 검증을 수행하며, DAG는 복잡한 그래프 구조를 통해 비동기·병렬 트랜잭션 처리가 가능합니다. DAG 원장은 이러한 복잡성을 다루기 위해 추가 합의 로직이 필요하지만, 네트워크 전체의 자원을 효율적으로 활용해 훨씬 높은 처리량과 효율을 기대할 수 있습니다.
DAG 기반 블록체인의 이점
DAG 아키텍처는 전통 블록체인의 확장성·속도·비용 한계를 극복하기 위해 등장했습니다. 주요 장점은 다음과 같습니다.
- 높은 확장성과 처리량: DAG 네트워크는 트랜잭션을 병렬 처리해 높은 TPS를 달성합니다. 단일 체인 병목이 없어 네트워크 활동량이 늘수록 처리량이 증가합니다. Hedera Hashgraph는 베이스 레이어에서 초당 1만 건 이상 처리할 수 있다고 하며, 실제로 3~5초 이내에 트랜잭션을 확정합니다. DAG 기반 스마트컨트랙트 플랫폼인 Fantom도 일반적인 상황에서 1~2초 정도의 거의 즉시 확정을 제공합니다. 이런 확장성은 IoT 마이크로 결제나 실시간 데이터 스트림 같은 고빈도 사용 사례에 적합합니다.
- 낮은 수수료(무수수료 포함): 많은 DAG 원장은 수수료가 매우 낮거나 아예 없습니다. 마이너 보상이나 수수료에 의존하지 않는 설계 덕분입니다. IOTA와 Nano에는 필수 수수료가 없어 IoT나 일상적 소액 결제에 특히 유리합니다. Hedera나 Fantom처럼 수수료가 있는 경우에도 매우 낮고 예측 가능하며, 블록 공간 경쟁이 덜해 급등할 가능성이 적습니다. 예컨대 Hedera의 트랜잭션 수수료는 0.0001달러 수준입니다. DAG는 포크에서도 트랜잭션을 버리지 않기 때문에 낭비가 적고, 자원 효율성이 높습니다.
- 빠른 확정과 낮은 지연: DAG에서는 전역 블록에 포함되길 기다릴 필요가 없어 확정이 빠릅니다. Hedera Hashgraph는 aBFT 합의로 몇 초 안에 100% 확정합니다. Nano는 대표 투표 덕에 1초 미만으로 확정되는 경우가 대부분입니다. 지연이 짧으면 사용자 경험이 향상되고, 실생활 결제나 인터랙티브 애플리케이션에 적합합니다.
- 에너지 효율: 많은 DAG 네트워크는 PoW 채굴처럼 에너지 집약적 과정을 요구하지 않으므로 전력 소비가 매우 낮습니다. PoS 체인보다도 적은 에너지를 쓰는 사례가 있습니다. Hedera의 트랜잭션당 에너지 소비는 약 0.0001 kWh로 보고되며, 비트코인(수백 kWh)이나 다수 PoS 체인보다 훨씬 적습니다. 쓸모없는 계산을 제거하고, 트랜잭션을 버리지 않는 구조가 이러한 효율을 가능하게 합니다. DAG가 광범위하게 채택되면 막대한 에너지 절감이 기대됩니다. Hedera처럼 탄소 네거티브를 선언한 프로젝트도 있습니다.
- 채굴 없음 & 검증의 민주화: 많은 DAG 모델에서는 일반 사용자도 검증에 참여할 수 있습니다. IOTA에서는 트랜잭션을 발행하는 사용자가 다른 두 건을 검증하여 검증 작업이 네트워크 가장자리까지 분산됩니다. 고성능 채굴 장비나 대규모 스테이킹 없이도 참여할 수 있어 접근성이 높습니다(다만 네트워크에 따라 검증자나 코디네이터를 두는 경우도 있습니다).
- 고트래픽 처리: 블록체인은 높은 부하 시 메모리풀 과부하와 수수료 급등을 겪습니다. DAG 네트워크는 병렬 구조 덕에 트랜잭션 급증 시 여러 분기를 형성하여 동시에 처리하므로 혼잡을 완화합니다. 따라서 IoT 디바이스의 동시 데이터 전송이나 바이럴 DApp 이벤트에도 지연과 수수료 상승이 비교적 적습니다.
결론적으로 DAG 원장은 기존 블록체인이 취약했던 속도·비용·확장성 측면에서 더 나은 경험을 제공하려 합니다. 다만 이러한 장점 이면에는 구현상의 도전과제가 있으며, 이후 섹션에서 살펴봅니다.