스마트 계약을 통해 ‘유동성 공급’은 어떻게 가능할까?

[디콘의 암호경제학 개론] 대표적인 방법으로 '본딩커브'와 '본딩마켓'이 있다

등록 : 2019년 1월 8일 18:04 | 수정 : 2019년 1월 8일 19:22

암호경제학은 블록체인 기반 분산 시스템을 설계, 구현하는데 핵심 요소입니다. 하지만 그 연구는 아직 미성숙한 단계죠. 암호경제시스템 전문 연구기업 디콘(DECON)과 코인데스크코리아가 암호경제학 이야기를 쉽게 풀어 소개하는 코너를 마련했습니다.

최근 검찰이 자전거래 등 혐의로 업비트를 불구속기소 했습니다. 이에 대한 업비트 측은 “서비스 오픈 초기에 거래 시장 안정화를 위해 회사 법인 계정으로 유동성을 공급했다”는 답변은 내놓았습니다. 유동성이 모자라서 시장 안정화가 되지 않기 때문에 유동성 공급을 회사 자산으로 한 적이 있다는 것을 시인한 것입니다. 업비트가 잘못했는지 하지 않았는지는 확실하지 않지만, 유동성이라는 것이 자산 거래에 아주 중요한 것이라는 점만큼은 확실해 보입니다.

유동성이 무엇이길래 이런 문제가 일어난 걸까요? 스마트 계약을 통해 유동성 공급 문제를 해결할 방법이 있을까요? 이번 글에서는 이런 문제들을 다뤄보도록 하겠습니다.

 

자산의 거래를 가능하게 만드는 유동성

 

유동성의 의미

유동성(Liquidity)은 자산을 현금으로 전환할 수 있는 정도를 나타냅니다. 예를 들어, 마크 로스코의 추상화 ‘오렌지, 레드, 옐로우’라는 작품은 8690만 달러에 판매됐습니다.

 

 마크 로스코의 추상화 '오렌지, 레드, 옐로우'

마크 로스코의 추상화 ‘오렌지, 레드, 옐로우’

 

수중에 가진 모든 돈을 다 써버린 순간 우연히 이 작품을 주웠다고 가정해 봅시다. 지금 당장 배가 고파 죽겠지만, 이 그림으로 할 수 있는 것은 거의 없습니다. 추상화 수집을 취미로 하는 식당 주인을 찾지 않는 이상, 이 작품을 맛있는 밥 한 끼로 바꾸는 것은 불가능할 것입니다. 이 그림을 제대로 팔려면, 진품임을 확인하기 위해 감별사들에게 가져가야 하고 물건을 사겠다는 사람이 나타날 때까지 경매장에서 하염없이 기다리고 있어야 합니다. 이 작품은 8690만 달러 가치를 지닌 자산이지만, 유동성이 굉장히 낮은 자산의 예시입니다.

반대로 같은 상황에서 삼성전자 주식을 양도받았다면 어떨까요? 핸드폰 애플리케이션으로 주식을 팔아서 돈으로 바꾸고 그 돈으로 음식을 살 수 있습니다. 삼성전자 주식은 일 거래 대금이 약 4800억원으로 구매자가 굉장히 많은 자산이기 때문입니다. 즉, 유동성이 풍부한 자산이라고 할 수 있습니다.

유동성은 기본적으로 현금으로 전환할 수 있는 정도를 의미하지만, 해당 자산을 자신이 생각하는 가치로 팔 수 있는지를 의미하기도 합니다. 예를 들어, 위의 8690만 달러짜리 그림을 10달러에 팔려 한다면 구매자를 기다릴 필요는 거의 없을 것입니다. 다만 판매자는 엄청난 손해를 보겠죠.

