AUGUR, 먹튀 없이 안전한 블록체인 예측시장

Cha Jesse
nonce research
Published in
16 min readApr 23, 2018

안녕하세요, 논스 리서치에서 토큰 이코노미를 공부하는 차이새 입니다.

‘먹튀 없이 안전한 놀이터’ 라는 말을 들어보셨나요? 주로 인터넷 도박 업체들이 자신들을 홍보할때 자주 쓰는 단골 멘트 입니다. 저에게도 이런 홍보성 문자가 종종 날아 오곤 합니다. 이런 업체들이 ‘먹튀가 없음’을 강조하는 것이 이 시장에 먹튀를 하는 업체들이 많다는 사실을 반증해 주는 것 같습니다.

이는 하나의 중앙기관이 모든 베팅 금액을 관리하기 때문에 생기는 문제라는 생각이 듭니다. 중앙화된 기관이 중간에서 베팅된 자금을 관리하는 시스탬 하에서는 이들이 자금을 가지고 도망가버릴 우려가 존재합니다. 또한 중앙기관에서 게임의 결과를 조작할 우려도 존재합니다. 이런 ‘놀이터’를 탈중앙화 시키고 사회적에 긍정적인 가치를 더하게 하는 프로젝트가 있으니… 그이름은 어거(AUGUR)입니다.

어거 프로젝트는 사람들이 미래에 일어날 사건에 대해서 베팅을 하고 수익을 가져가는 서비스를 제공하는 이더리움 기반 댑(Dapp, 분산화 어플리케이션)입니다. 블록체인 토토 라고 생각하는 분들도 계실 텐데요. 맞습니다. 미래의 사건을 두고 내기를 한다는 측면에서는 토토와 크게 다를 바가 없습니다. 다만, 많은 사람이 참여하는 예측시장이 가져다주는 사회적 효용은 토토가 가져다주는 즐거움보다 훨씬 크다고 생각합니다.

신뢰할 수 있는 예측 시장이 우리에게 어떤 효용을 줄까요? 정보가 있는 사람들은 자신들의 정보에 기반하여 베팅을 할 것입니다. 이러한 베팅의 결과는 어거 네트워크 상에서 표시될 것이고 우리는 이를 통하여 어떤 사건이 일어날지 가늠해 볼 수 있습니다.

어떤 정치인이 당선될 것인지, 자연재해가 일어날 확률이 어떻게 되는지, 내일 차가 밀릴 것인지, 어떤 기업이 리버스 ICO를 할 것인지 등에 대한 확률을 알게 되는 것이죠. 예측 시장을 활용하여 정보가 공유되며 집단지성을 통해 사건이 발생할 확률을 알아볼 수 있다는 점에서 어거의 가치가 크다고 생각합니다.

저는 2가지 측면에서 어거가 흥미로운 인센티브구조를 가지고 있다고 생각합니다.

먼저, 어거에서는 현실세계에서 일어난 사건이 블록체인 네트워크에 탈중앙화된 방식으로 보고됩니다. 이처럼 현실의 사건이 블록체인 네트워크로 넘어오게 하는 매개체를 오라클 이라고 하는데요. 중앙화된 기관이 오라클이 되어 사건을 보고한다면, 자신들의 이익을 위해서 잘못된 보고를 할 우려가 있습니다. 하지만 어거는 잘 짜여진 인센티브 구조를 통해 탈중앙화된 오라클을 가능하게 하여 시장 조작을 방지합니다.

두 번째로는, 워크토큰 모델을 사용하고 있다는 점 입니다. 워크토큰 모델은 네트워크 상에서 일을 하고 보상을 받아가기 위해 참여자가 토큰을 보유해야만 하는 구조를 말합니다. 워크토큰 모델은 네트워크에 참여하기 위해 토큰이 필요하기 때문에 네트워크의 성장과 토큰의 가치 성장이 연결된다는 특징을 가지고 있습니다. 어거는 예측시장을 조성하거나 내기의 결과를 보고 하기위해서 토큰을 예치를 해야 하는 구조를 가지고 있습니다.

흥미롭게도 예측시장 베팅 자체에는 어거의 토큰인 REP이 사용되지 않습니다. 다만, REP은 오로지 어거 네트워크 상에서 일을 하고 보상을 가져가기 위한 워크토큰으로 사용됩니다. 보상의 크기는 네트워크가 성장할 수록 더 커지기에 네트워크의 성장과 REP 가치의 성장이 잘 연결되어 있습니다.

