탱글은 블록체인의 원리와는 다른건가요?
아이오타(IOTA)라는 코인은 사물인터넷 컨셉을 가지고 개발되고 있는 코인이라고 하는데, 이 코인은 일반적인 블록체인과는 다른 '탱글'이라는 것으로 개발되어가고 있다고 합니다.
아이오타도 블록체인으로 개발되는 다른 코인처럼 '암호화폐'라고 불리는 것을 보면 탱글의 원리도 블록체인과 유사하다고 보는데, 어떤 원리인지가 궁금합니다.
Tangle이라는 단어를 영어 사전에서 찾아보면 '엉킨 것, 꼬인 것'이라는 의미가 나옵니다. IOTA에서 블록체인 기술을 이용했다고 하지 않고 Tangle이라는 이름을 붙인 것은 트랜젝션의 처리가 블록도 없고, 체인도 없이 '머리카락 뭉치가 엉켜 있는 것처럼' 이루어지기 때문입니다.
흔히 탱글을 '트랜젝션 체인'이라고 부르기도 합니다. 그 이유는 A가 트랜젝션을 일으킬 경우 이 트렌젝션이 처리되기 위해서는 임의로 선택된 다른 두 개의 트랜젝션을 A가 처리해야 하기 때문입니다. 즉 A는 트랜젝션을 일으키기도 하지만 트랜젝션을 컨펌하기도 하는 이중적인 역할을 하게 되는 것입니다. 따라서 IOTA 탱글은 트렌젝션과 트렌젝션이 얽히면서 처리되는 방식인 것이죠. 또한 A는 IOTA 탱글의 이용자이자 트랜젝션 확인자가 되므로 전송 수수료를 지불하지 않아도 됩니다.
그리고 앞서 말씀드렸듯이 Tangle이 머리카락 뭉치가 엉켜 있는 것처럼 되어 있다고 할 때 네트워크의 이용자(=확인자)가 많으면 많을 수록 트렌젝션의 처리 속도가 빨라지게 됩니다. 따라서 블록체인의 문제점인 확장성 문제를 해결하기 위한 방법을 마련해 두었다고 할 수 있습니다.
끝으로 IOTA는 사물인터넷 기계와 기계 간의 M2M(Machine to Machine) 거래에 이용되는 것으로서, 사물 인터넷 기계들이 스스로 필요한 소액의 결제를 할 때 자동으로 IOTA를 통해 결제할 수 있도록 하려는 목적으로 사용됩니다. 물론 해당 암호화폐는 거래소에서 사람들이 거래할 수 있기도 합니다. 다만 IOTA의 경우 기계들의 거래를 지원하기 위해 아주 소액의 단위까지 분할되어 사용될 수 있으므로 보통은 MIOTA(Mega IOTA=1,000,000 IOTA) 단위를 주로 사용하고 있습니다.
답변이 도움이 되길 바랍니다.
네 다릅니다.
탱글은 다음 거래에서 이전 거래를 증명하는 방식입니다. 블록도 없고 체인도 없습니다.
아래의 자세한 정의를 보시면 쉽게 이해 되실텐데요.
탱글(Tangle)이란 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 기존 블록체인(blockchain) 알고리즘과 달리, 탱글에는 블록도 없고 체인도 없다.
DAG 기반 : 탱글은 방향성 비순환 그래프인 대그(DAG; Directed Acyclic Graph)를 기반으로 하는 완전히 새로운 알고리즘으로서, 기존 블록체인과 많은 차이가 있다.[6] 탱글에서는 네트워크 참여가 트랜잭션을 발생시키는 동시에 이전 트랜잭션을 확인하는 검증자가 된다. 새로운 거래를 하기 위해서는 반드시 이전에 진행되었던 2개의 거래내역을 확인하고 검증을 진행해야 한다. 전체 트랜잭션 개수가 늘어날수록 네트워크 참여자 및 검증자들이 증가하면서, 시스템의 안전성과 확장성이 더욱 커진다.[7]
작동 원리 : 탱글에서 트랜잭션을 처리하는 과정은 다음과 같다. 첫째, 하나의 노드는 알고리즘에 따라 승인할 두 개의 트랜잭션을 선택한다. 이 때 두 개의 트랜잭션은 우연히 같은 것일 수도 있다. 이처럼 아직 승인되지 않은 두 개의 거래를 고르는 것을 팁 선택(tip selection)이라고 한다. 팁 선택을 위해 마르코프 체인 몬테 카를로(MCMC; Markov Chain Monte Carlo) 알고리즘을 사용한다. 둘째, 두 개의 트랜잭션이 충돌하지 않는지를 검사하며, 충돌하는 트랜잭션은 승인하지 않는다. 셋째, 트랜잭션이 유효하려면, 노드는 반드시 암호화되어 있는 퍼즐을 풀어야 한다. 이는 비트코인 등 작업증명(PoW) 합의 알고리즘에서 사용하고 있는 채굴과 유사하다.
충돌 문제 : 일반적으로 네트워크는 비동기적(asynchronous)이고, 따라서 노드는 반드시 동일한 트랜잭션의 세트를 보지 못할 수도 있다. 탱글은 충돌하는 트랜잭션을 포함할 수도 있다. 노드는 어떠한 유효한 트랜잭션이 원장(ledger)에 적혀야 하는지 만장일치로 결정할 필요가 없다. 충돌하는 트랜잭션이 있는 경우에, 어떤 트랜잭션이 고아(orphan) 상태가 될지를 결정해야 한다. 두 개의 충돌하는 트랜잭션에 대해서 노드가 사용하는 주된 규칙은 다음과 같다. 노드는 팁 선택 알고리즘을 여러 번 사용하며, 두 개 중 어떤 트랜잭션이 좀 더 간접적으로 선택된 팁(tip)에 의해서 승인되는지를 검사한다. 예를 들어, 만약 100번 이상의 팁(tip) 선택 알고리즘을 수행한 이후, 트랜잭션이 97번 선택되었다고 하면, 97퍼센트의 신뢰도로 확정(confirmation)되었다고 말할 수 있다.[8]
수수료 무료 : 탱글은 비트코인, 이더리움 등에서 문제가 되었던 거래 수수료와 트랜잭션 속도 저하 문제를 해결하고자 하는 새로운 시스템이다. 탱글은 채굴 기능이 없이 네트워크 참여자들이 이전 트랜잭션을 검증하게 함으로써, 거래 수수료를 없애고 트랜잭션 속도를 증가시킨다. 이러한 트랜잭션들이 네트워크 내에서 늘어나게 되면 보안이 더 강화되는 특징을 지닌다. 탱글은 데이터 전송 수수료가 없기 때문에 기기들 간의 송금 결제를 수수료 없이 완벽하게 처리할 수 있다. 또한, 참여자 하나당 2개의 검증이 발생되어, 참여자가 많아질수록 보안성과 확장성이 높아지는 구조로서, 사물인터넷을 통한 머신 이코노미에 적합한 기술이다.[9]
플래시 네트워크(flash network) : 아이오타(IOTA)는 비트코인의 확장성 문제를 해결하기 위해 나온 대안들 중 하나인 라이트닝 네트워크(lightning network)와 유사한 플래시 네트워크 기능을 가지고 있다. 라이트닝 네트워크는 모든 거래를 블록체인에 올리지 않고, 특정 주소의 채널 상에서 먼저 거래를 마친 참여자들의 트랜잭션을 블록체인에 저장 생성하는 방식으로 속도를 개선한 플랫폼이다. 플래시 네트워크는 라이트닝 네트워크의 오프 채널 또는 사이드체인(sidechain)과 마찬가지로, 탱글에 트랜잭션을 직접 올릴 필요 없이 별도의 플래시 채널에서 트랜잭션 승인을 얻음으로 인하여 빠른 거래가 이루어질 수 있게 한다.