保険の用語を冠したプライバシーツールが、今週の私にとっていちばん面白い技術的読み物の一つになるとは想像していませんでしたが、Hedgerはそれをやってのけました。Dusk Networkは、機密取引をEVM互換の実行レイヤーであるDuskEVMへ持ち込むために、Hedgerを特別に構築しています。そして、それを支えるエンジニアリング上の意思決定は、実際に「トレードオフ」が何を意味するのかをよく物語っています。
DeFiにおける多くのプライバシー・システムは、ゼロ知識証明に大きく依存しています。Hedgerはそれに加えて同型暗号を組み合わせており、具体的には楕円曲線暗号上に構築されたElGamalを用いることで、値を一切公開することなく暗号化されたまま計算を行えます。さらに、UTXOの世界とアカウントベースの世界の両方から考え方を取り入れたハイブリッドモデルと組み合わせることで、統合者それぞれに新しいメンタルモデルを学び直してもらうのではなく、標準のEthereum向けツールにそのまま組み込める形になっています。この1つの設計判断こそが、他の場所で既にSolidityのコントラクトを運用しているチームが、ゼロから既存ツールチェーンを作り直さずに、機密送金を追加できる理由です。
率直なところ、そして私が尊敬している点は、Duskがそれを過大に売り込んでいないことです。Hedger自身のドキュメントでは、DuskEVMがアカウントベースのモデルで動作するため、Duskの以前のUTXOベースのプライバシープロトコルであるZedgerが提供するのと同レベルの完全な匿名性は提供できない、と認めています。Hedgerが絶対的な匿名性の面で手放したものを、合成可能性(composability)、性能、そしてSolidityをすでに知っている任意の開発者によって使えることによって取り戻しているのです。
それは機関投資家の採用という観点では適切なトレードオフだと思いますが、なおそれは「無料のアップグレード」ではなく、トレードオフであることに変わりません。Duskのスタック全体に見られるより大きなパターンに沿っていて、プライバシー、透明性、選択的開示、そして決定論的な決済を、同チームが規制市場向けの「プログラマブル・プライバシー」と呼ぶ形に統合しています。プライバシーチェーンを比較するなら、DuskEVMやHedgerがZedgerが本来想定して作られたあらゆるケースをカバーしていると決めつける前に、自分たちが本当に必要としているのはどちらのプライバシーか――完全匿名か、それとも監査可能な機密性か――を問うべきです。#dusk $DUSK @Dusk
DeFiにおける多くのプライバシー・システムは、ゼロ知識証明に大きく依存しています。Hedgerはそれに加えて同型暗号を組み合わせており、具体的には楕円曲線暗号上に構築されたElGamalを用いることで、値を一切公開することなく暗号化されたまま計算を行えます。さらに、UTXOの世界とアカウントベースの世界の両方から考え方を取り入れたハイブリッドモデルと組み合わせることで、統合者それぞれに新しいメンタルモデルを学び直してもらうのではなく、標準のEthereum向けツールにそのまま組み込める形になっています。この1つの設計判断こそが、他の場所で既にSolidityのコントラクトを運用しているチームが、ゼロから既存ツールチェーンを作り直さずに、機密送金を追加できる理由です。
率直なところ、そして私が尊敬している点は、Duskがそれを過大に売り込んでいないことです。Hedger自身のドキュメントでは、DuskEVMがアカウントベースのモデルで動作するため、Duskの以前のUTXOベースのプライバシープロトコルであるZedgerが提供するのと同レベルの完全な匿名性は提供できない、と認めています。Hedgerが絶対的な匿名性の面で手放したものを、合成可能性(composability)、性能、そしてSolidityをすでに知っている任意の開発者によって使えることによって取り戻しているのです。
それは機関投資家の採用という観点では適切なトレードオフだと思いますが、なおそれは「無料のアップグレード」ではなく、トレードオフであることに変わりません。Duskのスタック全体に見られるより大きなパターンに沿っていて、プライバシー、透明性、選択的開示、そして決定論的な決済を、同チームが規制市場向けの「プログラマブル・プライバシー」と呼ぶ形に統合しています。プライバシーチェーンを比較するなら、DuskEVMやHedgerがZedgerが本来想定して作られたあらゆるケースをカバーしていると決めつける前に、自分たちが本当に必要としているのはどちらのプライバシーか――完全匿名か、それとも監査可能な機密性か――を問うべきです。#dusk $DUSK @Dusk
