[가상화폐] Overall Analysis of IOTA (아이오타 포괄적 분석)

3rd Generation Of blockchain technology

서문

제 3세대 블록체인으로 소개되는 다양한 기술들, 예를 들어 Tangle과 Hash Graph는 사실 엄밀히 말하자면 블록체인이 아니다. 어쩌면 이 새로운 기술들은 기존의 블록체인 기술을 무너뜨리는 역할을 할 수 있다.

이 중 대표적으로 IOTA 프로젝트를 들 수 있는데 IOTA 프로젝트는 Tangle이라는 고유 플랫폼을 사용한다. IOTA의 어원을 직관적으로 볼 때 사물인터넷 IoT와 관련된 것으로 생각할 수 있지만 실제로 IOTA는 아주 적은 양을 의미한다. 실제로 IOTA는 아이오타 네트워크의 매우 작은 결제 단위로 비트코인의 사토시, 이더리움의 Wei로 생각하면 된다. 2018년 2월 5일 기준 현재 거래되는 IOTA 단위는 100만 IOTA, 즉 MIOTA이다. David Sonstebo, Sergey Ivancheglo, Domonik Schiener 그리고 Serguei Popov가 아이오타의 창립 멤버로 2015년도에 ICO를 하여 5억원의 창립 자금을 마련 하여 현재 베를린, 독일에 본사를 두고 비영리 재단을 운영하고 있다.

아이오타 플랫폼의 목표는 기계와 기계가 서로 자유로이 결제 및 소통하는 Machine Economy(기계 경제)와 원활한 사물인터넷의 보급이다. 하지만 현존하는 사물인터넷 플랫폼은 특히 보안 측면에서 상당히 취약하다고 할 수 있는데 예를 들어 스마트 홈 해킹을 통해 여름에 에어컨을 틀지 못하게 하는 랜섬웨어, 사물 인터넷 기반 자동차를 해킹하는 행위, 당뇨병 환자의 목숨이 걸린 인슐린 펌프를 해킹하는 사례까지. 사물인터넷의 미래는 철저한 보안 없이는 이루어 질 수 없다.

IOTA 재단은 이러한 문제를 태생적으로 보안에 매우 훌륭한 분산원장 기술로 극복하고자 했고 더 나아가 M2M Payments 즉, 기계와 기계간의 자동화된 소액결제 및 커뮤니케이션이 가능한 플랫폼을 개발하였다.

기존 1세대, 2세대 블록체인의 한계

Scalability(확장성)

최근 사람들 사이에 가상화폐 인지도가 높아짐에 따라 대두되는 문제는 확장성 문제이다. 여기서 확장성이란 주어진 시간에 얼마만큼 데이터를 처리할 수 있느냐에 있다. 대표적인 척도로 초당 거래 횟수를 들 수 있는데 비트코인의 경우 Segwit이 적용되었다 하더라도 초당 3-7개 정도의 거래가 가능하다. SegWit 적용 후 해결된 Transaction Malleability** 문제는 비트코인 Lightening network 구축을 가능케 했는데 LN이 성공 할 경우 더 많은 거래를 해결 할 수 있지만 2018년 2월 5일 기준 테스트 단계로 넘어야 할 장애물이 많이 남아 있다.

이더리움의 경우 현재 초당 15개에서 30개의 거래가 가능하며 Sharding과 비트코인의 LN네트워크와 비슷한 off-chain transactions을 통해 이를 해결하려 하고 있다. 확장성 문제에 있어 1세대와 2세대 블록체인으로 대표되는 비트코인과 이더리움의 역량은 대표적인 카드 글로벌 VAN사인 VISA에서 현재 처리하는 초당 4만 5천개의 거래와 비교했을 때 터무니 없이 작다고 할 수 있다.

Fees(수수료)

2018년 2월 6일 기준 비트코인을 송금하기 위한 fee는 평균적으로 9 천원 정도 한다. 기계간의 잦은 소액 결제에는 사용이 불가하다.

Hardware & Resource Requirements(하드웨어 및 진입 장벽)

