【解説】手数料期間(fee window)と次の手数料期間待ちフェーズ

手数料期間(fee window)」と「次の手数料期間待ちフェーズ(Waiting for the Next Fee Window to Begin Phase)」について解説します。

※より理解を深めていただくため、事前に「【解説】マーケットの遷移」を読んでいただくことをお勧めします。

手数料期間とは

手数料期間とは、繰り返し実行される7日間の期間のことです。

例えば、1月1日0時0分に最初の手数料期間が開始されたとすると、手数料期間は以下のように繰り返されます。

1回目:01/01 00:00 ~ 01/07 23:59
2回目:01/08 00:00 ~ 01/14 23:59
3回目:01/15 00:00 ~ 01/21 23:59

また、手数料期間と争議ラウンドの開始/終了タイミングは完全に一致しています(後述)。

次の手数料期間待ちフェーズとは

以下のいずれかが行われたマーケットは「次の手数料期間待ちフェーズ」に突入します。

  • 指名レポート
  • ファーストパブリックレポート
  • 争議ステークが争議保証金額に到達(ただしフォーク閾値は超えない)

このフェーズに突入したマーケットは、文字通り次の手数料期間が開始されるまで次のフェーズに遷移せず、待機状態となります。手数料期間は7日間なので、待機期間は0日~7日となります。

次の手数料期間待ちフェーズは何のために存在するのか?

マーケットの遷移の足並みを揃え、レポーターがマーケットの争議ラウンド突入タイミングを個別に意識する必要を無くすためです。

マーケットの終了日時はマーケット作成者が設定するため、終了日時を迎えるタイミングはマーケット毎にバラバラです。そのため、終了日時を迎えると、マーケットでは指名レポート/ファーストパブリックレポートが行われますが、このタイミングもマーケット毎にバラバラとなります。

そして、指名レポート/ファーストパブリックレポートが行われたマーケットは、例外なく一度は争議ラウンドに突入しますが、この時、各マーケットの争議ラウンドへの突入タイミングが不揃いなため、争議ラウンド終了タイミングも不揃いとなってしまいます。このままではレポーターはどのマーケットが争議ラウンドに突入/終了するか常に気にしておかなくてはなりません。

しかしこの「次の手数料期間待ちフェーズ」があると、各マーケットの争議ラウンドの開始/終了タイミングは完全に一致します

なぜならば、争議ラウンドも7日間であり、その開始日時と終了日時は手数料期間のそれと完全に一致しているためです。

このため、レポーターは各マーケットでいつ争議ラウンドが開始/終了するかを意識する必要が無くなります。つまり、手数料期間の開始/終了日時さえ記憶しておけば良く、争議ラウンドの開始/終了日時を記憶しておく必要が無いのです。

例えば「火曜日~翌週月曜日が手数料期間(=争議ラウンドの開始~終了)」とだけ憶えておき、一週間に一度だけ争議すべきマーケットが無いかを監視しておけば良いのです。

また、この「一週間に一度だけAugurのマーケットを監視する」という作業は、Augurの機能としてのフォークが行われたことに気付くきっかけにもなります。(REP保有者にフォークが発生したことに気付いてもらい、チャイルドユニバースへのREP移行作業に参加してもらうことは、移行されたREP量によってウィニングユニバースを決定する仕組みを持つAugurにとって非常に重要なことです。)

手数料期間中に何が行われるのか?

手数料期間中は、Augurによって回収された手数料・保証金がレポーティング手数料プール(reporting fee pool)に蓄えられ、手数料期間終了時にレポーティングに参加者したすべてのユーザーに対して分配されます。

レポーティング手数料プールに蓄えられる手数料・保証金とは、以下の2つです。
レポーティング手数料(reporting fee)
有効性保証金(validity bond)

※ただし、有効性保証金についてはマーケットが「無効(invalid)」にファイナライズしたものだけがプール対象です。「無効(invalid)」以外にファイナライズされた場合、有効性保証金はマーケット作成者に返還されます。有効性保証金についての詳細は過去記事「【解説】有効性保証金」をご覧ください。

