Fathom - decentralized protocol for assesment -
https://gyazo.com/eee4d0f14479c4f93db1ddfc57d950d4
Consensys Projectのうちの1つ
この記事は何か
Consensysが取り組んでいるプロジェクトを業界ごとに分析
Fathomという教育 / 人材系プロジェクトから、個人の能力評価をdecentralizeにやろうとした時のインセンティブ設計等について知る
TL;DR
Consensys系 唯一の教育 / 資格 / 人材系プロジェクト Fathom
現状のFathom は
① 「個人の能力をEthereumブロックチェーンに記録する」Fathom プロトコル
②「分散型で大学の基金を作る」Playground
の二部構成
①Fathom プロトコル
「個人の能力や資格の証明をEtheremブロックチェーン上に記録して、これまで可視化されていなかった個人の細かな能力を可視化して閲覧できるグローバルなプラットフォームを作ろう」
②Playground
「分散型で学習の資金を募れるコミュニティ」
↓
その学習結果を能力の証明としてFathom プロトコルに記録していく
まだまだ開発中という印象
Developers
Consensysの
Jared Pereira
Julius Faber
Michiya Hibino
が主に開発している
Issue
はるか昔は、小さな地域社会の中で口コミによって個人のいろんな面が評価され、伝わっていた。
けれども、グローバル社会になって、口コミだけで個人がどんな能力や人間性を持っているかを判断するのがとても難しくなってきたため、現状の社会では、学歴などに見られるように、大きな機関による証明しか人を判断する軸がない。
Solution
Ethereumブロックチェーン上に、個人の評価を記録して行くことで、「世界中誰でも見れるし、改ざん耐性があるので信頼できる」という「新しい個人の評価基準」を作る
Vision
Fathomは、機関の信頼などに依存した現状の人への評価である資格と、実際の個人の能力とのギャップを縮める。
人の能力や信頼の形成という社会的なプロセスに経済的インセンティブを結びつけることで、グローバルにネットワークの参加者全員から見える、信頼できる能力の証明を作成することができる。
Fathomを通じて、人々が今よりも自由に自分の経験を形作り、他の人に伝えられるようになることで、社会がより発展していくと信じている。
① Fathom プロトコル
アーキテクチャ
Concept : 個人の技能や知識、性質を表す概念
概念の樹形図
コンセプトツリーと呼ばれる。
mewコンセプト以外の全てのコンセプトは親コンセプトを持っている。樹形図でみると、mewコンセプトがrootになっている。Rootから離れるほど、具体的なスキルになって行く。
https://gyazo.com/3bb46118743199a91fc9c888c3d77d4e
// peroyuki.icon <正確には%で表現されるので、DAGっぽい感じ
評価方法の概要
評価されたい人(申請者)「私は線形代数ができることを証明したい!線形代数コンセプトの人、評価してください!」
評価する人s(評価者s) 「評価します!」
それぞれの評価者が何らかの評価方式でテスト
評価者全員の評価結果から最終評価スコアを導出し、合格点だと承認されたら、
申請者はコンセプトのメンバーになることができる = 能力の証明
Conceptに関する用語説明
親Concept - コンセプトには親子関係がある。例えば、”数学”は”線形代数”の親コンセプトに当たる。
他のコンセプトと関係がなく、親コンセプトも無いようなものは「mewコンセプト」が親コンセプトになる。
Connection-Strength - それぞれのコンセプトは全ての親に対してどのくらい密接に関係があるかの%(0 ~ 1)を表したConnection Stregthを持っている。(全ての親で合計が1になる)
そのコンセプトに関する評価をする際に、そのコンセプトのメンバーが足らず、親コンセプトから査定者をとってくる必要がある場合は、この割合ごとに査定者をとってくる。
Expiration time - スキルや知識には時間とともに劣化したり、メンテナンスが必要なものがある。そこで、各コンセプトは有効期限を持っている。例えば、比較的頻繁に変更される法律分野の知識などは、昔の法律の知識を持っていても現在の法律に対応できるとは限らなくなる。そのため有効期限を見て、有効期限切れのコンセプトを持つ人は、その証明を失うことはないが、他人を評価する査定者になる権利は失う。
Member - そのコンセプトに所属している人を指す。そのコンセプトの査定者に認められるか、子コンセプトのメンバーであるとMemberになれる。
Weight - そのコンセプトにおける各Memberの評価点 (正の整数と日付を持つ)。この評価点が高いほど、このコンセプトに入ろうとする人の評価者として呼び出される確率が高くなる。(一度、評価を受けてWeightが付与されても、再び評価を受ければ上書きすることができる)
Owner : コンセプトに保存されるデータの制御とコンセプトの親の変更などの権限を持つEthereum アドレス
評価プロセス
評価プロセスは以下の6つのフェーズに分かれる。
ある評価申請者に対して
1. コンセプトツリーから評価者が選出される Set upフェーズ
2. 各評価者が申請者の評価点をつける Assessment フェーズ
3. 各評価者が評価終了を表明する Committing a Scoreフェーズ
4. 各評価者の評価点が開示される Steal and Revealフェーズ
5. 各評価者の点数から最終スコアを決める Determining the Outcomeフェーズ
6. 各評価者に報酬が支払われる Payout of Assessors フェーズ
1. Set up フェーズ
1-1. あるコンセプトCについて評価を得たい申請者が、以下のパラメータを指定する
アセスメントの開始と終了を希望する期間
評価者の数N(a)
公平な評価のために最低でも5人の評価者が必要
より高いスコアをつけてもらえる可能性を増やすために評価者の数を5人以上に自由に設定できる
高いスコアがあると自分がそのコンセプトCにおける評価者になれる
それぞれの評価者に支払う報酬 Cost(a)
1-2. コンセプトツリーから評価者を選出する
選出の仕方は以下の通り。
そのコンセプトのメンバーからランダムに2人が選出される。
Weightが大きい方が選ばれ、評価者プールに入れ込まれる。
もしWeightが同値だった場合は、先に選出されたメンバーが評価者プールに入れ込まれる。
つまり、Weightが大きいメンバーの方が評価者に選ばれやすいが、Weightが大きく無いメンバーも評価者になれるチャンスがあるという設計。
そのコンセプトのメンバーのうち、誰が評価者になるのか予測されるのを防ぐために、コンセプトのメンバー数の半分以上の人数を評価者にすることはできない。
数式で表すと、申請者が要求する評価者人数をN(req)、コンセプトCのメンバーの数をm(c)として
https://gyazo.com/c231040158f2f0402963542001011f4e
そのコンセプトのメンバーの数がそもそも足りない場合は、そのコンセプトの親コンセプトsからそれぞれとのconnection strengthに比例して評価者を選出してくる。
1-3. 選出された評価者が提示された額のtokenを賭けて、「評価しますよ」と意思表示する
評価者に選出された人は、(正当な評価ができないと賭け金が失われるので)自分がそのコンセプトに対して正当な評価ができるかを考えた上で、提示された額を賭け、評価することを承諾する。
評価することを承諾した評価者数が、申請者が指定した評価者の数に達すると、次のフェーズに移行
逆に十分な評価者の数が揃わないと、この評価オファー自体がキャンセルされ、それまでにデポジットを賭けた評価者には、そのデポジットが全て払い戻される。
2. Assessment フェーズ
実際に評価者が、申請者を評価するフェーズ。
Fathomにおける評価では、テストなどの決められた評価形式はなく、評価方法はそれぞれの評価者に委ねられる。
評価者は、申請者のスキルの評定を 「0 ~ 100の間」などの任意の範囲の点数で評価し、半分以上の点数が付いていれば合格と見なされる。
当然、評価の手法によって、同じ申請者を評価していても合格になる場合もあるし、不合格になる場合もある。
また、コンセプトによっても評価の手法は異なるはずなので、fathomが評価手法の基準を設けることはできず、そのコンセプトのコミュニティで申請者が合格か不合格かの合意を取る必要がある。
3. Commit Score フェーズ
評価者は評価した結果の点数を、saltとも呼ばれるsecret要素と一緒にハッシュ関数に通し、そのハッシュ値を提出することで、「評価が終了した」ことをネットワークに知らせる(Commit)。
評価者全員が評価を終了すると次のフェーズに移行
もし、評価者がアセスメントの期間以内にスコアを提出しなかった場合は、その評価者のデポジットはburnされる。
その結果として、万が一、評価者の数が足りなくなった場合は、アセスメント自体が取り消され、各評価者のデポジットは払い戻される。
4. Steal and Reveal フェーズ
評価者は、評価スコアとsaltを別々にネットワークに提出することによって、自分がつけた点数を明らかにする(Reveal)。
(こうすることで他人の点数を見てから自分の評価点を決めることはできない)
他の評価者の評価点とsaltを知っている人間は、それらをcommitされたハッシュと照合することで、その評価者のdepositの半分を盗み、残りの半分をburn した後に、その評価者をAssessment gameから排除することができる(Steal)。
mosa_siru.icon < おもろい
moonty_sal.icon < メモ: 評価点の平均値的なものに近い値を提出した評価者がインセンティブをもらえる
これによって、ネットワークで評価点がRevealされる前に、評価者同士が結託し、評価点を教え合って同じ評価点を提出することが難しくなる。
評価者がCommitした後、まだ他の評価者がCommitしていない時(Reveal前)ならば、その評価者に対してStealをすることが可能
すべての評価者がCommitしても、12時間の猶予期間が経過した後でしか、Revealはできないようになっている。
これによって「他の全員がcommitするのを待っておいて、最後にcommitすることによってすぐにrevealフェーズになるからStealされることがない」という方法で結託することも不可能になる。
もし、Revealをしない評価者がいた場合は、その評価者はdepositを失い、Assessment gameから排除される
これによって万が一、評価者の数が足りなくなった場合は、全ての参加者にdepositが返却され、アセスメント自体がスコアなしで終了する。
5. Determin Outcome フェーズ
コンセプトの評価者全員の間で合意された最終評価スコアをS finalとする
最終スコアS finalが導かれるためには、1つのスコアに51%以上が合意しなければならない。
2つのスコアの差が、事前に決められているコンセンサス距離φよりも小さい場合その2つのスコアは合意が取れているとみなす。
51%以上の評価者の提出したスコアがコンセンサス距離φの範囲内に集まっていれば、その中の平均値を最終スコアとする
集まっていなければ、アセスメント自体が無効になり、全ての評価者のDepositがburnされる
最終スコアS finalが合格点である場合は、申請者はWeight = S final * N in のWeightを付与された上で、そのコンセプトの一員として認められる。
6. Payout フェーズ
評価者への支払いは、「Depositの返却」と「申請者からの報酬」がある。
その評価者の提出した評価点が「最終スコアとして採用されたコンセンサス」に属しているかどうかによってそれらの支払額は変わります。
支払いの計算ロジックは以下の通りです。
i : 評価者i
Si : 評価者iが提出した評点S
S final : 最終スコア
φ : コンセンサス距離
とし、以下の式で 評価者 i のdistanceである dist i を導出
https://gyazo.com/23d7c6b27df2f9eab9470c68867aac93
① 評価者 i の提出したスコアと最終スコアとの距離 > コンセンサス距離ならば 1 < dist i になる。 (その参加者はコンセンサスの範囲外)
② 評価者 i の提出したスコアと最終スコアとの距離 <= コンセンサス距離 ならば dist i <= 1になる。(その評価者はコンセンサスの範囲内)
①の評価者に対する支払い
payout out j : コンセンサスの範囲外の評価者 j に対する支払い額
stake j : 評価者 j がDepositしていた額
として、以下の式で導出
https://gyazo.com/33ee93e5eedf1f6eb2778e896df66e74
自分が提出したスコアが最終スコアから離れていればいるほど、戻ってくるデポジット額が少なくなる
②の評価者に対する支払い
payout in i : コンセンサスの範囲内の評価者 i に対する支払い額
N in : コンセンサスの範囲内に入っている評価者の数
N out : コンセンサスの範囲外の評価者の数
r a : 申請者が最初に決めていた報酬額
として以下の式で算出
https://gyazo.com/00c3625d4729041cdfb646f1f8973641
コンセンサスの範囲内だった評価者は、
自分がデポジットしていた全額
コンセンサスの範囲外だった評価者がデポジットしていた額のうち、彼らに返却されなかった総額をコンセンサスの範囲内の評価者で山分け
このアセスメントに申請者が設定していた報酬額に自分の提出した評価スコアが最終スコアにどれだけ近かったかで重み付けした額
を支払いとして受け取ることができる。
つまり、評価者にとっては、自身が提出した評価点が勝利クラスタの中に属しており、その上、最終スコアに近く、敗北クラスタに多くの人が所属する場合が最も嬉しい。
(最終的に評価者に返却されなかったDepositは全てburnされる。)
支払い分配の仕組みを表した図は以下
https://gyazo.com/a6670dbc31231628a7857e1e3c03f2cb
横軸は、その評価者の提出した評価点の最終スコアとの乖離
Boundary of consensus radiusが コンセンサス距離 : φ
Security
インセンティブ構造
既存の学歴・学習歴証明書は、大学などの信頼できる機関が発行しているから意味があるが、Fathomプラットフォーム上で発行された証明書も「多くの評価者」が金銭的なリスクをテイクして作成している為、意味がある。
以下のようなセキュリティリスク対策のインセンティブ構造がある
コンセプトのメンバーが評価を承認・却下するインセンティブ
特に新しいコンセプトが作成された場合には、そのコンセプトにメンバーがいないので、親コンセプトから評価者を選出してくる必要があるが、子コンセプトのメンバーは同時に親コンセプトのメンバーにもなる為、親コンセプトから選ばれた評価者にも新しいコンセプトのメンバーを評価するインセンティブがある。
(質の悪いメンバーが増えてしまうと、そのコンセプト自体の質が下がってしまい、評価者として選ばれなくなる等、金銭的メリットを得られる機会が減るから)
評価者が誠実に評価をするためのインセンティブ
複数の評価者は、「最終スコアに自分のスコアが近いと報酬をもらえる」というシステムだけでは、結託するインセンティブができてしまう。
これを防ぐための設計として
① 最終スコアのコンセンサスの範囲外の評価者が多いほど、範囲内の評価者の取り分は多くなるため「自分だけ勝つ」インセンティブがある
② 事前に評価者同士で「評価点を何点にしたか」を共有・証明するためには、自分のsaltと評価点を相手に教えなければならないが、そうするとStealによってDepositを奪われてしまう
がある。
② Playground
大学の基金のようなものを作るコミュニティ
1. 申請者が6週間の学習・研究計画を提出
2. 評価者がその計画を審査する
現在の評価者は運営
学習・研究計画によってはここで、支援金がもらえる
(この支援金の出どころは当面は運営かスポンサー?)
Grant by 運営の申請
5人のFathom関係者のうちランダムに選ばれた3人が計画書を評価
過半数の審査員がOK出したら、Ethereumアドレスに$5000分のDAIが送られてくる
まだ誰も貰ってない
3. 学習を開始
学習経過や経験したことなどをシェア
4. 6週間終了、証明書の取得
学習期間が終了したら、Fathomプロトコルで能力を評価して、Ethereumブロックチェーン上に証明書として記録する
評価者は、同じような領域で過去に
現在の評価者は運営
まとめ
最初は運営が資金を提供したり、管理をしたりして、学習コミュニティを醸成
↓
PlaygroundとFathomプロトコルを完全に合体させて「学習支援から能力証明書発行まで」を一貫してできる分散型コミュニティを目指しているのでは
Blockchain * 教育
正直使えるところは「学歴・学習歴などの資産価値が大きいであろう経歴をpublic かつ 改ざん不可能な形で記録する」という所くらい
オンライン学習プラットフォーム ( MOOC, Udemyなど )の学習歴証明が価値を持ち始めているという状況にBlockchainへの記録を組み合わせると嬉しいのかも (教育の民主化的な文脈) (オンライン学習プラットフォーム間のコンソーシアムDBとしての価値)
既存の大学やオンライン学習プラットフォームにおける履歴を記録するならBlockcertsとかで良さそう あくまでFathom Networkは「既存機関の信用に基づいた人物評価ではなく、個人間の評価によって、新しい人を評価する基準を作りたい」という文脈のプロジェクト
勉強会メモ
最近のリストラで具体的に切られたプロジェクト、そうでないプロジェクトがきになる
Fathomはどうなんだろう
みんなの質問
peroyuki.icon < スタート時どういう能力を評価の対象としているのか?(適用範囲が見えない)
mosa_siru.icon < なんでこのプロジェクトを選んだ?エコノミー設計としておもしろいけど、現実的にはあまりおもえない。。
mosa_siru.icon < コンセプトって誰が作って、strengthはだれが評価するんだっけ
playgroundのほうで、このプロトコル自体にはまだないらしい
yamarkz.icon < issueが弱い。話の脈略は理解できるが、ユーザーは本当に困っているのだろうか。。。to ConsenSys
moonty_sal.icon < 合格したときのスコアと、コンセプトメンバーが持ってる重みって関係あるのだろうか
moonty_sal.icon ほげほげ協会みたいな中央集権的機関が管理してる資格証明の分散化かなぁ
Marianne.icon < Wantedlyのスキル評価みたいなものなのかな
peroyuki.icon < まとめると、ビジネス的にはアレだけど、インセンティブ設計周りは参考になりそうだね感