DEX 파해치기

탈중앙화 거래소(Decentralized EXchanges)의 구현은 생각만큼 쉽지 않다.

bitHolla Team
bitHolla
9 min readApr 3, 2019

--

크립토 업계에서는 뭐든 어두에 탈중앙화를 붙이는걸 중요하게 생각하는 경향이 있습니다. 탈중앙화 거래소도 예외는 아니죠.

이번 글에서는 근래 가장 큰 하이프 중 하나인 탈중앙화 거래소(Decentralized Exchanges, DEX)에 대해서 다뤄보려고 합니다.

DEX는 기본적으로 탈중앙화된 툴(decentralized tools)을 이용해 소수의 기업에 의해 유지되는 중앙화 거래소(Centralized Exchanges, CEX)대체하겠다는 큰 포부를 갖고 있습니다.

거래소의 탈중앙화는 언뜻 듣기에도 대단하고 엄청난 신기술처럼 들립니다. KYC, 정부의 규제, 서드파티의 조,정 카운터파티 리스크(counter party risk)가 없는 당사자간의 코인 거래는 이와같은 것을 보완할 수 있는 차세대 코인거래방식이 될 수 있을 것만 같습니다. 하지만, DEX가 정말 실현가능할까요?

DEX를 보다 깊게 이해하기 위해서, 우선 거래에 대해 알아보도록 하겠습니다.

미들맨(middleman)이 필요한 이유는 무엇인가?

가정을 하나 해보겠습니다.

Bob은 1비트코인(BTC)을 Alice의 100라이트코인(LTC)으로 교환하고 싶습니다. 하지만 가격을 정한 이후에도, 둘 중 먼저 코인을 전송하려고 하는 사람은 없을 것입니다.

즉, “누가 먼저 전송 할 것인가”라는 딜레마에 빠지게 되는것이죠. Bob은 먼저 비트코인(BTC)을 보내고 싶지 않을 것이고, Alice 역시 라이트코인(LTC)를 먼저 보내고 싶어하지 않을것입니다. 실질적으로 거래에 진전이 없는것이죠.

그럼에도 불구하고 여전히 거래가 성사되려면 누군가는 먼저 코인을 전송해야 합니다.

미들맨은 위와 같은 사고를 방지하기 위해 존재한다.

크립토 세계의 미들맨인 암호화폐 거래소들은 이런 문제를 아주 쉽게 해결하고 있습니다. 수세기에 거쳐 발전한 모델인 마켓플레이스(marketplace)를 사용하는 것이죠. 우리가 매일 사용중인 거래소에서 오더북(order book)에 있는 매수호가(bids)와 매도호가(offers)를 통해서 실시간으로 거래를 진행합니다.

더욱이 거래소는 ‘누가 먼저 전송할 것인가?’하는 딜레마를 에스크로상태에 해당 자산을 두는 것으로 문제를 해결하였습니다. 크립토 거래소에 자산을 입금하면 해당 자산은 에스크로 상태(in escrow)에 놓이게 됩니다. 거래소가 해당 자산을 보관하고 관리한며 거래가 끝나면 에스크로(escrow)에 있던 자산이 주인에게 돌아가게 됩니다.

이와같은 에스크로 방식은 아래와 같은 이유로 효율적으로 운영됩니다. :

  1. 임의의 상대 대신, 당신은 잘 알려진 하나의 단체를 신뢰한다 : 규제 내에 등록된 거래소
  2. 거래소가 모든 거래에서 일정 부분을 수수료로 가져가기 때문에, 거래하는 양 측의 자금/거래를 안전하게 보호하는 것은 거래소 운영 자체에도 굉장히 중요한 작업이다.
  3. 위법행위 관련해선, 에스크로 자금이 들어있는 거래소를 통해 상환청구를 할 수 있다.

이는 상당히 효율적인 프로세스입니다. 중앙화된 거래창구는 과거에도 여러 산업에서 무수히 많이 사용되어왔고 비트코인이 처음 나왔을 당시부터 지금까지 암호화폐를 거래하는 방식이기도 합니다. 하지만 크립토 업계는 이런 거래소 시스템 마저 탈중앙화 시킴으로써 탈중앙에 한걸음 더 나아가려는 것이죠.

