💡 암호화폐에서의 DAG
일반적으로 암호화폐 플랫폼에서는 데이터 구조로 블록체인을 사용하지만, 블록체인 대신 DAG를 사용하는 경우도 있다. 일반적인 블록체인에서는 각 정점이 블록으로 구성되어 있고 블록 안에 트랜잭션이 담겨있다. 기차 같이, 특정 시간대에 역에 들어와 짐을 싣고 이동하는 것고 같다. 만약 짐이 제시간에 역이 도착하지 않은 경우 다음 기차가 오길 기다려야 한다는 단점이 있다.
✓ DAG의 동작 방식
DAG는 블록 개념이 존재하지 않으며, 그래프의 각 정점은 블록이 아닌 개별 트랜잭션이다. 따라서, 블록 개념이 없기 때문에 채굴 과정도 필요하지 않다. 대신 트랜잭션들은 서로를 참조함으로써 트랜잭션의 유효성을 검증한다.
[트랜잭션 유효성을 검사하는 방법]
1. 노드가 트랜잭션을 네트워크에 제출한다.
2. 새로운 트랜잭션은 네트워크 내에 있는 이전 트랜잭션을 참조해야 네트워크에 승인되기 때문에, 이전 트랜잭션을 찾는다. 이전 트랜잭션은 꼭 직전에 올라온 트랜잭션이 아니어도 상관없다. 일부 시스템에서는 새로운 트랜잭션이 더 많이 검증된 트랜잭션을 선택하는 알고리즘을 사용하도록 한다. 더 많이 검증된 트랜잭션을 채택하면 시스템은 안전하게 성장할 수 있기 때문이다.
3. 이전 트랜잭션을 찾았다면, 해당 트랜잭션의 유효성을 검사한다. 해당 트랜잭션의 송신자가 충분한 잔고를 가졌는지 확인하기 위해 그래프의 가장 처음 트랜잭션까지의 경로로 올라가면서, 해당 트랜잭션이 유효한지 확인한다. 만약, 해당 트랜잭션이 유효하지 않다면 새로운 트랜잭션은 이 트랜잭션을 참조하지 않고, 다른 이전 트랜잭션을 참조한다. 블록체인에서 이중 지불을 방지하는 다양한 메커니즘이 있는 것처럼, DAG에서는 자신이 참조하는 트랜잭션의 전체 경로를 확인하고 잔고가 충분한지 검증함으로써 이중 지불을 방지한다.
4. 이렇게 한다고 해서, 새로운 트랜잭션이 승인되는 것은 아니다. 해당 트랜잭션이 승인되기 위해서는 이후 새로운 트랜잭션이 해당 트랜잭션을 참조하여 유효성을 검사해주어야 하며, 참조되기 그전까지는 유효한 트랜잭션으로 승인된 것은 아니다.
✓ DAG의 특징
1. 트랜잭션 처리 속도
블록체인은 블록 생성이 10분에 한 번씩 이루어지기 때문에 트랜잭션이 체인에 올라가기까지 약 10분이 소요되며, 해당 트랜잭션이 완전히 처리되기까지는 1시간이 걸린다. 반면, DAG는 블록 개념이 없고, 트랜잭션이 선형적으로 처리되는 것이 아니라, 병렬적으로 처리되기 때문에 블록체인과 비교했을 때 빠른 속도로 트랜잭션이 처리된다.
2. 채굴이 없다
DAG의 경우, 채굴 과정 자체가 없기 때문에, 채굴자에게 내야 할 수수료도 없다. 또한 작업 증명으로 인한 과도한 에너지 사용도 없기 때문에, 환경친화적이기도 하다.
3. 확장성 문제에서 비교적 자유로움
DAG는 트랜잭션이 늘어날수록 새로운 트랜잭션들이 이전 트랜잭션을 많이 검증할 수 있기 때문에 확장성 문제에서 자유롭다. 또한 트랜잭션 처리 속도 역시 매우 빠른 편이다.
'블록체인 > 블록체인이란?' 카테고리의 다른 글
IPFS (InterPlanetary File System) (0) | 2022.06.28 |
---|---|
해시테이블 & DHT (Distributed Hash Table) (0) | 2022.06.28 |
방향 그래프, 방향성 비순환 그래프 (0) | 2022.06.27 |
블룸필터(Bloom Filter) 동작 방식, 특징 (0) | 2022.06.27 |
탭 루트(Tab Root), 슈노르 서명 (0) | 2022.06.27 |
댓글