암호화폐의 방향성 비순환 그래프(DAG)란?

· 5 min read

방향성 비순환 그래프, 줄여서 DAG는 암호화폐에서 흔히 쓰이는 데이터 모델링·정리 도구입니다.

블록으로 이루어진 블록체인과 달리 방향성 비순환 그래프는 꼭짓점(정점)과 간선으로 이루어집니다. 즉 암호화폐 거래가 꼭짓점으로 기록되고, 이 거래들이 서로의 위에 차곡차곡 쌓입니다. 다만 블록체인과 마찬가지로 거래는 노드를 통해 DAG에 제출됩니다. 노드가 거래를 제출하려면 작업증명(PoW) 작업을 수행해야 합니다.

기본적으로 블록체인 시스템이 사슬 모양이라면, DAG 시스템은 그래프에 더 가까운 모습입니다. DAG 모델은 데이터 저장과 온라인 거래 처리에서 효율이 좋다는 이유로 앞으로 블록체인을 대체할 후보로 업계에서 거론되고 있습니다.

DAG 모델은 현재 암호화폐가 안고 있는 탈중앙화 문제를 풀어 줄 해법으로도 주목받습니다. 이 모델에서는 채굴자들이 체인에 붙일 새 블록을 두고 경쟁할 필요가 없습니다.

노드가 동시에 뻗어 나가기 때문에 거래도 그만큼 더 빠르게 처리됩니다. 개발자들은 DAG가 확장성을 더 갖추게 되면 네트워크의 사용성을 끌어올릴 더 낫고 더 안전한 구조가 될 것으로 보고 눈여겨보고 있습니다.

DAG는 어떻게 작동할까?

앞서 말했듯 방향성 비순환 그래프는 데이터를 저장하는 데 더 효율적입니다. 구조는 나무 모양에 가까우며, 서로 연결된 노드들이 '가지' 역할을 합니다.

각 노드가 부모 노드를 하나 이상 가질 수 있기 때문에, 이 모델에서는 여러 거래가 동시에 승인될 수 있습니다. 어떤 거래가 끝나기를 기다렸다가 다음 거래를 처리할 필요가 없기 때문입니다.

그래서 방향성 비순환 그래프에서는 새로운 거래가 네트워크에 받아들여지려면 먼저 과거의 거래를 참조해야 합니다. 블록체인에서 블록이 이전 블록을 참조하는 것과 같은 이치입니다. 그 근거는 어떤 거래가 다른 거래에 의해 참조되었을 때 비로소 제대로 확정된다고 보기 때문입니다.

DAG에서는 꼭짓점 하나하나가 거래를 뜻합니다. 블록이 없으니 채굴도 필요 없습니다. 거래를 블록으로 묶는 대신 서로의 위에 쌓아 올립니다. 그리고 앞서 언급했듯 노드가 거래를 제출할 때마다 작업증명 과제가 수행되어, 앞선 거래들을 승인하고 스팸을 막습니다.

DAG 기반 암호화폐에서는 새 거래가 더 오래된 거래 위에 쌓이는 것이 기본입니다. 블록체인과의 가장 큰 차이는, DAG에서는 한 번에 하나만이 아니라 여러 거래를 참조할 수 있다는 점입니다.

일부 시스템에는 누적된 가중치, 즉 그 끝점까지 이어지는 확인의 개수를 기준으로 이어 붙일 '팁(tip)' 또는 거래를 골라내는 알고리즘이 들어 있습니다.

DAG의 이중 지불 방지는, 노드가 DAG의 첫 거래까지 거슬러 올라가는 경로를 훑어 오래된 거래들을 확인하는 방식으로 이루어집니다. 이를 통해 보낸 사람에게 충분한 잔액이 있었는지 확인합니다. 만약 사용자가 유효하지 않은 경로 위에 거래를 쌓는다면, 그 거래는 무시될 위험에 놓입니다.

여러 경로가 생겨 충돌이 발생하면, 누적 가중치가 더 무거운 팁을 선호하는 선택 알고리즘이 이를 정리합니다.

DAG는 어디에 쓰일까?

DAG 모델은 블록체인 기술의 약점으로 지적되어 온 두 가지, 즉 탈중앙화와 확장성 문제를 풀어내려 합니다. 여기에 더해 보안과 사용성도 함께 개선하려 합니다.

어떤 방식으로 그럴까요?

  • 비트코인 블록체인이나 이더리움 플랫폼에서는 채굴자가 한 번에 블록 하나씩만 만들 수 있습니다. 그래서 앞선 블록이 완성되어야 새 거래가 승인됩니다. DAG 모델은 이 블록을 없애고 거래를 곧바로 원장에 붙입니다.

블록이 사라지면 DAG 모델에는 채굴이 필요 없어집니다. 그만큼 네트워크를 유지하는 데 드는 전력도 줄어듭니다. DAG에는 그 밖에도 다음과 같은 이점이 있습니다.

  • 블록 생성에 발목 잡히지 않는 빠른 거래 속도
  • 채굴자가 없으니 거래 수수료도 없음
  • 채굴에 비해 적은 에너지 소비와 그에 따른 환경적 이점

