[Token Distribution Series] 3. LBP(Liquidity Bootstrapping Pool)

Dean
Decipher Media |디사이퍼 미디어
18 min readFeb 26, 2023

토큰 분배 방법은 토큰 이코노미의 지속가능성 등을 결정하게 되는 중요한 요소입니다. 이를 연구하기 위하여 본 Token Distribution Series에서는 on/off-chain token distribution model에 관한 글을 시리즈로 연재합니다.

Authors

0xDean(Twitter @0xdeankim.eth)

Reviewed by Yohan Lim

[Token Distribution Series]

  1. Introduction
  2. IDO, Auction, Airdrop
  3. LBP(Liquidity Bootstrapping Pool)
  4. Lockdrop & LBA

[목차]

  1. 개요
  2. Balancer
  3. LBP(Liquidity Bootstrapping Pools)
  4. 소결

1. 개요

앞선 토큰 런칭 방식들은 분배, 가격 발견, 초기 유통량, 유동성, 탈중앙성 측면에서 다양한 문제를 가지고 있었습니다. 이들 각각 고유한 문제가 있지만, 가장 주된 부분은 효율적인 가격 발견과 거래 초기의 가격 안정성이라는 두 마리 토끼를 다 잡은 경우가 없다는 것을 들 수 있습니다. ICO부터 IDO, 옥션 순으로 어떤 문제점이 있었으며, 어떻게 개선되어 왔는지, 그럼에도 불구하고 효율적 가격 발견과 거래 초기의 가격 안정성 측면에서 어떤 단점이 있었는지 알아보도록 하겠습니다.

1. ICO

먼저, ICO의 경우 가장 근본적인 문제는 신뢰의 문제였습니다. 크립토의 역사에서 단지 토큰을 팔기만 하고 수익을 얻고 도망가는 일명 “러그풀”이 가장 활발했던 시기가 ICO붐이라고 할 수 있습니다. 그러나 이 문제를 차치하고도 가격 발견과 거래 초기의 가격 안정성 측면에서도 ICO는 상당히 형편없는 방법이었습니다.

먼저 가격 발견 측면에서, 팀에서 가격을 일방적으로 결정하므로 효율적 시장 가격에 도달하기 힘들었습니다. 거래 초기의 가격 안정성의 측면에서도 CEX 상장 없이는 거래 유동성을 확보하지 못한다는 점에서 토큰의 런칭부터 문제가 존재하였으며, 만약 상장이 된다고 하더라도 CEX 자체도 가격 조작 등에 취약하다는 문제가 있었습니다. 여기에 더불어 CEX는 중앙화된 거래자로 보안적 취약점가지거나 그 자체가 insolvent한 경우도 존재해 탈중앙화되고 믿을 수 있는 거래환경을 제공하지 않는다는 점도 치명적인 문제였습니다.

2. IDO

이러한 문제점을 일부 개선한 것이 IDO였습니다. IDO의 경우 팀이 AMM에 Constant product pool(고정 가격의 LP)을 조성하여 거래 유동성을 확보하여 사람들이 이를 구매할 수 있도록 만든 토큰 런칭 방법입니다. 유동성의 관점에서 별도의 상장 없이도 DEX를 이용하여 거래 유동성을 확보할 수 있다는 장점이 있으나, 여전히 효율적인 가격 발견과 거래 초기의 가격 안정성 측면에서 문제가 해결되지 않았습니다.

먼저 효율적 가격 발견의 측면에서 ICO와 마찬가지로 고정된 가격을 팀에서 결정하므로 개선된 바가 없었습니다. 거래 초기의 가격 안정성의 측면에서 ICO보다는 개선되었으나 초기 가격이 너무 높게 형성되는 경우에 일반적으로 초기 가격이 너무 낮게 형성되는 경우가 대부분이었습니다. 따라서 봇이나 다수의 토큰을 갖고 있는 고래, 혹은 초기 트레이더에 의해 pump&dump가 야기되고, 이 과정에서 손해를 보는 것은 대부분 커뮤니티를 구성하는 리테일로 이러한 결과는 건실한 프로젝트에게 부정적으로 작용했습니다. 더불어 ICO와는 달리 IDO는 팀이 토큰의 거래 유동성을 제공하기 위해서 5:5로 initial liquidity를 공급해야 하므로, 토큰의 초기 시가총액과 같은 양의 유동성이 유동성풀에 묶이게 되면서 자본 효율성이 떨어지게 되었습니다.