어거는 1) 시장의 형성, 2) 베팅, 3) 사건 보고 및 종결의 절차로 운영이 됩니다. 또한 Fee Window, Reporting Fee Pool, Fork 등의 특징적인 구조가 어거 네트워크가 원활하게 작동되는 것을 돕습니다.

뒤 이어 어거가 어떤 식으로 작동이 되는지 더 자세하게 설명을 드리겠습니다.

1. 시장형성

먼저 시장 형성입니다.

누구나 예측 시장을 만드는 Creator가 될 수 있습니다. 예치할 ETH와 REP만 충분하다면 말이죠. 시장을 만들 때는 1) Validity Bond과 2) No Show Bond 두 가지 종류의 예치금을 걸어야 합니다.

Validity Bond가 있기 때문에 Creator는 시장을 신중하게 조성해야 합니다. 예를 들어서 A 혹은 B라는 결과에 대한 시장을 조성했을 때 실제로는 C가 나온다면 리포터는 시장이 Invalid 하다는 보고를 하고 이 시장은 무효가 됩니다. 이렇게 무효가 된 시장의 Validity Bond는 리워드 풀에 들어가게 됩니다. 이러한 위험이 있기 때문에 Creator는 시장을 만들 때 신중하게 만들게 됩니다. 시장이 무효화 되지 않는다면 Validity Bond는 Creator에게 다시돌아갑니다.

No Show Bond는 지정된 리포터가 보고를 하지 않는 것을 방지하기 위함입니다. Creator가 마켓을 만들 때는 한 명의 리포터를 지정해야 합니다. 이 리포터는 자기 자신이 될 수도 있고 다른 사람을 지정할 수도 있습니다. No Show Bond는 이렇게 지정된 리포터가 보고를 하지 않는 경우를 방지하기 위해 거는 예치금입니다.

리포터가 제때 보고를 하지 않으면 다른 참여자가 대신 보고를 할 수 있습니다. 이때 처음으로 대신 보고를 한 참여자를 Public Reporter라 하며 이 참여자 에게 No Show Bond가 보상으로 주어집니다.

Creator는Market을 조성한 대가로 마켓에서 일어나는 거래에 대한 Fee를 가져 갈 수 있습니다 Creation fee는 Creator의 재량에 달려 있습니다. Fee가 높다면 사람들이 이 마켓에 참여할 유인이 적고 Fee가 낮으면 Creator가 가져가는 이익이 적어질 것 입니다. AUGUR측은 경쟁에 의해 Creation fee 가 낮게 유지될 것이라고 생각하고 있습니다.

2. 베팅

이렇게 마켓이 형성되고 난 뒤 마켓 참여자들은 사건이 일어날 확률을 걸고 베팅을 하게 됩니다. 이 과정을 AUGUR에서는 Trading이라합니다. 지금부터 Trading 과정을 설명해 드리도록 하겠습니다.

예를 들어 설명해 드리도록 하겠습니다. A라는 사건과 B라는 사건이 일어날 수 있는 시장이 만들어졌습니다. (A,B처럼 2가지가 아니라 여러가지 결과가 나오는 시장이 만들어 질수도 있습니다) A 사건이 일어날 것이라 믿는 사람들은 A Share를 구매할 것이고 B 사건이 일어날 것이라 믿는 사람들은 B Share를 구매하게 될 것입니다.

A와 B는 한 세트로 이루어져 있습니다. A를 믿는 사람들과 B를 믿는 사람들이 각각의 사건이 일어날 확률에 얼마의 가치를 부여하는 정도에 따라 마켓 내에서 A Share와 B Share의 가격은 달라집니다. A와 B 한 쌍은 1세트가 됩니다. 1세트의 가치는 현재 1ETH로 설정되어 있습니다. (추후 스테이블 코인을 활용하여 ETH 대신 사용할 수도 있다고 합니다)

한 개의 세트가 어떻게 만들어지는지에 대해서 설명해 드리겠습니다. X라는 사람이 A Share를 0.6 ETH에 매수 호가를 제시했습니다. 이 주문은 Order Book에 올라오게 되죠. 이제 Y라는 B를 믿는 사람이 Order Book을 봅니다. A에 0.6을 배팅한 사람이 있네요? 그럼 Y라는 사람은 0.4에 B Share를 매수하겠다는 주문을 합니다. 이제 AUGUR 시스템이 이 두 개의 주문을 연결하여 총합 1ETH의 가치를 가지는 1개의 세트를 발행하게 됩니다.