다만 지금으로서는 암호화폐에서 DAG를 활용하는 일이 아직 초기 단계에 있습니다. 블록체인과 달리 완전히 탈중앙화되지도 않았습니다. 그래서 주로 네트워크를 처음 띄우는 데 쓰이고, 안정적인 네트워크를 세우는 데 쓸 수 있는 체계로는 아직 자리 잡지 못했습니다.

DAG를 쓰는 암호화폐는 무엇일까?

예전에는 블록체인을 빼고 암호화폐를 떠올리는 것 자체가 불가능했습니다. 하지만 DAG 모델이 등장하면서 이 기술로 만들어진 암호화폐가 실제로 여럿 나왔습니다.

몇 가지만 꼽자면 오바이트, 아이오타, 나노가 있습니다. 아직은 다소 새로운 구조이지만 DAG는 큰 잠재력을 보여 주고 있습니다. 앞서 말했듯 이미 몇몇 프로젝트가 성공적으로 활용하고 있으며, 가장 널리 알려진 것들은 다음과 같습니다.

오바이트(Obyte)

오바이트, 다른 이름으로 바이트볼은 DAG 구조를 도입해 블록체인과는 완전히 별개로 움직이는 암호화폐입니다. 다만 오바이트의 거래에는 여전히 수수료가 붙습니다.

오바이트 네트워크가 거래를 이중으로 확인하는 검증자 체계를 쓰기 때문입니다. 증인(witness)에 기반한 합의 알고리즘을 사용하는데, 이 증인들은 검증자 역할을 맡은 신뢰할 수 있는 사용자들입니다.

오바이트는 추적할 수 없는 거래와 조건부 계약도 함께 지원합니다.

아이오타(IOTA)

사물인터넷 애플리케이션을 뜻하는 아이오타는 2016년에 '블록 없는 블록체인' 네트워크를 선보였습니다. 아이오타의 발상은 모든 사용자가 사실상 채굴자가 된다는 것입니다. 예를 들어 거래 하나를 승인하려면 사용자가 다른 거래 두 개를 확인해야 합니다.

아이오타는 노드와, 노드의 묶음인 탱글로 이루어진 네트워크를 사용해 승인 과정을 더 빠르고 효율적으로 만듭니다.

모든 사용자가 네트워크 유지에 아주 적은 양의 연산력을 보태고, 합의 과정에도 모두가 참여합니다. 덕분에 네트워크는 높은 수준의 탈중앙화와 확장성을 동시에 갖출 수 있습니다.

거래 수수료가 거의 0에 가깝기 때문에 아이오타는 소액 결제에 비용 효율이 좋은 암호화폐로 평가받습니다.

나노(Nano)

나노 역시 DAG 체계로 작동하는 암호화폐입니다. 나노는 노드로 연결된 독립적인 블록체인들을 갖고 있으며, 이를 블록 격자(block-lattice) 기술이라고 부릅니다. 사실상 DAG와 블록체인을 섞어 놓은 형태입니다.

사용자마다 각자의 지갑과 블록체인을 하나씩 갖습니다. 자기 지갑과 블록체인을 바꿀 수 있는 것은 오직 그 사용자뿐입니다. 거래는 보내는 쪽과 받는 쪽이 각자의 블록체인에서 처리를 마쳐야 완료됩니다.

나노는 사용자에게 수수료 없는 거래와 빠른 거래 속도를 제공합니다.

블록체인에서 DAG는 어떤 역할을 할까?

DAG는 아직 다듬을 부분이 남아 있긴 하지만 블록체인의 유력한 대안으로 볼 수 있습니다. DAG 모델은 수수료, 속도, 확장성처럼 블록체인 기술에서 흔히 지적되는 문제들을 개선하려 합니다.

사실 두 기술은 모두 거래를 디지털 원장에 기록하며 같은 목표를 향해 나아갑니다. 둘을 갈라놓는 것은 주로 데이터를 저장하기 위해 각 모델이 택한 구조입니다.

DAG와 블록체인 비교

블록체인과 DAG는 모두 분산 원장에 거래를 기록하지만 그 방식은 서로 다릅니다.

아래는 두 방식의 장단점을 간단히 비교한 내용입니다.

DAG의 장점

  • 소액 결제와 대량 거래에 적합함
  • 채굴 장비가 필요 없음
  • 수수료를 크게 낮출 수 있음
  • 에너지 소비가 적음

DAG의 단점

  • 거래량이 적어 공격에 취약함
  • 아직 초기 단계이며 높은 수준의 탈중앙화에 이르지 못함

블록체인의 장점

  • 자리 잡은 기술이며 비트코인, 이더리움 같은 암호화폐가 널리 사용함
  • 투명하고 변경할 수 없어 보안성이 매우 높음
  • 금액이 큰 거래에서 비용 효율이 좋음

블록체인의 단점

  • 저장 공간과 네트워크 대역폭 요구가 큼
  • 많은 전력을 소모함
  • 거래 수수료가 높음

결국 어느 모델을 택할지는 각자의 목적에 달려 있습니다. 지금까지 살펴본 것처럼 두 모델 모두 장점과 약점이 있고, 필요에 따라 어느 한쪽이 더 알맞을 수 있습니다.

DAG 방향성 비순환 그래프 블록체인 대안 아이오타 IOTA 나노 코인 암호화폐 확장성