レポーティングに参加したユーザーとはREPをステークした人のことであり、具体的には以下のユーザーを指します。
パーティシペーショントークン購入者
イニシャルレポーター
争議者(争議ラウンドで争議保証金としてREPをステークしたユーザー)

これらのユーザーは、手数料期間中にレポーティング手数料プールに蓄えられた手数料・保証金を、ステークしたREP量に応じて受け取ることができます。

手数料期間中に回収された手数料が貰えるタイミング

手数料期間中に回収された手数料が貰えるタイミングは、ユーザーにより異なります。

パーティシペーショントークン購入者
このユーザーは1つの手数料期間が終了する都度分配されます。(パーティシペーショントークンは手数料期間毎に再度購入する必要があります)

イニシャルレポーター、争議者
この2ユーザーはマーケットがファイナライズした時に手数料が貰えます。例えば、争議ラウンドが複数回に及ぶマーケットではファイナライズするまで時間がかかります。イニシャルレポーターであれば最初にレポートしてからファイナライズするまでの間、手数料期間が複数回経過しますが、レポートしてからファイナライズまでに経過した全ての手数料期間で回収されたレポーティング手数料・有効性保証金が貰える対象となります。

図を使って説明します。
以下の図は、あるマーケットで、イニシャルレポーター(initial reporter)、争議者(disputer)、パーティシペーショントークン購入者(participation token purchaser)が各手数料期間でREPをステークした時、どの期間の手数料をいつもらえるかを説明するための図です。

状況は以下の通りです。
・イニシャルレポーターが「Fee Window 1」でレポートしました。
・争議者が「Fee Window 2」で争議ステークを行いました。
・パーティシペーショントークン購入者が「Fee Window 3」で購入しました。
・マーケットが「Fee Window 3」終了後にファイナライズしました。

この時、各ユーザーで貰える対象となる手数料期間と、貰えるタイミングは以下の通りです。

レポーティング参加者 対象手数料期間 貰えるタイミング
イニシャルレポーター A,B,C,D,E,F ファイナライズ時
争議者 C,D,E,F ファイナライズ時
パーティシペーショントークン購入者 E,F 手数料期間終了時

イニシャルレポーターと争議者は、REPをステークするとそのREPはファイナライズするまで動かせなくなります。一方、パーティシペーショントークン購入者がREPを動かせなくなるのは1手数料期間だけです。毎週パーティシペーショントークンを購入するユーザーと比較して、REPがロックされてしまうイニシャルレポーターと争議者の手数料の収入機会が少なくならないよう設計されています。

手数料期間はいつ開始されるのか?

では、この手数料期間はいつから開始されるのでしょうか?答えは「決済手数料が発生した時」です。

※決済手数料が発生するタイミングについては過去記事「【解説】決済手数料」をご覧ください。

余談ですが、私は手数料期間の開始は「Augurのコントラクトをメインネットにデプロイした時と同時」と思っていましたが、開発チームに確認したところ

技術的には手数料が発生するまでこの手数料期間は生成されません。手数料が発生する時、つまりトレードが行われた際に動的に生成されます。

との回答でした。つまり、もしデプロイ後すぐにマーケットが作成されトレードが開始されるならばデプロイ直後に手数料期間は開始されますが、逆にデプロイ後いつまで経ってもトレードが開始されなければ、手数料期間は開始されないということです(その可能性は低いと思いますが)。

まとめ

  • 手数料期間とは、繰り返される7日間のことで争議ラウンドの開始終了と完全に一致している。
  • 手数料期間中にレポーティング手数料と有効性保証金がレポーティング手数料に蓄えられる。
  • 蓄えられた手数料・保証金はレポーティング参加者(イニシャルレポーター/争議者/パーティシペーショントークン購入者)に配布される。
  • 配布タイミングは、パーティシペーショントークン購入者であれば手数料期間終了後、それ以外の参加者はマーケットファイナライズ後である。
  • 決済手数料が発生すると、最初の手数料期間がスタートする。