거래대금이 적은 주식에서도 이같은 상황이 빈번하게 일어납니다. 일 평균 거래대금이 100만원인 주식을 1000만원어치 판매하고 싶다면, 가격을 급격하게 내려 가면서 매도하는 수밖에 없습니다. 이렇듯 자신이 원하는 가격에 매매하지 못해 발생하는 손해를 ‘슬리피지(Slippage)’라고 합니다. 이런 이유로 주로 대형 기관들은 유동성이 낮은 주식들에 투자하지 않으며 해당 주식들은 가격 변동 폭이 큰 경향을 보입니다.

 

시가총액 100억원 미만, 일 평균 거래대금 1억원 미만인 주식의 일봉 차트. 유동성이 모자라 가격변동 폭이 큰 것을 확인할 수 있다. 이런 자산에 대규모의 주문을 넣을경우 커다란 슬리피지를 감당해야 한다.

시가총액 100억원 미만, 일 평균 거래대금 1억원 미만인 주식의 일봉 차트. 유동성이 모자라 가격변동 폭이 큰 것을 확인할 수 있다. 이런 자산에 대규모의 주문을 넣을경우 커다란 슬리피지를 감당해야 한다.

 

유동성이 낮은 자산에는 쉽게 투자할 수 없습니다. 자산을 원하는 가격에 구매하기 힘들고 또 구매하더라도 해당 자산을 적정가에 다시 판매할 수 있을지를 확신할 수 없기 때문입니다.

 

암호화폐 시장에서 유동성이 가지는 의미

위에서 이야기한 것처럼 유동성이 부족한 자산은 거래하는데 비용(시간, 슬리피지)이 많이 발생합니다. 토큰은 활발하게 거래될 때 네트워크 효과를 일으킬 수 있습니다. 토큰으로 연결된 인센티브를 아무리 정교하게 설계한다고 해도 정작 그 토큰을 거래하는데 들어가는 비용이 너무 크다면 그 네트워크가 지속가능한 생태계가 아니라는 것은 쉽게 알 수 있습니다.

 

스마트 계약을 통한 유동성 공급: 본딩커브와 본딩마켓

 

유동성 공급을 하는 방법은 여러가지가 있습니다. 사람들에게 특정 자산을 열심히 홍보해 거래가 많이 일어나도록 할 수도 있고, 따로 ‘유동성 공급자’라는 주체를 고용할 수도 있습니다. 한편으로는 스마트 계약을 이용해 자동화된 유동성 공급을 할 수도 있습니다. 이 글에서는 스마트 계약을 이용한 자동화된 유동성 공급에 대해 이야기하겠습니다.

블록체인상에서 토큰을 사용함에 따라 얻을 수 있는 강력한 이점 중 하나는 경제 시스템에 프로그램 가능한 화폐(Programmable Money)를 이용할 수 있다는 점입니다. 프로그램 가능한 화폐이기 때문에 스마트 계약을 이용해 스마트 계약이 유동성 공급자의 역할을 하도록 만들 수 있습니다. 계약이 유동성을 공급하기 때문에 다른 주체가 끼어드는 방식에 비해 비용이 적게 든다는 강력한 강점이 있습니다.

물론 기존 펀드가 제공하던 유동성 공급 수단을 완전히 대체하지는 못합니다. 하지만 스마트 계약 유동성 공급자를 통해서는 토큰을 사고자 할 때 토큰을 살 수 있고 팔고자 할 때 팔 수 있습니다. 슬리피지는 상황에 따라 클 수도 적을 수도 있습니다. 다만, 유동성 공급자가 없는 경우보다 확실히 더 나은 거래 환경을 제공해줄 수 있습니다.

그럼 어떤 방법으로 스마트 계약이 유동성 공급자의 역할을 할 수 있을까요? 프로그램 가능한 화폐라는 특성과 경제학적 인사이트를 섞어 ‘본딩커브(Bonding Curve)’와 ‘본딩마켓(Bonding Market)’이란은 개념이 등장하게 되었습니다.

 

본딩커브

