의견.png

"탱글"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(참고자료)
4번째 줄: 4번째 줄:
  
 
'''탱글'''(tangle)이란 기존 [[블록체인]]의 한계를 극복하고자 블록 자체를 없애고, 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 [[알고리즘]]이다. [[사물인터넷]](IoT) 시대의 [[M2M]]<ref>[[M2M]]이란 Machine to Machine의 약자로서, [[사물인터넷]](IoT) 시대를 맞이하여 기계와 기계가 인터넷을 통해 서로 정보를 주고받는 것을 말한다.</ref> 코인인 [[아이오타]](IOTA)에 사용된 알고리즘이다.
 
'''탱글'''(tangle)이란 기존 [[블록체인]]의 한계를 극복하고자 블록 자체를 없애고, 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 [[알고리즘]]이다. [[사물인터넷]](IoT) 시대의 [[M2M]]<ref>[[M2M]]이란 Machine to Machine의 약자로서, [[사물인터넷]](IoT) 시대를 맞이하여 기계와 기계가 인터넷을 통해 서로 정보를 주고받는 것을 말한다.</ref> 코인인 [[아이오타]](IOTA)에 사용된 알고리즘이다.
 +
 +
== 탱글 알고리즘 ==
 +
 +
[[탱글]](Tangle)이란 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 [[알고리즘]]이다. 기존 [[블록체인]](blockchain) 알고리즘과 달리, 탱글에는 [[블록]]도 없고 [[체인]]도 없다.
 +
 +
* '''DAG 기반''' : 탱글은 [[방향성 비순환 그래프]]인 [[대그]]([[DAG]]; Directed Acyclic Graph)를 기반으로 하는 완전히 새로운 알고리즘으로서, 기존 블록체인과 많은 차이가 있다.<ref name="백서"></ref> 탱글에서는 네트워크 참여가 [[트랜잭션]]을 발생시키는 동시에 이전 트랜잭션을 확인하는 검증자가 된다. 새로운 거래를 하기 위해서는 반드시 이전에 진행되었던 2개의 거래내역을 확인하고 검증을 진행해야 한다. 전체 트랜잭션 개수가 늘어날수록 네트워크 참여자 및 검증자들이 증가하면서, 시스템의 안전성과 확장성이 더욱 커진다.<ref>아이오타 공식 홈페이지 - https://www.iota.org/</ref>
 +
 +
* '''작동 원리''' : 탱글에서 트랜잭션을 처리하는 과정은 다음과 같다. 첫째, 하나의 [[노드]]는 [[알고리즘]]에 따라 승인할 두 개의 트랜잭션을 선택한다. 이 때 두 개의 트랜잭션은 우연히 같은 것일 수도 있다. 이처럼 아직 승인되지 않은 두 개의 거래를 고르는 것을 팁 선택(tip selection)이라고 한다. 팁 선택을 위해 [[마르코프 체인 몬테 카를로]](MCMC; Markov Chain Monte Carlo) 알고리즘을 사용한다. 둘째, 두 개의 트랜잭션이 충돌하지 않는지를 검사하며, 충돌하는 트랜잭션은 승인하지 않는다. 셋째, 트랜잭션이 유효하려면, 노드는 반드시 [[암호화]]되어 있는 퍼즐을 풀어야 한다. 이는 [[비트코인]] 등 [[작업증명]](PoW) 합의 알고리즘에서 사용하고 있는 [[채굴]]과 유사하다.
 +
 +
* '''충돌 문제''' : 일반적으로 네트워크는 [[비동기적]](asynchronous)이고, 따라서 노드는 반드시 동일한 트랜잭션의 세트를 보지 못할 수도 있다. 탱글은 충돌하는 트랜잭션을 포함할 수도 있다. 노드는 어떠한 유효한 트랜잭션이 원장(ledger)에 적혀야 하는지 [[만장일치]]로 결정할 필요가 없다. 충돌하는 트랜잭션이 있는 경우에, 어떤 트랜잭션이 고아(orphan) 상태가 될지를 결정해야 한다. 두 개의 충돌하는 트랜잭션에 대해서 노드가 사용하는 주된 규칙은 다음과 같다. 노드는 팁 선택 알고리즘을 여러 번 사용하며, 두 개 중 어떤 트랜잭션이 좀 더 간접적으로 선택된 [[팁]](tip)에 의해서 승인되는지를 검사한다. 예를 들어, 만약 100번 이상의 팁(tip) 선택 알고리즘을 수행한 이후, 트랜잭션이 97번 선택되었다고 하면, 97퍼센트의 [[신뢰도]]로 확정(confirmation)되었다고 말할 수 있다.<ref name="Github">"[https://github.com/iotaledger/trinity-wallet The IOTA Trinity Wallet]", ''GitHub''</ref>
 +
 +
