【解説】有効性保証金(validity bond)


Augurでは、マーケット作成者は以下の2つの保証金を支払わなくてはなりません。

・有効性保証金(validity bond)
・不参保証金(no-show bond)

今回はこの中の一つ「有効性保証金」について解説します。

有効性保証金とは

マーケット作成者がマーケット作成時に支払う保証金で、ETHで支払われます。

作成したマーケットが「無効(invalid)」以外にファイナライズすれば作成者に返却されますが、「無効」にファイナライズするとAugurに没収されてしまいます

「無効」にファイナライズするとこの保証金を失うため、マーケット作成者は「できるだけ無効にファイナライズしないマーケットを作成しよう」という動機付けが行われます。つまり、有効性保証金はマーケット作成者に質の高いマーケットを作成させるための、重要な保証金です。

没収された有効性保証金の行方

没収された有効性保証金は、手数料期間(fee window)毎に回収され、REPをステークしたユーザーへ分配されます。

具体的説明します。
ある手数料期間内で「無効」にファイナライズされたマーケットの有効性保証金は、Augur内にある「レポーティング手数料プール(Reporting Fee Pool)」という、回収した各手数料・保証金を貯蔵しておく容器のようなものに蓄えられます。そしてその手数料期間が終了すると(=7日経過すると)その手数料期間中にREPをステークしたユーザーに対して、ステークしたREP量に応じて、蓄えられたお金をAugurが分配するのです。

手数料期間とは連続する7日間の繰り返しに過ぎないため、この分配が終了するとまた次の手数料期間が開始されて同じこと(=保証金・手数料の回収と分配)が繰り返されます。

有効性保証金の金額はどのようにして決まるか

ローンチ直後は、0.01 ETHが設定されていますが、その後、Augurによって手数料期間が終了する都度更新されます(つまり7日毎に更新されます)。ただし下限値は 0.01 ETH が設定されており、この値を下回る金額に設定されることはありません。

直前の手数料期間中に「無効」でファイナライズしたマーケットの割合に応じ、有効性保証金額は増減します。

増減は1%を閾値として以下の通りです。

無効マーケットの割合 有効性保証金額
1%より多い 増加する
1%より少ない 減少する
1%ちょうど 変化無し

では、具体的にどの程度増加/減少するのでしょうか。具体的に数式を用いて説明します。

まず、
ν:直前の手数料期間で「無効」にファイナライズしたマーケットの割合
bν:直前の手数料期間における有効性保証金額
とします。

そして、調整するための関数 f を以下とします。
$$f(x) = \begin{cases} x > \frac{1}{100} & \text{の時、 } \frac{100}{99} x + \frac{98}{99} \\ x \leq \frac{1}{100} & \text{の時、 }50x + \frac{1}{2}\end{cases}$$
Augurのホワイトペーパーでは、これらの変数と関数を用いて、ある手数料期間の有効性保証金額を以下のように定めています。
$$\max \{ \frac{1}{100}, b_v f(\nu) \} $$
※max{x,y}とは、xとyのいずれかの大きい方の値、と言う意味です。

この式から以下のことが言えます。
・有効性保証金は無効マーケットの割合1%を閾値として増減する。
・νが100%(=全マーケットが無効)ならば、有効性保証金は2倍となる。
・νが0%(=無効マーケットが無い)ならば、有効性保証金は1/2倍となる。


実際に式に値を代入して考えてみましょう。

1回目の手数料期間終了時に、
ν:直前の手数料期間で「無効」にファイナライズしたマーケットの割合 = 10 % = 0.1
bν:直前の手数料期間における有効性保証金額 = 0.01 ETH
だったとします。
ν > 1/100 であるため、関数 f は以下となります。
$$f(0.1) = \frac{100}{99} * 0.1 + \frac{98}{99} \simeq 1.0909$$

さらに
$$b_v * f(0.1) = 0.01 * 1.0909 \simeq 0.0109$$
であるため、
$$\max \{ \frac{1}{100}, 0.0109 \} $$
となり、これを求めると有効性保証金は 0.0109 ETH となります。
(無効マーケットが1%を超過しているため保証金額が増加しました)


さらに2回目の手数料期間が終了し、
ν = 20 % = 0.2
だったとすると、関数 f は以下となります。
$$f(0.2) = \frac{100}{99} * 0.2 + \frac{98}{99} \simeq 1.1919 $$

bν = 0.0109 ETH であったため、
$$b_v * f(0.2) = 0.0109 * 1.1919 \simeq 0.0130$$
となり、
$$\max \{ \frac{1}{100}, 0.0130 \} $$
これを求めると、有効性保証金は 0.0130 ETH となります。
(無効マーケットが1%を超過しているため保証金額が増加しました)


さらに3回目の手数料期間が終了し、
ν = 0.7 % = 0.007
だったとすると、ν ≤ 1/100 であるため、関数 f は以下となります。
$$f(0.007) = 50 * 0.007 + \frac{1}{2} = 0.85$$

bν = 0.0130 ETH であったため、
$$b_v * f(0.007) = 0.0130 * 0.85 \simeq 0.0111$$
となり、
$$\max \{ \frac{1}{100}, 0.0111 \} $$
これを求めると、有効性保証金は 0.0111 ETH となります。
(無効マーケットが1%より少ないため保証金額が減少しました)

有効性保証金のまとめ

・マーケット作成者が作成時にETHで支払う。
・作成者に質の高いマーケットを作成させる動機付けとなる。
・マーケットが無効にファイナライズすると没収される。
・マーケットが無効以外にファイナライズすると戻ってくる。
・金額はローンチ時は0.01ETHだが、それ以降は手数料期間毎にAugurにより再設定される。
・設定額は無効にファイナライズしたマーケットの割合に依存する。
・無効にファイナライズしたマーケットが全体の1%超ならば増額する。
・無効にファイナライズしたマーケットが全体の1%未満ならば減額する。