스마트 계약을 통한 유동성 공급의 대표적인 방법으로는 본딩커브가 있습니다. 본딩커브는 이름 그대로, 토큰을 예치(bonding)하고 곡선(curve)에 따라 새로운 토큰을 지급받는 것입니다. (사실 예차라기 보다는 토큰을 지불하고 새로운 토큰을 구매하는 행위에 가깝습니다. 하지만 업계에서 쓰이는 용어가 ‘본딩’이기에 본 글에서 예치라는 표현을 사용하겠습니다.)

본딩커브는 토큰의 가격이 함수 곡선에 의해서 결정되는 구조를 갖고 있습니다. ‘뱅코 프로토콜(Bancor Protocol)’이 이런 방식을 이용해 탈중앙화 거래소, 일명 덱스(Dex·Decentralized Exchange)를 운영하고 있습니다. 뱅코 프로토콜에 대한 구체적인 내용은 뒤의 활용 부분에서 더 구체적으로 다루고, 먼저 본딩커브에 대해 보다 자세히 알아보겠습니다.

설명을 위해 토큰-A와 교환되는 토큰-B가 있다고 가정해보겠습니다.

토큰-B를 구매하고자 하는 사람은 토큰-A를 스마트 계약에 예치함으로써 토큰-B를 받게 됩니다. 이때 예치된 토큰-A의 개수 대비 받게 되는 토큰-B의 개수는 아래와 같은 곡선에 의해 결정됩니다.

마찬가지로 토큰-B를 판매하고자 하는 이들은 토큰-B를 스마트 계약에 지불하고 토큰-A를 받게 됩니다. 토큰-B의 개수 대비 돌려받는 토큰-A의 개시 역시 곡선에 의해서 결정됩니다.

 

 

위 그래프의 X축은 토큰-B의 개수를 의미하고 Y축은 토큰-A로 표시된 토큰-B의 가격을 의미합니다. 이 곡선이 의미하는 바는 ‘발행된 토큰의 수가 많을수록 토큰-A로 표시되는 토큰-B의 가격이 오른다’는 것입니다.

예를 들어, 토큰-B가 0개 유통되고 있을 경우 토큰-B 1개를 얻기 위해서는 토큰-A 10개가 필요합니다. 이후 토큰-B가 더 많이 발행돼 발행량이 100개가 됐을 때는 토큰-A 20개를 예치해야 토큰-B 1개를 얻을 수 있습니다.

매도하는 경우도 마찬가지입니다. 토큰-B가 100개 발행된 상황에서 토큰-B 1개를 매도하면 토큰-A 20개를 받을 수 있습니다. 곡선의 더 아래쪽에서는 더 저렴하게 판매되고, 위로 올라갈수록 더 비싸게 판매됩니다.

본딩커브에서는 사람끼리 매수호가/매도호가를 부르는 것이 아니라 스마트 계약에 설정된 가격에 따라 토큰을 예치해 토큰을 교환합니다. 사람 간 거래 시장이 ‘계약’이라는 자판기로 대체됐다고 생각하면 됩니다. 동전을 넣으면 음료수가 나오는 것처럼 토큰을 스마트 계약에 집어넣으면 다른 토큰이 나오는 것이죠.

때문에 팔고자 하는 사람, 사고자 하는 사람이 없어도 이 토큰은 거래될 수 있습니다. 원하는 타이밍에 토큰을 스마트 계약에 가져가면 됩니다.

그렇다면 이런 복잡한 곡선이 필요한 이유는 무엇일까요? 자판기가 필요한 것이라면, 콜라가 항상 1000원인 것처럼 그냥 고정 가격을 매겨놓으면 되지 않을까요? 그렇지 않습니다. 만약 토큰-A와 토큰-B가 고정가격으로 연결돼 있다면, 이는 사실상 다른 토큰이 아니게 됩니다. 또 각각의 토큰에 대한 수요와 공급이 만들어내는 가격 형성이 불가능하게 됩니다.

 

본딩커브의 한계

가격을 스마트 계약이 결정하기에 생겨나는 한계점이 몇 가지 존재합니다.

