DAG는 Directed Acyclic Graph(방향성 비순환 그래프)의 약자로, 그래프 형태의 데이터 구조 중 하나이다.
[그래프]

방향 그래프
: 한 정점에서 다른 정점으로 가는 간선에 방향이 정해져있는 그래프를 방향그래프라고 한다.
반대로, 간선에 특정한 방향이 없는 그래프는 무방향 그래프라고 한다.
순환 그래프


방향성 비순환 그래프
: 방향 그래프 중 순환이 발생하지 않는 그래프를 의미한다. 즉, 방향성 비순환 그래프는 한 정점에서 시작해 다시 해당 정점으로 돌아오지 않는 일방향성이라는 특징을 가진다.

DAG는 블록 개념이 존재하지 않으며, 그래프의 각 장점은 블록이 아닌 개별 트랜잭션이다.
따라서, 블록 개념이 없기 때문에 채굴 과정도 필요하지 않는다. 대신, 트랜잭션들은 서로 참조함으로써 해당 트랜잭션의 유휴성을 검증한다.
DAG의 트랜잭션 유효성 검사
노드가 트랜잭션을 네트워크에 제출한다.
새로운 트랜잭션은 네트워크 내에 있는 이전 트랜잭션을 참조해야 네트워크에 승인되기 때문에 이전 트랜잭션을 찾는다.
이전 트랜잭션을 찾았다면, 해당 트랜잭션의 유효성을 검사한다. 해당 트랜잭션의 송신자가 충분한 잔고를 가졌는지 확인하기 위해 그래프의 가장 처음 트랜잭션까지의 경로로 올라가면서 , 해당 트랜잭션이 유효한지 확인한다.
만약, 해당 트랜잭션이 유효하지 않다면 새로운 트랜잭션은 이 트랜잭션을 참조하지 않고, 다른 이전 트랜잭션을 참조한다.
(DAG에서는 자신이 참조하는 트랜잭션의 전체 경로를 확인하고 잔고가 충분한지 트랜잭션을 검증함으로써 이중지불을 방지한다.)
해당 트랜잭션이 승인되기 위해서는 이후 새로운 트랜잭션이 해당 트랜잭션을 참조하여 유효성을 검사해주어야 하며, 참조되기 그전까지는 유효한 트랜잭션으로 승인된 것은 아니다.
DAG의 특징
트랜잭션 처리 속도
: DAG는 블록 개념이 없으며, 트랜잭션이 선형으로 처리되는 것이 아니라, 병렬적으로 처리되기 때문에 블록체인과 비교했을 때 빠른 속도로 트랜잭션이 처리된다.
채굴이 없다.
: 채굴 과정이 없기에 수수료도 없으며, 작업증명으로 인한 과도한 에너지 사용도 없기에 환경친화적이다.
확장성 문제에서 비교적 자유로움
: DAG는 트랜잭션이 늘어날 수록 새로운 트랜잭션들이 이전 트랜잭션을 많이 검증할 수 있기 때문에 확장성 문제에서 자유롭다. 그리고 트랜잭션 처리 속도 역시 매우 빠른 편이다.
아이오타는 블록체인이 아닌 탱글이라는 독자적인 기술을 사용한다. 탱클은 거래 수수료가 없고, 많은 양의 트랜잭션을 빠르게 처리할 수 있는 특징을 가진다.
탱글은 블록체인을 발전시켜 만든 새로운 구조의 플랫폼이다. 기존의 블록체인은 트랜잭션이 많아질 수록 확장성이 떨어지는 구조로 되어 있지만, 탱글은 트랜잭션이 많아질수록 네트워크 보안이 더욱 높아지고, 확장성이 더욱 커지는 구조로 되어있다. 또한, 채굴자가 따로 필요없는 구조이기 때문에 결제 수수료가 발생하지 않아 소액결제를 효율적으로 구현할 수 있다.