판을 뒤집겠다! : 크립토정신 기반의 업그레이드!

DEX는 어떻게 운영되는가?

DEX는 CEX 이상의 안전한 거래를 보증해야 합니다. 헌데 그러한 안전성과 보안성을 누구도 신뢰하지 않은 채로 보증해야 하죠. 심지어는 DEX 그 자체도 신뢰해서는 안됩니다!

이러한 주장들에는 아래와 같은 의문점을 가질 수 있습니다 :

  1. “누가 먼저 전송 할 것인가”를 아무도 믿지 않은 채로 해결 가능한가?
  2. 거래소의 매칭 시스템과 오더북은 어떻게 해결 가능한가? 이런 기능들은 DEX를 신뢰하지 않고도 돌아갈 수 있을까? 완벽한 탈중앙화가 의미하는 것이 전체 시스템이 무신뢰로 돌아갈 수 있다는 의미일까?

이에 대한 답을 얻기 위해선, DEX가 주장하는 내용들을 알아보도록 하겠습니다.

  1. DEX는 디지털 자산의 무신뢰 거래를 제공한다.
  2. DEX는 무신뢰 거래 매치메이킹 시스템을 제공한다.

첫번째 주장 : DEX는 디지털 자산의 무신뢰 거래(trustless exchange)를 제공한다.

“무신뢰”란 “누가 먼저 전송 할 것인가”라는 딜레마와 거래소 에스크로 입금 에 대한 고민 없이 누군가와 여러분의 자산을 거래 할 수 있다는 의미입니다.

전통적 관점에서, 이 주장은 말이 안 된다고 생각될 수 있습니다. 하지만 아토믹 스왑(Atomic Swap)과 같은 기술을 활용하여, 이 난제를 일부 해결 할 수 있었습니다.

전제:

- Bob은 1BTC를 소유, Alice는 100LTC를 보유함

- Bob과 Alice는 모두 코인을 거래하고 싶음

- Bob과 Alice는 모두 1 BTC = 100 LTC 비율에 동의함

가정:

- Bob은 Alice에게 1 BTC를 보내야함

- Alice는 Bob에게 100 LTC를 보내야함

아토믹 스왑 진행과정은 다음과 같습니다 :

  1. Alice가 임의의 숫자 R 선택
  2. Alice는 R의 해시를 계산하고, 해당 해시값을 H로 명명
  3. Alice는 100 LTC를 밥에게 보내기 위해 트랜잭션을 생성하고 R 이 공개되어야 한다는 조건으로 H을 붙임. 이를 해시타임 락(Hash Time Locked Contract, HTLC)으로 한다.
    참고: 일방향 해시함수를 활용하여 암호화했기에, R을 H로부터 도출할 수 없음.
  4. Bob은 1 BTC 를 Alice에게 보내기 위해 트랜잭션을 생성하고 R 이 공개되어야 한다는 조건으로 아까와 같은 H를 첨부
  5. Alice가 R을 공개한다는 조건 하에, 두 트랜잭션들은 만족되고, 자동으로 스왑 진행 : 아토믹 스왑

하지만, 간단해 보이는 아토믹 스왑에도 문제점이 존재합니다.

Alice는 본인이 선택한 R에 대한 정보를 알고 있습니다. 즉 Bob이 Alice의 LTC를 받고 Alice가 Bob의 BTC를 받기 위해서는 당사자간에 소통을 해야 합니다.

따라서, Bob에게 R 을 주기 전에, Alice는 LTC의 BTC 페어 가격을 확인하고 최근 가격 변동을 확인할 수 있습니다. 만약 BTC 가격이 내려가면, Alice는 밥에게 R 을 주지 않고 대기하여 트랜잭션을 파기시킬 가능성이 있습니다.

Alice는 해시타임 락(HTLC)을 이용하여, 콜옵션(구매 권리, call option)을 활용할 수 있습니다. Alice가 언제 거래를 할지 정할 수 있고, Bob은 Alice의 결정에 종속되는 것이죠.