첫 번째로, 가격이 정확한 수요와 공급을 반영하지 못할 수 있습니다. 우리가 시장경제 체제를 채택하고 살아가는 이유는 수요와 공급의 균형이 만들어내는 가격이 사회적으로 최적의 효용을 가져오기 때문입니다. 하지만 계약에 의한 가격 결정은 직접적인 수요와 공급보다 해당 토큰의 가치를 정확하게 나타내지 못할 수 있습니다.

두 번째로, 선취매로 인한 취약점이 존재합니다. 블록체인의 모든 정보는 스마트 계약으로 전달됩니다. 본딩커브는 그 특징상 더 빨리 주문이 체결된 사람이 유리합니다. 비슷한 시기에 주문이 들어온다면, 먼저 구매한 사람이 더 싼 가격에 구매할 수 있고 마찬가지로 먼저 판매한 사람이 더 비싼 가격에 판매할 수 있습니다. 이때 계약이 처리되는 순서를 결정할 수 있는 블록 생성자들은 이를 악의적으로 이용할 수 있습니다. 자신의 주문이 먼저 처리되게 해 더 유리한 조건으로 매매를 할 수 있는 것이죠.

다른 자산 시장에서도 내부 정보를 미리 아는 이들이 선취매 하는 문제점이 존재합니다. 하지만 본딩커브는 누군가 토큰을 구매하면 자동적으로 가격이 오릅니다. 따라서 선취매에 더 취약하다고 할 수 있습니다.

 

본딩마켓

이런 한계를 극복하고자 ‘본딩마켓’이라는 개념이 등장했습니다.

예치(bonding)하는 것은 본딩커브와 같습니다. 다만 스마트 계약이 가격 결정을 하지 않습니다. 일반적인 시장처럼 사람들의 매수호가/매도호가에 의해 결정됩니다. 사람 간 매도/매수이지만 ‘의무 매도호가’ 개념을 도입해 누구나 가격을 지불할 의사만 있다면 토큰을 살 수 있게 됩니다.

위와 마찬가지로 토큰-A와 토큰-B의 예를 들어 설명하겠습니다.

본딩마켓은 고정가격 단계(Fixed Price Stage)와 가격 형성 단계(Price Finding Stage)로 나누어 집니다.

고정가격 단계에서는 토큰-A를 지불하면 고정된 비율로 토큰-B를 받을 수 있습니다. 비율이 1대 1로 설정돼 있는 경우, 토큰-A 1개를 스마트 계약에 집어넣으면 항상 토큰-B 1개를 얻을 수 있습니다. 단, 이때 토큰-A를 지불하고 토큰-B를 받은 이들은 의무적으로 매도 주문을 내야 합니다. 매도 가격은 원할 때 언제든 수정할 수 있지만 반드시 매도 주문을 내놓아야 합니다. 또 누군가가 해당 가격을 지불하고 토큰-B를 구매할 용의가 있다면 팔아야만 합니다.

 

본딩마켓의 지정가격 그래프.

본딩마켓의 지정가격 그래프

 

이때 발행될 수 있는 토큰-B의 개수는 한정돼 있습니다. 미리 정해진 개수의 토큰이 모두 발행되면 고정가격 단계는 끝나고 가격 형성 단계에 진입하게 됩니다.

가격 형성 단계는 기존 시장과 굉장히 유사합니다. 토큰-B를 구매하고자 하는 이들은 토큰-B 보유자가 시장에 내놓은 매도호가로 구매할 수 있습니다. 이렇게 토큰-B를 구매한 이들 역시 의무적으로 매도호가를 제시해야 합니다. 마찬가지로, 원할 때는 언제든지 가격을 변경할 수 있습니다.

아래 그래프의 넓이는 토큰을 팔고자 하는 이들이 제시한 가격과 양을 나타냅니다.

 

본딩마켓의 가격 형성 마켓 그래프.

본딩마켓의 가격 형성 마켓 그래프

 

