ConsenSys の調査結果: イーサリアムでのプライバシーの実現
編集者注: この記事は以下から引用しましたクリプトバレーライブ (ID:cryptovalley)編集者注: この記事は以下から引用しました
クリプトバレーライブ (ID:cryptovalley)
クリプトバレーライブ (ID:cryptovalley)
、著者: Dean Pierce (ConsenSys Diligence)、Robert Drost (ConsenSys 研究開発部)、Mason Nystrom (ConsenSys)、翻訳: Flash Chan、許可を得て Odaily 転載します。
ますますつながりが増し、私たちの情報がますます分類、コピー、共有、販売される世界では、一定レベルのプライバシーを維持することが重要な課題です。
プライバシーは二項構造ではなく、完全な公開から完全な非公開まで変動するカテゴリです。したがって、プライバシーに関しては、最初に議論すべき 3 つの問題があります。
消費者や企業が保護したいプライバシーは何ですか?
人々はプライバシーのために代償を払うつもりなのでしょうか?
パブリック ブロックチェーン上でプライベート トランザクションを実装する場合のトレードオフは何ですか?
このペーパーの目的は、パブリック ブロックチェーンにおける実際のプライバシーのニーズを簡単に検証し、プライバシー ソリューションへの現実的な道筋について議論することです。
プライバシーの 1 つの側面は匿名性、つまり自分の身元を秘密にしておく権利です。パブリック ブロックチェーンの文脈では、匿名性とは、当事者が身元や取引に関するその他の情報を明らかにせずに何か (お金、トークン、データ) を交換できる能力を指します。これはプライバシーの 1 つの側面にすぎませんが、ブロックチェーンの発展とともにその重要性が高まっています。
BTCやETHなどの暗号資産はますます追跡されており、トランザクションでパブリックアドレスをリンクすることで、暗号資産と法定通貨を交換する際にアドレスの正体を分析してリンクすることが可能になります。この最終結果は、取引の両当事者の身元が公開されることになります。パブリック ブロックチェーンは基本的にすべてのトランザクションのログを提供する必要があるため、ユーザーと企業のプライバシーを保護するために暗号化アルゴリズムとプロトコルを使用することがますます重要になっています。
プライバシーに関して、企業と消費者のニーズは大きく異なります。企業は多くの場合、製品名、数量、価格、住所、個人を特定できる財務情報などの取引データのプライバシーを維持する必要があります。
ネットワーク参加者の ID は一般的に知られていますが、役割の ID によっては、保持するか、他の参加者が利用できるようにする必要がある場合があります。
たとえば、貨物運送業者は、特定の海上コンテナの中身を知る必要はなく、コンテナが到着したことだけを知る必要があるかもしれません。銀行規則により、取引データにアクセスできるユーザーも制限されます。イーサリアム上のプライベートトランザクションにzk-snarksを使用するEYのNightfallプロトコルや、JPモルガン・チェースが開発したAnonymous-Zether for Quorumは、企業がイーサリアム向けに開発したプライバシー・ソリューションの典型的な例です。
企業は強い商業的動機やプライバシー規制を持つ傾向がありますが、対照的に、消費者はプライバシーに対する意識が低く、一般に懸念が低い傾向があります。消費者は、単に自分の ID、クレジット カード情報、またはその他の機密データを詐欺や個人情報の盗難から保護したいと考えている場合があります。消費者は匿名で取引をしたい場合がありますが、そのためには取引の送信者と受信者の両方が匿名である必要があります。しかし、日常生活ではプライバシーはユーザーによって無視されることが多く、ほとんどの人は利便性や無料アクセス (Cookie の受け入れ、無料 Wi-Fi の使用など) のためにプライバシーの権利を犠牲にすることを厭いません。
学術研究や企業での導入を通じて、オープン スタンダードから多くの成果が得られ、これらのテクノロジーの多くは個々のユーザーのテクノロジー スタックに組み込まれ、最終的にはエンド ユーザーに利益をもたらしています。
ブロックチェーンに関する限り、Zcash は 3 年近く前のものですが、SNARK を使用して保存されているのは既存の ZEC の約 5% だけです。 ZEC の約 95% は、プライバシーがほとんどない透過的なアドレスに保存されます。この普及率の低さから、おそらくほとんどのユーザーはプライバシーのためにコストと労力を支払う必要性がまだないのではないかと推測できます。
振り返ってみると、組み込みのプライバシー層 (SSL など) の成功により、インターネットは信頼できる商用メディアになりましたが、ブロックチェーン技術の主流の採用は依然としてプライバシーの重要な問題を避けることができません。
副題
プライバシーのトレードオフ
この質問はより技術的なものです。イーサリアムでプライバシーを実現する方法をさらに深く掘り下げる必要があります。ブロックチェーン ネットワークでは、分散化とスケーラビリティのトレードオフがあり、プライバシー メカニズムとテクノロジーの間にはトレードオフがあります。まず、他のプライバシー重視のブロックチェーンが何を達成したかを調査し、次にイーサリアム ネットワーク上のプライバシー ソリューションについて説明します。
プライバシーに重点を置いたその他の典型的なブロックチェーン プロジェクト (Monero と Zcash)
イーサリアムの詳細に入る前に、プライバシーコイン分野の 2 つの主要プレーヤーである Monero と Zcash を紹介しましょう。
アルトコインの初期の頃、Monero は特別でした。そのコードは BTC にまったく基づいておらず、Bytecoin と呼ばれるまったく無関係の暗号化資産プロジェクトに基づいていたからです (Bytecoin は、CryptoNote プロトコルを使用した最初の暗号化資産でした)。
元の CryptoNote の設計では、トランザクション送信者の署名を他の多くのおとり署名と混合 (ミックスイン) しており、トランザクションの送信者を難読化していました。これとステルス アドレス出力を組み合わせると、非常に強力なプライバシーが保証されます。 「リング シグネチャ」方式は、高度な内蔵ミキサーとして長い間認識されてきましたが、これは何も新しいことではありません。
2017 年に RingCT が導入され、トランザクション データを隠すリング署名の機能が大幅に向上しました。 RingCT は、Zero-Knowledge Range Proof (ZKRP) を使用して、バッチで処理できる署名の種類を増やします。
2018 年末、Monero ネットワークに「Bulletproofs」が導入されました。これは、リング内の署名の数に応じて対数的にスケールし、必要なトランザクション サイズを削減するエキサイティングな新しいゼロ知識構造です。この改善により、Monero の機能が他のブロックチェーン プロジェクトと一致するようになります。
Zcash は、zksnark を使用する最初の暗号資産です。この手法を使用すると、ユーザーは受信者のみに表示される完全にプライベートなトランザクションを送信できます。外部の観察者にとって、プライベート アドレスに送信された ZEC は大きな暗号化ブラック ボックスの中に消えてしまうように見えます。受信者がトークンを非プライベート アドレス (標準的な BTC アドレスと同様) に戻したい場合、トークンは送信者と受信者の間に目に見えるつながりがなく、どこからともなく現れたように見えます。
ゼロ知識証明に関する重要な注意点は、実行にはより多くのコンピューティング能力が必要となり、トランザクションのコストが高くなるということです。
副題
イーサリアム ネットワークは擬似匿名性を提供し (つまり、トランザクションはユーザー名/パスワードで署名されるのではなく、ユーザーの秘密鍵で署名された公開鍵アドレスにリンクされます)、その分散型の性質と透明性により、多くの新しい技術機能が可能になります。
ただし、BTC と同様に、イーサリアムも、代替のデジタル資産転送を使用するときに、共有情報の広さを認識していないユーザーを無意識のうちにさらしてしまいます。
プライバシーに対する脅威の 1 つは、公開キーと秘密キーに関連付けられた ID をユーザーが知っていることです。 BTC やイーサリアムなどのブロックチェーンの公共性を考慮すると、その組み込みのトランザクション フレームワークを無邪気に使用することは、資産 (代替可能な資産であっても) の移転痕跡を追跡するためにパンくずリストを他人に残すようなものです。
アドレスを生成することでプライバシーを保証
プライバシー テクノロジーが進化し続けるにつれて、より多くの複雑な脅威モデルが考慮される可能性があります。 2012 年、BIP32 は階層的決定論的キーを導入しました。これにより、単一のシード フレーズで「新しい」BTC アドレスの終わりのないストリームを生成できるようになります。これにより、ユーザーはトランザクションを受け入れるたびに新しいアドレスを生成でき、これらのアドレスはすべて、ランダムに生成された複数のキーを個別にインポートすることなく、新しいウォレットに簡単にエクスポートおよびインポートできます。
イーサリアムにも同じ機能がありますが、必要な ETH 資金が利用可能になるまで、新しく生成されたキーはスマート コントラクトと対話できません。問題をさらに複雑にしているのは、イーサリアム上に構築された多くのシステムがユーザーの実世界のアイデンティティをアドレスにリンクしているという事実です。イーサリアムのアドレスにリンクされたこの追加のメタデータにより、イーサリアムは匿名化攻撃に対して特に脆弱になります。幸いなことに、イーサリアムをこれらの脅威にさらすスマート コントラクト機能では、最先端の暗号化も使用でき、安全でシームレスなプライベート トランザクションが可能になります。
副題
多くのゼロ知識構造には、いわゆる「信頼できるセットアップ」が必要です。これは、構造全体が特別な乱数の生成に依存しており、これらの乱数を知っていれば誰でも内部の仕組みを覗くことができることを意味します。
Zero-Knowledge Notes (ZK-Notes)
この懸念を軽減するために、開発者は、構成が信頼できることを保証するためにランダム パラメーターを生成する複雑なスキームを考案しました。これには通常、コミュニティの複数の信頼できるメンバーが関与し、それぞれが独自のプライベートなランダム データを取得し、それらを何らかの方法で相互に結合します。「いずれかの」当事者がキー データを削除しても、シークレット値は安全です。したがって、関係者全員が共謀した場合にのみ、この構造が危険にさらされる可能性があります。
Monero で使用される Bulletproof には信頼できる初期設定が必要ありませんが、Zcash の zksnark には必要があることに注意してください。 Zcash の信頼できる初期設定については、RadioLab に記載されています。対照的に、STARK は、特別な数値ではなくハッシュ関数を「セットアップ」として使用することを選択するため、信頼できる初期セットアップを必要としません。
副題
イーサリアムのプライバシー分野の先駆者として、AZTEC プロトコルは「ゼロ知識メモ」システムを使用して隠された財務情報を追跡します。これらのメモは、各メモの所有者を含めてイーサリアム ネットワーク上で表示されますが、各メモに保存されている金額は、メモの所有者以外の誰にも隠されています。
一般的な使用例では、「ZK-Asset」コントラクトを任意の ERC-20 互換トークンに接続し、ユーザーがトークンをデポジットして ZK-Notes を生成したり、ZK-Notes を書き込んで出金したりできるようにします。このメカニズムにより、イーサリアム ネットワーク上の既存の資産をプライバシーを保護した方法で取引できるようになります。 AZTEC プロトコルで使用される証明は、zk-snarks よりも使いやすいですが、それでも信頼できる初期設定が必要です。
Aztec は、信頼できる設定を確立するために他の新しいソリューションも使用しています。 PLONK は、すべてのプログラムで再利用できる単一の信頼できるセットアップを必要とする、新しい効率的な ZK-SNARK 構造です。 PLONKはガス要件が低いため、イーサリアムの実用化に十分な効果を発揮します。
AZTEC Protocol CEO の Tom Pocock は、PLONK を使用すると、完全なプライバシーを維持しながら複雑な論理ステートメントを作成できると考えています。
副題
ZK と安全なマルチパーティ計算 (Secure MPC) の組み合わせ
ZKBoo と Ligero に実装されたこのアプローチにより、検証者は安全なマルチパーティ計算プロトコルのコピーを提出するよう証明者に要求することで、安全なマルチパーティ計算プロトコルを ZK-PCP システム (確率的証明を使用する最初の ZK システムの 1 つ) に「コンパイル」することができます。計算プロトコル。ビューの 1 つをランダムに評価します。これは、関連データの知識を持つエンティティが、複数の関係者間で分散計算を任意にシミュレートし、ランダムな評価時点で計算のコピーを表示できることを意味します。さらに重要なのは、MPC を使用するとプライベート スマート コントラクトを作成できるようになります。
ZK-STARK と同様、MPC ベースの証明には次の特徴があります。
透明性: 乱数の生成は公開情報です。
スケーラブル: MPC ベースの証明には、準線形の証明時間と検証時間があり、バッチ計算を効率的に実行できます。
このような手法の使用に関するトレードオフの一部は、小規模から中規模の「回路」問題に対して手法がどのように最適化されるかに関係しており、検証者にとってスケーラビリティの問題を引き起こす可能性があります。
副題
ハードウェアの制限
Zcash が最初に zk-snarks を使用してトランザクションを送信するというアイデアを導入したとき、単一のトランザクションを生成するのに数時間以上かかるため、秘密トランザクションの使用に必要な計算能力について深刻な懸念がありました。しかしそれ以来、私たちは大きな進歩を遂げ、現在では同様のタスクをブラウザーやモバイル デバイス上でも数秒で実行できるようになりました。
副題
ミキサー
イーサリアムミキサーは、ウォレットまたは個人のローカルプライベートトランザクションを容易にします。 ETH のトレーサビリティは、特定のトランザクションを追跡し、他のウォレットやアカウントにリンクできることを意味します。ミキサーはETHの交換に使用され、トランザクションをさらに匿名化します。
多くのグループがイーサリアムミキサーをより実用的なものにすることに取り組んでいます。以下は、混合ETHの保管および引き出しにかかる計算料金とガス料金の最新のグラフです。
アプリケーション層の単一ミキサーはまだユーザーに絶対的なプライバシーを提供することはできず、確率的な保証のみを提供します。ただし、個人やビジネスのほとんどのニーズにはこれで十分です。
副題
ガス代は誰が払うの?
これらのアプローチの致命的な欠陥は、結局のところ、出力を得るために誰かがガス料金を支払う必要があることです。このETHはどこから来たのでしょうか?最終的に支払われた ETH がユーザーに遡ることができれば、そのユーザーの匿名化が解除される可能性があり、目的自体が無効になってしまいます。
これにより、匿名 ETH を受け入れる唯一の方法がすでに匿名 ETH を持っていることになるというプライバシーの「鶏が先か、卵が先か」のシナリオが生まれます。ミキサーに関する Vitalik のブログ投稿では、単純なリレーラー登録契約によってこの問題を解決しています。このプロトコルでは、任意のトランザクションの公開を約束する中継オペレーターが HTTP エンドポイントを登録して、そのようなトランザクションを匿名で公開できるようにすることができます。
最後に、ウォレットの改ざんと運用上のセキュリティを考慮する必要があります。ユーザーをあまり煩雑にせずに保護するための安全なデフォルトを見つける方法については、現在も議論が続いています。これらのハイブリッド ソリューションはすべて、ツールが大衆にとって簡単にアクセスできる必要があるため、プライバシーを合理的に期待した多数の参加者を必要とします。ただし、ショートカットはかなり深刻なプライバシー侵害につながる可能性があります。たとえば、ユーザーが一部の ETH を混合し、プライベートであるはずの何かにその一部を費やした後、プライベートな取引に使用したウォレットを忘れて、残りの ETH をパブリックに関連付けられたウォレットに送り返す可能性があります。 .アドレス。


