Token Curated Registry(TCR)のメカニズムとインセンティブ設計

前回の記事で、非中央集権的システムにおける仲裁の説明において

この問題の解決方法としては、仲裁者の仲裁処理をTCR(Token Curated Registry)的に行う以下のような方法が考えられます。

ということを書きました。ただ、個人的にToken Curated Registry(以下、TCR)の概要については認識していたものの、その詳しい内容については知らなかったため、今回調べた結果をまとめてみます。


背景

ConsenSysの開発者 Mike Goldin が2017年9月に発表した Token-Curated Registries 1.0 という提案(ホワイトペーパー)をきっかけに、様々なプロジェクトでTCRを採用する動きが現れる(2017年12月には Token Curated Registries 1.1 として更新)。

TCRの目的は、あらゆるタイプのリストのキュレーションプロセスを分散化させ、経済的インセンティブにより高品質なキュレーションを実現すること。


TCRについて

TCRの基本型におけるユーザータイプは以下の3種類。

申請者 リストに掲載されることを希望

トークン保有者 リストのキュレーションに参加

閲覧者 情報を探すためにリストを利用

TCRのメカニズム

申請・チャレンジ・投票

TCRのキュレーションのフローにおいては、まず申請者がトークンをステークしてリストへの追加を申請。

申請から一定期間の間に、リストへの追加に反対するトークン保有者は挑戦者としてトークンをステークしてチャレンジ。

トークン保有者はそのチャレンジに対して、トークンをステークし投票(賛成or反対)に参加可能。

チャレンジが成功した場合

投票締め切り後、チャレンジへの賛成票が多かった場合、申請者+チャレンジ反対者のステークしたトークンを、賛成者に対しステークしたトークン量に応じて配分。

(この図では、特別配分を挑戦者に対して行い、特別配分後の残りを賛成者で配分する形にしています)

チャレンジが失敗した場合

投票締め切り後、チャレンジへの賛成票が少なかった場合、申請者が希望したデータがリストへ追加。チャレンジ賛成者のステークしたトークンを、反対者に対しステークしたトークン量に応じて配分。

(この図では、特別配分を申請者に対して行い、特別配分後の残りを反対者で配分する形にしています)

この追加されたデータに対し、再度チャレンジすることも可能。

閲覧者は、追加されたリストを閲覧可能。


TCRで使用するパラメータの例

・MIN_DEPOSIT

申請者がリストへのデータ追加申請時にステークするトークンの最小値。

・APPLY_STAGE_LEN

申請者が申請してから追加されるまでの期間。この期間中にチャレンジされなければリストに追加。

・COMMIT_PERIOD_LEN

特定のチャレンジに対し、トークン保有者が投票できる期間。


TCRのインセンティブ設計

申請者

透明性が高く高品質なキュレーションが行われたリストに追加されることで、自分のデータの価値・信頼性を高めたい。

(申請時にトークンをステークすることが必要であり敷居が高いため、スパムが少なくなり申請内容の質が向上する)

挑戦者(トークン保有者)

保有するトークンの価値を高めるため、質の高いリストを実現し、閲覧者を集め、そのリストに登録したいと思う人を増やしたい。そのために不適切なデータについてはチャレンジすることで、リストの品質をキープする。また、チャレンジすることでトークン報酬を獲得する機会を得たい。

(チャレンジ時にトークンをステークすることが必要であるため、悪意のあるチャレンジを起こしにくくなる)

投票者(トークン保有者)

トークンの価値を高めたいという思いは挑戦者と同様。投票に参加することでトークン報酬を獲得する機会を得たい。

閲覧者

質の高いリストを閲覧することができる。


TCRの優れた点とメリット

分散化されたキュレーションの実現

キュレーションプロセスを分散化することにより、非中央集権的な組織にとって、公平で透明性のある管理しやすいリストを実現。

透明性のあるキュレーションプロセス

オンチェーンのため、リストのキュレーションの履歴が明確化。

キュレーションの品質を担保する仕組み

リストの内容を継続的に審査するインセンティブを設けることで、最新で正しいリストを実現。

キュレーションプロセス参加者への報酬

ゲーム感覚で参加できる投票制度により、リストの品質向上に貢献する参加者への報酬配分を実現。


TCRの懸念点

  • トークン保有者が誠実にキュレーションをすることが前提となっているが、本当にそのように行動するか?
  • TCRで設計されているインセンティブは、高品質なリストを作るためのものではなく、トークンの価値と利益を最大化することへのインセンティブとなっている。この仕組みでリストの品質は担保されるか?
  • 投票時、参加者はチャレンジ対象について知識があったり、調査可能であれば誠実に投票できるが、そうでない場合は投票で勝ちそうな候補に投票することが合理的な行動となる(投票経過が公開されている場合)。それは問題ないか?
  • チャレンジへの投票が盛り上がるのは、明らかにそのチャレンジが間違っている場合になるのではないか?真面目で誠実なチャレンジの方が投票参加者が少なくなる性質があるのではないか?

TCRを採用したプロジェクト

adChain Registry

健全なデジタル広告のためのパブリッシャードメインのホワイトリスト。

https://publisher.adchain.com

ホワイトペーパー

adChain RegistryにおけるTCRの例 https://adtoken.com/uploads/white-paper-jp.pdf

Messari

暗号通貨に関するデータキュレーションサービス。

ユーザータイプは、応募者、消費者、キュレーター、検証者の4種類。

https://messari.io/

ホワイトペーパー

MessariのTCRフロー https://messari.github.io/tcr/whitepaper.pdf

DIRT Protocol

TCRを作成するためのプロトコル。

https://dirtprotocol.com


TCRの実装例

TCRを実装したスマートコントラクトと、そのスマートコントラクトを利用するDAppのフロントエンドの実装例。TCRの仕組みはとてもシンプルなため、スマートコントラクトのコードは理解しやすい。



最後に

分散化されたキュレーションプロセス、また経済的インセンティブによってキュレーションの継続性・品質向上を目的とするTCRの基本デザインはとてもシンプルにして適用範囲が広く、汎用性が高い。今後、非中央集権的なメディア、レビューサイトなどで採用が進み、検証・テストされることで、適用範囲の境界、最適なパラメータが判明していくことが考えらる。そして、社会(組織・グループ)の目的に応じて様々なTCRのデザインパターンが作成されていくことで、社会的選択を行うシーンにフィットしていく可能性を感じる。