3. 옥션

옥션의 경우에는 가격을 투자자가 원하는 대로 제시하여 구매하는 방식이므로, 앞의 두 방식에 비해효율적인 가격 발견의 측면에서 많은 개선을 보였습니다. 단 거래 초기의 가격 안정성의 측면에서는 그렇지 않았는데, IDO처럼 유동성풀을 활용하는 방식이 아니므로 런칭 초반에 충분한 유동성을 확보하지 못해 봇에 의한 가격 조작 이슈에서 벗어날 수 없었습니다.

이와 같이 기존의 토큰 런칭 방법들은 개별적으로 다양한 장단점이 있었지만, 핵심적으로 효율적 가격 발견과 유동성 제공 초기의 가격 안정성이라는 두 문제를 동시에 해결하지 못했습니다. 그러나 2020년 3월 Balancer에서 두 가지 문제를 동시에 해결할 수 있는 **LBP(Liquidity Bootstrapping Pools)**라는 개념을 제시하게 됩니다. 그럼 LBP란 무엇인지 함께 알아볼까요?

2. Balancer

LBP에 대해 본격적으로 알아보기 전에, 먼저 AMM의 구조와 Balancer에 대해 이해하고 넘어갈 필요가 있습니다.

AMM이란 자동화된 시장조성자의 준말로서, 인센티브를 받고 호가를 채워주던 시장조성자를 없애고 임의의 유동성 제공자가 서로 다른 두 토큰 쌍을 묶어 유동성풀에 거래 유동성을 제공한 후 거래 수수료를 분배받을 수 있도록 한 것입니다. 거래가 일어나면 x*y=k라는 등식 상에서 유동성풀 안에 담긴 토큰의 양의 비율이 변화하게 되고, 이 수량비에 반비례하여 각 토큰의 가격이 결정되게 됩니다. AMM의 자세한 원리에 대해 알고 싶다면, 디사이퍼 디파이팀의 AMM에 대한 글을 참고해주세요.

https://balancer.fi/whitepaper.pdf

Balancer는 이러한 AMM의 구조를 처음으로 제안한 프로토콜들 중 하나입니다. Uniswap V2나 Sushiswap 등의 유동성풀 안에 두 가지의 토큰만 1:1의 가치로 공급할 수 있도록 만들었지만, Balancer는 유동성풀을 구성하는 각 토큰에 대해 가중치라는 개념을 도입하여 유동성풀 안에 최대 8개의 토큰을, 같은 가치만큼이 아닌 임의의 비율만큼 공급될 수 있도록 하는 프로토콜입니다.

3. LBP(Liquidity Bootstrapping Pools)

1. 기본 원리

https://www.loop.markets/liquidity-bootstrapping-pools-explained/

LBP(Liquidity Bootstrapping Pools)는 위의 그림과 같이 이러한 가중치를 시간의 경과에 따라 변동시켜 LP를 구성하는 특정 토큰의 가격이 서서히 변화하도록 만드는 토큰 런칭 방법입니다.

이해를 돕기 위해 스테이블코인인 $DAI를 이용하여 토큰 $TOKEN을 구매하는 상황을 가정해봅시다. 런칭 초반에는 $TOKEN의 적정 가격보다 매우 높은 가격으로 설정되어 있어, 고래나 봇이 적극적으로 구매할 유인이 존재하지 않습니다. 만약 가격이 충분히 낮아지기 전에 토큰이 전부 판매되지 않는다면, 시간이 경과함에 따라 이 적정 가격은 점점 낮아지게 되므로 토큰 투자자는 본인이 생각하기에 적합한 가격이 올 때까지 기다렸다가 토큰을 구매할 수 있습니다.

