【解説】Augurのシェアとコンプリートセット(生成編)

Augurのマーケットで取引される「シェア」と、そのシェアの生成に深く関わる「コンプリートセット」について、私なりに理解した内容をまとめました。Augurの「シェア」とは何なのか、その理解の一助となれば幸いです。

シェアとは

シェアとは、マーケットのアウトカム毎に存在する値付けされた所有権のことで、Augurではこのシェアを売買することでそのマーケットでの賭けと払い戻しを行います。

例えば「XXXはAとBのどちらか?」というマーケットがあるとすると、このマーケットのアウトカムは A と B の2つです。このアウトカムに対応する形で「Aのシェア」と「Bのシェア」という2種類のシェアが存在することになります。

Augurでは、これらのシェアを購入することで賭けを行います。例えばこのマーケットの結果は「Aである」と予想する人は「Aのシェア」を購入し、「Bである」と予想する人は「Bのシェア」を購入することで、そのマーケットで賭けをしている状態になるわけです。

シェアは小数点以下の単位に分割可能で、その最小単位は 10,000 atto(attoは10の-18乗) です。従って、0.00000000000001刻みで取引することができます。

シェア自体もERC20に準拠したトークンであり、Augurを介さずにそのトークンを送受信することが可能です。つまり、その気になればAugurを介さずにシェアの売買や譲渡ができるということです(条件にマッチする取引相手を探すことが大変そうですが)。

シェア1個当たりの金額は範囲が定まっており、 0 ~ 1 ETH です。(補足:この金額はAugurを介して取引を行う場合の金額であり、Augurを介さずに直接取引相手と取引する場合の金額は個人の自由です。)

コンプリートセットとは

コンプリートセットとは、そのマーケットの全種類のシェアの集合のことです。「全種類のシェア」とは上記マーケットの例であれば、「Aのシェア」と「Bのシェア」を指します。

「コンプリートセット1個」とは「全種類のシェア1個ずつのセット」のことです。上記の例であれば「コンプリートセット1個」は「Aのシェア」1個と「Bのシェア」1個で構成されます。

「コンプリートセット0.7個」という表現も可能で、「全種類のシェア0.7個ずつのセット」のことです。上記の例であれば「コンプリートセット0.7個」は「シェアA」0.7個と「シェアB」0.7個で構成されます。

コンプリートセット1個の価格は 1 ETH です。コンプリートセット0.7個であればその価格は 0.7 ETH です。

シェアはどうやって生成される?

コンプリートセットの生成によってシェアが生成されます。ではどうやってコンプリートセットが生成されるかというと、マーケットで全種類のシェアの買い注文が同数集まった時に生成されます。

分かりにくいため、以下の図で説明します。
以下の図は、
・AliceはシェアAを1個、0.8ETHで買いたい。
・BobはシェアBを1個、0.2ETHで買いたい。
・マーケットはファイナライズしておらず、オーダーブックは空。
という状態から各々がシェアを入手するまでの概要図です。

順番に説明します。

Aliceはオーダー「シェアAを1個、0.8ETHで買いたい」と、0.8ETHをAugurに送信します。
Bobはオーダー「シェアBを1個、0.2ETHで買いたい」と、0.2ETHをAugurに送信します。
Augurはこれらのオーダーをマッチングします。この時、全種類のシェアの買い注文が同数集まった状態となりました。

つまり「シェアAを1個買いたい、シェアBを1個買いたい」というオーダーがAugur上に集まったのです。これにより、コンプリートセットを作成する条件が整ったため、コンプリートセットが1個作成されます。作成されたコンプリートセット1個の中身は「Aのシェア」1個と「Bのシェア」1個です。

コンプリートセット作成後、Augurはそれぞれの発注者にそのシェアを送信して取引は完了です。
なお、AliceとBobが送信した合計1.0ETHはAugur内に保存され、払い戻しで使用されます。


上記はオーダーが完全に約定するパターンですが、今度はオーダーが部分的に約定するパターンを考えてみます。

以下の図は、
・AliceはシェアAを1個、0.8ETHで買いたい。
・BobはシェアBを0.5個0.1ETHで買いたい。
・マーケットはファイナライズしておらず、オーダーブックは空。
(補足:先述の例からBobのオーダーを半分に減らした)
という状態から各々がシェアを入手するまでの概要図です。

順番に説明します。

Aliceはオーダー「シェアAを1個、0.8ETHで買いたい」と、0.8ETHをAugurに送信します。
Bobはオーダー「シェアBを0.5個、0.1ETHで買いたい」と、0.1ETHをAugurに送信します。
Augurはこれらのオーダーをマッチングします。この時、全種類のシェアの買い注文が異なる数で集まりました。

つまり「シェアAを1個買いたい、シェアBを0.5個買いたい」というオーダーがAugur上に集まったのです。Augurはこれらのオーダーをマッチングした結果、コンプリートセット0.5個を作成します。Bobがオーダーしたシェア数よりもAliceがオーダーしたシェア数の方が多いため、マッチングできる範囲、つまり0.5個分のコンプリートセットを作成します。

作成された0.5個の各シェアはAliceとBobに送信され、マッチングできなかったAliceの残オーダー「シェアAを0.5個、0.4ETHで買いたい」はオーダーブックに残り、他のオーダーとマッチングするのを待つわけです。

これがシェアが生成される仕組みです。

次回は、シェアが消滅する仕組みを解説したいと思います。