イーサリアムの共同創設者であるヴィタリック・ブテリン氏は、「プライバシーへの技術的移行が行われなければ、イーサリアムは失敗する」と明言しています。 これは、すべてのトランザクションが公開されており、多くのユーザーにとってプライバシーの犠牲が大きすぎるため、少なくともある程度データを隠す中央集権的なソリューションに目を向けているためです。
2023年、ヴィタリックはプライバシー保護とゼロ知識証明(ZK)技術に関する一連の調査を実施しました。 今年の上半期に、ヴィタリックは自身のウェブサイトで、ZKとプライバシー保護について具体的に議論する3つの記事を公開しました。 4月には、ウォレットカストディアンのプライバシー問題に関する調査をRedditで発表しました。 9月には、他の専門家と共同で、プライバシーとコンプライアンスのバランスをとるためのソリューションを提案する論文を執筆しました。
さらに、イーサリアムのエコシステムは、このトピックの議論と普及を積極的に推進しています。 3月には、プライバシーに焦点を当てた特別イベントがETHDenverイベントで開催されました。 5月に開催された毎年恒例のイーサリアムコミュニティカンファレンス(EDCON)で、ヴィタリック氏は「今後10年間で、ZK-SNARKはブロックチェーンと同じくらい重要になるだろう」と強調しました。
この記事では、2023年のイーサリアムエコシステムにおける、プライバシー保護を進めるためのZK技術の使用に関する最新の動向を追跡します。 イーサリアムZKトラックに入りたい場合、この記事は必要な解釈とガイダンスを提供することができます。
イーサリアムの透明性は、ユーザーの個人情報が漏洩するリスクにさらされる可能性があります。イーサリアムなどのブロックチェーンには秘密はなく、取引、投票、その他のオンチェーン活動を含むすべての情報が公開されています。 このようなパブリシティにより、特定のトランザクションやアドレスが追跡され、実際のユーザーIDに関連付けられる可能性があります。 したがって、イーサリアムにプライバシー保護を実装することが重要になります。 チェーン上の情報を隠すことは、暗号化技術によって実現できますが、課題は、プライバシーを保護しながら、これらのトランザクションの有効性を確実に検証できるようにすることです。 ZKテクノロジーは、プライバシーと検証可能性を考慮し、追加情報を明かすことなく取引の真正性を証明できるソリューションを提供します。
イーサリアムはZK-SNARKを非常に重要視しており、特にその重要性が特に顕著である特定の重要なプライバシー保護ユースケースにおいて重要です。 これは、ヴィタリックの研究と提案に明確に反映されています。 Salusは、Vitalikが彼の研究で提案した典型的なシナリオ、つまりプライバシー取引と社会的回復をまとめました。
プライバシー取引に関して、ヴィタリックはステルスアドレスとプライバシープールという2つの概念を提案しました。
·プライベートアドレススキームにより、トランザクション受信者の身元を隠しながらトランザクションを実行できます。このソリューションは、プライバシー保護機能を提供するだけでなく、トランザクションの透明性と監査可能性も確保します。
·プライバシープールプロトコルに基づいて、ユーザーは過去の取引を開示することなく、取引資金が既知の準拠したソースに属していることを証明できます。このソリューションにより、ユーザーは規制を遵守しながらプライベートな取引を行うことができます。
どちらのソリューションもZKと切り離せません。 どちらのシナリオでも、ユーザーはトランザクションの有効性を証明するためにゼロ知識証明を生成することができます。
アリスが特定の資産をボブに譲渡する予定であると仮定すると、ボブは資産を受け取ったときに、その情報を一般に知られたくありません。 資産譲渡の事実を隠すことは困難ですが、受取人の身元を隠す可能性があります。 このような背景から、プライバシーアドレススキームが登場し、主に取引受取人の身元を効果的に隠す方法の問題に対処しています。
では、プライベートアドレスと通常のイーサリアムアドレスの違いは何でしょうか? ZKベースのプライベートアドレスをプライベートトランザクションに使用する方法は? Salusがそれぞれを紹介します。
(1) プライベートアドレスと通常のイーサリアムアドレスの違いは何ですか?
プライベートアドレスは、トランザクションの送信者が非対話的にトランザクションを生成でき、受信者のみがアクセスできるアドレスです。 プライベートアドレスと通常のイーサリアムアドレスの違いを、誰が生成し、誰がアクセスできるかという2つの側面から説明します。
誰が生成するのか
通常のイーサリアムアドレスは、暗号化とハッシュアルゴリズムに基づいてユーザー自身によって生成されます。 プライバシーアドレスは、取引の本人または相手方によって生成できます。 たとえば、アリスがボブに送金する場合、ボブが送金を受け入れるために使用するアドレスは、ボブまたはアリスが生成できますが、制御できるのはボブだけです。
誰がアクセスできますか?
通常のイーサリアム口座の資金の種類、金額、資金源は公開されています。 プライベートアドレスを使用した取引では、受取人のみが非表示のアドレスに保存されている資金にアクセスできます。 オブザーバーは、受信者のプライベートアドレスを自分のIDに関連付けることができないため、受信者のプライバシーが保護されます。
(2) ZKベースのプライバシーアドレスをプライベートトランザクションに使用する方法は?
アリスがボブのプライベートアドレスにアセットを送信して、トランザクションの受信者を非表示にする場合。 以下は、トランザクションプロセスの詳細な説明です。
1)プライベートアドレスを生成する
● ボブは、ボブのプライベートアドレスに送られた資金を使用するために使用できる秘密キーである支出キーを生成して保存します。
● ボブは、消費キーを使用して、特定の受信者のプライバシーアドレスを計算するために使用できるプライバシーメタアドレス(ステルスメタアドレス)を生成し、 そのプライバシーメタアドレスをアリスに渡します。 Alice はプライバシー メタ アドレスを計算し、Bob に属するプライベート アドレスを生成します。
2)プライベートアドレスに資産を送る
● Alice は、資産を Bob のプライベートアドレスに送信します。
● ボブは、このプライベートアドレスが自分のものであることを知らないので、 アリスは、 このプライベートアドレスが自分のものであることをボブが発見できるように、 追加の暗号化データ(一時的な公開鍵、エフメラル公開鍵)をチェーン上に公開する必要もあります。
上記のプロセスにおけるプライバシーアドレスは、ゼロ知識証明と公開鍵暗号化を使用して構築することもできます。 プライバシーアドレスのスマートコントラクトコードは、ZKと統合することができます。 ゼロ知識証明検証のロジックを埋め込むことで、スマートコントラクトはトランザクションの有効性を自動的に検証することができます。 プライバシーアドレスを構築するこのスキームは、楕円曲線暗号、楕円曲線アイソジェニー、格子、汎用ブラックボックスプリミティブなど、他のスキームと比較して単純です。
プライベートトランザクションがトランザクション受信者の身元やトランザクションに関するその他の情報を隠すことによって達成されるかどうかにかかわらず、ユーザーがトランザクション履歴全体を開示することなく、トランザクション資金が既知の準拠ソースに属していることをどのように証明できるかという大きな問題があります。 パブリックブロックチェーンプラットフォームとして、イーサリアムはマネーロンダリングやその他の違法行為の媒体になることを避けなければなりません。
ヴィタリックは、ブロックチェーンのプライバシー保護とコンプライアンスのニーズのバランスをとることに特化した「プライバシープール」と呼ばれるソリューションを提案しました。 しかし、プライバシー保護とコンプライアンスの課題は何ですか? プライバシーとコンプライアンスのバランスを取るには? 両方の問題について、Salusは詳細で有益な議論を提供します。
(1)プライバシー保護とコンプライアンスの課題
プライバシー保護を実現しながら取引のコンプライアンスを確保するという課題は、Tornado Cashのケースを分析することで鮮やかに実証されています。
Tornado Cashは、多数の入出金を混ぜ合わせた暗号通貨ミキサーです。 ユーザーがトークンをアドレスに預けた後、トークンを預けたことを証明するためにZK Proofを提示し、新しいアドレスを使用してお金を引き出す必要があります。 これら2つの操作はチェーン上で公開されていますが、それらの間の対応は公開されていないため、匿名です。 ユーザーのプライバシーを強化できますが、違法な業者がマネーロンダリングに利用することがよくあります。 その結果、米国財務省のOFACは、最終的にTornado Cashのスマートコントラクトアドレスを制裁リストに載せました。 規制当局は、この協定はマネーロンダリングを助長し、金融犯罪との戦いを助長するものではないと考えています。
プライバシー保護におけるTornado Cashの欠点は、ユーザーのトークンソースが準拠しているかどうかを確認できないことです。この問題に対処するために、Tornado Cashは、ユーザーがトークンが準拠していることを証明するのに役立つ一元化されたサーバーを提供します。 ただし、サーバーは、ユーザーから提供された引き出しに関する特定の情報を取得し、引き出しがどの預金に対応するかを判断し、証明書を生成する必要があります。 この中央集権的なメカニズムは、信頼の前提というコストがかかるだけでなく、情報の非対称性も生み出します。 結局、このメカニズムは少数のユーザーによって使用されていました。 Tornado Cashは隠されたプライベート機能を実装していますが、ユーザートークンのソースが準拠しているかどうかを確認するための効果的なメカニズムを提供していないため、犯罪者がそれを利用することができます。
(2)プライバシーとコンプライアンスのバランスは?
上記の課題に基づいて、ヴィタリックは、ユーザーが過去の取引情報を開示することなく、資金源が準拠していることを証明できるプライバシープールの概念を提案しました。 これにより、プライバシーとコンプライアンスのバランスが取れます。
プライバシープールはZKとアソシエーションセットに基づいており、ユーザーはZK-SNARK証明書を生成して公開し、資金が既知の準拠ソースからのものであることを証明することができます。これは、資金が準拠アソシエーション・セットに属しているか、または非準拠アソシエーション・セットに属していないことを意味します。
アソシエーション コレクションは、アソシエーション コレクション プロバイダーによって、特定の戦略に従って構築されます。
1)メンバーシップ証明:すべての信頼できる取引プラットフォームからの預金を関連するセットに入れ、それらが低リスクであるという明確な証拠があります。
2)除外の証拠:リスクとしてマークされている預金のグループ、またはそれらが非準拠の資金であるという明確な証拠がある預金を特定します。 これらの堆積物を除くすべての堆積物を含む関連コレクションを構築します。
入金の際、ユーザーはZKを通じてシークレットを生成し、それをハッシュ化して公開コインIDを計算し、ファンドとの関連性をマークします。 お金を引き出すとき、ユーザーは資金が自分のものであることを証明するために、シークレットに対応する無効化者(無効化者はシークレットから派生した一意の識別子です)を提出します。 さらに、ユーザーはZKを使用して2つのマークルブランチを証明し、資金が既知の準拠ソースに属していることを証明します。
1)彼のコインIDは、現在発生しているすべてのトランザクションのコレクションであるコインIDツリーに属しています。
2)彼のコインIDは、ユーザーが考慮するいくつかの正当なトランザクションのコレクションであるアソシエーションセットツリーに属しています。
(3) プライバシープールにおけるZKのアプリケーションシナリオは何ですか?
1)私的取引における柔軟性の保証:私的取引におけるあらゆる金種の送金を処理するために、各取引には追加のゼロ知識証明が添付されています。 この証明により、作成されたトークンの合計額面が消費されたトークンの総額面を超えないことが保証され、それによってトランザクションの有効性が保証されます。 第二に、ZKは、各トランザクションが元の入金トークンIDにコミットしていることを確認することで、取引の継続性とプライバシーを維持し、部分的な出金の場合でも、各出金が対応する元の入金に関連付けられていることが保証されます。
2)残高合計攻撃に抵抗する:トークンをマージしてトークンIDのセットにコミットし、複数の入力トランザクションの親トランザクションの和集合にコミットすることで、残高合計攻撃に抵抗できます。 このアプローチは、ZKに依存して、コミットされたすべてのトークンIDが関連するセットに含まれるようにすることで、トランザクションのプライバシーを強化します。
実生活では、複数の銀行カード口座を持っている場合があります。 銀行カードのパスワードを紛失すると、銀行カードの資金を使用できなくなります。 この場合、私たちは通常、銀行に行き、パスワードを回復するための助けを求めます。
同様に、イーサリアムなどのブロックチェーンでは、複数のアドレス(アカウント)を持つ場合があります。 秘密鍵は銀行カードのパスワードのようなもので、口座の資金を管理する唯一のツールです。 秘密鍵を紛失すると、アカウントのコントロールを失い、アカウントの資金にアクセスできなくなります。 実際のパスワード検索と同様に、ブロックチェーンウォレットは、ユーザーが紛失した秘密鍵を取り戻すのに役立つソーシャルリカバリメカニズムを提供します。 このメカニズムにより、ユーザーはウォレットを作成する際に、信頼できる個人のグループを保護者として選択できます。 これらのガーディアンは、ユーザーの秘密鍵を紛失した場合にそのリセットを承認することで、ユーザーがアカウントの制御を取り戻すのを助けることができます。
この社会的回復と保護者のメカニズムの下で、ヴィタリックは注意が必要な2つのプライバシー保護ポイントを提案しました。
1)ユーザーの複数のアドレス間の相関関係を隠す:ユーザーのプライバシーを保護するために、1つのリカバリーフレーズを使用して複数のアドレスを復元する際に、複数のアドレスの所有権が公開されるのを防ぐ必要があります。
2)ユーザーの財産プライバシーを保護者の侵入から保護する:ユーザーの操作を承認するプロセス中に、保護者がユーザーの資産情報を取得したり、取引行動を観察したりできないようにし、ユーザーの財産プライバシーが侵害されることを防止する必要があります。
この2種類のプライバシー保護を実現するための鍵となる技術が、ゼロ知識証明です。
(1)社会回復におけるプライバシー問題:住所間の相関関係が開示される
イーサリアムなどのブロックチェーンでは、プライバシーを保護するために、ユーザーは通常、さまざまなトランザクションに対して複数のアドレスを生成します。 トランザクションごとに異なるアドレスを使用することで、外部のオブザーバーがそれらのトランザクションを同じユーザーに簡単にリンクするのを防ぐことができます。
ただし、ユーザーの秘密鍵を紛失した場合、秘密鍵によって生成された複数のアドレスの資金は回収されません。 この場合、社会的回復が必要です。 簡単な復旧方法は、ワンクリックで複数のアドレスを復旧する方法で、ユーザーは同じ復旧フレーズを使用して、1つの秘密鍵で生成された複数のアドレスを復旧します。 しかし、ユーザーが複数のアドレスを生成する本来の意図は、それらが互いに関連しないようにすることであるため、このアプローチは理想的ではありません。 ユーザーがすべてのアドレスを同時に、または同様の時間に復元することを選択した場合、これは実際には、これらのアドレスが同じユーザーによって所有されていることを外部に公開することと同じです。 この方法では、ユーザーがプライバシーを保護するために複数のアドレスを作成するという本来の目的が損なわれます。 これは、社会的回復プロセスにおけるプライバシー保護の問題を構成します。
(2)ZKソリューション:複数アドレスの相関関係が漏洩するのを防ぐには?
ZKテクノロジーは、ブロックチェーン上のユーザーの複数のアドレス間の相関関係を隠すために使用できます。 ソーシャルリカバリー中のプライバシーに関する懸念は、検証ロジックと資産保有を分離するアーキテクチャを通じて対処します。
1)検証ロジック:ユーザーはブロックチェーン上に複数のアドレスを持っていますが、これらすべてのアドレスの検証ロジックは1つのメイン認証コントラクト(キーストアコントラクト)に接続されています。
2)資産の保有と取引:ユーザーが任意のアドレスから操作する場合、ZKテクノロジーを使用して、どのアドレスであるかを明らかにすることなく操作権限を確認します。
これにより、すべてのアドレスが同じキーストアコントラクトに接続されていても、外部のオブザーバーはこれらのアドレスが同じユーザーに属しているかどうかを判断できないため、アドレス間のプライバシー保護が実現されます。
アドレス間の相関関係を明らかにすることなく、ユーザーの複数のアドレスを同時に回復できるプライベートなソーシャルリカバリソリューションを設計することは非常に重要です。
(1) プライバシー問題:保護者の特権
イーサリアムなどのブロックチェーンでは、ユーザーはウォレットを作成する際に複数のガーディアンを設定できます。 特にマルチシグウォレットやソーシャルリカバリーウォレットでは、ガーディアンの役割が重要です。 通常、ガーディアンは、他のユーザーが保持する N 個のアドレスの集合であり、任意の M 個のアドレスが操作を承認できます。
保護者にはどのような権限がありますか? 例えば:
1) マルチシグウォレットの場合、各トランザクションは、続行する前にM of Nのガーディアンによって署名される必要があります。
2)ソーシャルリカバリウォレットの場合、ユーザーの秘密鍵を紛失した場合、N人中M人のガーディアンがメッセージに署名して秘密鍵をリセットする必要があります。
ガーディアンはあなたの行動を承認できます。 マルチシグでは、これは任意のトランザクションになります。 ソーシャルリカバリーウォレットでは、これはアカウントの秘密鍵をリセットすることになります。 現在、保護者の仕組みが直面している課題の1つは、ユーザーの経済的プライバシーを保護者による侵害からどのように保護するかということです。
(2)ZKソリューション:保護者の侵入からユーザー財産のプライバシーを保護
ヴィタリックはこの記事で、ガーディアンが保護するのはあなたのアカウントではなく、「ロックボックス」契約であり、あなたのアカウントとこのロックボックスの間のリンクは隠されていると想定しています。 つまり、保護者はユーザーのアカウントに直接アクセスできず、非表示のロックボックスコントラクトを通じてのみ操作できます。
ZKの主な役割は、保護者が陳述書の具体的な詳細を明らかにすることなく、特定の陳述書が真実であることを証明できる証明システムを提供することです。 この場合、ガーディアンはZK-SNARKを使用して、アカウントとロックボックス間のリンクに関する詳細を明かすことなく、アクションを実行する権限を持っていることを証明できます。
イーサリアムZKトラックはまだ開発段階にあり、多くの革新的なアイデアやコンセプトがまだ考案され、研究されていますが、イーサリアムエコシステムはすでにより広範な実際の探査活動を開始しています。
(1)イーサリアム財団からの資金提供
今年9月、イーサリアム財団は、プライバシー保護に関する2つのプロジェクト、IoTeXとZK-Teamに資金を提供しました。 IoTexは、ゼロ知識証明に基づくアカウント抽象化ウォレットであり、ZK-Teamは、組織が個人のプライバシーを維持しながらチームメンバーを管理できるようにすることに取り組んでいます。
(2)投資
今年10月、イーサリアムの共同創設者であるヴィタリックは、イーサリアムにプライベートアカウントを導入することを目指して、Nocturne Labsに投資しました。 ユーザーはNocturneに「内部」アカウントを持ち、これらのアカウントからの資金の受け取り/支払い方法は匿名です。 ZKテクノロジーを通じて、ユーザーは支払い、誓約、その他の取引に十分な資金があることを証明できます。
(3)会議・活動
ETHDenverは、世界で最も重要なイーサリアムおよびブロックチェーン技術関連のイベントの1つと見なされています。 今年3月、ETHDenverはプライバシーに焦点を当てた特別イベントを開催しました。 このイベントは、イーサリアムコミュニティのプライバシー問題への関心を示すだけでなく、世界のブロックチェーンコミュニティがプライバシー保護を重視していることも反映しています。 この特別イベントでは、プライバシー・バイ・デザインやプライバシーvsセキュリティなど、プライバシーをテーマにした9つのカンファレンスが開催されました。
EDCON(Ethereum Community Conference)は、イーサリアムコミュニティが主催するグローバルな年次カンファレンスで、イーサリアムの開発とイノベーションを促進し、イーサリアムコミュニティのつながりと協力を強化することを目的としています。 5月に開催された今年のEDCONカンファレンスで、ヴィタリック氏は「今後10年間で、ZK-SNARKはブロックチェーンと同じくらい重要になるだろう」と重要な発言をしました。 この声明は、ブロックチェーン技術の発展トレンドにおけるZK-SNARKsの重要な位置を強調しています。
(4)プロジェクト
現在、一部のアプリケーション層プロジェクトでは、ZKテクノロジーを使用して、ユーザーとトランザクションにプライバシー保護サービスを提供し始めています。 これらのアプリケーション層プロジェクトは、ZKアプリケーションと呼ばれます。 例えば、プライベートアセット取引所であるイーサリアム(unyfy)にデプロイされたZKアプリケーション。 ここでの取引注文の価格は隠されており、隠された価格を持つこれらの注文の整合性はZKテクノロジーによって検証されています。 unyfy に加えて、L2 には ZigZag や Loopring などの他の ZK アプリケーションがあります。 これらのZKアプリケーションはZKに基づくプライバシー保護機能を実装していますが、EVMはこれらのZKアプリケーションを直接実行できないため、現在イーサリアムにデプロイすることはできません。
(5)研究内容
さらに、研究者たちは、イーサリアムリサーチプラットフォーム上で、ZK技術とその応用について白熱した議論を繰り広げてきました。 その中には、Salusからの研究論文があります 専用のZKを使用して、イーサリアムアプリケーション層でのプライバシー保護やその他の実装を促進します。 この記事では、いくつかの異なるZK言語(Circom、Noir、Halo2)のパフォーマンスを測定し、その結果、Circomの方がパフォーマンスが優れていることが示されました。 また、この記事では、CircomをSolidityに統合して、ZKベースのイーサリアムアプリケーションレイヤープロジェクトを実装するための一般的なソリューションも提案します。 これは、イーサリアムのプライバシー移行にとって重要な意味を持ちます。 この調査は2023年に大きな注目を集め、リストのトップにランクインしました。
この研究論文は、イーサリアム研究に関する2023年に最も読まれた研究です。
既存のイーサリアムアプリケーション層プロジェクトの多くは、ZKベースのプライバシー保護メカニズムを早急に導入する必要がありますが、このプロセスは一連の課題に直面しています。
2.ZK開発言語の制限:ZKプルーフ回路の開発には、Rust、Cairo、Halo2などの言語が使用されますが、通常は特定のシナリオにのみ適用でき、アプリケーション層プロジェクトには適していません。 Cairo など、これらの言語の一部はまだ実験段階にあり、異なるバージョン間で互換性の問題がある可能性があるため、実際のアプリケーションに採用することが困難で複雑になります。
3.ZK技術の実装の難しさ:ZK技術をイーサリアムのプライバシー保護に適用するためにヴィタリックが提案する解決策は、実際の実装において、プライベートトランザクションが残高加算攻撃や二重支払い攻撃の対象にならないようにする方法など、さまざまな複雑な問題に直面する可能性があります。 待つ。 これらの問題を解決するには、特定の技術的困難があります。
プライバシー保護とコンプライアンス:プライベートトランザクションはユーザーのIDとトランザクションの詳細を保護できますが、マネーロンダリングなどの違法行為を隠す可能性もあります。 今後、イーサリアム上のZKアプリケーションがプライバシー保護を実装する際に規制に準拠できるかどうかは、まだ検証されていません。
課題はあるものの、イーサリアムのプライバシー変革の前提条件は、プライバシーを保護した資金移動を確保し、開発中の他のすべてのツール(ソーシャルリカバリー、アイデンティティ、評判)がプライバシーを保護することを保証することであり、ZKアプリケーションの広範な展開です。 前述の通り、Salusが発表した研究は、イーサリアムのアプリケーション層のプライバシー保護などを促進するためのZK技術をベースにしています。 さらに、Salusは、CircomとSolidityを統合し、Ethereumアプリケーション層プロジェクトに適用されるユニバーサルソリューションを初めて提案しました。 CircomをベースにしたZKプルーフシステムをオフチェーンで実装し、SolidityをベースにしたイーサリアムにスマートコントラクトとZK検証ロジックを実装しています。 サポートが必要な場合やご不明な点がございましたら、お気軽にSalusにお問い合わせください。
2023年、ヴィタリック・ブテリン氏が率いるイーサリアムコミュニティは、プラットフォームのプライバシー保護機能を強化することを目的として、ゼロ知識証明技術の可能性を深く探求しました。 これらの提案はまだ研究段階にありますが、特にプライバシー保護とコンプライアンスのバランスに関するVitalikの研究と論文は、ユーザーのプライバシーを保護するためのゼロ知識技術の理論的基盤を築いています。
ゼロ知識証明技術をイーサリアムに統合することには課題がありますが、技術が成熟し、コミュニティが努力を続けるにつれて、近い将来、ゼロ知識証明がイーサリアムのエコシステムにおいてより重要な役割を果たすようになると予想されます。 したがって、早期の機会を利用して、この分野にタイムリーに参加し、積極的に調査することは、この新興分野で有利な地位を占めるのに役立ちます。
イーサリアムの共同創設者であるヴィタリック・ブテリン氏は、「プライバシーへの技術的移行が行われなければ、イーサリアムは失敗する」と明言しています。 これは、すべてのトランザクションが公開されており、多くのユーザーにとってプライバシーの犠牲が大きすぎるため、少なくともある程度データを隠す中央集権的なソリューションに目を向けているためです。
2023年、ヴィタリックはプライバシー保護とゼロ知識証明(ZK)技術に関する一連の調査を実施しました。 今年の上半期に、ヴィタリックは自身のウェブサイトで、ZKとプライバシー保護について具体的に議論する3つの記事を公開しました。 4月には、ウォレットカストディアンのプライバシー問題に関する調査をRedditで発表しました。 9月には、他の専門家と共同で、プライバシーとコンプライアンスのバランスをとるためのソリューションを提案する論文を執筆しました。
さらに、イーサリアムのエコシステムは、このトピックの議論と普及を積極的に推進しています。 3月には、プライバシーに焦点を当てた特別イベントがETHDenverイベントで開催されました。 5月に開催された毎年恒例のイーサリアムコミュニティカンファレンス(EDCON)で、ヴィタリック氏は「今後10年間で、ZK-SNARKはブロックチェーンと同じくらい重要になるだろう」と強調しました。
この記事では、2023年のイーサリアムエコシステムにおける、プライバシー保護を進めるためのZK技術の使用に関する最新の動向を追跡します。 イーサリアムZKトラックに入りたい場合、この記事は必要な解釈とガイダンスを提供することができます。
イーサリアムの透明性は、ユーザーの個人情報が漏洩するリスクにさらされる可能性があります。イーサリアムなどのブロックチェーンには秘密はなく、取引、投票、その他のオンチェーン活動を含むすべての情報が公開されています。 このようなパブリシティにより、特定のトランザクションやアドレスが追跡され、実際のユーザーIDに関連付けられる可能性があります。 したがって、イーサリアムにプライバシー保護を実装することが重要になります。 チェーン上の情報を隠すことは、暗号化技術によって実現できますが、課題は、プライバシーを保護しながら、これらのトランザクションの有効性を確実に検証できるようにすることです。 ZKテクノロジーは、プライバシーと検証可能性を考慮し、追加情報を明かすことなく取引の真正性を証明できるソリューションを提供します。
イーサリアムはZK-SNARKを非常に重要視しており、特にその重要性が特に顕著である特定の重要なプライバシー保護ユースケースにおいて重要です。 これは、ヴィタリックの研究と提案に明確に反映されています。 Salusは、Vitalikが彼の研究で提案した典型的なシナリオ、つまりプライバシー取引と社会的回復をまとめました。
プライバシー取引に関して、ヴィタリックはステルスアドレスとプライバシープールという2つの概念を提案しました。
·プライベートアドレススキームにより、トランザクション受信者の身元を隠しながらトランザクションを実行できます。このソリューションは、プライバシー保護機能を提供するだけでなく、トランザクションの透明性と監査可能性も確保します。
·プライバシープールプロトコルに基づいて、ユーザーは過去の取引を開示することなく、取引資金が既知の準拠したソースに属していることを証明できます。このソリューションにより、ユーザーは規制を遵守しながらプライベートな取引を行うことができます。
どちらのソリューションもZKと切り離せません。 どちらのシナリオでも、ユーザーはトランザクションの有効性を証明するためにゼロ知識証明を生成することができます。
アリスが特定の資産をボブに譲渡する予定であると仮定すると、ボブは資産を受け取ったときに、その情報を一般に知られたくありません。 資産譲渡の事実を隠すことは困難ですが、受取人の身元を隠す可能性があります。 このような背景から、プライバシーアドレススキームが登場し、主に取引受取人の身元を効果的に隠す方法の問題に対処しています。
では、プライベートアドレスと通常のイーサリアムアドレスの違いは何でしょうか? ZKベースのプライベートアドレスをプライベートトランザクションに使用する方法は? Salusがそれぞれを紹介します。
(1) プライベートアドレスと通常のイーサリアムアドレスの違いは何ですか?
プライベートアドレスは、トランザクションの送信者が非対話的にトランザクションを生成でき、受信者のみがアクセスできるアドレスです。 プライベートアドレスと通常のイーサリアムアドレスの違いを、誰が生成し、誰がアクセスできるかという2つの側面から説明します。
誰が生成するのか
通常のイーサリアムアドレスは、暗号化とハッシュアルゴリズムに基づいてユーザー自身によって生成されます。 プライバシーアドレスは、取引の本人または相手方によって生成できます。 たとえば、アリスがボブに送金する場合、ボブが送金を受け入れるために使用するアドレスは、ボブまたはアリスが生成できますが、制御できるのはボブだけです。
誰がアクセスできますか?
通常のイーサリアム口座の資金の種類、金額、資金源は公開されています。 プライベートアドレスを使用した取引では、受取人のみが非表示のアドレスに保存されている資金にアクセスできます。 オブザーバーは、受信者のプライベートアドレスを自分のIDに関連付けることができないため、受信者のプライバシーが保護されます。
(2) ZKベースのプライバシーアドレスをプライベートトランザクションに使用する方法は?
アリスがボブのプライベートアドレスにアセットを送信して、トランザクションの受信者を非表示にする場合。 以下は、トランザクションプロセスの詳細な説明です。
1)プライベートアドレスを生成する
● ボブは、ボブのプライベートアドレスに送られた資金を使用するために使用できる秘密キーである支出キーを生成して保存します。
● ボブは、消費キーを使用して、特定の受信者のプライバシーアドレスを計算するために使用できるプライバシーメタアドレス(ステルスメタアドレス)を生成し、 そのプライバシーメタアドレスをアリスに渡します。 Alice はプライバシー メタ アドレスを計算し、Bob に属するプライベート アドレスを生成します。
2)プライベートアドレスに資産を送る
● Alice は、資産を Bob のプライベートアドレスに送信します。
● ボブは、このプライベートアドレスが自分のものであることを知らないので、 アリスは、 このプライベートアドレスが自分のものであることをボブが発見できるように、 追加の暗号化データ(一時的な公開鍵、エフメラル公開鍵)をチェーン上に公開する必要もあります。
上記のプロセスにおけるプライバシーアドレスは、ゼロ知識証明と公開鍵暗号化を使用して構築することもできます。 プライバシーアドレスのスマートコントラクトコードは、ZKと統合することができます。 ゼロ知識証明検証のロジックを埋め込むことで、スマートコントラクトはトランザクションの有効性を自動的に検証することができます。 プライバシーアドレスを構築するこのスキームは、楕円曲線暗号、楕円曲線アイソジェニー、格子、汎用ブラックボックスプリミティブなど、他のスキームと比較して単純です。
プライベートトランザクションがトランザクション受信者の身元やトランザクションに関するその他の情報を隠すことによって達成されるかどうかにかかわらず、ユーザーがトランザクション履歴全体を開示することなく、トランザクション資金が既知の準拠ソースに属していることをどのように証明できるかという大きな問題があります。 パブリックブロックチェーンプラットフォームとして、イーサリアムはマネーロンダリングやその他の違法行為の媒体になることを避けなければなりません。
ヴィタリックは、ブロックチェーンのプライバシー保護とコンプライアンスのニーズのバランスをとることに特化した「プライバシープール」と呼ばれるソリューションを提案しました。 しかし、プライバシー保護とコンプライアンスの課題は何ですか? プライバシーとコンプライアンスのバランスを取るには? 両方の問題について、Salusは詳細で有益な議論を提供します。
(1)プライバシー保護とコンプライアンスの課題
プライバシー保護を実現しながら取引のコンプライアンスを確保するという課題は、Tornado Cashのケースを分析することで鮮やかに実証されています。
Tornado Cashは、多数の入出金を混ぜ合わせた暗号通貨ミキサーです。 ユーザーがトークンをアドレスに預けた後、トークンを預けたことを証明するためにZK Proofを提示し、新しいアドレスを使用してお金を引き出す必要があります。 これら2つの操作はチェーン上で公開されていますが、それらの間の対応は公開されていないため、匿名です。 ユーザーのプライバシーを強化できますが、違法な業者がマネーロンダリングに利用することがよくあります。 その結果、米国財務省のOFACは、最終的にTornado Cashのスマートコントラクトアドレスを制裁リストに載せました。 規制当局は、この協定はマネーロンダリングを助長し、金融犯罪との戦いを助長するものではないと考えています。
プライバシー保護におけるTornado Cashの欠点は、ユーザーのトークンソースが準拠しているかどうかを確認できないことです。この問題に対処するために、Tornado Cashは、ユーザーがトークンが準拠していることを証明するのに役立つ一元化されたサーバーを提供します。 ただし、サーバーは、ユーザーから提供された引き出しに関する特定の情報を取得し、引き出しがどの預金に対応するかを判断し、証明書を生成する必要があります。 この中央集権的なメカニズムは、信頼の前提というコストがかかるだけでなく、情報の非対称性も生み出します。 結局、このメカニズムは少数のユーザーによって使用されていました。 Tornado Cashは隠されたプライベート機能を実装していますが、ユーザートークンのソースが準拠しているかどうかを確認するための効果的なメカニズムを提供していないため、犯罪者がそれを利用することができます。
(2)プライバシーとコンプライアンスのバランスは?
上記の課題に基づいて、ヴィタリックは、ユーザーが過去の取引情報を開示することなく、資金源が準拠していることを証明できるプライバシープールの概念を提案しました。 これにより、プライバシーとコンプライアンスのバランスが取れます。
プライバシープールはZKとアソシエーションセットに基づいており、ユーザーはZK-SNARK証明書を生成して公開し、資金が既知の準拠ソースからのものであることを証明することができます。これは、資金が準拠アソシエーション・セットに属しているか、または非準拠アソシエーション・セットに属していないことを意味します。
アソシエーション コレクションは、アソシエーション コレクション プロバイダーによって、特定の戦略に従って構築されます。
1)メンバーシップ証明:すべての信頼できる取引プラットフォームからの預金を関連するセットに入れ、それらが低リスクであるという明確な証拠があります。
2)除外の証拠:リスクとしてマークされている預金のグループ、またはそれらが非準拠の資金であるという明確な証拠がある預金を特定します。 これらの堆積物を除くすべての堆積物を含む関連コレクションを構築します。
入金の際、ユーザーはZKを通じてシークレットを生成し、それをハッシュ化して公開コインIDを計算し、ファンドとの関連性をマークします。 お金を引き出すとき、ユーザーは資金が自分のものであることを証明するために、シークレットに対応する無効化者(無効化者はシークレットから派生した一意の識別子です)を提出します。 さらに、ユーザーはZKを使用して2つのマークルブランチを証明し、資金が既知の準拠ソースに属していることを証明します。
1)彼のコインIDは、現在発生しているすべてのトランザクションのコレクションであるコインIDツリーに属しています。
2)彼のコインIDは、ユーザーが考慮するいくつかの正当なトランザクションのコレクションであるアソシエーションセットツリーに属しています。
(3) プライバシープールにおけるZKのアプリケーションシナリオは何ですか?
1)私的取引における柔軟性の保証:私的取引におけるあらゆる金種の送金を処理するために、各取引には追加のゼロ知識証明が添付されています。 この証明により、作成されたトークンの合計額面が消費されたトークンの総額面を超えないことが保証され、それによってトランザクションの有効性が保証されます。 第二に、ZKは、各トランザクションが元の入金トークンIDにコミットしていることを確認することで、取引の継続性とプライバシーを維持し、部分的な出金の場合でも、各出金が対応する元の入金に関連付けられていることが保証されます。
2)残高合計攻撃に抵抗する:トークンをマージしてトークンIDのセットにコミットし、複数の入力トランザクションの親トランザクションの和集合にコミットすることで、残高合計攻撃に抵抗できます。 このアプローチは、ZKに依存して、コミットされたすべてのトークンIDが関連するセットに含まれるようにすることで、トランザクションのプライバシーを強化します。
実生活では、複数の銀行カード口座を持っている場合があります。 銀行カードのパスワードを紛失すると、銀行カードの資金を使用できなくなります。 この場合、私たちは通常、銀行に行き、パスワードを回復するための助けを求めます。
同様に、イーサリアムなどのブロックチェーンでは、複数のアドレス(アカウント)を持つ場合があります。 秘密鍵は銀行カードのパスワードのようなもので、口座の資金を管理する唯一のツールです。 秘密鍵を紛失すると、アカウントのコントロールを失い、アカウントの資金にアクセスできなくなります。 実際のパスワード検索と同様に、ブロックチェーンウォレットは、ユーザーが紛失した秘密鍵を取り戻すのに役立つソーシャルリカバリメカニズムを提供します。 このメカニズムにより、ユーザーはウォレットを作成する際に、信頼できる個人のグループを保護者として選択できます。 これらのガーディアンは、ユーザーの秘密鍵を紛失した場合にそのリセットを承認することで、ユーザーがアカウントの制御を取り戻すのを助けることができます。
この社会的回復と保護者のメカニズムの下で、ヴィタリックは注意が必要な2つのプライバシー保護ポイントを提案しました。
1)ユーザーの複数のアドレス間の相関関係を隠す:ユーザーのプライバシーを保護するために、1つのリカバリーフレーズを使用して複数のアドレスを復元する際に、複数のアドレスの所有権が公開されるのを防ぐ必要があります。
2)ユーザーの財産プライバシーを保護者の侵入から保護する:ユーザーの操作を承認するプロセス中に、保護者がユーザーの資産情報を取得したり、取引行動を観察したりできないようにし、ユーザーの財産プライバシーが侵害されることを防止する必要があります。
この2種類のプライバシー保護を実現するための鍵となる技術が、ゼロ知識証明です。
(1)社会回復におけるプライバシー問題:住所間の相関関係が開示される
イーサリアムなどのブロックチェーンでは、プライバシーを保護するために、ユーザーは通常、さまざまなトランザクションに対して複数のアドレスを生成します。 トランザクションごとに異なるアドレスを使用することで、外部のオブザーバーがそれらのトランザクションを同じユーザーに簡単にリンクするのを防ぐことができます。
ただし、ユーザーの秘密鍵を紛失した場合、秘密鍵によって生成された複数のアドレスの資金は回収されません。 この場合、社会的回復が必要です。 簡単な復旧方法は、ワンクリックで複数のアドレスを復旧する方法で、ユーザーは同じ復旧フレーズを使用して、1つの秘密鍵で生成された複数のアドレスを復旧します。 しかし、ユーザーが複数のアドレスを生成する本来の意図は、それらが互いに関連しないようにすることであるため、このアプローチは理想的ではありません。 ユーザーがすべてのアドレスを同時に、または同様の時間に復元することを選択した場合、これは実際には、これらのアドレスが同じユーザーによって所有されていることを外部に公開することと同じです。 この方法では、ユーザーがプライバシーを保護するために複数のアドレスを作成するという本来の目的が損なわれます。 これは、社会的回復プロセスにおけるプライバシー保護の問題を構成します。
(2)ZKソリューション:複数アドレスの相関関係が漏洩するのを防ぐには?
ZKテクノロジーは、ブロックチェーン上のユーザーの複数のアドレス間の相関関係を隠すために使用できます。 ソーシャルリカバリー中のプライバシーに関する懸念は、検証ロジックと資産保有を分離するアーキテクチャを通じて対処します。
1)検証ロジック:ユーザーはブロックチェーン上に複数のアドレスを持っていますが、これらすべてのアドレスの検証ロジックは1つのメイン認証コントラクト(キーストアコントラクト)に接続されています。
2)資産の保有と取引:ユーザーが任意のアドレスから操作する場合、ZKテクノロジーを使用して、どのアドレスであるかを明らかにすることなく操作権限を確認します。
これにより、すべてのアドレスが同じキーストアコントラクトに接続されていても、外部のオブザーバーはこれらのアドレスが同じユーザーに属しているかどうかを判断できないため、アドレス間のプライバシー保護が実現されます。
アドレス間の相関関係を明らかにすることなく、ユーザーの複数のアドレスを同時に回復できるプライベートなソーシャルリカバリソリューションを設計することは非常に重要です。
(1) プライバシー問題:保護者の特権
イーサリアムなどのブロックチェーンでは、ユーザーはウォレットを作成する際に複数のガーディアンを設定できます。 特にマルチシグウォレットやソーシャルリカバリーウォレットでは、ガーディアンの役割が重要です。 通常、ガーディアンは、他のユーザーが保持する N 個のアドレスの集合であり、任意の M 個のアドレスが操作を承認できます。
保護者にはどのような権限がありますか? 例えば:
1) マルチシグウォレットの場合、各トランザクションは、続行する前にM of Nのガーディアンによって署名される必要があります。
2)ソーシャルリカバリウォレットの場合、ユーザーの秘密鍵を紛失した場合、N人中M人のガーディアンがメッセージに署名して秘密鍵をリセットする必要があります。
ガーディアンはあなたの行動を承認できます。 マルチシグでは、これは任意のトランザクションになります。 ソーシャルリカバリーウォレットでは、これはアカウントの秘密鍵をリセットすることになります。 現在、保護者の仕組みが直面している課題の1つは、ユーザーの経済的プライバシーを保護者による侵害からどのように保護するかということです。
(2)ZKソリューション:保護者の侵入からユーザー財産のプライバシーを保護
ヴィタリックはこの記事で、ガーディアンが保護するのはあなたのアカウントではなく、「ロックボックス」契約であり、あなたのアカウントとこのロックボックスの間のリンクは隠されていると想定しています。 つまり、保護者はユーザーのアカウントに直接アクセスできず、非表示のロックボックスコントラクトを通じてのみ操作できます。
ZKの主な役割は、保護者が陳述書の具体的な詳細を明らかにすることなく、特定の陳述書が真実であることを証明できる証明システムを提供することです。 この場合、ガーディアンはZK-SNARKを使用して、アカウントとロックボックス間のリンクに関する詳細を明かすことなく、アクションを実行する権限を持っていることを証明できます。
イーサリアムZKトラックはまだ開発段階にあり、多くの革新的なアイデアやコンセプトがまだ考案され、研究されていますが、イーサリアムエコシステムはすでにより広範な実際の探査活動を開始しています。
(1)イーサリアム財団からの資金提供
今年9月、イーサリアム財団は、プライバシー保護に関する2つのプロジェクト、IoTeXとZK-Teamに資金を提供しました。 IoTexは、ゼロ知識証明に基づくアカウント抽象化ウォレットであり、ZK-Teamは、組織が個人のプライバシーを維持しながらチームメンバーを管理できるようにすることに取り組んでいます。
(2)投資
今年10月、イーサリアムの共同創設者であるヴィタリックは、イーサリアムにプライベートアカウントを導入することを目指して、Nocturne Labsに投資しました。 ユーザーはNocturneに「内部」アカウントを持ち、これらのアカウントからの資金の受け取り/支払い方法は匿名です。 ZKテクノロジーを通じて、ユーザーは支払い、誓約、その他の取引に十分な資金があることを証明できます。
(3)会議・活動
ETHDenverは、世界で最も重要なイーサリアムおよびブロックチェーン技術関連のイベントの1つと見なされています。 今年3月、ETHDenverはプライバシーに焦点を当てた特別イベントを開催しました。 このイベントは、イーサリアムコミュニティのプライバシー問題への関心を示すだけでなく、世界のブロックチェーンコミュニティがプライバシー保護を重視していることも反映しています。 この特別イベントでは、プライバシー・バイ・デザインやプライバシーvsセキュリティなど、プライバシーをテーマにした9つのカンファレンスが開催されました。
EDCON(Ethereum Community Conference)は、イーサリアムコミュニティが主催するグローバルな年次カンファレンスで、イーサリアムの開発とイノベーションを促進し、イーサリアムコミュニティのつながりと協力を強化することを目的としています。 5月に開催された今年のEDCONカンファレンスで、ヴィタリック氏は「今後10年間で、ZK-SNARKはブロックチェーンと同じくらい重要になるだろう」と重要な発言をしました。 この声明は、ブロックチェーン技術の発展トレンドにおけるZK-SNARKsの重要な位置を強調しています。
(4)プロジェクト
現在、一部のアプリケーション層プロジェクトでは、ZKテクノロジーを使用して、ユーザーとトランザクションにプライバシー保護サービスを提供し始めています。 これらのアプリケーション層プロジェクトは、ZKアプリケーションと呼ばれます。 例えば、プライベートアセット取引所であるイーサリアム(unyfy)にデプロイされたZKアプリケーション。 ここでの取引注文の価格は隠されており、隠された価格を持つこれらの注文の整合性はZKテクノロジーによって検証されています。 unyfy に加えて、L2 には ZigZag や Loopring などの他の ZK アプリケーションがあります。 これらのZKアプリケーションはZKに基づくプライバシー保護機能を実装していますが、EVMはこれらのZKアプリケーションを直接実行できないため、現在イーサリアムにデプロイすることはできません。
(5)研究内容
さらに、研究者たちは、イーサリアムリサーチプラットフォーム上で、ZK技術とその応用について白熱した議論を繰り広げてきました。 その中には、Salusからの研究論文があります 専用のZKを使用して、イーサリアムアプリケーション層でのプライバシー保護やその他の実装を促進します。 この記事では、いくつかの異なるZK言語(Circom、Noir、Halo2)のパフォーマンスを測定し、その結果、Circomの方がパフォーマンスが優れていることが示されました。 また、この記事では、CircomをSolidityに統合して、ZKベースのイーサリアムアプリケーションレイヤープロジェクトを実装するための一般的なソリューションも提案します。 これは、イーサリアムのプライバシー移行にとって重要な意味を持ちます。 この調査は2023年に大きな注目を集め、リストのトップにランクインしました。
この研究論文は、イーサリアム研究に関する2023年に最も読まれた研究です。
既存のイーサリアムアプリケーション層プロジェクトの多くは、ZKベースのプライバシー保護メカニズムを早急に導入する必要がありますが、このプロセスは一連の課題に直面しています。
2.ZK開発言語の制限:ZKプルーフ回路の開発には、Rust、Cairo、Halo2などの言語が使用されますが、通常は特定のシナリオにのみ適用でき、アプリケーション層プロジェクトには適していません。 Cairo など、これらの言語の一部はまだ実験段階にあり、異なるバージョン間で互換性の問題がある可能性があるため、実際のアプリケーションに採用することが困難で複雑になります。
3.ZK技術の実装の難しさ:ZK技術をイーサリアムのプライバシー保護に適用するためにヴィタリックが提案する解決策は、実際の実装において、プライベートトランザクションが残高加算攻撃や二重支払い攻撃の対象にならないようにする方法など、さまざまな複雑な問題に直面する可能性があります。 待つ。 これらの問題を解決するには、特定の技術的困難があります。
プライバシー保護とコンプライアンス:プライベートトランザクションはユーザーのIDとトランザクションの詳細を保護できますが、マネーロンダリングなどの違法行為を隠す可能性もあります。 今後、イーサリアム上のZKアプリケーションがプライバシー保護を実装する際に規制に準拠できるかどうかは、まだ検証されていません。
課題はあるものの、イーサリアムのプライバシー変革の前提条件は、プライバシーを保護した資金移動を確保し、開発中の他のすべてのツール(ソーシャルリカバリー、アイデンティティ、評判)がプライバシーを保護することを保証することであり、ZKアプリケーションの広範な展開です。 前述の通り、Salusが発表した研究は、イーサリアムのアプリケーション層のプライバシー保護などを促進するためのZK技術をベースにしています。 さらに、Salusは、CircomとSolidityを統合し、Ethereumアプリケーション層プロジェクトに適用されるユニバーサルソリューションを初めて提案しました。 CircomをベースにしたZKプルーフシステムをオフチェーンで実装し、SolidityをベースにしたイーサリアムにスマートコントラクトとZK検証ロジックを実装しています。 サポートが必要な場合やご不明な点がございましたら、お気軽にSalusにお問い合わせください。
2023年、ヴィタリック・ブテリン氏が率いるイーサリアムコミュニティは、プラットフォームのプライバシー保護機能を強化することを目的として、ゼロ知識証明技術の可能性を深く探求しました。 これらの提案はまだ研究段階にありますが、特にプライバシー保護とコンプライアンスのバランスに関するVitalikの研究と論文は、ユーザーのプライバシーを保護するためのゼロ知識技術の理論的基盤を築いています。
ゼロ知識証明技術をイーサリアムに統合することには課題がありますが、技術が成熟し、コミュニティが努力を続けるにつれて、近い将来、ゼロ知識証明がイーサリアムのエコシステムにおいてより重要な役割を果たすようになると予想されます。 したがって、早期の機会を利用して、この分野にタイムリーに参加し、積極的に調査することは、この新興分野で有利な地位を占めるのに役立ちます。