스퀘어에서 공개한 유동성 프로토콜 tbDEX 백서 분석

얼마전 스퀘어에서 tbDEX라는 이름의 백서를 공개했습니다. 백서의 주요 내용은 법정화폐(fiat)와 암호화폐(cryptocurrency)간의 교환을 위한 유동성 프로토콜에 대한 소개 입니다. 이번 글을 통해 tbDEX 프로토콜의 백서를 분석해 보도록 하겠습니다.

TL;DR

  • tbDEX는 법정화폐와 암호화폐간 교환을 위한 탈중화 프로토콜입니다.
  • 실제 교환을 해주는 기관을 PFI(Participating Financial Institution)라 부릅니다.
  • 상대방을 믿을 수 있어야 거래가 가능한 트러스트 모델을 사용한 프로토콜입니다.
  • 상대방 검증을 위해 DID와 VC (Verifiable Credential)을 사용합니다.
  • 거래 조건을 주고 받기 위해 ASK 및 BID라는 메시지를 사용합니다.
  • 암호화폐를 블록체인의 스마트컨트랙트에 예치해두고, 법정화폐 결제가 이루어지면 암호화폐가 전송되는 방식을 사용합니다.

프로토콜 개요 및 특징

온램프 & 오프램프

먼저 용어부터 살펴봅시다. 법정화폐에서 암호화폐로 바꾸는 과정을 온램프(on-ramp)라고 합니다. 반대로 암호화폐에서 법정화폐로 바꾸는 과정을 오프램프(off-ramp)라고 해요.

보통 이러한 온/오프램프 과정은 중앙화된 거래소를 통해 이루어지게 됩니다. tbDEX 백서에서 다루는 핵심 내용은 이러한 온/오프램프 과정을 탈중화된 방식으로 가능하게 하는 프로토콜이라고 할 수 있어요.

트러스트(Trust) 모델과 DID

일반적으로 암호화폐와 암호화폐를 교환하는 탈중앙거래소(DEX)는 트러스트리스(trustless) 모델을 사용합니다. 즉, 상대방을 믿지 못하더라도 동작할 수 있는 프로토콜로 설계되어 있어요.

tbDEX에서는 이와는 다르게 트러스트 모델을 사용합니다. 여기서 트러스트 모델을 사용한다는 건 거래의 상대편을 믿기 위한 과정이 프로토콜에 포함된다는 뜻이라고 합니다.

탈중화 방식의 프로토콜이기 때문에, 거래를 하는 상대에 대한 검증도 탈중화된 방식이 필요합니다. tbDEX에선 그 방법으로 DID를 사용해요. 혹시 DID에 대해 생소하다면, 다음 글에서 DID에 대한 간략한 설명을 보실 수 있습니다.

PFI (Participating Financial Institution)

tbDEX가 제안하는 프로토콜에는 법정화폐와 암호화폐를 교환해주는 개체가 있습니다. PFI(Participating Financial Institution)라고 부르는데요. 직역하면 ‘참여금융기관’ 정도가 될 것 같네요.

백서에 따르면 핀테크 회사나 은행 또는 기타 금융 기관들이 PFI로 참여할 수 있다고 합니다. 탈중화 프로토콜이기 때문에 참여를 원하는 기관은 누구나 특별한 승인 과정 없이도 블록체인 노드를 운영하며 PFI로 참여할 수 있습니다.

별도의 승인과정이 없기 때문에, 이론적으로 금융 기관이 아니더라도 PFI로 참여가 가능합니다. (이 부분의 문제를 어떻게 푸느냐가 tbDEX 프로토콜의 성패를 가르는 핵심 중 하나가 될 것 같습니다.)

PFI 또한 신원을 증명하기 위한 DID를 가지고 있습니다.

프로토콜 레이어

tbDEX 프로토콜은 크게 3단계로 나누어 거래가 진행됩니다.

  1. PFI 탐색 : 거래할 대상의 리스트를 탐색하는 과정
  2. 거래 협상 및 신원 검증 : 거래 조건들을 협상하고 DID의 VC를 이용해 신원을 검증합니다.
  3. 거래 완료 : 협상이 완료되면 스마트 컨트랙트를 이용해 실제 거래를 수행합니다.
출처 : https://tbdex.io/whitepaper.pdf

PFI 탐색

거래의 시작은 사용자의 지갑에서부터 시작됩니다. 사용자는 지갑을 통해 PFI의 DID 리스트를 찾습니다. 여기서 지갑은 믿을만한 PFI의 DID 리스트를 제공할 수 있어야 한다고 합니다. PFI 리스트를 찾았다면 다음 단계로 넘어갑니다.

거래 조건 협상 및 신원 검증

다음으로는 각 PFI에게 원하는 거래에 대한 정보를 전송합니다. 예를 들면, 100 USD를 암호화폐 XYZ로 교환하고 싶다는 요청을 보내는 것이죠. 이러한 정보를 프로토콜에서는 “ASK”라고 부릅니다.

각 PFI는 거래 요청(ASK)을 받으면, 그에 대한 거래 조건을 응답으로 반환합니다. 예를 들어, 100 USD에는 10 XYZ로 교환 가능하다고 응답이 올 수 있겠죠. 이러한 거래 조건 응답을 “BID”라고 부릅니다. 말 그대로 입찰하는 방식이에요.

PFI가 응답하는 BID에는 거래 요청하는 사용자를 검증하기 위한 조건(크리덴셜 요구사항)이 포함됩니다. 사용자는 각 PFI가 보내온 BID에 포함된 조건들을 검토 후, 실제 거래를 진행할 PFI를 선택합니다. 선택한 PFI가 요구하는 크리덴셜 정보를 PFI에 전달합니다.

선택된 PFI에서는 사용자의 크리덴셜을 검증하고, 검증이 완료되면 실제 거래가 이루어지게 됩니다.

거래 수행 및 완료

서로의 신원확인과 거래조건 협상이 끝나면 실제 거래가 이루어지게 됩니다. 먼저 암호화폐를 스마트 컨트랙트에 예치해 두고, 법정화폐의 결제가 이루어지고 나면, 예치된 암호화폐를 상대방에게 보내는 방식으로 이루어지게 됩니다.

아래의 예시를 보면 (아마도?) 더 잘 이해할 수 있을거에요. 여기서는 온램프 케이스만 간단히 나타냈습니다.

출처 : https://tbdex.io/whitepaper.pdf

마치며

아직 0.1 버전이기 때문에 상세한 내용이 많이 나오진 않습니다. 여전히 궁금한 부분들이 많지만, 백서가 업데이트되면서 더 자세한 내용이 나오지 않을까 싶습니다. 그럼에도 법정화폐와 암호화폐간의 교환을 탈중화된 방식으로 가능하게 하려는 프로토콜의 설계는 굉장히 의미있는 시도라고 볼 수 있습니다.

끝까지 읽어주셔서 감사합니다.

참고자료

--

--

Minho, Yoo | D'CENT wallet & WEPIN wallet
IOTRUST : Team Blog

Interested in Blockchain Tech. Developing Cryptocurrency wallet D’CENT and WEPIN. Learning is best way to improve.