DAOにおける投票の仕組みの選択肢を知る
Snapshotや、TallyなどのDAO用のVotingシステムでは、さまざまな投票の仕組みが用意されていて、その仕組みを選択するだけで、投票の仕組みを選ぶことができます。しかしながら、このような投票の仕組みを選ぶ作業は、その仕組みがどういった特徴を持っているかどうかを知らなければ、意味がありません。投票の仕組みや方法論については、さまざまな書籍や、動画がありますが、TEDEdのWhich voting system is the best?という動画は、具体例を通じていくつかの仕組みに触れられているので入門用に最適なのではないかと思います。
動画の中でも下記のように振られていますが、全てにおいて万能な方法はないとされています。
実際に動画の中で触れられている仕組みについてみていきます。詳細は下記の動画をご覧ください。
この動画では、火星に新しい港を作る場合に、どのように決めたら、公平性が担保されるかをテーマに話が進んでいきます。火星にはすでにいくつかの街があり、人がそれぞれ住んでいると仮定されています。新しい港を作る場合、それぞれの町から近い方が、住民にとっては利便性が高いため、普通に考えると、多くの人は自分の居住地から近い港を作りたがるはずです。
PLURALITY VOTING (多数代表制)
多数代表制と言われる、1人1票の投票は最もオーソドックな投票の仕組みです。この投票方法から予想されるのは、もっとも住民の多いW地域に決定される確率が高いのではないかということでしょう。一方で、仮にWの近くに港が作られた場合、他の場所からは遠い場所に存在するため、これは果たして公平な選択方法だったのかという疑問が生じます。この結果を通じて、自分の最寄りではなかったとしても、もっと近くに作られれば良かった…と思う人が多いのではないでしょうか。だとすると、一人1つの場所に投票するような仕組みは、という広い情報を吸い上げてはいない可能性があります。
Instant runoff voting (優先順位付け投票)
こうした課題を解決するため、人々の好みを第一選択のみに限定せず、幅広く考慮する方法であるとされる優先順位付け投票というものがあります。投票する人は、投票用紙に優先される順位でロケーションに投票します。今回のテーマでは、おそらく多くの人は自身の最寄りを1位にして、2位には、自分のロケーションより2番目に近い場所に投票する可能性が近いのではないでしょうか。
この投票の集計の仕方は、少しだけ複雑に思えます。最も少ない有効票のものから順に切り捨てていき、それらの票を2番目に入れます。具体的にみていきます。
1.得票最下位のSは、切り捨てられ、Sが入れている2番目の投票先である、Eに対して票が加算されます。
2.得票最下位のNは、2番目に投票しているSは無くなってしまったので、さらにその次のEに得票が加算します。
3.同じように最下位のNの票を見ると、次の投票はEに入っているため、Eに加算することで、Eが勝利となります。
優先順位付け投票に比べると、1人1つのロケーションではなく、複数の選択肢に投票することができたため、より広い民意を吸い上げることができたと思われますが、検証していくと、もともとEの票は、優先順位付け投票においては、下から2番目であったことに加えて、
各ロケーションにおける順位自体も低いため、本当にこれが公平な選択であったのか疑問が残ります。
condorcet voting (コンドルセ方式)
コンドルセ方式とはフランスの数学者コンドルセが提供した方法であり、「選好投票」とも呼ばれていますが、複数の選択肢について、全員で、2つずつ比較していき、最終的に多く勝利した選択肢が1位となります。
今回の投票では、最も全ての位置から近いNが勝利する結果となったことで、より良い投票の仕組みであるように思われます。
しかしながら、この投票においても、デメリットは存在していて、下記のようにA->B B-C C->Aのようなケースにおいては、結論がでないことなどのデメリットがあります。
Conclusion
学級会などでクラスのリーダーを決めるときや文化祭の演目を決める時など、これまでPLURALITY VOTING (多数代表制) を用いることが多く、なんとなく、これが民意を集める最も最適な方法に思えるかもしれません。しかしながら、そうした投票の仕組みがうまくワークしていて、最終的には票を投じた人の幸福につながったかどうかについて検証を行い、投票の仕組み自体を改善するサイクルを作っていく必要があります。これまではこうしたサイクルを作るには、様々な情報が足りていなかったことや、その制度設計を変えることに大きなコストがかかったことなどがあり、十分に行えてきたとは言えませんが、DAOのvotingsystemなどの仕組みを用いることでこうした検証をよりリーンに行えるようになったことを用いて、様々な用途に活用してみると良いのではないでしょうか。
この記事が気に入ったらサポートをしてみませんか?