2. Details

위의 $TOKEN과 $DAI의 예시를 더 깊게 살펴보며 LBP의 원리에 대해 더 자세하게 알아봅시다. LBP가 이뤄지는 유동성풀의 소유자는 시작 및 종료 시점의 가중치와, 런칭 시간을 설정할 수 있습니다.

https://docs.balancer.fi/products/balancer-pools/liquidity-bootstrapping-pools-lbps

위의 예시에서 $TOKEN과 $DAI의 초기 가중치는 각각 0.8, 0.2였다가 시간이 감소함에 따라 서서히 0.2, 0.8로 선형적으로 변화합니다. 따라서 초기에 $TOKEN과 $DAI가 1:1의 비율만큼 공급되어 있었다면, $TOKEN:$DAI의 가격비는 0.8:0.2 = 4:1이므로 $TOKEN의 가격은 $4였을 것입니다.

실제로 LBP가 이뤄지는 동안 swap이 지속적으로 일어나며 유동성풀의 조성을 변화시키나, swap이 일어나지 않았다고 가정해봅시다. 이 경우 유동성풀에 공급된 두 토큰의 비율은 1:1로 유지되지만, 가중치가 초기에 0.8, 0.2였다가 제한된 시간이 지남에 따라 변화하여 각각 0.2, 0.8로 역전되었으므로 $TOKEN : $DAI의 가격은 0.2:0.8=1:4이 되며, 따라서 $TOKEN의 가격은 $0.25로 감소합니다.

따라서 스왑이 일어나지 않는다는 가정 하에, 런칭 종료 시의 가격은 런칭 시작 시보다 1/16으로 감소하게 되므로, 투자자는 본인이 원하는 가격이 올 때까지 기다렸다가 토큰을 구입할 수 있습니다. 또한 초기에 봇을 활용하여 구매하는 것의 이점이 사라지기 때문에 효과적으로 선취매를 하는 봇을 방지할 수 있습니다.

3. 장점

따라서 LBP를 활용하면, 위에서 언급한 효율적 가격 발견과 가격 안정성 모두를 달성할 수 있습니다.

투자자는 각자 토큰의 적정 가치에 대해 다른 판단을 하고 있을 것입니다. 이들은 시간이 지남에 따라 낮아지는 가격으로 인해 본인이 원하는 가격에 구매 주문을 낼 수 있고, 따라서 가장 토큰에 높은 지불의사를 가진 투자자 순으로 원하는 양만큼 토큰을 구매할 수 있습니다. 이러한 방법을 통해 지불 의사에 따른 가격 차별화가 달성되고, 팀은 시장의 지불 의사를 최대한 반영해 토큰 판매 수익을 극대화하여 가장 효율적인 평균 시장 가격으로 토큰을 판매할 수 있습니다.

또한 봇의 토큰 선취매와 이에 의해 높은 가격에 토큰을 구매하게 되는 리테일이 받는 손해도 최소화됩니다. LBP 하에서 시간 순으로 빠른 주문을 넣는 것은 토큰을 비싸게 구매하게 될 뿐입니다. 따라서 봇을 이용해 낮은 가격에 빠른 주문을 통해 토큰의 대다수를 선취매한 후 Pumping을 통해 비싼 시장가격을 형성하여 이를 리테일에 dumping하는 행위는 LBP 하에서 불가능합니다.

여기에 더불어, LBP는 자본이 부족한 팀이 토큰을 런칭하기 좋은 방식입니다. 일반적인 xy=k의 곡선을 따르는 AMM을 이용해 초기 토큰 유동성을 공급하는 IDO와 비교하여, 가중치를 유리하게 조절하는 경우 팀이 초기에 공급해야하는 유동성을 줄일 수도 있습니다. 위의 케이스의 예시를 들면 일반적으로 팀은 아직 펀딩을 받기 전이므로 $TOKEN 보다 $DAI를 조금만 유동성풀에 공급하고 싶을 수 있습니다. 초기 가중치를 0.8:0.2로 설정했으므로 만약 $TOKEN의 가격을 $1로 정하는 경우에는 유동성풀의 총 가치 중 20%만을 $DAI로 공급해도 됩니다. 만약 일반적인 xy=k의 곡선을 따르는 AMM에서 IDO를 진행했다면, 필요한 $DAI의 비중은 50%였을 것입니다.

