【解説】指名レポーター(designated reporter)と指名レポーターステーク(designated reporter stake)


Augurの「指名レポーター」と、その指名レポーターがレポート時にステークするREP「指名レポーターステーク」について解説します。

指名レポーターとは

指名レポーターとは、指名レポーティングフェーズ(designated reporting)中にレポートが行えるレポーターのことです。

マーケットが設定された終了日時(end time)を迎えると、3日間の指名レポーティングフェーズに突入します。このフェーズ中は指名レポーターのみがレポートを行うことができますが、指名レポーター以外はレポートできません。つまり、指名レポーターはマーケットに対して一番最初にレポートする権利を有していると言えます。

指名レポーターとマーケット作成者の関係

マーケット作成者がマーケット作成時に指名レポーターを設定します。

マーケット作成者は作成時に不参REP保証金(REP払い)と不参gas保証金(ETH払い)を支払いますが、もし指名レポータがこの3日間内にレポートを行えば、これらの保証金はマーケット作成者に返却されます。

しかし、指名レポーターがレポートを行わなければ、最初にそのマーケットのレポートを行ったユーザー、つまりイニシャルレポーター(initial reporter)のレポート費用として使用されてしまいます。具体的には、不参REP保証金はイニシャルレポーターのステーク用REPとして使用され、不参gas保証金はそのステーク時にかかるgas費用として使用されるのです。

従って、保証金を失いたくないマーケット作成者は確実にレポートしてくれる指名レポーターを設定しようとします。一般的に、期間内に確実にレポートしてくれる可能性が高いのは、マーケット作成者自身です。つまり、指名レポーターはマーケット作成者と同一人物が設定される可能性が高いと言えます。

実際のマーケット作成時での指名レポーター設定画面です。”Myself”を選択すれば作成者自身を指名レポーターに設定することができます。

指名レポーターステークの金額はどのように決まるか

指名レポーターステークとは、指名レポーターがレポートするためにステークするREPのことです。

このステーク金額はAugurにより動的に設定されるため、レポーター自身が任意の額のREPをステークすることができません。

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

指名レポーターステーク額は、直前の手数料期間中に誤った指名レポートの割合に応じて増減します。(「誤った指名レポート」とは、ファイナルアウトカムとは異なるアウトカムにステークした指名レポートのことです)

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

誤った指名レポートの割合 指名レポーターステーク額
1%より多い 増加する
1%より少ない 減少する
1%ちょうど 変化無し

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

※以下の計算式は過去記事【解説】有効性保証金(validity bond)とほぼ同様です。ご存知の方は読み飛ばしてください

まず、
δ:直前の手数料期間における誤った指名レポートの割合
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 \{ 0.35, b_δ f(\delta) \} $$
※max{x,y}とは、xとyのいずれかの大きい方の値、と言う意味です。

この式から以下のことが言えます。
・指名レポーターステークは無効マーケットの割合1%を閾値として増減する。
・δが100%(=全指名レポートが誤り)ならば、指名レポーターステーク額は2倍となる。
・δが0%(=全指名レポートが正しい)ならば、指名レポーターステーク額は1/2倍となる。


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

1回目の手数料期間終了時に、
δ:直前の手数料期間で誤った指名レポートの割合 = 10 % = 0.1
bδ:直前の手数料期間における指名レポートステーク額 = 0.35 REP
だったとします。
δ > 1/100 であるため、関数 f は以下となります。
$$f(0.1) = \frac{100}{99} * 0.1 + \frac{98}{99} \simeq 1.0909$$

さらに
$$b_δ * f(0.1) = 0.35 * 1.0909 \simeq 0.3818$$
であるため、
$$\max \{ 0.35, 0.3818 \} $$
となり、これを求めると指名レポートステーク額は 0.3818 REP となります。(誤った指名レポートが1%を超過しているためステーク額が増加しました)


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

bδ = 0.3818 REP であったため、
$$b_δ * f(0.2) = 0.3818 * 1.1919 \simeq 0.4551$$
となり、
$$\max \{ 0.35, 0.4551 \} $$
これを求めると、指名レポートステーク額は 0.4551 REP となります。(誤った指名レポートが1%を超過しているためステーク額が増加しました)


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

bν = 0.4551 REP であったため、
$$b_δ * f(0.007) = 0.4551 * 0.85 \simeq 0.3868$$
となり、
$$\max \{ 0.35, 0.3868 \} $$
これを求めると、指名レポートステーク額は 0.3868 REP となります。(誤った指名レポートが1%より少ないためステーク額が減少しました)

指名レポーターと指名レポートステークのまとめ

・指名レポーターは指名レポーティングフェーズでのみレポートできる。
・指名レポートはマーケットで一番最初に行われる可能性のあるレポートである。
・指名レポーターはマーケット作成者により設定される。
・指名レポーターがレポートを行うと、マーケット作成者に不参REP保証金と不参gas保証金が返却される。
・指名レポーターがレポートを行わないと、マーケット作成者は不参REP保証金と不参gas保証金を失う。
・指名レポーターにはマーケット作成者自身が設定される可能性が高い。
・指名レポーターステーク額はローンチ時は0.35REPだが、それ以降は手数料期間毎にAugurにより再設定される。
・設定額は誤った指名レポートの割合に依存する。
・誤った指名レポートが1%超ならば増額する。
・誤った指名レポートが1%未満ならば減額する。