실제로 A 사건이 발생 한다면 X의 A share의 가치는 1ETH로 올라갑니다. Y의 B Share는 어떻게 될까요? B Share의 가치는 0ETH가 됩니다. 잘못된 베팅에 대해 대가를 치르는 것이죠.

이렇게 한 번 발행이 된 A Share나 B Share는 트레이더들 간에도 교환될 수 있습니다. 0.6에 A를 산 X가 0.8에 매도 호가를 제시하면 0.8에 A를 매수하고자 하는 Z가 X로부터 A Share를 양도받게 되는 것입니다.

위의 예시에서는 매수, 매도 가격이 딱딱 들어맞는 경우를 설명했는데요, 반드시 매수호가 매도호가가 딱 맞아 떨어져야 할 필요는 없습니다. 최고로 유리한 가격에 연결이 되도록 AUGUR Trading Contract가 주문을 처리할 것이기 때문입니다. 예를 들어 A에 0.3 매수호가가 존재하는 상황에서 B에 0.9 매수호가가 들어온다면 이는 A 0.3과 B 0.7의 가격으로 세트가 만들어지게 될 것입니다.

A Share와 B Share의 가격은 사건이 일어날 확률을 말해주는 지표로 활용 됩니다. A사건이 일어날 것이라고 믿는 사람들이 많다면 A Share의 가격 더 높아질 것이기 때문입니다.

3. 보고 및 종결

사건의 결과에 대한 보고가 어떤 원리로 이루어지는지 이야기해 보도록 하겠습니다.

먼저 시장 이벤트가 발생합니다. (a) 이벤트가 발생한 지 3일 이내에 지정된 리포터는 보고를 할 의무가 있습니다. 리포터는 A, B의 결과 중에서 A인지 B인지 혹은 무효인지를 보고합니다. (b)Reporter가 보고를 하지 않으면 보고는 오픈 리포팅 시기로 넘어갑니다. 오픈 리포팅 시기에는 누구나 결과를 보고할 수 있습니다. 원래 지정된 Reporter 대신 보고를 한 보상으로 Creator가 예치해 두었던 No Show Bond를 가져갈 수 있죠.

(c)그리고 다음 Fee window가 시작되기를 기다린 뒤 Dispute 라운드로 넘어갑니다. (Fee window에 대해서는 뒤에서 다루도록 하겠습니다) (d)Dispute 라운드에서는 Reporter의 보고에 대해서 반박을 할 수 있습니다. (시장 전체에서 예치된 REP의 양)*2 — (기존의 결과가 아닌 결과에 예치된 REP의 양)*3의 양보다 Dispute된 규모가 커야 Dispute는 성공합니다. Dispute가 실패하면 기존의 결과가 시장의 결과로 받아들여집니다. Dispute에 성공한 측에서는 반대편에 걸려있던 REP을 각자 예치한 양에 비례하여 가져갈 수 있습니다.

A라는 상황과 B라는 상황에 대해서 베팅하는 마켓의 예를 들어 설명해 드리도록 하겠습니다. 처음의 리포터 X가 A 사건이 발생했다는 결과에 3 REP을 예치했습니다. 그런데 실제로 B 사건이 발생했다고 주장하는 리포터 Y가 Dispute를 제기할 수 있습니다.

Dispute가 받아들여지기 위해서는 3*2–0*3=6보다 많은 양을 예치 해야 합니다. Y가 6보다 많이 예치를 해서 B 사건이 마켓의 결과가 되면 다시 여기에 Dispute를 할 수 있습니다. 리포터 X가 다시 A 사건으로 시장 결과를 가져오려면 얼마를 예치해야 할까요? 이때는 9*2–3*3=9 만큼을 결과 A에 다시 예치 해야 합니다. X가 Dispute에 성공한 이후 18*2–6*3 = 24만큼의 반대편의 예치금이 모이지 않는다면, 결과 A가 마켓의 결과로 받아들여집니다.

점점 요구되는 예치금의 양이 드러나는 것을 관찰하실 수 있으실 텐데요, (e)이렇게 양이 점점 늘어나다가 발행된 전체 REP 중 2.5% 이상이 예치되는 상황이 오게 되면 Fork Stage로 넘어갑니다. Fork Stage는 쉽게 말하면 전체 투표 기간입니다. REP을 보유하고 있는 모든 사람은 어떤 쪽의 결과가 옳은지 투표를 하게 됩니다. Fork에 대한 자세한 설명은 뒤에서 다루도록 하겠습니다.