토큰을 구매하기는 했으나 아무도 토큰을 사려는 사람이 없으면 어떻게 될까요? 그땐 다시 고정가격 단계의 비율로 토큰-B를 판매할 수 있습니다. 만약 누군가 고정가격 단계의 비율로 토큰을 스마트 계약을 통해 다시 판매했다면, 다음에 토큰-A를 구매하려는 이들은 고정가격 단계의 비율로 토큰-B를 얻을 수 있게 됩니다. 즉, 토큰의 가격은 고정가격 단계의 가격 밑으로 떨어질 수 없습니다. 일정량의 토큰-A가 항상 담보로 책정돼 있기 때문입니다.

 

본딩마켓의 한계

본딩마켓은 본딩커브가 가지고 있었던 비효율적인 가격의 문제와 선취매 문제를 어느 정도 완화했습니다. 거래하고 싶을 때 거래할 수 있게 하는 동시에 시장이 가격을 정하는 것이 가능해졌기 때문입니다.

하지만 본딩마켓이 갖는 한계도 있습니다. 고정가격 단계에서 토큰이 전부 발행되기 전까지는 가격 형성 단계로 넘어가지 못한다는 점입니다. 만약 고정가격 단계의 가격이 적절하게 설정돼 있지 못할 경우, 사람들은 해당 본딩마켓을 통해 토큰을 교환하려 하지 않을 것입니다. 이렇게 되면 본딩마켓을 통해 유동성 공급이 불가합니다.

 

응용사례

지금까지 스마트 계약으로 유동성 공급을 할 수 있는 방법에 대해 알아봤습니다. 마지막으로 이런 개념이 실제로 어떻게 응용될 수 있는지에 대한 이야기를 하고자 합니다.

스마트 계약

이미지=Getty Images Bank

 

본딩커브 응용사례 : DEX

뱅코(Bancor)는 본딩커브를 이용한 탈중앙화 거래소(DEX, Decentralized Exchange)입니다. 시장에서 유동성이 모자라 쉽게 거래되지 않는 토큰들 일지라도 뱅코에서 사용되는 본딩커브를 통해 거래될 수 있습니다.

뱅코에 상장된 모든 토큰의 본딩커브는 뱅코 자체 토큰인 BNT와 연결돼 있습니다. 토큰-A를 토큰-B로 바꾸고자 하는 경우 토큰-A를 먼저 BNT와의 본딩커브를 통해 BNT로 교환하고 이렇게 교환된 BNT가 다시 둘 간 본딩커브를 통해 토큰-B로 바뀌는 방식으로 토큰 간 교환이 이뤄집니다.

토큰을 처음 상장시킨 사람은 자신이 상장하고자 하는 토큰과 BNT를 함께 예치해야 합니다. 이때 예치된 BNT의 양을 유동성 깊이(Liquidity Depth)라고도 합니다. 유동성 깊이가 깊을수록 해당 토큰의 거래자들이 부담해야 하는 슬리피지는 줄어듭니다. 단순하게 이야기하자면, 상장하려는 토큰과 교환 가능한 BNT의 수가 적으면 BNT의 가격이 이에 맞춰 올라간다고 설명할 수 있습니다. 더 자세한 내용은 뱅코 홈페이지를 참고하시면 좋겠습니다.

뱅코에서 모든 토큰은 본딩커브를 통해 연결돼 있기 때문에 매수자나 매도자를 기다릴 필요가 없습니다. 거래소에 가서 교환하고자 하는 토큰의 종류와 개수를 적기만 하면 되죠.

 

 

그 뒤로는 스마트 계약이 토큰을 본딩커브에 따라 BNT로 변환하고, 이렇게 바뀐 BNT를 다른 토큰으로 바꿔 줍니다.

 

 

단, 본딩커브를 이용한 거래소이기 때문에 지정가 거래 등 방식으로 주문을 넣을 수는 없습니다. 해당 토큰의 곡선이 알려주는 가격으로만 매매할 수 있죠.

 

본딩마켓 응용사례: 큐레이션