LBP가 제공하는 다른 기능 중 하나는, 토큰 런칭 도중에 혹시나 모를 상황에 대비해 swap 기능을 on/offf할 수 있는 것입니다. 이는 시장 조작이나 예상치 못한 dumping/pumping, 취약점 공격 시도 등의 사건에 팀이 대응할 수 있도록 해줍니다.

4. 단점

하지만 LBP 역시 문제점이 존재합니다.

그 첫 번째 단점은 바로 먼저 달성되는 효율적인 시장 가격은 보기에는 합리적으로 보이나, 이면에는 팀의 수익을 극대화하고 투자자의 효용을 최소화하는 방향으로 달성된다는 점입니다. LBP를 통해 발견된 시장의 지불 의사가 최대한 반영된 토큰의 가격은, 경제학적으로 사회 전체의 후생을 극대화하는 획일화된 “효율적”인 가격은 아닙니다. LBP의 가격 발견 방법은 모든 투자자가 자신이 지불하고자 하는 가격에 토큰을 구매하고자 함으로써, 누군가에게는 비싼 가격, 누군가에게는 저렴한 가격으로 토큰을 최대한 판매할 수 있도록 만듭니다. 이는 직관적으로도 이해할 수 있지만, 투자자를 소비자, 토큰을 판매하는 팀을 판매자로 가정하여 약간의 미시 경제 모델을 통해서 확인해볼 수도 있습니다. 경제학의 기본 원리인 수요 공급의 원리와 후생 경제학을 적용하여 이를 더 자세히 알아봅시다.

단일한 시장 균형 가격에서 소비자 잉여(consumer surplus)와 생산자 잉여(producer surplus). https://www.economicshelp.org/blog/glossary/consumer-surplus/

위 그래프는 익숙하시죠? 경제학원론 교과서에서 쉽게 볼 수 있는 수요 공급 곡선입니다. 우리의 모델에서 x축은 토큰의 공급량, y축은 토큰의 가격을 나타내며, 수요 곡선은 토큰의 가격이 증가할수록 수요가 감소하고, 공급 곡선은 가격이 증가할수록 토큰의 판매를 늘리는 쪽으로 각각 진행합니다. 이 수요 곡선과 공급 곡선이 만나는 지점에서, 더 높은 지불 의사를 가진 소비자는 자신이 생각한 가격보다 저렴하게 토큰을 구매할 수 있어 소비자 잉여(Consumer Surplus)를 획득할 수 있게 되고, 공급자는 원가(여기서는 팀이 생각하는 가격)에 토큰을 판매할 수 있으므로 생산자 잉여(Producer Surplus)를 획득할 수 있게 됩니다. 이것이 각각 그래프에 색칠된 영역이 나타내는 의미입니다.

가격 차별이 일어나는 경우, 극대화되는 생산자 잉여와 감소하는 소비자 잉여, 더불어 생기는 사중손실(deadweight loss)에 대한 그래프https://chillingcompetition.com/2011/03/08/price-discrimination-and-the-brussels-conference-market/

그러나 여기에서 가격 차별(Price Discrimination)이 존재한다면 이야기가 달라지게 됩니다. 즉 투자자의 각기 다른 지불 의사를 최대한 반영해 토큰 판매 가격을 차별하여 해당 가격을 지불하도록 유도한다면, 지불 의사가 높은 투자자는 높은 가격을, 이전의 평형 가격에서는 구매하지 않았을 투자자도 낮은 가격에 토큰을 구매하게 됩니다. 따라서 공급자의 잉여는 크게 증가하게 됩니다. 그러나 투자자는 대부분 자신의 지불 의사와 동일한 가격에 토큰을 구매하였을 것이므로, 소비자 잉여는 감소하게 됩니다. 그러나 이때, 소비자 잉여가 감소하는만큼 생산자 잉여가 증가하지는 않습니다. 따라서 가격 차별이 일어나면 사회 전체의 효용은 감소합니다. 이를 사중손실(Deadweight Loss)라고 하며, 결국 가격 차별이 발생하는 경우 팀이 얻는 수익은 늘어나지만, 팀과 투자자 전체가 누릴 수 있던 효용 전체의 파이는 감소하게 됩니다.

물론 토큰 판매에 개입하는 심리적 요소와 하이프 등을 감안할 때 위의 수요공급곡선과 효용에 대한 분석은 현실을 엄밀히 반영하지는 않습니다. 실제로는 예상보다 높은 가격으로 펌핑이 된다면 FOMO로 인해 지불 의사보다 훨씬 높은 가격에 토큰을 구매하는 투자자가 생기고, 예상보다 너무 낮은 가격으로 토큰 가격이 떨어지면 토큰을 구매하기 꺼려지는 등 실제 토큰 런칭은 이성적으로 이뤄지지만은 않습니다. 그러나 이러한 모델은 LBP의 효율적인 가격 발견에 숨겨진 이면을 들여다 볼 수 있도록 합니다. LBP는 극단적인 가격 차별을 통해 토큰 판매 수익의 극대화하고 토큰 구매자가 누릴 수 있던 잉여를 최소화하는 방법입니다. 따라서 LBP를 활용하는 것은 단기적으로 팀의 수익을 극대화시킬 수는 있으나, 일반적으로 토큰 구매자는 손해를 보는 방법이라는 것을 알 수 있습니다.

단, 사중손실(Deadweight Loss)에 대해서는 LBP가 Dutch Auction에 비해 가지는 장점도 있습니다. 위의 가격 차별 그래프는 사실 시간에 따라 거의 선형적으로 가중치가 변경되는 LBP보다는 오히려 Dutch Auction 등 계단형으로 이산적인 숫자만큼 시간이 지남에 따라 가격이 감소하는 토큰 런칭 방식에 더욱 가깝습니다. 위 그래프의 사중손실(Deadweight Loss)은 가격 차별이 미처 채우지 못한 영역에서 발생하기 때문에, 오히려 LBP에서는 합리적인 투자자를 가정한다면 모두가 본인이 지불하고자 했던 가격에 토큰을 구매할 수 있으므로, 소비자 잉여도 0이지만 사중손실 또한 0이 됩니다. 그러므로 토큰 판매자와 투자자의 효용의 합을 상승시키는 관점에서, LBP는 Dutch Auction보다 발전된 런칭 방법이라고 할 수 있습니다.

위에서 살펴보았듯, LBP의 가격 발견 과정은 판매 행위에서의 모든 효용이 토큰을 판매하는 팀에게 이전하는 과정입니다. 물론 대부분의 토큰은 초기 판매 시에 가장 많은 하이프가 끼어 있다는 점을 감안할 때, LBP를 사용한다면 토큰 구매자들이 최대한의 손해를 볼 수도 있다는 것을 의미하므로 커뮤니티의 건강함을 해치게 될 수도 있습니다. 이는 거의 프리민팅을 통해 초기 커뮤니티에게 금전적 이득을 제공하여 함께 성장할 수 있는 인센티브를 얼라인하는 트렌드인 요즘의 시류와 정반대의 가치를 추구하기에 투자자에게 올바르지 않은 런칭 방식으로 여겨질 수도 있다는 점을 시사합니다.

두 번째 단점은 심리적인 요인입니다. 높은 호가부터 우하향하는 가격은 사실 부정적인 피드백의 연속입니다. 합리적으로 생각할 때는 효율적인 분배가 가능할 것 같지만, 사실 사람들의 매수 심리는 가격이 상승하는 와중에 촉진되고 하락하는 경우 가라앉게 됩니다. 이러한 이유로 LBP는 가격 하방 압력으로 작용할 수 있어, 긴 기간보다는 비교적 짧게 사용하는 편이 좋습니다.

