brunch

You can make anything
by writing

C.S.Lewis

by Orchid Mar 05. 2018

IOTA Tangle 에 관한 노트

그 자체로 흥미로운 백서를 읽고

IOTA는 다른 가상화폐들과 구분되는 점을 블록체인을 사용하지 않은, 자신들만의 데이터 스트럭쳐 (Tangle)를 사용하는 것이라고 소개하고 있다. Tangle 의 장점은 대량의 거래 승인이 가능하도록 하는 알 고리 즘을 사용하고 있다는 것이며, 다른 가상화폐 시스템과 다르게 거래 수수료 (transaction fee)가 존재하지 않는다. IOTA 의 핵심인 Tangle에 대해 더 자세히 이해하고자 (감당 못할 호기심 때문에) Whitepaper 를 읽었다. Serguei Popov 의 'The Tangle'인데, 2017 10 월에 발행되었다. 저자는 IOTA 의 근간인 Tangle 은 "a directed acyclic graph (DAG) for storing transactions"이라고 소개하는데, 이는 방향성이 존 재하는 비순환 그래프를 의미한다. 쉽게 생각해서 데이터가 순환하지 않고 일정한 방향으로 흘러간다고 이해할 수 있는데, 단순하게 트리구조의 데이터 스트럭쳐를 예로 들 수 있다.


백서를 보다 보면 수식 말고 유일한 그림이 나오는데, 아래의 그림이 DAG를 설명하는 그림이다. 

보고 있자면 왜 가상화폐의 이름을 Tangle이라고 지었는지 알법하다. 블록체인은 블록을 생성해서 그 안에 데이터를 저장하는데, 탱글의 경우 DAG 에 거래 정보를 저장한다고 생각하면 된다. 거래 데이터를 저 장한 장부를 'tangle graph'라고 표현한다. 비트코인의 경우 토큰을 계속해서 발행하는 구조인데, 탱글은 'genesis transaction'에서 모든 토큰을 발행한 채로 트랜잭션이 시작된다. 쉽게 말하자면 돈을 다 찍어내 고 거래를 시작한다는 뜻이다. 그렇다면 탱글에 참여하는 노드들이 받는 인센티브는 어떻게 제공되는 것 일까?


Transaction fee

Tangle 이 다른 블록체인 기반의 가상화폐와 다른 점은 거래 수수료가 없다는 점이다. 블록체인을 활용한 가상화폐들은 대부분 블록을 생성하는 노드에게 제공하는 인센티브가 필수적인데, 탱글은 이런 인센티브를 다른 방식으로 부여할 수 있다고 설명한다. 기본적으로 각 노드는 다른 두 노드의 거래를 승인해야 하 며, 이때에 weight가 부여된다. 이 weight는 승인 과정에 많이 참여하는 만큼 지수함수적으로 늘어나며, 참여량이 적은 lazy node 들은 도태 되어 새로운 거래를 승인받기 어려워진다. 즉, Weight라는 피쳐가 인센티브로 (일종의 강제성을 띈) 작용해서 거래 수수료가 필요 없다는 논리이다. 새로운 거래를 만들기 위해서는 Bitcoin blockchain과 비슷하게 nonce 값을 찾는 수학적 퍼즐(cryptographic puzzle)을 풀어야 하며, 두 거래가 충돌하지 않는지를 확인한 후 conflict가 있는 거래는 승인하지 않는다. 그렇다면 새로 거래를 만들려는 노드는 어떻게 다른 두 노드를 선택할까? 특정 알고리즘을 사용한다고 하는데, 마코브 체인 몬테카를로(MCMC) 알고리즘의 일종이라고 설명한다. 이 알고리즘은 아직 승인되지 않은 거래가 탱글 내에 승인을 요청할 이웃 사이트(site - 탱글 그래프 내에서 일어나는 거래를 의미함)를 고를 때 활용된다. 백서 원문에 흥미로워 보이는 수식들이 있으니 관심 있는 독자는 참고하시길.

매거진의 이전글 다소 낭만적인 구글의 'Talk to Books'
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari