[whitepaper] 뱅코르( bancor) 탐구

in #bancor7 years ago

사고파는 사람이 없는 순간에도 사고팔 수 있게 하자

전에 살펴보았던 아이콘 백서에서 커뮤니티 간의 토큰 교환 시 뱅코르 프로토콜을 사용한다고 적힌 것을 확인할 수 있었다. 이에 이것이 무엇인지 궁금하여 알아보다가, 이렇게 정리를 해둔다. 뱅코르 프로토콜은 이더리움 위에 올라가는 ERC20 토큰의 교환 행위 자체를 원활히 해주는 규약이다. 조금 더 살펴보도록 하자.

뱅코르가 파악한 문제점

모름지기 교환이 성립하기 위해서는 사는 사람과 파는 사람이 있어야 한다. 이에 liquidity, 유동성이라는 개념이 나왔고 유동성이 없는 자산의 경우에는 다른 화폐나 다른 자산으로 교환하기가 힘들다. 특히나 코인 시장에서는 각 코인을 실제로 법정화폐로 바꿔주는 곳은 거래소 밖에 없고, 거래소에는 자체 검열된 암호화폐만 거래를 할 수 있다. 백서에 따르면 상위 10%의 암호화폐가 암호화폐 총 거래량의 99%를 차지하고 있다고 한다. 즉 나머지 90%의 암호화폐들은 말 그대로 소유자들이 '들고'있는 형국이다.

어떤 블록체인 프로젝트의 미래를 믿고 투자를 한 사람이라면 마이너 코인을 들고 있는 것이 문제가 되지 않을 것이다. 하지만 생각이 바뀌어 이를 다른 코인 혹은 법정화폐로 바꾸고 싶은 경우 거래소에서 이 코인을 취급해주지 않는다면 안전하게 거래를 할 방법이 묘연하다.

이에 뱅코르는 유동성이 부족한 마이너 코인들, 특히 이더리움 플랫폼 위에 만들어진 하위 블록체인 프로젝트들의 암호화폐 간 교환을 지원한다. 이더리움 블록체인 프로젝트는 블록체인을 기반으로 한 서비스를 쉽게 만들 수 있게 지원하는 플랫폼이며 이 경우 하위 블록체인의 코인의 경우 토큰이라는 말을 대신 사용한다. 이더리움과 유사한 목표를 가진 여러 블록체인 플랫폼 프로젝트들이 존재하며, 이더리움 플랫폼 위에 만들어진 토큰의 경우 특정 지어 ERC20 토큰이라는 말을 붙인다. 쉽게 말해 이더리움 위에 올라가는 블록체인 하위 프로젝트의 암호화폐이다.

뱅코르는 ERC20 토큰 간의 교환 행위를 지원한다. 즉 이더리움을 기반으로 한 토큰이라면 어떤 토큰이든 간에 유동성 걱정 없이 무엇으로든 교환할 수 있게 해주겠다는 것이다. 이를 통해 더욱 다양한 종류의 블록체인 프로젝트들이 거래되고 알려지고 투자 받을 수 있도록 한다. 한 마디로 long-tail 토큰을 위한 솔루션이다. 이는 결국 토큰 이코노미라고 칭하는, 경제 규모와 상관없이 모두가 자신의 가치를 정량화하여 경제 활동에 참여하게 되는 블록체인의 유토피아를 지향한다.

스마트 토큰

뱅코르 프로토콜의 핵심은 토큰 발행 행위에 있다. 이게 무슨 의미일까? 뱅코르가 지적한 기존 거래소의 문제점으로 돌아가 보자. 거래소의 교환은 어떤 암호화폐와 다른 암호화폐간의 실물 교환이다. 양쪽이 화폐를 들고 있어야 하고 이 화폐를 원하는 양쪽이 시공간적으로 만나야만 한다. 뱅코르는 이 문제를 해당 토큰의 즉시 발행으로 해결하였다. 암호화폐 A와 B의 교환에서, 암호화폐 A를 기반으로 뱅코르 코인을 발행시켜버린다. 교환이 아니다. 즉시 그 토큰을 만들어서 넘겨준다. 그리고 이 발행된 뱅코르 코인으로 암호화폐 B를 발행시켜버린다. 마찬가지로 교환이 아니다. 그 즉시 암호화폐 B를 발행시킨다. 한마디로 뱅코르 프로토콜은 토큰의 구매자, 판매자가 들고 있어야 하는 암호화폐를 그냥 만들어서 넘겨버린다. 토큰 소유자의 위치에 토큰을 발행할 수 있는 전자 은행을 대신 위치시킨다.

아마 추측하건대 뱅코르 기반의 거래소에서 교환 가능한 토큰 리스트에 등록하기 위해서는 뱅코르 코인을 기반으로 해당 토큰을 발행하는 코드를 작성해야 할 것이다. 이렇게 생성된 프로그래밍 코드, 즉 이더리움 상에서 스마트 컨트랙트라 불리는 장치를 통하여 구매자와 판매자들은 누군가가 소유하고 있는 토큰이 아니라 새롭게 생성되는 토큰을 직접 발행 받는다. 이렇게 하여 구매자, 판매자를 찾아야 하는 문제를 해결한다. 그리고 이렇게 자동 발행되는 토큰을 뱅코르에서는 스마트 토큰이라고 부른다.

이렇게 발행을 위해 스마트 컨트랙트에 입금되는 예치금은 마치 우리가 아는 CRR(지급준비율)을 떠올리게 한다. 은행이 돈을 빌려줄 때에 일정량의 현금 또는 그에 준하는 자산을 보유해야 하는데 CRR은 그 비율을 뜻한다. 즉 CRR이 7%이고 전체 예금이 1000억이라면 93%, 즉 930억 원은 대출로 풀 수가 있다. 마찬가지로 스마트 토큰도 CW(connector weight)라는 개념을 제시하며 입금되는 돈, connector balance와 이로 인해 발행되는 토큰의 총 가치, price(token) X smart token supply의 비율을 정의한다. connector는 어떤 한 스마트 토큰에 연결된 스마트 컨트랙트를 뜻하며 connector balance는 거기 저장된 예치금을 뜻한다. 즉 CW에 준하여 입금되는 금액에 대해 스마트 토큰 하나의 가격을 계산하고 이를 발행한다.

CW, CRR이 뜻하는 것은 발행 주체 혹은 자산의 주체가 돈을 얼마나 풀 것인가를 뜻한다. CRR의 경우 예비금이 다 떨어지면 파산, 즉 뱅크런을 당하게 되는데 스마트 토큰의 경우는 뱅크런의 위험은 없지만 예치금이 일정량 유지를 위하여 가격 조절을 시행한다.

스마트 토큰의 가격 책정

토큰을 새롭게 발행 받는 경우, 처음에 특정 가치만큼의 암호 화폐를 예치시켜야 한다. 뱅코르의 경우는 이더리움에 기반을 두어 발행된다. CW에 의하여 가격이 계산되는데 이에 대한 간단한 공식을 제시한다.

식을 바탕으로 스마트 토큰의 가격 변동에 대해 이해해보자. 만약 우리가 뱅코르(스마트 토큰)을 발행 받기 위해 이더리움을 커넥터에 입금한다고 해보자. 그렇게 되면 커넥터의 잔고는 증가할 것이고 마찬가지로 스마트 토큰의 공급량도 증가한다. 중요한 것은 CW인데 CW가 작을수록 가격은 예치금 잔고의 영향을 더 많이 받게 된다. 반대로 CW가 1일 경우(예치금 비율 100%) 가격은 변하지 않는다.

CW가 작게 설정하는 경우, 즉 예치금을 조금 두겠다는 것은 예치금 소진에 가깝다는 것이고 이에 예치금에 따라 가격을 급격하게 조정함으로써 이해관계자들의 행동을 제어하겠다는 의미가 된다. 사람들이 예치금을 마구 빼내는 상황을 가정해보면, 커넥터의 잔고, 즉 예치금이 마구 줄어들면서 가격이 쑥 떨어지게 된다. 이렇게 되면 해당 스마트 토큰의 가치가 다른 거래소 혹은 합리적 투자자들이 희망하는 가치보다 떨어지게 되고 사람들은 예치금을 넣어 다시 스마트 토큰을 구입하게 된다. 이에 다시 예치금을 확보하고 가격은 예치금의 증가로 인해 다시 증가하게 된다는 것이 수식의 의미이다.

반대로 스마트 토큰에 대한 수요가 늘어나서 예치금이 늘어나는 경우 스마트 토큰의 가격은 엄청나게 올라가게 된다. 이 경우도 마찬가지로 스마트 토큰을 예치금으로 다시 바꾸는 사람들이 생기며 가격이 조정되리라 그들은 믿는다.

CW와 스마트 토큰 발행량(예치금 증가량)에 따른 가격 그래프이다. CW가 작을수록 가격이 급격하게 변하는 것을 볼 수 있다. 이는 뱅크런의 위험, 예치금이 적어지는 경우에 대한 방편이라고 생각해볼 수 있다.

또한 너무 많은 발행량을 방지하기 위해, 즉 인플레이션을 방지하기 위해 이런 가격정책을 설정한 것으로도 볼 수 있다.

릴레이 토큰

이제 스마트 토큰 대장정의 마지막으로 가고 있다. 릴레이 토큰은 스마트 토큰과는 달리 하나의 커넥터가 아닌 두 개의 커넥터에 연결되어 있다. 예를 들어 릴레이 토큰 A-B는 토큰 A의 예치금과 토큰 B의 예치금에 동시에 연결되어 있다. 따라서 릴레이 토큰의 구매자는 릴레이 토큰을 토큰 A로 혹은 토큰 B로 자유롭게 전환해서 돌려받을 수 있다. 릴레이 토큰 A-B에 토큰 A가 100개, 토큰 B가 1000개 있다고 하자. 이 경우 토큰 A 1개로 토큰 B 10개를 얻을 수 있다. 이때 내가 토큰 A 100개로 토큰 C 100개를 발행 받았다고 해보자. 즉 토큰 A의 예치금이 100개 증가하며, 릴레이 토큰의 관점에서는 토큰 A 1개로 토큰 B 5개를 바꿀 수 있게 된다. 이 경우 다른 릴레이 토큰 소유자들은 자신들의 릴레이 토큰을 다 A로 바꿔서 판매하게 된다. 왜냐면 일시적으로 토큰 A 하나의 가격이 토큰 B 10개에서 5개로 바뀌었기 때문이다. 이 경우 토큰 A의 예치금이 어느 정도 수준까지 쭉 빠질 것이다.

결국 릴레이 토큰은 예치금 유지를 위한 또 다른 장치이다. 내가 이해한 바로는 그렇다.

총평

들어올 땐 맘대로지만 나갈 때는 아니란다.

뱅코르 네트워크에서의 토큰들의 가치는 오직 예치금의 양과 공급량에 의해서만 변한다. 어떤 토큰의 공급량이 늘어나면 가격을 올려서 예치금으로 바꾸도록 유도하고 공급량이 너무 떨어지면 가격을 내려서 예치금을 토큰으로 바꾸도록 유도한다. 릴레이 토큰 역시 마찬가지로 어떤 토큰의 가치가 오를 경우에 교환 비율에서 이득을 보게 되는 릴레이 토큰 소유자들에 의해 예치금 비율이 조정된다. 좋은 컨셉이고 신박하다.

다만 마음에 걸리는 것이 있다면 예치금이 얼마 남아있지 않게 되는 경우, 모두가 예치금으로 환원하는 경우는 가격이 너무나 똥값이 되기 때문에 뱅코르 네트워크에서 예치금으로 바꾸어서 출금할 수 없게 된다. 똥값을 받아들인다면 괜찮겠지만... 뱅코르 토큰을 들고 있을 테니 그걸 출금하면 되지 않겠냐고 할 수 있겠지만 뱅코르 네트워크에 무슨 문제가 생겨서 다들 예치금으로 바꾸는 상황인 경우에는 분명 문제가 될 소지가 있다. 물론 뱅크런 당해서 망하는 은행보다는 낫지만 말이다.

이외에 가격 정책이나 롱테일 토큰에 대한 고려는 신박하고 블록체인 사상과 맞는다고 여겨진다. ICO를 굉장히 성공적으로 한 것으로 알고 있는데 역시 다르긴 다르다는 생각을 해본다.

현시점의 비트코인, 이더리움 등 전체적인 코인 시장이 계속 악화가 되고 있는데, 뱅코르가 꽃 필 시점은 언제일지 사실 모르겠다. 그 점이 제일 마음에 걸린다.