비트코인의 PoW를 유지하기 위해 대규모 마이닝 시설이 해쉬파워를 경쟁하는 현 시점에 보통의 유저가 현실적으로 마이닝에 참여 할 수 없다. 이는 결국 비트코인 네트워크의 보안이 소규모의 마이닝 그룹에 의해서 좌지우지되는 것을 의미하며 이를 해결 하기 위해 이더리움은 Casper 프로젝트로 PoW에서 PoS로 넘어가려는 준비를 하고 있다.

IOTA의 Tangle

image.png

탱글은 아이오타가 자체 개발 한 DAG(Directed Acyclic Graph) 기반의 분산원장 기술이다. 아이오타 재단에 따르면 탱글은 ‘블록과 체인이 없는 블록체인’이다. 기존의 블록체인과 설계는 전혀 다르지만 기존 블록체인이 갖는 특징들, 분산화 된 데이터베이스, P2P 네트워크, 그리고 합의 메커니즘을 그대로 유지한다.

DAG의 의미를 풀어보면 Directed, 즉 거래의 데이터 생성에 방향성이 존재한다는 의미이다.

Directed Image.PNG

Acyclic이란 거래가 꼬리의 꼬리를 무는 형태 즉 순환 형태를 갖지 않는다는 의미이며 Graph는 말 그대로 설계 구조이다.

Acyclic Image.PNG

의미를 합쳐서 한국말로 풀어 보자면 방향성을 갖고 순환하지 않는 설계 구조의 분산원장이란 의미이다.

아이오타의 탱글과 비트코인의 블록체인의 가장 큰 차이는 DAG 구조가 갖는 특이성을 들 수 있다. 비트코인 블록체인의 경우 비트코인 사용자 A가 B에게 비트코인을 보낼 경우 지갑 어플리케이션에서 거래 ID를 생성하고 이 거래 정보가 비트코인 네트워크로 전송(broadcasting)이 된 후 전 세계 비트코인 마이너들이 서로 경쟁하여 수학 문제를 풀어 발견한 블록에 거래 ID를 기록함으로써 거래가 이루어 진다. 반면, 아이오타는 ‘레퍼런싱’ 이라는 메커니즘으로 거래가 진행 되는데 레퍼런싱이란 사용자가 자신의 거래를 탱글 네트워크에 등록하기 위해 아직 승인되지 못한 두 개의 거래를 확인하는 것을 말한다. 결국 사용자는 레퍼런싱을 통해 두 개의 거래를 ‘직접’ 확인하게 되고 이 직접 확인한 두 개의 거래가 확인한 세부 거래를 ‘간접적’으로 확인하는 결과를 낳게 된다. 탱글의 간접적 확인 횟수가 늘어남은 곧 거래 신뢰도가 높아지는 것을 의미하며 비트코인 블록체인의 거래 승인 횟수 중첩과 매우 유사하다.

아이오타의 탱글이 비트코인의 블록체인과 크게 차이를 두는 부분은 마이너와 사용자를 따로 구분 짓지 않는다는 점이다. 비트코인 네트워크의 보안을 담당하는 마이너들은 해쉬 파워 경쟁으로 소수의 막강한 마이닝 풀(그룹)에 힘이 집중되는 문제가 있는 반면 아이오타 네트워크상의 모든 참여자 혹은 기기가 거래 생성과 확인에 관여하게 된다. 이 특징은 확장성에 있어서 매우 유리하게 작용할 수 있는데 아이오타 네트워크의 사용자 숫자가 많아 질수록 속도와 보안이 개선되는 효과를 얻을 수 있다.

Snapshot: 스냅샷

그렇다면 과연 아이오타의 분산 원장이란 탱글은 어디에 저장이 되며 어떤 방식으로 운영 될까? 탱글은 비트코인의 블록체인과 같이 Full Node가 저장 및 관리한다. 그렇다면 탱글 역시 시간이 지남에 따라 비트코인 블록체인과 같이 거대한 용량을 차지할까? 그렇지 않다. 왜냐면 탱글 네트워크를 관리하는 노드들은 정해진 시간에 ‘Snapshot’이라는 기능을 통해 거래 전체를 사진 찍듯 캡처를 하는데 스냅샷 이후 소모된 거래를 지우고 아직 잔액이 남아있는 거래만 모아 Genesis block 즉 탱글의 시작점으로 사용한다. 이를 통해 아이오타 재단은 탱글 데이터를 최소화 할 수 있으며 Lightweight 지갑 개발이 완료됨에 따라 많은 전산처리기능을 가지지 않은 기기에서도 거래가 가능하도록 만들 예정이다.