데이터 마켓인 ‘오션 프로토콜(Ocean Protocol)’은 좋은 데이터에 대한 큐레이션을 위해 본딩마켓을 이용합니다. 오션 프로토콜은 좋은 데이터에 많은 토큰(OCN)이 예치돼 데이터를 다운로드 받는 이들이 어떤 데이터가 좋은 데이터인지를 파악할 수 있는 구조를 설계해 두었습니다.

백서에는 이를 위한 본딩커브를 이용한다는 말을 하고 있지만, 최신 블로그 포스트에는 본딩마켓의 도입을 고려하고 있다고 밝히고 있습니다. 본딩마켓이라는 개념도 오션 프로토콜에서 처음 이야기한 개념입니다.

OCN은 예치하여 좋은 데이터를 큐레이션 하는 데 사용되빈다. 오션 프로토콜에서 OCN이 많이 예치된 데이터 셋(Data Set)은 좋은 데이터라고 판단할 수 있습니다. 오션 프로토콜은 사람들이 OCN을 좋은 데이터 셋에 예치할 인센티브를 주어 OCN 예치를 통한 큐레이션을 가능하게 했습니다. 이를 위해 본딩마켓의 개념이 이용됩니다.

OCN을 데이터 셋에 예치하면 각 데이터 셋마다 Drop이라는 토큰을 받게 됩니다. Drop을 보유하고 있다면 해당 데이터 셋의 인기도에 따른 신규 토큰 생성 보상(OCN)을 받게 됩니다. 인기 있는 데이터 셋의 Drop을 많이 보유하고 있을수록 받아가는 보상의 양이 늘어납니다.

이때 Drop의 생성 및 교환은 본딩마켓 방식으로 이루어집니다. OCN을 예치하여 Drop을 얻고 본딩마켓의 방식으로 교환할 수 있습니다.

단순히 데이터별로 새로운 토큰을 발행하고 매수와 매도에 의해 토큰이 거래되게 한다면, 낮은 유동성으로 인해 토큰을 거래하기가 어려울 수 있지만, 본딩마켓을 통해 데이터별 토큰에 유동성을 공급할 수 있게 된 것입니다.

이 메커니즘이 활용될 수 있는 분야는 위 2개가 전부가 아닙니다. 이외에도 스마트 계약을 통한 유동성 공급은 여러 종류의 토큰을 사용하는 프로젝트들에서 다양한 방식으로 적용될 수 있습니다. 상상력만 충분하다면 말이죠.

 

결론

지금까지 스마트 계약을 통한 유동성 공급 방식인 본딩커브와 본딩마켓에 대한 이야기를 했습니다. 유동성 공급자를 참여시키는 등의 다양한 유동성 공급 방식이 존재하지만, 스마트 계약을 통한 자동화된 유동성 공급은 적은 비용으로 비슷한 기능을 제공해 줄 수 있습니다.

암호경제가 제대로 돌아가기 위해서는 토큰을 보유한 이들이 활동을 해야 합니다. 토큰을 보유한 이들이 활동하기 위해서는 토큰을 쉽게 거래할 수 있어야 합니다. 스마트 컨트랙트를 통한 유동성 공급 모델은 이를 위한 하나의 대안이 될 수 있을 것 같습니다.

 

<지난글 보기>

#1_ [디콘의 암호경제학 개론] 드디어 스테이블코인이 이해되기 시작했다(1)

#2_ [디콘의 암호경제학 개론] 드디어 스테이블코인이 이해되기 시작했다(2)

#3_스테이블코인의 이해_#3: 암호자산 담보 스테이블코인

#4_스테이블코인의 이해_#4: 암호자산 담보 스테이블코인

#5_스테이블코인의 이해_#5: 무담보 스테이블코인

#6_스테이블코인의 이해_#6: 무담보 스테이블코인의 장단점

#7_스테이블코인의 이해_#7: 혼합형 스테이블코인

#8_가장 효율적인 블록체인 컴퓨팅 자원 분배 방법은?

각종 제보 및 보도자료는 contact@coindeskkorea.com 으로 보내주세요.