* '''수수료 무료''' : 탱글은 [[비트코인]], [[이더리움]] 등에서 문제가 되었던 거래 [[수수료]]와 트랜잭션 속도 저하 문제를 해결하고자 하는 새로운 시스템이다. 탱글은 채굴 기능이 없이 네트워크 참여자들이 이전 트랜잭션을 검증하게 함으로써, 거래 수수료를 없애고 트랜잭션 속도를 증가시킨다. 이러한 트랜잭션들이 네트워크 내에서 늘어나게 되면 보안이 더 강화되는 특징을 지닌다. 탱글은 데이터 전송 수수료가 없기 때문에 기기들 간의 송금 결제를 수수료 없이 완벽하게 처리할 수 있다. 또한, 참여자 하나당 2개의 검증이 발생되어, 참여자가 많아질수록 [[보안성]]과 [[확장성]]이 높아지는 구조로서, [[사물인터넷]]을 통한 머신 이코노미에 적합한 기술이다.<ref>Andrew Kim, 〈[https://crosswave.net/?p=2009 기본지식 아이오타(IOTA)는 무엇인가?]〉, 《크로스웨이브》, 2018-03-21</ref>
 +
 +
* '''플래시 네트워크'''(flash network) : 아이오타(IOTA)는 [[비트코인]]의 확장성 문제를 해결하기 위해 나온 대안들 중 하나인 [[라이트닝 네트워크]](lightning network)와 유사한 플래시 네트워크 기능을 가지고 있다. 라이트닝 네트워크는 모든 거래를 블록체인에 올리지 않고, 특정 주소의 채널 상에서 먼저 거래를 마친 참여자들의 트랜잭션을 블록체인에 저장 생성하는 방식으로 속도를 개선한 플랫폼이다. 플래시 네트워크는 라이트닝 네트워크의 오프 채널 또는 [[사이드체인]](sidechain)과 마찬가지로, [[탱글]]에 트랜잭션을 직접 올릴 필요 없이 별도의 플래시 채널에서 트랜잭션 승인을 얻음으로 인하여 빠른 거래가 이루어질 수 있게 한다.
  
 
{{각주}}
 
{{각주}}

2019년 8월 6일 (화) 10:00 판

탱글(Tangle) 알고리즘
탱글(Tangle) 알고리즘
탱글(Tangle) 알고리즘을 적용한 아이오타(IOTA)

탱글(tangle)이란 기존 블록체인의 한계를 극복하고자 블록 자체를 없애고, 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 사물인터넷(IoT) 시대의 M2M[1] 코인인 아이오타(IOTA)에 사용된 알고리즘이다.

탱글 알고리즘

탱글(Tangle)이란 새로 발생한 거래가 이전에 발생한 2개의 거래를 확인해 주는 방식으로 작동하는 알고리즘이다. 기존 블록체인(blockchain) 알고리즘과 달리, 탱글에는 블록도 없고 체인도 없다.

  • DAG 기반 : 탱글은 방향성 비순환 그래프대그(DAG; Directed Acyclic Graph)를 기반으로 하는 완전히 새로운 알고리즘으로서, 기존 블록체인과 많은 차이가 있다.[2] 탱글에서는 네트워크 참여가 트랜잭션을 발생시키는 동시에 이전 트랜잭션을 확인하는 검증자가 된다. 새로운 거래를 하기 위해서는 반드시 이전에 진행되었던 2개의 거래내역을 확인하고 검증을 진행해야 한다. 전체 트랜잭션 개수가 늘어날수록 네트워크 참여자 및 검증자들이 증가하면서, 시스템의 안전성과 확장성이 더욱 커진다.[3]
  • 작동 원리 : 탱글에서 트랜잭션을 처리하는 과정은 다음과 같다. 첫째, 하나의 노드알고리즘에 따라 승인할 두 개의 트랜잭션을 선택한다. 이 때 두 개의 트랜잭션은 우연히 같은 것일 수도 있다. 이처럼 아직 승인되지 않은 두 개의 거래를 고르는 것을 팁 선택(tip selection)이라고 한다. 팁 선택을 위해 마르코프 체인 몬테 카를로(MCMC; Markov Chain Monte Carlo) 알고리즘을 사용한다. 둘째, 두 개의 트랜잭션이 충돌하지 않는지를 검사하며, 충돌하는 트랜잭션은 승인하지 않는다. 셋째, 트랜잭션이 유효하려면, 노드는 반드시 암호화되어 있는 퍼즐을 풀어야 한다. 이는 비트코인작업증명(PoW) 합의 알고리즘에서 사용하고 있는 채굴과 유사하다.
  • 충돌 문제 : 일반적으로 네트워크는 비동기적(asynchronous)이고, 따라서 노드는 반드시 동일한 트랜잭션의 세트를 보지 못할 수도 있다. 탱글은 충돌하는 트랜잭션을 포함할 수도 있다. 노드는 어떠한 유효한 트랜잭션이 원장(ledger)에 적혀야 하는지 만장일치로 결정할 필요가 없다. 충돌하는 트랜잭션이 있는 경우에, 어떤 트랜잭션이 고아(orphan) 상태가 될지를 결정해야 한다. 두 개의 충돌하는 트랜잭션에 대해서 노드가 사용하는 주된 규칙은 다음과 같다. 노드는 팁 선택 알고리즘을 여러 번 사용하며, 두 개 중 어떤 트랜잭션이 좀 더 간접적으로 선택된 (tip)에 의해서 승인되는지를 검사한다. 예를 들어, 만약 100번 이상의 팁(tip) 선택 알고리즘을 수행한 이후, 트랜잭션이 97번 선택되었다고 하면, 97퍼센트의 신뢰도로 확정(confirmation)되었다고 말할 수 있다.[4]
  • 수수료 무료 : 탱글은 비트코인, 이더리움 등에서 문제가 되었던 거래 수수료와 트랜잭션 속도 저하 문제를 해결하고자 하는 새로운 시스템이다. 탱글은 채굴 기능이 없이 네트워크 참여자들이 이전 트랜잭션을 검증하게 함으로써, 거래 수수료를 없애고 트랜잭션 속도를 증가시킨다. 이러한 트랜잭션들이 네트워크 내에서 늘어나게 되면 보안이 더 강화되는 특징을 지닌다. 탱글은 데이터 전송 수수료가 없기 때문에 기기들 간의 송금 결제를 수수료 없이 완벽하게 처리할 수 있다. 또한, 참여자 하나당 2개의 검증이 발생되어, 참여자가 많아질수록 보안성확장성이 높아지는 구조로서, 사물인터넷을 통한 머신 이코노미에 적합한 기술이다.[5]
  • 플래시 네트워크(flash network) : 아이오타(IOTA)는 비트코인의 확장성 문제를 해결하기 위해 나온 대안들 중 하나인 라이트닝 네트워크(lightning network)와 유사한 플래시 네트워크 기능을 가지고 있다. 라이트닝 네트워크는 모든 거래를 블록체인에 올리지 않고, 특정 주소의 채널 상에서 먼저 거래를 마친 참여자들의 트랜잭션을 블록체인에 저장 생성하는 방식으로 속도를 개선한 플랫폼이다. 플래시 네트워크는 라이트닝 네트워크의 오프 채널 또는 사이드체인(sidechain)과 마찬가지로, 탱글에 트랜잭션을 직접 올릴 필요 없이 별도의 플래시 채널에서 트랜잭션 승인을 얻음으로 인하여 빠른 거래가 이루어질 수 있게 한다.

각주

  1. M2M이란 Machine to Machine의 약자로서, 사물인터넷(IoT) 시대를 맞이하여 기계와 기계가 인터넷을 통해 서로 정보를 주고받는 것을 말한다.
  2. 인용 오류: <ref> 태그가 잘못되었습니다; .EB.B0.B1.EC.84.9C라는 이름을 가진 주석에 제공한 텍스트가 없습니다
  3. 아이오타 공식 홈페이지 - https://www.iota.org/
  4. "The IOTA Trinity Wallet", GitHub
  5. Andrew Kim, 〈기본지식 아이오타(IOTA)는 무엇인가?〉, 《크로스웨이브》, 2018-03-21

참고자료

같이 보기


  의견.png 이 탱글 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.