対話Dora発起人:より公平な二次方寄付プラットフォームをどのように構築するか?
出典:律動研究院
大規模な組織のガバナンスと資金の公平な分配は、常に人々を悩ませているテーマです。そして、しばしば巨額の財庫を持つ暗号コミュニティにおいて、資金分配の公正さをどう確保するかが特に重要です。では、暗号コミュニティはどのようにオフチェーンガバナンスにおける共謀問題を防ぎ、従来の二次方寄付にはどのような欠点があるのでしょうか?
律動 BlockBeatsは、今年のETHDenver 2022に二次方投票システムを提供したDoraHacksの創設者、張剣南にインタビューを行い、彼のガバナンス問題に対する最新の理解と、今回のETHDenverの新しい二次方投票システムの最新の解釈を聞きました。
公共領域のガバナンスの難題
律動 BlockBeats:多くの読者が関連する概念にまだあまり慣れていないかもしれないので、今日の本題に入る前に、いくつかの基本的な概念から話を始めましょう。最初の質問は、どのようにしてガバナンス問題に関心を持つようになったのか、また現在の従来のガバナンス投票メカニズムにはどのような不足があるのかということです。
張剣南:現実世界のガバナンスです。多くの場合、ガバナンスが失敗しているのを見ると、非常に強い感情を抱きます。なぜなら、ガバナンスの失敗はしばしば生産性の低下を引き起こし、人類の進歩を妨げるからです。
例えば、いくつかの発展した民主的なガバナンス国家においても、選挙の過程で人々はしばしば投票用紙の真実性と透明性を疑います。例えば、投票用紙の収集、金銭や他の利益の約束を通じて他人の投票用紙を購入し、特定の人に投票するという問題です。このような問題は「共謀」の問題です。
もう一つの問題は公地悲劇です。公共ガバナンスの領域では、すべての人に関連する事柄がある一方で、個々の人にはそれほど関係がないため、最終的には誰もその事柄に特に関心を持たなくなることがよくあります。公地悲劇の影響を最も受けるのは公共財のガバナンスと資金提供です。
これらの問題は国家ガバナンスだけでなく、地域ガバナンスや組織ガバナンスの領域でも発生します。これらの問題をある程度解決できれば、より公平で効率的な社会と組織を構築できるでしょう。
暗号通貨の分野では、ガバナンスが有効かどうかがプロジェクトが長期的に価値を実現できるかどうかを決定します。多くのインフラプロジェクトやDAOは巨額の財庫を持っています。この財庫はコミュニティガバナンスの問題に直面します。例えば、どのように調達を管理するか、または自分のエコシステムを資金提供するかです。
一方では、組織全体の価値の成長を促進する非常に効果的なことを行うことができます。他方では、より多くのコミュニティメンバーが自分のトークンの比率や貢献度に応じてガバナンスに参加し、分散型のコミュニティを形成することを望んでいます。
オンチェーンガバナンスでは、ウィッチハント攻撃が特に注意すべき問題です。なぜなら、オンチェーン環境では通常、身分を偽造しやすいからです。しかし、共謀問題と比較して、ウィッチハント攻撃を防ぐための解決策はより多くあります。例えば、ホワイトリストは常に良い解決策です。データ分析を通じて、事後にウィッチハント攻撃による影響を軽減することもできます。
オフチェーンでもオンチェーンでも、投票メカニズムには多くの技術的問題が発生します。これらの問題を二つに分けることができます。一つはウィッチハント攻撃、つまり身分を偽造する問題です。もう一つは共謀問題で、ガバナンスシステム内で小さなグループが相互に協力することです。
共謀、公地悲劇、ウィッチハント攻撃の問題は、オンチェーンと現実世界のガバナンスの両方に存在します。ある人が問題を見つけると、すぐに「ブロックチェーンガバナンスは機能しない」と言うかもしれませんが、実際にはこれらのガバナンスの問題は現実世界にも存在し、さらに深刻な場合もあります。したがって、これはブロックチェーンの問題ではなく、ガバナンス活動が普遍的に直面する問題です。逆に、ブロックチェーンはこれらの問題を解決するためのインフラと実験の場を提供してくれます。
要約すると、私たちはガバナンスプロセスで公地悲劇の問題に直面しており、ガバナンステクノロジーの観点からは、通常ウィッチハント攻撃と共謀問題を解決する必要があります。
律動 BlockBeats:私たちは、暗号業界の公共プロジェクト資金提供の分野でしばしば二次方資金提供の方法が採用されていることを知っています。したがって、まずは一般的な言葉で二次方投票と二次方資金提供について説明し、従来の意思決定メカニズムと比較してどのように異なるのかを教えていただけますか?
張剣南:Glenらが二次方投票を発明する前、ガバナンスシステムは一人一票か、またはお金で投票するものでした。社会ガバナンスシステムでは、大部分のケースが一人一票です。しかし、多くの他の場所、例えばPoSブロックチェーンや企業の株式ガバナンスでは、基本的に一ドル一票です。この二つの投票はそれぞれ適用されるシーンがあります。
一人一票の場合、最大の利点はすべての人が参加できることです。なぜなら、各人が一票しか持たないため、巨大なクジラが投票結果を完全に掌握する問題を回避できます。これは多くの社会型ガバナンスにおいて有用ですが、欠点も明らかです。もし私がある問題に特に関心がある場合、その問題に対してもっと多くの票を投じる方法がありません。
一方、一ドル一票では、あなたの関心の度合いを反映できます。例えば、特定の提案に特に関心がある場合、私は多くのお金を使って多くの票を買うことができます。当然のことながら、欠点は巨大なクジラが投票結果を完全に掌握できることです。そして、二次方投票はこの二つのメカニズムの改善です。
このアイデアは最初に『過激な市場』という本に登場しました。その中に非常に良い例があります。日本の偏遠な小山村で、ある子供の親族が泥棒に殺されました。その後、議会で偏遠地域の住民が銃を持つことを許可する提案が出されました。
この提案が民主社会の投票システムで行われると、大部分の人々はこの事柄に関心を持たないため、この提案は通過しない可能性が高いです。しかし、この事柄は偏遠地域の家庭にとっては非常に重要なことです。一人一票のシステムでは、少数派の利益が無視されやすくなります。
したがって、ある考え方は、私たちが一人一票ではなく、各人が「ボイスクレジット」と呼ばれるポイントのようなものを持っていると仮定することです。例えば、各人が20の投票ポイントを持ち、そのポイントを使って投票することができます。
今年、各人は20のポイントを持ち、合計で20の提案があります。あなたはこの20の提案にそれぞれ1票を投じることも、すべてのポイントを同じ提案に投じることもできます。この時、見た目は一人一票を一人20票に変えたように見えますが、違いはどこにあるのでしょうか?
私たちは投票を続けるコストを増加させることができます。例えば、偏遠地域の家庭は、偏遠地域での銃の提案に非常に関心があるかもしれません。この時、私は20票をすべてこの提案に投じることができます。しかし、通常の投票とは異なり、最初の票を投じるときは1ポイントを使い、2票目を投じるには2ポイントが必要です。
このように、4票目には4ポイントが必要で、20ポイントでは最大でも5票しか得られません。なぜなら、6票には少なくとも21ポイントが必要だからです。したがって、投票数とポイントの数はおおよそ平方根の関係にあり、これが私たちがこのものを二次方投票と呼ぶ理由です。
二次方資金提供は、Vitalikが二次方投票を基にした拡張アルゴリズムであり、プロセスは二次方投票と同じですが、違いは二次方投票の結果を資金プールの分配に使用することです。
私たちは公共財コミュニティ(例えば、都市内のコミュニティやブロックチェーンインフラ)を想像できます。そのエコシステムにはいくつかの公共財があります。
これらの公共財はリスク資本の支援が不足している可能性があります。なぜなら、初期段階では実際の投資価値がないからです。では、私たちはどのように資金を提供するのでしょうか?または、別の視点からこの問題を考えると、複数の公共財(または提案)に資金を分配するにはどうすればよいでしょうか?
私たちは賞金プールを設立し、寄付の形でこれらの公共財に投票することができます。投票時のコストは徐々に増加します。
例えば、1トークンを投じることで1票を得られますが、2票目を得るにはさらに2トークンが必要です。もし巨大なクジラが自分の好きな提案に多くの票を投じようとする場合、コストは二次方の速度で増加するため、効果的に巨大なクジラの資金プールの掌握力を制限します。最終的に、私たちは二次方投票の結果を通じて賞金プールの分配を完了します。
したがって、二次方資金提供のアルゴリズムは実質的に二次方投票と同じアイデアですが、使用シーンが異なります。
二次方寄付メカニズムの欠陥
律動 BlockBeats:現在、二次方寄付メカニズムに基づいて構築されたDoraHacksやGitcoinはすでに一定の期間運用されていますが、実際の寄付効果から見て、現在の二次方寄付システムにはどのような問題がありますか?
張剣南:実際、二次方寄付は小規模なアプリケーションで非常に効果的であることが証明されています。したがって、私たちの主な課題は、スケールアップの過程でどのような問題に直面するかを考えることです。
最初の問題は身分の問題、つまりウィッチハント攻撃の問題です。二次方資金提供の場合、例えば20人がそれぞれ1票を投じると、このプロジェクトが得られる資金は1人が20票を投じるよりも多くなります。なぜなら、アルゴリズムによれば、1人が投票すると、最終的に得られる実際の票数はその平方根だからです。これにより、人々はより多くの身分を偽造して投票に参加する大きなインセンティブが与えられます。
しかし、過去の約2年間で、この問題を解決するための非常に多くの方法がすでに存在します。例えば、一般的な方法は、各ラウンドの後にデータを分析することで、誰がまたはどのアドレスが偽造されている可能性があるかを知ることができます。
また、特定のタイプのホワイトリストを通じて、去中心化された身分システムを使用して自分が実在の人間であることやコミュニティのユーザーであることを証明することもできます。これらの方法を組み合わせることで、ウィッチハント攻撃を大幅に防ぐことができます。
次のより複雑な問題は共謀の問題です。つまり、システム内の異なる小グループが同盟を結び、さまざまな手段を通じて好ましいガバナンス結果を得ようとすることです。
例えば、民主社会の選挙において、投票用紙の収集は共謀行為の一つです。共謀はウィッチハント攻撃とは対照的に、小規模なアプリケーションではそれほど深刻ではありませんが、賞金プールが数十万ドル、あるいは数百万ドルになると、非常に利害関係が生じます。人々はさまざまな方法を考え、共謀の方法でより多くのマッチング資金を得ようとするかもしれません。
したがって、長期的には共謀はウィッチハント攻撃よりも深刻な問題であり、より複雑な問題です。通常の手段では共謀を防ぐことは難しいです。なぜなら、誰が誰と共謀しているのかを完全に知ることはできないからです。
従来の世界では、共謀を解決するための効果的な方法をほとんど見たことがありません。例えば、インサイダー取引は共謀の一種であり、法律で禁止されています。しかし、実際にはほとんどのインサイダー取引は発見されず、証明されることはありません。そして、ブロックチェーン上では、共謀問題を解決するためのより多くの暗号学的ツールがあります。
律動 BlockBeats:Gitcoinの寄付活動では、しばしばプロジェクトが寄付者に対して事後にエアドロップを行うことがあります。この行為は、あなたが先ほど言及した投票用紙の買収や共謀の問題に該当するのでしょうか?
張剣南:はい、エアドロップを通じて投票用紙を引き寄せることは一般的な共謀の一つです。
律動 BlockBeats:あなたは先ほど、ブロックチェーン上で共謀問題を解決するための新しい手段があると述べましたが、暗号学のいくつかの技術を通じてこの改善をどのように実現するのかについて教えていただけますか?
張剣南:まず、共謀問題がなぜ存在するのか、またなぜ共謀問題がこれほど難しいのかを考える必要があります。
実際、ガバナンスプロセス全体をゲーム(博弈)と見なすことができます。理想的な状況では、すべての人の情報が互いに通じていない場合、誰も他の誰かと共謀することはできません。これは非常に完璧ですが現実的ではありません。
現実には、皆の情報が互いに通じているため、博弈は協力的な博弈に変わります。異なる参加者が他の参加者と協力できるため、結果は予測不可能になります。ガバナンスシステムでは、公平性が大幅に低下することがよくあります。そして、通常、協力自体は非常に強い隠蔽性を持つため、共謀行為を発見すること自体がほぼ不可能です。
この問題を真に解決するには、別の視点から考える必要があります。特定のシーン、例えば二次方投票において、協力博弈を非協力博弈に変換できるかどうかです。
つまり、参加者間で結果を互いにコミュニケーションできないようにするにはどうすればよいかです。そうすれば、彼らは協力できなくなります。しかし、実際には参加者は互いに情報をコミュニケーションできます。この場合、彼らが実質的に協力できないようにするにはどうすればよいでしょうか?この時、私たちはゼロ知識証明を統合した暗号学的な解決策が必要です。そうすれば、彼らはコミュニケーションできますが、互いに信頼することはできません。
例えば、私はあなたから10ドルで票を買いたいのですが、あなたが投票を終えた後、私があなたにその票を投じたかどうかはわかりませんし、あなたも私に投じたことを証明できません。したがって、双方が互いに信頼できないようにすれば、共謀の問題を解決できます。では、このようなシステムを設計できるでしょうか?実際には可能です。
基本的な解決策はMACI(Minimal Anti-Collusion Infrastructure)です。具体的な方法は、まず私たち全員が投票する際に管理者を通じて行います。
その後、管理者は市場全体に公開鍵を発行します。もちろん、秘密鍵は管理者が持っており、すべての情報は公開鍵によって暗号化されるため、すべての人の情報は暗号文としてしか見ることができず、明文は見えません。
ユーザーはこのシステムを通じて投票したり、鍵を変更したり、他の行動を取ったりできます。これらの操作はすべて暗号化されているため、情報が投票に関するものか他の何かであるかを知ることはできません。
したがって、もし贈収賄をしようとする場合、例えば、私はあなたに100ドルを渡して3号候補者に投票させるとします。すべての情報が暗号化されているため、あなたが本当にその票を投じたことを証明することはできません。この最も単純な暗号化メカニズムを通じて、あなたは私に票を投じたことを証明できません。
最後に、管理者が結果を公表します。しかし、具体的な投票の詳細を公開せずに最終結果を信頼できるようにするにはどうすればよいでしょうか?この時、私たちはゼロ知識証明を使用してこれを保証する必要があります。
管理者が結果を発表する際に、結果に対するゼロ知識証明を添付します。こうすることで、誰も他の誰が何に投票したかを知らない状態でも、この結果を信じることができます。これにより、投票メカニズム全体のサイクルが完了します。
2019年5月、Vitalikはイーサリアム研究コミュニティでMACIの枠組みのアイデアを提案しました。その後、イーサリアム財団とConsenSysのいくつかの開発者がMACIを実験的なオープンソースプロジェクトにしました。MACIが実際に製品化されたのは2021年で、clr.fundとDoraHacksがMACIに基づく二次方投票を実現しました。
clr.fundは最初にETHDenver 2021で製品MVPを作成しました。多チェーンエコシステムのオープンソース開発者コミュニティであるDoraHacksは、2021年末にMACIに基づく二次方投票と二次方資金提供のインフラを実現しました。このプロセスで、元々のappliedzkpチームの開発者たちがDoraHacksチームに多くのサポートとアドバイスを提供しました。
私たちのもう一つの目標は、MACIのプロセスを簡素化し、ユーザーに非常にシンプルな製品を提供し、彼らが共謀に対抗する環境で投票し、開発者コミュニティを支援できるようにすることです。現在、私たちは基本的にこれを達成しています。DoraHacksでのMACI二次方投票は、通常の二次方投票よりも簡単です。
律動 BlockBeats:MACI(Minimal Anti-Collusion Infrastructure)という概念は少し複雑に聞こえますが、その基本的な論理をもっとわかりやすく説明していただけますか?例えば、MACIの役割は各人が秘密投票できるようにすることだと理解してもよいでしょうか?
張剣南:そう理解しても大丈夫です。簡単に言うと、各人が自分の投票を暗号化するということです。最後に結果を公表し、ゼロ知識証明という暗号学的手法を使って、詳細やプロセスを公開せずにその結果が真実であることを証明します。
律動 BlockBeats:現在の二次方寄付モデルをMACIバージョンの二次方寄付に改造するためには、どのような必要な技術が必要ですか?先ほど紹介したゼロ知識証明の他に、何か補足はありますか?
張剣南:関連するエンジニアリングの問題や安全性の問題を解決する必要があります。また、DoraHacksのプラットフォームは多くのインフラを提供しており、これによりユーザー体験がシンプルでスムーズなMACI二次方投票システムを迅速に実現できます。
現在の問題は、MACI二次方投票システムがまだ大規模に使用されていないため、テストにもう少し時間が必要です。今後、プライバシーをさらに向上させる方法や効率を高める方法など、いくつかの問題を解決する必要があります。
私たちは、元のMACIの状態木のデータ構造を最適化し、参加者数と投票数の上限を引き上げました。同時に、MACIコードベース内のいくつかのセキュリティに関するバグを修正しました。
さらに、製品はよりユーザーフレンドリーである必要があります。例えば、効果的で非常にフレンドリーなUIを提供し、ユーザーがMACI二次方投票を使用する際に、通常の二次方投票と同じ体験ができるようにします。現在、私たちは基本的にこれを達成しています。多くのユーザーがMACI投票の体験がより簡単だとフィードバックしています。
律動 BlockBeats:MACI版の二次方寄付を実現する際に、明らかな困難はありますか?技術的な問題や社会的な問題など。
張剣南:技術的には、MACIに基づく共謀対策ガバナンスシステムの基本を保証しつつ、プライバシーと効率をさらに向上させる必要があります。
社会的な側面では、共謀対策システムは大部分の状況で歓迎されます。なぜなら、それはガバナンスシステムをより公平にするからです。
大規模なガバナンスでは、共謀がシステムの非常に不安定な要因となり、システム全体が非常に不公平になり、結果としてシステム全体が信頼できなくなります。
したがって、共謀対策は、オンチェーンガバナンスと二次方資金提供のスケールアッププロセスで解決すべき必要な問題であり、トレンドです。
改良版の二次方寄付の実現
律動 BlockBeats:あなたは先ほど、MACIを実現するために「管理者」と呼ばれるノードを導入する必要があると述べました。このノードを導入することで、新たな問題が生じる可能性はありますか?例えば、これは中心化されたノードですか?それとも、去中心化する方法はありますか?
張剣南:管理者は中心化されたノードですが、このノードが悪用できる程度は限られています。まず、管理者は誤った結果を公表することはできません。これはゼロ知識証明によって保証されています。しかし、管理者は他の悪事を行うことができます。例えば、遅延させたり、結果を公表しなかったり、プライバシー情報を漏洩したりすることです。
MACIは最も主要な問題を解決していますが、プライバシーの問題も非常に重要です。この問題に対して、より多くの暗号学的構造を導入して解決することができます。そうすれば、管理者が結果を公表しても、彼自身が中間の各人の投票を見ることができず、プライバシーが保証されます。
律動 BlockBeats:DoraHacksの開発者プラットフォームHackerLink.ioを通じて、二次方寄付で初期プロジェクトを支援できることを知っていますが、今後HackerLink.ioはMACIメカニズムと統合される予定ですか?ゼロ知識二次方投票の正式な採用はいつ見られるでしょうか?
張剣南:DoraHacksの最初の正式なMACI Grantは、今年のETHDenverで行われました。今年のETHDenverでは、DoraHacksが提供するMACIインフラを通じてコミュニティ二次方投票が初めて行われました。2月20日、ETHDenver 22の審査委員会は数百のプロジェクトから30のプロジェクトを選出し、約12000名の参加開発者と参加者が投票しました。
現場のすべての参加者は、MACI投票プロセスを体験する機会がありました。したがって、私たちは基本的にETHDenverのこのイベントがMACIの初めての中規模な使用であると理解できます。
律動 BlockBeats:多くのユーザーやこれらのイベントに参加する開発者にとって、彼らはMACIを採用した二次方寄付に初めて出会うかもしれません。したがって、この新しい組織方式と従来の二次方寄付との違いについてもう少し教えていただけますか?
張剣南:実際、全体のプロセスには特に大きな違いはありません。二次方寄付では、あなたが直接投票できます。つまり、投票を終えた後はその票を変更できませんが、MACIでは投票を終えた後に再投票でき、新しい票が元の票を上書きします。
また、特に異なるのは、投票結果が公表される前に結果を見ることができないことです。すべての投票が暗号化されているためです。結果を検証する必要があるときは、公表されたゼロ知識証明を通じて結果の真実性を検証する必要があります。つまり、リアルタイムでの票のカウントランキングは存在しないことになります。
それ以外は、全体の投票プロセスには違いはなく、ユーザー体験はさらに簡単になるかもしれません。
律動 BlockBeats:このプロセスでは、参加者が特定のトークンを担保や投票のツールとして使用する必要がありますか?
張剣南:実際には必要ありません。これも非常に興味深い点であり、ある意味では以前よりも簡単です。
律動 BlockBeats:最後に補足の質問ですが、ゼロ知識証明を用いた二次方投票を採用した後、プロジェクト側が投票履歴に基づいて支持者にエアドロップ報酬を配布することはほぼ不可能になるのでしょうか?
張剣南:はい、基本的にそう理解できます。つまり、プロジェクト側は完全にそれを行うことができません。したがって、これらのプロジェクト側はすべてのプロジェクトの資金提供者に同じ数量のエアドロップを行うか、すべての資金提供者にエアドロップを行わないことができます。