(f)마켓의 결과가 결정되면 이제 Finalize 단계로 넘어갑니다. 마켓의 결과가 A로 판정이 났으니, A Share를 가지고 있는 사람들은 A Share를 (1ETH-수수료)로 바꿀 수 있습니다. 반면에 B Share는 아무런 가치가 없어집니다. 이렇게 하나의 예측시장이 진행되고 완성됩니다.

개괄적인 설명을 마쳤으니 읽으면서 궁금하셨을 세밀한 부분에 대해 좀더 자세히 설명을 해 보도록 하겠습니다.

Fee window

어거 전체 마켓은 1주일 단위의 Fee window를 기준으로 돌아갑니다. Fee window는 Fee와 Validity bond가 모이는 기간을 의미합니다. Fee는 마켓내부에서 한 Set의 Share가 청산될 때 발생합니다. 청산되는 경우는 두 가지가 존재하는데요, 첫째로는 시장의 결과가 나오기 전 입니다. A Share를 0.7ETH에 매도 하려는 사람과 B Share가 0.3ETH에 매도하려는 사람의 거래가 채결되어 한 개의 Set가 사라지게 되면 이때 A 매도자는 (0.7-수수료)ETH, B매도자는(0.3-수수료)ETH만큼을 받게 됩니다. 둘째로, 시장의 결과가 A로 나온 뒤에는 A매수자는 (1-수수료)ETH 만큼을 받게 됩니다. 이런 식으로 모인 Fee는 Reporting Fee Pool에 들어갑니다. Fee는 개별 시장 별로 모이는 것이 아니라 AUGUR 네트워크 내에 열린 모든 시장에서 한곳으로 수집이 됩니다.

정리하자면, 1주일 단위로 Fee Window가 열리고 각 Fee Window당 Reporting Fee Pool이 존재하는 것이죠.

이렇게 모인 Reporting Fee Pool은 어디에 쓰일까요?

Reporting Fee pool

Reporting Fee pool에는 마켓 내부 거래에서 나온 수수료와 Validity Bond가 모입니다. 이는 각 Fee Window 동안 활동에 대한 보상으로 사용되는데요, 그렇다면 활동이란 무엇일까요? 활동은 초기 Reporting을 위해 REP을 예치하는 행위, Disputing에 REP을 예치하는 행위, Participation Token을 구매하는 행위를 의미합니다. 각 행동이 어떻게 보상을 가져오는 지 설명드리도록 하겠습니다.

Fee window에 모인 Reporting fee pool은 Fee window의 마지막 날에 예치된 REP의 비중에 비례하여 배분됩니다. 예를 들어, 리포터 X가 A의 결과에 4 REP을 예치했는데, AUGUR 네트워크 전체에 예치된 양이100 REP이고 해당 Fee window에 모인 양이 100ETH 라면 리포터 X는 100ETH의 4%인 4ETH를 Fee window가 끝나는 시점에 분배받게 됩니다. 혹은, Y가 B의 결과로 Dispute 하기 위해 4 REP을 예치했더라도 4 ETH를 받게 됩니다.

이 외에도, Z는 아무런 보고 결과에 참여하지 않고 Participation 토큰을 구매할 수 있습니다. 이는 일종의 출석체크 같은 개념입니다. 보고를 하는 대신에 Participation 토큰을 구매함으로써 REP을 예치하는것과 같은 효과를 얻을 수 있습니다. Fee window가 끝나면 Participation 토큰을 구매할 때 사용된 REP은 구매자에게 다시 돌아갑니다. 위의 예에서 참여자 Z가 Participation 토큰을 4 REP 어치구매했다면 Z 역시 4ETH를 얻게 됩니다. (여기서 사용된 ETH와 REP의 양은 계산의 편의를 위해 임으로 조정한 값 입니다)

Fork

시장의 결과에 대해 연속적으로 Dispute가 걸리면 Fork 단계로 넘어가게 됩니다. Dispute를 위해 채워진 예치금이 전체 REP의 2.5%를 초과하면 Fork 가 발생하게 됩니다. Fork는 총 60일간 진행되는 전체 투표로 이해하시면 됩니다.

