IOTA는 무엇인가?
IOTA가 뭔지 궁금한 이들이 많은 것 같습니다. 짤막하게 IOTA에 대한 설명을 드리도록 하지요.
기본 개념
IOTA가 표방하는 것은 공식 웹사이트에 아주 함축적인 단어들로 표현되어 있습니다.
![IOTA](https://steemitimages.com/640x0/http://misskiwi.com/asset/image/steemit/iota.jpg)
위 4가지 요소 중 현 시점에서 기존 블록체인 방식의 P2P 화폐가 가장 해결하고 싶어하는 부분은 스케일링의 문제와 전송 수수료의 문제가 아닐까 합니다. IOTA는 이러한 문제점을 해결하여 IoT(사물인터넷)의 백본을 담당하는 것을 목표로 합니다.
기존 블록체인의 문제
전통적인 방식의 블록체인, 특히 비트코인의 경우 전송 수수료의 문제는 갈수록 심화되고 있습니다. 사용량이 많아질 수록 블록에 포함되기 위한 경쟁은 치열해지고 전송 수수료는 높아집니다. 이더리움은 조금 덜하긴 하지만 ICO 기간에 Gas를 꽤 많이 책정하고 보내는 것을 보면 이대로 계속되면 문제가 심각해질 수 있겠지요.
제대로 된 블록에 담기기 위한 경쟁이 심화되면 소액 송금은 더더욱 불가능해집니다. 10원 보내기 위해 수수료를 10원을 수수료로 지불할 수는 없으니까요.
사물인터넷의 세계에서는 작은 단위의 결제가 가능할 필요가 있습니다.
우유 배달의 예를 들어보지요)
지금의 우유배달은 이런 식의 계약을 합니다.
"매일 아침 200ml 우유를 우유바구니에 넣어주세요."
우유가 냉장고에 남아돌더라도 내일 우유는 올겁니다. 사물인터넷 냉장고는 이를 조금 효율적으로 바꿀 수 있습니다. 냉장고에 우유가 떨어져가면 냉장고는 자동으로 우유를 주문하고 결제까지 마칩니다. 그러면 다음날 아침 우유가 배달됩니다. 냉장고에 넣으면 수취완료.
여기서 결제를 비트코인으로 한다면? 적은 수수료를 책정하면 트랜잭션 승인이 다음날까지 안 날 수도 있습니다. 우유는 그 다음날 오겠군요.
이더리움으로 한다면? 운나쁘게 ICO 기간과 맞물려 트랜잭션이 엉켜버리면 역시 문제가 발생할 수 있습니다.
짤막한 예시에 지나지 않지만, 빈번한 마이크로 페이먼트를 위해 최소한의 수수료를 감당하는 시스템이 필요합니다. 이더리움의 개발 초기에는 이더리움이 그 역할을 해줄 것이란 기대감도 있었지만 현 상황에서는 어렵게 되었습니다.
반면, IOTA는 수수료 0 이라는 이점을 가지고 있습니다.
이를 가능하게 하는 것은 IOTA가 블록체인을 사용하지 않는 P2P이기 때문입니다. IOTA는 Tangle을 기반으로 합니다.
Tangle
디즈니 애니메이션 라푼젤의 원제는 Tangled입니다. 실타래 같은 것이 꼬인 Tangle은 라푼젤의 머리모양이기도 하고 베베 꼬인 라푼젤의 이야기 같기도 해서일까요? 여하튼 Tangle은 실 같은 것이 꼬인 형상을 뜻하는 단어 입니다.
Tangle은 블록이 없습니다. 체인도 없습니다. 그저 수 많은 트랜잭션이 베베 꼬인 복잡한 구조의 P2P입니다.
기본적인 원리는 합의(consensus)와 검증(validation)으로 블록체인과 같지만 구현원리가 다릅니다. 블록체인에서는 블록이란 기본 단위와 이 블록들을 체인으로 연결한 것들이 합의와 검증의 결과라면, Tangle에서는 각 트랜잭션들이 자기들끼리 합의와 검증을 거칩니다.
Tangle을 극단적으로 단순화하면 이렇습니다.
- A : 나 X에게 1만큼 송금한다.
- B : 나 X에게 1만큼 송금한다.
- C : 나 X에게 2만큼 송금한다.
이 세개의 트랜잭션이 있다고 하면,
- A는 B, C의 트랜잭션의 유효성을 검증합니다.
- B는 A, C의 트랜잭션 유효성을 검증합니다.
- C는 A, B의 트랜잭션 유효성을 검증합니다.
- 이제 A, B, C의 트랜잭션은 검증절차를 2번 거쳤습니다.
- 이런 방식으로 순서를 거듭하여 A, B, C의 트랜잭션은 유효한 트랜잭션으로 승인됩니다.
실제로는 이들 트랜잭션 간의 연결은 훨씬 복잡하고, 선택 문제, 합의 완성도의 문제에서 꽤 복잡한 알고리즘을 거치지만 단순화하자면 그렇단 얘기입니다.
결국 이 시스템 상에서 PoW의 채굴자, PoS의 지분 보유자가 존재하지 않기에 누군가에 검증의 대가로 수수료를 줄 필요가 없습니다. 10원, 1원을 보내더라도 무료입니다. 이는 작은 단위의 송금이 필요한 IoT 분야에 좋은 해결책이 될 수 있습니다.
그럼에도 불구하고
아래는 제 개인적인 사견입니다. 아닐 수도 있으니 그냥 참조만 하시기 바랍니다.
- 더 큰 범위의 스트레스 테스트를 거칠 필요가 있습니다.
- 합의에 이르는 %를 정할 수는 있지만 악의적 공격에 얼마나 방어가 가능한지 확인이 필요할 듯합니다.
좋은정보 감사합니다
간결하고 이해하기 쉬운 설명 감사드립니다.ㅎㅎ 이번에 IOTA 3600개 정도 구매하였는데 본래 목적에 부합하여 가치가 상승했으면 좋겠네요
궁금했던 부분인데, 자세한 설명 감사합니다.
오, IOTA가 블록체인을 사용하지 않는 건가요? 탱글을 이용해서 수수료가 없이도 안정성을 확보할 수 있는 방법이라니.... 멋지네요
쉽고 간단한 설명 감사합니다.
감사합니다
이게 트랜잭션이 일어나면, 그 트랜잭션이 그대로 기존 채굴자의 PoW기능을 대신한다고 하더라구요. 그래서 해커가 트랜잭션이 적은 시간대를 노린다면 51%를 조종하려할 수 있다는 말을 언뜻 레딧에서 본 것 같기도 합니다. 뭐 이론이 그렇다는 거지 실제론 어렵겠죠. 나라별로 시간대도 다를테니까요.
근데 제가 잘 몰라서 그러는데 트랜잭션이 2개의 트랜잭션을 검증하는 식으로 이뤄진다는데 그게 믿을만한 건가요? 거래를 속이면 어떻게 되는거죠? 검증자가 둘밖에 없는거잖아요? 기존 블록체인이야 굉장히 많은 사람이 참여하고 장부를 쓰고 아니다 싶으면 버려지는 식이라 믿을만 한데, 블록체인없이 어떻게 믿을만한 시스템을 구축한다는 건지 개념이 선뜻 이해가 안가서요.
좋은 글 잘 봤습니다 ^^
Tangle은 마코프 연쇄 몬테카를로 알고리즘을 통해 검증 트랜잭션을 선정합니다.
딱 구분짓는다고 하면 세 부류의 트랜잭션이 있는 셈인데요. 확정, 확정전, 미확인의 트랜잭션입니다. 확정 트랜잭션부터 미확인 트랜잭션까지의 선형 연결을 마코프 연쇄 몬테카를로 알고리즘으로 100 번 찾은 뒤, 60만큼 거래 연결이 이루어진다면 60%의 안정성을 가진 거래가 되는 형태입니다.
거기에 Tangle은 트랜잭션 별로 유효값을 정할 수 있어 이를 승인하거나 배제할 수 있는 구조로 이해하고 있습니다.
아마도 확률적 분포, 투입비용, 전체네트워크 규모에 비춰 어택이 의미가 없을 수 있습니다. PoW의 51% 어택도 결국엔 "뭐하러?"라는 단순한 논제를 못 넘었다 뿐이니까요.
ㅜ 어렵네요 ㄷㄷ
답변 감사합니다!
저도 어렵습니다 ㅠㅠ
탱글이라는 개념을 배우고 갑니다~ 근데 너무 어렵네요 ㅠ
또하나 알고 가네요, 고맙습니다.
MCMC를 사용해서 검증을 한다니 tangle이라는 개념에 대해 더 구체적으로 알고싶어지네요ㅎㅎ 언제 한 번 백서 정독해 봐야겠습니다. 좋은 글 감사드립니다. (IOTA 일단 샀습니다)