Bob은 LTC를 받기위해 Alice가 R을 공개할 때까지 기다려야합니다.

거래소들도 이 사실에 대해 알고 있습니다. 이를 “우연적 콜옵션(inadvertent call option)”라고 명명하며, 불가피한 요소라고 여깁니다.

아토믹 스왑을 통한다면, “누가 먼저 전송 할 것인가”라는 딜레마는 해소됩니다 : “우연적 콜옵션”의 권리를 갖기 위해 되도록 거래를 시작하는 동기가 생기게 되는것이죠.

이런 상황이 실제로 적용 될 경우, 대규모의 거래를 진행하는 사람들에게 콜옵션 가능성은 거래의 효율성과 평등함이 깨지는 것이죠. 거래를 시작하지 않은 사람은 전적으로 상대를 믿어야 하기 때문에, 이는 앞서 DEX가 약속했던 무신뢰 거래를 지킬 수 없게 된다고 할 수 있습니다.

두번째 주장 : DEX는 무신뢰 거래(trustless exchange) 매치메이킹 시스템을 제공한다.

호가변경(front-running)허위 거래량(fake volume)에 대한 문제가 지속적으로 재기되고 있는 가운데, 많은 거래소들이 개인들로부터 중요한 정보를 공개하지 않는다는 의혹을 받고 있습니다. 거래소가 탈중앙화 될 경우, 이상적인 DEX들은 기존 거래소들이 갖지 못했던 투명성(transparency)을 제공할 것입니다.

DEX의 오더북을 최고의 스마트 컨트랙트(smart contract)가 관리하고 있다고 가정해 보겠습니다.

우선 이더리움(Ethereum), 혹은 이더리움의 여러 경쟁상대들이 이러한 스마트 컨트랙트를 제공 가능하겠죠

두번째로 평균적인 거래소는 매일 약 백만건 정도의 거래가 발생합니다. 그리고, 블록체인 자체의 확장성 문제(scalability), 스마트 컨트랙트의 아키이빙 이슈(archiving issues) 등의 사항들을 고려하면, 이런 모든 조건을 만족할 수 있는 복잡한 시스템은 아직 구축 할 수 없습니다.

블록체인 기술은 다양한 형태로 존재하여 모든 니즈를 만족한다고 생각하지만, 사실 그런 마법 같은 일은 쉽게 벌어지지 않습니다.

DEX는 이론적으로만 좋은 솔루션이다

실제로 작동하는 탈중앙화 프로토콜은 많은 사람들이 생각하는것 보다 훨씬 이루기 힘듭니다. 아직 해결되거나 알려지지 않은 많은 문제들이 있지만 미디어나 블록체인 스타트업들은 이를 얼버무리며 넘어가고 있습니다. 깊게 생각해보면, 거래소의 입장에서 투자자들에게 완벽한 DEX를 약속해도, 실제로 뒷전으로 물러날 수는 없습니다. 본인들의 사업 아이템을 잃는것이니까요.

DEX는 아직 갈 길이 멀다.

거래소가 황금알을 낳는 거위와 같은 현재 사업모델을 외면하지않을테니 걱정하지 마세요. 바이낸스(Binance)를 포함한 모든 거래소들이 뜨거운 감자인 DEX를 언급하지만, 과연 그럴까요?

탈중앙화를 목표한다는 건 언제나 환영해야 할 일입니다. 좋은 시나리오는 거래소가 자체의 최신기술력을 보여주기 위한 시제품으로 사용하는 것일것입니다. 나쁜시나리오는 ICO를 모금하기위한 달콤한 (전략)도구로 이용되는것이겠죠.

“진정한 무신뢰(trustless)를 추구하는 탈중앙화 거래소(decentralized exchange)는 크립토 업계의 미래가 될 수 있지만, 지금 당장은 아니다.”

더 많은 크립토 업계와 bitHolla의 뉴스를 구독하고 싶으시다면저희의 Facebook, Twitter, LinkedIn, website를 참고하세요!

--

--