A와 B 사건이 존재하는 마켓을 생각해 보겠습니다. 이 마켓에 대한 결과는 3가지가 있을 수 있습니다. A, B, Invalid 이렇게 세 가지 입니다. 이러한 상황이라면 기존의 AUGUR가 Parent Universe가 되고 각각의 결과에 대한 세 가지 새로운 Child Universe가 형성됩니다. Parent Universe의 REP 보유자들은 자신의 REP을 하나의 Child Universe로 옮겨야 합니다. Fork가 발생하면 Share의 청산이 일어나지 않기 때문에 Fee가 모이지 않고 Parent Universe의 REP을 들고 있을 유인이 없게 됩니다. 따라서 REP 보유자들은 자신들에게 Fee를 주게 될 올바른 Universe에 자신의 REP을 이주시키게 됩니다. 거짓된 결과가 나오는 예측시장에서 미래 결과에 대해 베팅을 하고자 하는 참여자는 없을 것이기에 수수료도 없을 것이고 바르지 못한 Universe로 이주한 REP은 가치를 잃어버립니다. 한번 이주시킨 REP은 다시 옮겨질 수 없습니다.

REP을 반드시 60일의 Fork 기간내에 옮겨야 하는 것은 아닙니다. 어떤 Universe가 정당한 Universe로 정해졌는지를 보고 나서 옮기는 것도 가능합니다. 하지만 60일 이내의 Fork 기간에 옮긴 REP에 대해서는 5%의 보너스가 부여됩니다. 한번 REP을 이주시키면 이는 다시 무를 수 없으며 Child Universe 간 REP의 이동도 불가능합니다. Dispute가 시작되었던 시장에서 기존에 예치된 토큰은 이주할 Universe를 선택할 수 없습니다. A에 Staking 된 REP은 무조건 A가 옳은 Universe로 이주하고 B에 예치된 REP은 B가 옳은 Universe로 이동하게 됩니다. 최종적으로 가장 많은 REP이 이동한 Universe만이 살아남게 됩니다.

결론

지금까지 크게 어거의 시스템이 돌아가는 구조에 관해서 설명해드렸습니다. 어거의 아름다운 점은 인센티브를 부여함으로써 중앙기관 없이 실제 세상의 결과에 대해 내기를 가능하게 했다는 점이라고 생각합니다.

물론 어거역시 51% 공격에 취약합니다. 시장에서 어떤 결과가 옳은 결과로 받아들여지는 가는 누가 더 많이 REP을 예치했는가에 의해서 결정됩니다. 실제로 시장이 옳고 그른 것과 상관없이 REP을 많이 보유하고 있는 사람에 의해 좌지 우지 될 우려가 존재하는 것이죠.

어거의 토큰인 REP의 현재(18년 4월 21일) 시가총액은 4억 5천만 달러에 이릅니다. 단순히 생각해 보았을 때 51%의 REP을 보유하여 시장을 완전히 마음대로 조작하려면 2억 2천5백만 달러 정도가 필요합니다. REP의 가격이 비쌀수록 네트워크의 보안도 더 높아지겠죠. 백서를 참고해 보시면 공격에 들어가는 비용에 대한 상세한 수학적 설명이 있으니 흥미가 있으신 분들은 참고해 보시면 좋을 것 같습니다.

이제까지 어거의 기본적인 시장 구조에 대해서 알아보았습니다. 어거 역시 완전한 인센티브를 가지고 있는 토큰은 아닙니다. 그러나 현실에서 일어난 일을 어떻게 블록체인 생태계에 전달할 수 있을 것인가를 많이 고민한 프로젝트라고 평가합니다.

요즘 ICO를 하는 팀들을 만나다 보면, 기술과 아이디어는 정말 뛰어나지만 토큰 인센티브 구조 설계에서 아쉬운 부분이 보이는 경우가 많습니다. 어거의 탈중앙화 오라클과 워크토큰 모델이 인센티브 구조 설계에 좋은 참고 사례가 되기를 바랍니다.

다음번 포스팅에서는 어거 시스템의 한계점에 대해서 좀 더 다루어 보도록 하겠습니다.

글이 마음에 드셨다면 박수와 댓글, 공유를 통해 더 많은 사람들이 글을 볼 수 있도록 도와주시면 정말 감사하겠습니다^^

이미지 출처: AUGUR White Paper, https://www.flaticon.com

--

--

Cha Jesse
nonce research

@Decon, Cryptoeconomics Researcher, Reader, Thinker, Writer