아토믹스왑
아토믹 스왑(atomic swap)은 중앙화된 암호화폐 거래소를 거치지 않고, 서로 다른 코인을 직접 교환하는 것을 말한다. 2013년 티어 놀란(Tier Nolan)이 비트코인 토크 포럼에서 처음 제안했다. 2014년 코모도(Komodo)의 주요 개발자인 'JL777'이 처음으로 아토믹 스왑 개발에 성공했다. 아토믹 스왑은 '아토믹 크로스 체인 트레이딩'(atomic cross chain trading)의 줄임말로서, 간략히 코인 스왑(coin swap) 또는 에어 스왑(airswap)이라고도 한다.
개요
아토믹 스왑은 서로 다른 블록체인을 기반으로 한 암호화폐들 간의 직접적인 교환을 말한다. 대개 서로 다른 블록체인 기반의 코인을 교환하기 위해서는 암호화폐 거래소를 이용하는데, 거래 수수료가 발생하고, 해킹 위험에 노출되는 단점이 있다. 이를 피하기 위해 암호화폐 거래소를 거치지 않고, 암호화폐 소유자들끼리 직접 다른 종류의 코인을 교환하고자 할 때 아토믹 스왑이 사용된다.
특징
신뢰 문제
아토믹 스왑에서 가장 중요한 것은 거래 상대방에 대한 신뢰 문제이다. 사용자 A와 B가 있고, A는 비트코인 소유자이고 B는 라이트코인 소유자인데, 둘이 직접 코인을 교환하는 상황을 가정해 보자. 두 명이 교환 비율에 합의하여, A가 B에게 비트코인 1개를 보내고, 그 대가로 B가 A에게 라이트코인 10개를 보내기로 합의했다고 가정해 보자. 문제는 거래 상대방에 대한 신뢰가 형성되기 어렵다는 점이다. 네트워크로 연결된 관계에서 거래 상대방에 대해 아무런 정보가 없는 상태에서, 단지 상대방의 지갑 주소를 알고 있을 뿐인데, 만약 한 쪽이 암호화폐를 보냈으나, 다른 쪽이 보내지 않는다면 어떻게 될 것인가 하는 문제이다. 두 명이 서로 거래 시간을 약속하고 동시에 보내는 방법을 생각할 수도 있겠으나, 만약 한 명은 전송 버튼을 눌렀으나, 다른 사람이 버튼을 누르지 않으면 어떻게 될 것인가? 블록체인의 특성상 일단 한 번 전송 버튼을 누르면, 그 거래는 취소할 수가 없기 때문에, 먼저 버튼을 누르는 사람이 사기를 당할 위험성이 존재한다. 결국 익명성이 보장되는 암호화폐 거래에서, 신뢰할 수 있는 제3의 기관인 암호화폐 거래소를 통하지 않고, 양 당사자가 직접 암호화폐를 거래하는 일은 쉽지 않다는 것을 알 수 있다. 탈중앙화를 표방하는 블록체인 기반의 암호화폐를 거래하기 위해서 역설적이게도 중앙화된 암호화폐 거래소를 이용해야 하는 문제가 생기는 것이다.
아토믹 스왑은 이러한 거래 상대방의 신뢰 문제를 해결하기 위해 다양한 기술을 연구·도입하고 있다. 아토믹 스왑은 기술적으로 해결해야 할 과제들이 많다. 두 암호화폐 간에 아토믹 스왑이 성공하려면, 각 암호화폐에 적용된 해시 함수가 동일해야 하고, 해시 타임 락 계약(HTLC) 기반이어야 하며, 라이트닝 네트워크(lightning network)를 사용해야 하고, 기타 기술적으로 해결해야 할 문제들이 상당히 많기 때문이다.
타임락 기술
서로 다른 블록체인 사이에서 코인을 거래할 수 있도록 다양한 방법이 연구되고 있는데, 그 중 대표적인 것이 스마트 계약을 이용한 타임락(time lock) 기술이다. 이 기술은 해시 타임 락 계약(HTLC, hash time lock contract)이라고도 하는데, 두 사람이 코인을 교환할 때 일정한 시간을 설정해 두고, 만약 한 쪽은 코인을 전송했으나 다른 쪽에서 일정 시간 안에 코인을 전송하지 않을 경우에 거래가 취소되고, 미리 받은 코인은 자동으로 반환되도록 하는 기능이다.
예를 들어, 비트코인 소유자 A가 B에게 비트코인을 1개를 전송하고, B는 A에게 라이트코인 10개를 전송했다고 가정해 보자. 두 코인이 서로 상대방을 향해 전송되었으나 아직 최종적으로 코인을 개인 지갑으로 수령한 상태는 아니다. 이 때 B는 자신만 아는 비밀번호를 입력해야 A가 보낸 비트코인을 최종적으로 수령할 수 있다. B가 이 비밀번호를 입력하면 그 내용이 블록체인에 올라가 다른 사람들에게 공개되는데, 이 때 A가 그 비밀번호를 다시 입력함으로써 자신에게 도착해 있던 라이트코인을 받을 수 있게 된다.[1] 만약 일정한 시간 안에 A와 B가 비밀번호를 입력하지 않을 경우, 위 거래는 취소되고 코인은 원래 소유주에게 반환된다. 이 방법을 사용해, 2017년 11월 비트코인과 라이트코인 사이에 아토믹 스왑이 성공했다.[2]
라이트닝 네트워크
아토믹 스왑은 라이트닝 네트워크 기술을 사용하고 있다. 라이트닝 네트워크(lightning network)란 서로 다른 블록체인 간 거래 시, 두 블록체인의 장부에 거래내역을 각각 기록을 하는 것이 아니라, 두 블록체인 밖의 다른 제3의 거래 장부에 별도로 기록하는 방식을 말한다. 이를 통해 거래의 두 당사자들로부터 독립된 공정하고 중립적인 블록체인에 거래내역을 기록할 수 있다.
라이트닝 네트워크를 이용하여, 사용자 A와 B가 서로 코인을 거래하는 경우, 제3의 사용자인 C를 이용하는 방법이 있다. 이 때 사용자 C는 중앙화된 암호화폐 거래소가 아니라, A와 B가 모두 신뢰하는 개별 노드(node)를 말한다. 예를 들어, 사용자 C가 A와도 결제 채널이 열려 있고, B와도 결제 채널이 연결되어 있다고 가정해 보자. 즉, 사용자 C는 사용자 A와 B의 중간에 위치하면서 양자의 거래를 매개해 주는 역할을 하는 노드에 해당한다. 사용자 A와 B는 비트코인과 라이트코인을 서로 교환하고자 할 때, 중간에 있는 사용자 C를 일종의 개인 사설 환전소로 이용하여 거래를 할 수 있다. 먼저 A가 비트코인 1개를 C에게 보내고, 그 사실이 알려지면 B가 라이트코인 10개를 C에게 보낸다. 두 전송가 모두 성공한 후 사용자 C는 비트코인 1개를 B에게 보내고, 라이트코인 10개는 A에게 보냄으로써, 이 거래가 완성된다.[1]
일렉트럼 아토믹 스왑
2017년 12월 코모도(Komodo)와 비트코인캐시(bitcoin cash) 사이에 아토믹 스왑이 성공했다. 이 때 사용한 기술이 일렉트럼 아토믹 스왑(electrum atomic swap) 기술이다. 기존에는 아토믹 스왑을 수행하려면, 사용자가 서로 다른 두 블록체인을 모두 내려받은 후 거래가 가능했다. 그에 따라 거래 준비에 오랜 시간이 걸리고, 방대한 저장공간이 필요하다는 단점이 있었다. 하지만 일렉트럼 아토믹 스왑 기술을 사용하면, 거래 당사자가 양쪽의 블록체인을 전부 다운로드 받지 않아도 간단하게 코인 거래를 할 수 있다.[3]
웨이브
러시아의 이더리움이라고 불리는 웨이브(Waves)의 창시자인 알렉산더 이바노프는 2017년 웨이브 지갑에 아토믹 스왑 기능을 구현했다. 웨이브 지갑을 사용하면, P2P 방식으로 다양한 종류의 암호화폐를 생성, 전송, 교환할 수 있다. 웨이브 지갑을 사용하면, 비트코인, 이더리움, 웨이브 등 암호화폐뿐 아니라, 미국 달러, 유로화 등 법정화폐로도 교환할 수 있다. 웨이브는 이 기능을 이용하여, 2017년 4월 탈중앙 거래소(DEX)를 구현했다. 웨이브는 매처(matcher)라는 특별한 노드를 두고, 이 노드를 통해 들어오는 주문을 매치하고 빠른 속도로 거래를 실행한다. 웨이브는 이처럼 탈중앙화된 거래소를 통한 아토믹 스왑 방식의 암호화폐 교환 거래에 대해 0.003 웨이브 정도의 수수료를 부과하고 있다.
각주
- ↑ 1.0 1.1 veritaholic, 〈아토믹 스왑: 라이트닝 네트워크는 어떻게 다른 알트코인들에 적용될 수 있는가〉, 《뉴스페퍼민트》, 2018-08-04
- ↑ 고란 기자, 〈암호화폐 거래소 장부거래 의혹…덱스가 뜬다〉, 《중앙일보》, 2018-04-07
- ↑ ventasnu, 〈아토믹스왑(Atomic swap)과 비트코인(BTC), 라이트코인(LTC) 그리고 코모도(KMD)코인〉, 《VENTAS - Cryptocurrency Market Leader》, 2018-02-13
참고자료
- ventasnu, 〈아토믹스왑(Atomic swap)과 비트코인(BTC), 라이트코인(LTC) 그리고 코모도(KMD)코인〉, 《네이버 블로그》, 2018-02-13
- veritaholic, 〈아토믹 스왑: 라이트닝 네트워크는 어떻게 다른 알트코인들에 적용될 수 있는가〉, 《뉴스페퍼민트》, 2018-08-04
- 고란 기자, 〈암호화폐 거래소 장부거래 의혹…덱스가 뜬다〉, 《중앙일보》, 2018-04-07
- "Atomic cross-chain trading", bitcoin wiki