세 번째 단점은 가스비와 Price Impact 등의 간접 비용입니다. 호가가 지속적으로 변화하기 때문에 토큰 판매 과정에서 여러 번의 거래가 일어나게 되고, 이때 가스 수수료 부담이 발생할 수 있습니다. 또 Balancer AMM의 가중치로 인해 특정 상황에서는 유동성 공급자의 고비중 토큰의 비율이 매우 높아질 수 있습니다. 이 상황에서는 Price Impact도 크게 발생하게 되어, 구매자도 보이지 않는 비용을 지불하게 됩니다.

5. 적용 사례

그럼에도 불구하고 LBP가 봇에 의한 front running과 시장 조작을 방지하고, 이를 통해 토큰 구매자들이 원하는 적정 가격을 발견할 수 있다는 이점이 뚜렷했기에 등장 당시 fair launch라고 불리며 다양한 프로젝트의 토큰 런칭에 사용되었습니다.

그 중 기억할만한 예시로는 Fjord Foundry Fair 출시 경매를 들 수 있습니다. Foundry 는 FLA(Fair Launch Auctions)를 위한 플랫폼으로, 전 세계의 프로젝트와 아이디어가 진입 장벽 없이 개인으로부터 자금을 모을 수 있도록 하는 간단한 크라우드 펀딩을 주최하는 것이 목적입니다.

해당 플랫폼을 통해 Gitcoin은 AKITA/ETH LBP를 생성하였는데, 이 유동성풀은 AKITA와 WETH로 구성되며 Gitcoin이 보유한 Akita를 천천히 커뮤니티로 이전하기 위해 만들어졌습니다. 토큰 분배 과정에서 시총과 유동성이 작은 밈코인인 AKITA는 투기적인 가격 조작의 영향을 받아 Gitcoin의 공공재적이고 호혜적인 문화를 투기로 얼룩지게 할 수도 있다는 우려가 제기되었지만, LBP를 통해 21년 12월 18일~20일 3일간 AKITA는 $0.00000156에서 $0.00000152로, 큰 가격변동을 겪지 않고 성공리에 판매되었습니다. 또한 이 과정을 통해 얻어진 ETH 중 일부는 Akita 개발 기금 및 Dog Rescue 자선 단체에게 전달되었습니다.

이외에도 Terra의 White Whale도 거버넌스 토큰인 $WHALE의 판매를 BOOTSWAP이라는 명칭으로 LBP를 사용해 진행하였습니다. 해당 토큰 판매는 당시 LUNA 스테이커에 대한 dApp 토큰들의 무분별한 에어드랍으로 인한 무한한 가격 하락과, 오직 소수에게 이익이 돌아가는 불공평한 초기 토큰 분배에 대한 불만이 가득하던 Terra 커뮤니티에게 긍정적인 피드백을 받으며 성공적으로 마무리되었습니다. 물론 토큰 판매 이후의 토큰 가격은 런칭 시의 피드백과는 무관하게 토큰의 활용도와 가치 창출이 충분치 못했던 점, 그리고 테라 생태계의 전반적인 상황으로 인해 장기간의 하락 추세를 면하지는 못했습니다.

4. 소결

위에서 살펴보았듯, LBP는 ICO, IDO등에 비해 효율적 가격 발견이 가능하며, 동시에 거래 초기 시점의 가격 안정성을 확보하고, 이에 더불어 초기 유동성을 더 적게 공급하더라도 유동성 조성에 문제가 생기지 않도록 하는 토큰 런칭 방식입니다. 그러나 여전히 토큰 구매자의 효용 감소, 매수 심리 위축, 높은 가스비와 Price Impact 등의 문제점이 존재합니다. 이러한 문제점을 개선하기 위해, Delphi Digital는 LBA(Liquidity Bootstrapping Auction)라는 토큰 런칭 방식을 제안하게 됩니다.

LBA에 대한 자세한 이야기는 다음 편에서 살펴보도록 합시다.

--

--