ギャビン・ウッド:どのようにしてウィッチハントを防ぎ、効果的なエアドロップを行うか?
著者:Gavin Wood
Gavin は最近、ウィッチアタック(市民抵抗)の問題に注目しており、PolkaWorld は Polkadot Decoded 2024 での Gavin Wood 博士の基調講演を振り返り、ウィッチアタックを防ぐための彼の見解を探求したいと考えています。
ウィッチアタックとは?
皆さんもご存知かもしれませんが、私はいくつかのプロジェクトを研究しており、JAM プロジェクトに焦点を当てたグレイペーパーを執筆しています。この方向でいくつかのコード作業も行っています。実際、過去 2 年間、私はこの分野で非常に重要な問題について考えてきました。それは、ウィッチアタック(市民抵抗)を防ぐ方法です。この問題はどこにでも存在します。ブロックチェーンシステムはゲーム理論に基づいており、ゲームを分析する際には、通常、参加者の数を制限するか、参加者が示す可能性のある恣意性の状況を管理する必要があります。
デジタルシステムを設計する際、私たちは特定のエンドポイント ------ つまりデジタルエンドポイント ------ が人間によって操作されているかどうかを確認したいと考えています。まず最初に明確にしておきたいのは、ここで私はアイデンティティの問題について議論しているわけではないということです。アイデンティティの問題はもちろん重要ですが、ここでの目的は、特定のエンドポイントが現実世界での具体的なアイデンティティを特定することではなく、このデバイスと現在人間によって操作されているデバイスとの違いを区別することです。それに加えて、もう一つの問題があります。それは、もしデバイスが実際に人間によって操作されている場合、その人に特定の文脈で彼らを識別するための仮名を提供できるかどうか、そして彼らが後で再びこのデバイスを使用して私たちと対話する際に、再び彼らを識別できるかどうかです。
私たちの対話の方法が、主に他者とのコミュニケーション(私が生まれた 80 年代のように)からシステムとの対話へと徐々に移行するにつれて、この種のデジタルシステム、特に分散型の Web3 システムがますます重要になっています。80 年代には、人々は主に他者と直接コミュニケーションを取っていましたが、90 年代には、電話を通じてサービスと対話するようになりました。例えば、電話バンキングです。これは私たちにとって大きな変化でした。最初は電話バンキングは大量の人間が操作するコールセンターで構成されていましたが、最終的にはこれらのシステムは今日の自動音声システムに進化しました。インターネットの発展に伴い、このような対人コミュニケーションはますます少なくなり、日常のサービスではほとんど人間と直接対話することがなくなりました。もちろん、Web2 の電子商取引の台頭により、この傾向はさらに顕著になりました。そして Web3 はこれをさらに強化しました ------ Web3 では、ほとんど人間と対話することはありません。Web3 の核心的な理念は、あなたが機械と対話し、さらには機械同士が相互に対話できるようにすることです。
ウィッチアタックを研究する意義は何か?
では、これは一体何の意味があるのでしょうか?これは、あらゆる真の社会の基礎要素であり、ビジネス、ガバナンス、投票、意見統合など、私たちの多くの社会システムの核心でもあります。これらすべては、コミュニティを構築するためにウィッチアタックを防ぐ能力に大きく依存しています。私たちが企業で当然のことと見なしている多くのメカニズムは、実際にはウィッチアタックを防ぐという仮定に基づいています。公平で合理的な使用、ノイズ制御、コミュニティ管理など、すべてがこの防御能力に基づいています。多くのことは、特定の実体が本物の人間であるかどうかを確認する必要があります。誰かが不適切な行動をした場合、私たちはその人を一時的にコミュニティから排除したいと考えるかもしれません。この現象はデジタルサービスでも見られますし、もちろん現実世界でも同様です。
ウィッチアタックを防ぐことで、私たちはアクセスのしやすさを犠牲にしたり、参入障壁を設定したりすることなく、行動を制約するメカニズムを導入できます。例えば、インセンティブ行動には基本的に 2 つの方法があります。一つは「人参と棒」の戦略(つまり、報酬と罰のメカニズム)です。棒(罰)の方法は、あなたにデポジットを預けさせ、不適切な行動をした場合にはそのデポジットを没収することです。ステーキングはそのシンプルな例です。人参(報酬)の方法は、あなたが良い行動をするだろうと仮定し、期待に達しなかった場合にはあなたの権利の一部を剥奪することです。これは実際にはほとんどの市民社会の基本的な運営方法です。
しかし、ブロックチェーン上にウィッチアタックを防ぐメカニズムが欠如している場合、この方法は実際には実施できません。市民社会において、このようなメカニズムが有効である理由は、誰かが監禁されると、彼らは同じ犯罪を再び犯すことができないからです。少なくとも彼らが拘束されている間はそうです。自由は生まれつきのものであり、原則として政府はそれを剥奪することができます。私は誰かをチェーン上で監禁することを言っているのではなく、現在のところチェーン上で同様の制約を実現することができないということを言っています。これにより、私たちは無料サービスを提供することで悪行を抑制することが難しくなり、良い行動を促すだけでは不十分です。ビジネスやプロモーション活動は、取引者が本物の人間であるかどうかを確認できることに非常に依存しています。
これは、私が時折使用するウェブサイトのスクリーンショットです。これは非常に良いウィスキーで、多くの人々が非常に好きで、原産国では手に入れるのが難しいです。一方、ヨーロッパでは比較的安く手に入りますが、彼らは個人の購入数量を制限することで低価格を維持しているようです。しかし、このような操作は真の Web3 システムではほとんど実現不可能です。
コミュニティの構築、エアドロップ、コミュニティメンバーの識別と配布においても大きな困難があります。全体的に見て、エアドロップは資本支出において非常に効率が悪いです。なぜなら、エアドロップの目標はできるだけ多くの人々をカバーすることだからです。エアドロップを行う際に、公平に分配するためには、まず個人を識別し、各人に同じ数量を与える必要があります。しかし、実際の操作では、ウォレットの残高の違いなど、さまざまな問題に直面します。最終的には、配分曲線が非常に不均衡になり、非常に大きな差異が生じる可能性があります。その結果、大多数の人々は十分なインセンティブを得られません。
「公平で合理的な使用」の問題について、現在の影響は小さいですが、もしあなたが過剰にネットワークリソースを使用した場合、システムは通常あなたの速度を低下させるだけで、あなたは引き続きネットワークを使用することができます。
過去に遡ると、約 10 年から 15 年前、もしあなたがインターネットリソースを過剰に使用した場合、インターネットサービスプロバイダーはあなたがこの無制限のネットワークサービスを合理的に使用していないと見なすかもしれません。そのため、彼らは基本的にあなたのサービスを完全に停止することになります。今のように単に速度を低下させるのではなく。このような方法により、彼らはほとんどのユーザーにほぼ無制限のインターネットサービスを提供できるのです。なぜなら、彼らはユーザーを識別することで、誰がリソースを合理的に使用しているかを区別できるからです。
Web2 の基盤は、高度なサービスモデルであり、これはユーザーを識別する能力に大きく依存しています。20 年以上前、ユーザー識別メカニズムはそれほど複雑ではなかったかもしれませんが、今は状況が大きく異なります。アカウントを開設したい場合、通常は 3 つ以上のメカニズムを通じて、あなたが本物の個体であるか、以前に見たことのないユーザーであるかを確認する必要があります。例えば、iPhone を購入せずに Apple アカウントを登録しようとすると、それはまるで障害物競走のようです。これらの企業は基本的にあなたにアカウントを提供したがりません。もちろん、彼らはあなたが無料でアカウントを取得できると宣伝していますが、私はバックエンドの AI が何をしているのか分かりません。私は自分で 10 回試みて、ようやく成功しました。その結果、私は結局 iPhone を購入しなければなりませんでした。
私は、もし私たちが個体をより良く識別できれば、「Oracleization」(情報検証)に類似した多くのプロセスがより容易になると考えています。
社会でウィッチアタックを防ぐための「人間性証明」を使用して情報を検証する典型的な例は陪審制度です。私たちが誰かが有罪かどうかを判断する公正な判断者(つまり Oracle)が必要なとき、システムは社会から奇数の普通の人々をランダムに選び、彼らに証拠を聞かせて裁定を下させます。同様に、社会生活の他の分野、例えば代表権や意見収集においても、代表権は社会の重要な構成要素であり、私たちはウィッチアタックの手段を通じて代表権を管理します。もちろん、現在の市民基盤インフラが不完全であるため、この管理方法はしばしば理想的ではなく、特に代表権とアイデンティティが混同される場合にはそうです。多くの場合、投票したいときには、運転免許証やパスポートを提示するなど、あなたの本当のアイデンティティを証明する必要があります。しかし、実際には、投票はあなたの投票権の一部を代表しているのであり、この票を個人のアイデンティティと直接関連付ける必要はありません。
ウィッチアタックを防ぐには?現在の解決策は何か?
では、これはどうすればよいのでしょうか?
Web 2 および Web 2 の前には、アイデンティティ検証を実現するための多くの方法がありました。現在の Web 2 システムでは、これらの方法は通常組み合わせて使用されています。例えば、新しい Google アカウントを作成したい場合、あなたは CAPTCHA を通過し、メールと SMS の検証を行う必要があります。時には、SMS 検証が人間との通話の代わりになることもあります。もしあなたが Amazon アカウントがロックされた経験があるなら、私が何を言っているのか分かるでしょう。基本的に、これは複雑な迷路ゲームであり、正しいボタンや電話オプションを見つけて、最終的に人間のカスタマーサービスと対話できるまで続きます。より複雑なウィッチアタック防止には、身分証明書やクレジットカードのような情報を使用することがあります。
しかし、私たちが Web 3 の世界に入ると、私の研究では本当に満足のいく完璧な解決策は見つかりませんでした。現在いくつかの候補がありますが、それらは 3 つの側面で大きな違いがあります:非中央集権であるか、プライバシーを保護するか、そして本当にレジリエンス(攻撃耐性)を持っているかどうかです。
レジリエンスはますます大きな問題になっています。実際、ほとんどのシステムはこの 2 つの問題に直面しています。
私が「一般的な懺悔システム」と呼ぶシステムがあります。これは、あなたが特定の権威機関にプライバシーを漏らし、その機関があなたのいくつかの情報を掌握するというものです。これらの情報は、あなたが他者と共有したくないものである可能性があります。例えば、あなたはパスポートをスキャンして特定の機関に提出し、その機関はすべての人のパスポート情報を掌握し、すべての情報を持っているため強い立場に立つことになります。一般的な懺悔システムは Web3 に適していません。
さらに、時には「一般的なキー管理機関」に依存する Web3 に似たパーソナライズされたシステムを見ることがあります。その中には権力を持つ機関があり、その機関はキーを掌握することで誰が合法的な個体であるかを決定します。つまり、その機関は誰がシステム内の「本物のユーザー」と見なされるかを決定する権限を持っています。時には、これらの機関がユーザーのためにキーを保管することもありますが、より多くの場合、彼らは単に誰が合法的な個体であるかを決定する権限を保持しています。
これらはすべて、ユーザーのプライバシーやアイデンティティ情報を掌握するために中央集権的な権威機関に依存しており、これは Web 3 の非中央集権とユーザー主導の理念に反しています。
何かをチェーン上に置くことは、それが Web3 であることを意味するわけではありません。Web2 の戦略や中央集権的な権威に依存する戦略を単にチェーン上に移すことができますが、そうすることで戦略自体が変わるわけではありません。それは、戦略がよりレジリエントに実行される可能性があることを意味するだけで、戦略自体は依然として Web3 ではありません。名前が長い 16 進数の文字列であるからといって、それが必ずしもプライベートであるとは限りません。特定の措置を講じない限り、この文字列は現実世界のアイデンティティ情報と関連付けられる可能性があります。
もしあるシステムが一般的な「懺悔メカニズム」に依存しているなら、それはプライバシー保護の解決策ではありません。私たちはあまりにも多くのデータ漏洩事件を目にしており、単にデータを企業のファイルの壁の後ろや信頼できるハードウェアに置くだけでは安全を確保できないことを理解しています。Web3 に適したパーソナライズされた解決策が必要なのは、ローカルな個体のアイデンティティやローカルなコミュニティメンバーのアイデンティティではなく、グローバルな個体のアイデンティティです。この 2 つは完全に異なる概念です。
この問題を解決しようとするいくつかのシステムがありますが、それらは単一のハードウェアと一般的なキー管理機関に依存しているため、真の Web3 ソリューションではありません。例えば、Worldcoin というプロジェクトは、信頼できるハードウェアを通じてこの問題を解決しようとしていますが、統一されたキー管理機関と集中化されたデータソースを使用しているため、Web3 の非中央集権的な理念にはあまり合致していません。
もう一つの例は Gitcoin Passport で、これは Ethereum コミュニティで広く使用されている他のアイデンティティやパーソナライズされた解決策の統合プラットフォームです。これは、個体のアイデンティティを認定するために連邦制のキー管理機関に依存していますが、これらのデータソースはしばしば CoinBase のような中央集権的な権威に基づいています(CC)。
Idena は、興味深い Web3 ソリューションで、一般的なキー管理機関や中央集権的な機関はありません。しかし、これは単一のメカニズムに過ぎず、進化する人工知能産業に直面したときに、このメカニズムが十分なレジリエンスを持っているかどうかは不明です。これまでのところ、うまく機能していますが、ユーザー数は比較的少なく、約 1,000 人のユーザーしかいません。
全体として、現在のところこの問題を完全に解決できる方法はありません。
Gavin のウィッチアタック解決策に対する見解
個体のアイデンティティについては、2 つの考え方があります:一つはリモートのもので、もう一つはローカルのものです。機械は「個体のアイデンティティ」を自然に理解することはできません。私たちは、何らかの暗号技術が突然この問題を解決することは考えにくいです。指紋や生体認証技術が人間に独自性を与えることができ、機械がそれを測定できると言う人もいるかもしれませんが、純粋なデジタルシステムではこれを証明するのは難しいです。最もこの目標に近いシステムは Worldcoin ですが、それもまた、壊れにくい方法で検証できる機械に過ぎません。
したがって、私たちは理解する必要があります。個体のアイデンティティは、認証の問題に関するものであるということです。それは、デジタルシステム内の要素が他の要素が本物の個体であるかどうかをどのように検証するかに関わっています。では、問題はこの認証の根拠は何かということです。それは物理的な接触なのか、それとも他の側面の疑念なのか?私たちは、あるアカウントが本物の個体であると信じるのは、その人に会ったことがあり、会ったときに他の人と接触していないと考えられるからです。したがって、特定の環境で唯一の個体であると推測できるのか、それとも単に画面上で何らかの情報を見ており、他の証拠がその個体のアイデンティティを支持しているからなのでしょうか?
リモート認証(つまり、直接的でない、物理的証拠でない認証)について話すとき、AI(人工知能)がいくつかの問題を引き起こす可能性があります。そして、物理的証拠に依存する場合、実際の操作性が問題になる可能性があります。したがって、私たちはこれら 2 つの制約の間に挟まれています。しかし、私は革新と想像力を通じて、いくつかの実行可能な解決策を見つけることができると考えています。
では、私たちは何を必要としているのか?
では、私たちは何を必要としているのでしょうか?私たちの計画は何でしょうか?
私は、Polkadot を現実世界でより有用にするためには(DeFi、NFT、仮想ブロックチェーンの分野だけでなく)、個人のアイデンティティを識別するためのシンプルな方法を見つけることが重要だと考えています。ここでの識別は、その人が誰であるかを特定することではなく、例えば「これは独特な個人である」ということを識別することです。私は単一の解決策が存在するとは思っていないので、モジュール化され、拡張可能なフレームワークが必要です。
まず、既存の合理的な解決策(例えば Idena)を統合することができます。次に、このシステムは特定の誰かの考えに制限されるべきではなく、何が効果的なメカニズムであるかについての誰かの想像力に依存するべきではありません。これはある程度オープンであり、すべての人が解決策を提供できるようにするべきです。
次に、強力な文脈化された仮名(pseudonymity)が必要です。実際、私は最初に匿名性(anonymity)について書きましたが、ある程度、私は確かに匿名性を指しており、あなたの現実世界のアイデンティティからの匿名性を意味しています。しかし同時に、私たちは仮名(pseudonymity)を持つことも望んでいます。これにより、特定の文脈で、あなたが唯一無二の個体であることを証明でき、同じ文脈で再びそのシステムを使用する際に、以前のその独特な個体であることを証明できるようになります。
最後に、強力な SDK と API が必要です。この機能が Substrate や Polkadot スマートコントラクトの他の機能と同じくらい使いやすく、または今後の JAM エコシステムでも同様である必要があります。それは使いやすくなければなりません。具体的に言うと、ここに Frame コードを書いたことがある人がどれくらいいるか分かりませんが、新しいブロックチェーンを書くとき、あなたはしばしば次のようなコード行を見ます:let account = ensuresigned (origin)。このコード行の役割は、取引の出所を取得し、その出所が特定のアカウントから来ているかどうかを確認することです。もしそうであれば、そのアカウントが何であるかを教えてくれます。しかし、アカウントは個体と同じではありません。1 人の人間が 1 つまたは複数のアカウントを使用することができ、同様に、スクリプトも 1 つまたは複数のアカウントを使用することができます。アカウント自体は、少なくとも単独では、個体のアイデンティティに関する情報を提供できません。したがって、私たちが特定の取引が本物の人間から来ていることを確認したい場合、つまり 100 万のアカウントの中のどれかではなく、私たちはこの行を別の行に置き換える必要があります:let alias = ensureperson (origin, &b「My context」)。
注目すべき 2 つの利点があります。
第一に、私たちは単に「これはアカウントが取引に署名しているのか?」と尋ねるのではなく、「これは人間が取引に署名しているのか?」と尋ねています。これは、私たちが実現できる機能に大きな違いをもたらします。
第二に、重要なのは、異なる操作には異なる文脈があり、私たちはこれらの文脈の中で匿名性と仮名の保護を実現しているということです。文脈が変わると、仮名も変わります。異なる文脈の仮名同士は関連付けられず、仮名を背後の人と関連付けることもできません。これらは完全に匿名の仮名システムであり、ブロックチェーン開発、特に現実世界で有用なシステムを開発する際に非常に重要なツールとなります。
では、私たちは実際に個体のアイデンティティを識別するメカニズムにどのような制約を課すことができるでしょうか?まず、このメカニズムは広くアクセス可能でなければなりません。もしそれが一部の人々だけを許可するものであれば、それは非常に有用ではありません。資産を要求するべきではなく、高額な費用を要求するべきでもありません。少なくとも過度に高い費用であってはなりません。
避けられないことに、異なるメカニズムの間にはトレードオフが存在します。私は万能の解決策が存在するとは思いません。しかし、いくつかのトレードオフは受け入れ可能であり、他のものはそうではありません。レジリエンス、非中央集権、主権は妥協の対象にすべきではありませんが、あるメカニズムは少ない努力でより多くのコミットメントを必要とし、他のメカニズムはより多くの努力で少ないコミットメントを必要とするかもしれません。私たちは、システムによって検証された個人(つまり、特定の人にリンクされたアカウント、または仮名)の背後には、実際のユニークな個体が存在するという合理的な期待を持つべきです。
異なるメカニズムが非中央集権の Web3 システムにおいてレジリエンスと非権威的な基盤で個体のアイデンティティを測定する際に、重複が存在する可能性があります。これは、実際には完璧にすることは不可能であることを意味しますが、数量的な誤差があってはならず、差異は大幅に 1 桁未満であるべきです。さらに、システムは、少数の人々や組織が大量の個体のアイデンティティを取得しようとするのを防ぐために、非常に強力なアイデンティティの悪用に対する抵抗能力を持っている必要があります。
重要なのは、システムがこの状況を防ぐための保証メカニズムを持っていることです。おそらく、いくつかのメカニズムは比較的低い信頼度の個体のアイデンティティスコアを提供できるかもしれません。これはより高い目標です。いくつかのメカニズムはこれを実現できるかもしれませんが、いくつかは実現できないかもしれません。いくつかは二元的であり、私たちはこのアカウントがユニークな個体であると信じるか、信じないかのどちらかです。また、いくつかのメカニズムは、私たちが 50% の確信を持っていることを示すかもしれませんが、この個体が 2 つのアカウントを持っている可能性があり、私たちはそれぞれのアカウントに対して 50% の確信を持っているかもしれません。
もちろん、これらすべては許可不要であり、実現が難しくないものでなければなりません。私は特に強調する必要はないはずですが、システムには一般的な懺悔メカニズムや一般的なキー管理機関があってはなりません。
これを行うことの利点は何か?
では、なぜこれを行う必要があるのでしょうか?どのような利点があるのでしょうか?
私たちは、社会が個体のアイデンティティを使用または依存する方法についていくつか議論しました。しかし、これらはどのようにチェーン上で実現されるのでしょうか?私たちは、取引手数料を支払う必要のない Polkadot システムを想像し始めることができます。つまり、合理的な使用は無料です。もしあなたが「広場チェーン」(Plaza)を想像できるなら、もしあなたがそれに不慣れであれば、それは基本的に資産ハブ(Asset Hub)の強化版であり、スマートコントラクト機能を持ち、ステーキングシステムを利用することができます。
このような広場チェーン(Plaza)を想定すると、ガス料金を支払う必要がないシナリオを想像できます。あなたが合理的な使用範囲内にいる限り、ガスは無料です。もちろん、スクリプトを書いたり、大量の取引を行ったりする場合は、料金を支払う必要があります。なぜなら、それは普通の個人の使用権を超えているからです。想像してみてください、これらのシステムが一般に無料で開放され、私たちはエアドロップなどの方法で、ターゲットを絞った効率的なコミュニティを立ち上げることができるのです。同時に、私たちはより進んだ Polkadot ガバナンスの方法を想像することもできます。
今、私は「一人一票」の理念にあまり信じていません。特定の状況では合法性を確保するために必要ですが、通常は特に良い結果をもたらしません。しかし、私たちは他の投票方法を考慮することができます。例えば、二次方投票や地域投票です。特定の代表的な要素において、一人一票は非常に示唆に富むかもしれません。
私たちはまた、陪審団に似た Oracle システムを想像することができます。パラレルチェーンとスマートコントラクトは、ローカルなセカンダリ Oracle システムを使用することができます。おそらく価格予測のため、またはユーザー間の争議を処理するために。しかし、必要であれば、「大陪審」や「最高裁判所」のシステムを利用し、知られているランダムな個体からメンバーを選出して決定を下し、いくつかの小額の報酬を与えることができます。これらのメンバーは、公正な大きなグループからランダムに選ばれるため、この方法がレジリエントで信頼できる争議解決方法を提供することが期待できます。
ノイズ制限システムを想像することができます。特に、ソーシャルメディア統合における分散型ソーシャルメディア統合は、スパムや不適切な行動を管理するのに役立ちます。DeFi では、信用スコアに似た評判制限システムを想像できますが、あなたが期限内に返済しなかったかどうかにもっと重点を置くことができます。これにより、システムは無料の付加価値モデルのようなサービスを提供できるのです。
さて、これが今回の講演の第一部です。あなたにとって役立つことを願っています。