관리자(Coordinator)

아이오타 네트워크의 태동기에서 걸음마를 떼는 유아기 동안 관리자가 네트워크에 존재하게 된다. 관리자는 짧게 ‘Coo’라고 불리우고 아이오타 네트워크 상에 전 세계적으로 퍼져있는 몇 개의 Full node를 아이오타 재단이 직접 관리한다. 거래 생태계의 유지를 위해 체크 포인트 역할을 하며 milestone이라는 가치가 없는 거래를 만들어 사용자들의 거래를 최종적으로 레퍼런싱하는 역할을 맡는다. 관리자는 노드의 한 부분으로 역할을 하기 때문에 다른 노드와 마찬가지로 작위적으로 아이오타를 생성하거나 이중 지불을 승인할 수 없다.

Zero 금전적 거래 수수료

아이오타 탱글의 디자인은 궁극적으로 금전적 수수료가 들지 않는 거래를 가능케 한다. 여기서 굳이 ‘금전적 수수료’라 말한 이유는 아이오타 네트워크 참여자 및 기기는 비트코인 거래에서 마이너들에게 지급해야하는 정해진 수수료를 지불하는 대신 스팸과 Sybil attack을 막는 Hashcash 와 비슷한 Proof of Work 위해 어느 정도 컴퓨팅 파워를 사용해야 한다.

IOTA 결제 프로세스

  1. Signing: 결제 입력값에 개인 키를 사용하여 서명
  2. Tip Selection: MCMC(Markove Chain Monte Carlo)를 사용하여 아직 확인되지 않은 두 개의 거래 마디를 고르고 레퍼런싱을 진행 한다.
  3. Proof of Work: 아이오타 네트워크에 결제를 등록하기 위해 HashCash와 비슷한 방법으로 PoW를 진행 한다.
    위의 세 가지 절차에 따라 당신의 결제는 아이오타 네트워크에 전달 될 것이고 다른 참여자 혹은 기기가 당신의 거래 마디를 선택하여 거래가 승인을 받게 될 것이다.

IOTA 네트워크 컨센서스

image.png

그렇다면 이제 아이오타 네트워크 참여자들이 어떤 방식으로 거래를 승인하는지 알아보자. 이 부분을 알아 보면서 우리는 자연스럽게 이중지불문제를 함께 짚고 넘어 갈 수 있을 것이다. 그림에서 보는 바와 같이 녹색 블록은 승인 된 (거래의 보안이 보장된) 거래를 나타내고 붉은 색 블록은 적절한 합의엔 도달했지만 네트워크에 아직 완벽히 받아들여지지 않는 거래를 나타낸다. 회색의 블록은 아직 확인이 되지 않은 이제 막 추가 된 거래의 끝 마디를 보여준다.

모든 거래의 목표는 회색 블록이 녹색이 되는 것이다. 블록은 탱글에 존재하는 모든 회색 블록에 의해 직/간접적으로 레퍼런싱이 완성되면 녹색을 띄게 된다. 이는 곧 각각의 승인 된 거래에는 모든 끝 마디 에서 도달하는 길이 있다는 의미이다. 아이오타 재단의 설명에 따르면 Markov Chain Monte Carlo(MCMC)** 알고리즘을 N번 실행할 경우 당신의 거래가 승인 될 확률을 M(N)으로 정의한다. 예를 들어 당신이 MCMC 알고리즘을 100번 실행 하여 이 중 51번 성공적으로 당신의 거래로 도달하는 길이 있는 끝 마디를 찾았다면 당신의 거래가 승인 될 확률을 51%로 보는 것이다. 따라서, 판매자는 이 확률을 바탕으로 결제를 받아드릴지 아닐지 여부를 판단할 수 있다.

확장성(Scalability)

아이오타 네트워크 구조는 거래가 늘어 날수록 네트워크의 보안과 속도가 높아지는 장점이 있다. 2017년 4월 진행된 네트워크 스트레스 테스트 결과 250개의 노드로 초당 180개의 거래를 처리하였다.

오프라인 거래(Partitioning)

아이오타의 탱글 네트워크의 다른 특징은 오프라인 거래가 가능하다는 점이다. 메인 네트워크에 항시 등록되어있지 않은 기계 혹은 사물 간 거래는 탱글 네트워크의 Partitioning(분할) 기능을 사용 할 수 있다. 이 기능은 메인 탱글 네트워크에서 분리되어 인터넷이 아닌 ZigBee와 Bluetooth LE 같은 다른 커뮤니케이션 프로토콜을 사용하여 오프라인 네트워크를 형성하며 지속적으로 거래를 가능케 한다. 이 후 인터넷 연결이 확보되는 지점에서 따로 분리, 형성된 오프라인 탱글은 메인 네트워크와 합치게 된다.

Full Node Set-up

누구나 쉽게 Virtual Private Server를 통해 아이오타 네트워크의 Full Node를 설치할 수 있다. 자세한 설치 방법 참조: http://iota.partners/

Institute of Blockchain Technology (IBCT)
Analyst, Juno Yu

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
66 가상화폐 이오스 지갑 SIMPLEOS (심플오스/심플이오스)에 대해 알아보자 01 icon Work4Block 08-10 2,236
65 가상화폐 ChinaJoy에 참가한 엘라스토스와 댑(BIT.GAME, ViewChain, ioeX, Hashworld) icon Work4Block 08-10 2,200
64 가상화폐 KEEP!T Column 비트코인 뽀개기(9편) icon Work4Block 08-09 2,315
63 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (최종) icon Work4Block 08-01 3,483
62 가상화폐 KEEP!T Column 비트코인 뽀개기(7편) icon Work4Block 07-27 2,722
61 가상화폐 KEEP!T 블록체인 뉴스:7/21 - 비트코인의 학술적 유래 (6) icon Work4Block 07-23 2,387
60 가상화폐 아이젝 airdrop 참여하고 RLC 토큰 받아가기~!! 컴퓨터만 켜두면 OK icon Work4Block 07-20 3,119
59 가상화폐 문과생, 블록체인업체에 취직하기 - (3) 저도 블록체인 업계에서 일하고 싶어요! icon Work4Block 06-28 2,987
58 가상화폐 고장난 웹2.0, 패러다임 전환의 시기 icon Work4Block 06-27 3,115
57 가상화폐 Qx, QDex 및 Qrypto라는 3 개의 새로운 프로젝트 icon Work4Block 06-26 2,879
56 가상화폐 [Ethereum] Ethernaut 풀이 - 3.Coin Flip icon Work4Block 06-25 2,492
55 가상화폐 [Ethereum] Ethernaut 풀이 - 2.Fallout icon Work4Block 06-25 3,449
54 가상화폐 [Ethereum] Ethernaut 풀이 - 1.Fallback icon Work4Block 06-25 2,737
53 가상화폐 Overall Analysis of IOTA (아이오타 포괄적 분석) icon Work4Block 06-22 2,538
52 가상화폐 [Ethereum] Ethernaut 풀이 - 0.Hello Ethenaut icon Work4Block 06-21 2,499
51 가상화폐 [Ethereum] Ethernaut 소개 icon Work4Block 06-21 3,258
50 가상화폐 나의 이더리움 분석기 - 중간정리 - 2 icon Work4Block 06-21 3,135
49 가상화폐 이더리움이 go를 사용하는 이유(개인적인 생각) icon Work4Block 06-21 2,335
48 가상화폐 [Ethereum] Smart Contract 개발을 위한 환경 세팅 (Remix, Ganache) icon Work4Block 06-19 7,648
47 가상화폐 나의 이더리움 분석기 - 중간정리 - 1 icon Work4Block 06-19 5,147