#dusk $DUSK @Dusk
本当に……私がずっと見落としていた違いはこれです。取引を隠すことと、スマートコントラクトの内部状態を隠すことは、まったく別の問題であり、Duskについて語る多くの人がそれを混同しています。
プライバシーコインは、最初の問題を何年も前に解決しました――誰が誰に何を送ったかを隠すことです。DuskにおけるPhoenixの仕事がまさにそれです。ですが、スマートコントラクトは単なる取引ではありません。内部変数を持つ「実行中のプログラム」です。融資(ローン)コントラクトはあなたの担保比率を知る必要があります。オークションのコントラクトは入札を追跡する必要があります。そうした状態がパブリックチェーン上でそのまま露出してしまうなら、それを作った取引のプライバシーがどれほど保たれていても、ほとんど意味がありません――誰でもコントラクトのメモリを読めてしまうからです。
Duskは、その2つ目の問題に特化して、機密(コンフィデンシャル)なコントラクト実行を設計しました。これにより、コントラクトがその状態に対して正しく動作し続けられる一方で、コントラクトの状態は暗号化されたまま保たれます。これは、単に送金額を隠すことよりも、はるかに難しい保証です。コントラクトは、自分自身のルールに従ったこと――有効な入札を処理したこと、実在する担保の閾値を確認したこと――を、そこで使った数値を一切明かさずに証明しなければなりません。
それによって可能になるのは、単なる私的な支払いではなく、プライベートな金融ロジックです。規制された証券であれば、取引制限を組み込むことで、その制限をオンチェーンで強制できますが、同時に「誰が制限されているのか」や「なぜ制限されているのか」を公開せずに済みます。これは、実際の証券規制が本当に求めているものに非常に近い――監視ではなく、統制です。
ただし落とし穴があります。検証コストです。隠されたデータ上で計算が正しく行われたことを証明するには、単純な取引が有効だったことを証明するよりも、より多くの暗号学的作業が必要になります。そのオーバーヘッドこそが、「プライベートに考えることのできる」コントラクトの代償です。
この区別は小さなものに見えて、結果は大きいです。この領域で「プライベートな支払い」は簡単な課題でした。真の難問は、いつだって「プライベートな計算」だったのです。
本当に……私がずっと見落としていた違いはこれです。取引を隠すことと、スマートコントラクトの内部状態を隠すことは、まったく別の問題であり、Duskについて語る多くの人がそれを混同しています。
プライバシーコインは、最初の問題を何年も前に解決しました――誰が誰に何を送ったかを隠すことです。DuskにおけるPhoenixの仕事がまさにそれです。ですが、スマートコントラクトは単なる取引ではありません。内部変数を持つ「実行中のプログラム」です。融資(ローン)コントラクトはあなたの担保比率を知る必要があります。オークションのコントラクトは入札を追跡する必要があります。そうした状態がパブリックチェーン上でそのまま露出してしまうなら、それを作った取引のプライバシーがどれほど保たれていても、ほとんど意味がありません――誰でもコントラクトのメモリを読めてしまうからです。
Duskは、その2つ目の問題に特化して、機密(コンフィデンシャル)なコントラクト実行を設計しました。これにより、コントラクトがその状態に対して正しく動作し続けられる一方で、コントラクトの状態は暗号化されたまま保たれます。これは、単に送金額を隠すことよりも、はるかに難しい保証です。コントラクトは、自分自身のルールに従ったこと――有効な入札を処理したこと、実在する担保の閾値を確認したこと――を、そこで使った数値を一切明かさずに証明しなければなりません。
それによって可能になるのは、単なる私的な支払いではなく、プライベートな金融ロジックです。規制された証券であれば、取引制限を組み込むことで、その制限をオンチェーンで強制できますが、同時に「誰が制限されているのか」や「なぜ制限されているのか」を公開せずに済みます。これは、実際の証券規制が本当に求めているものに非常に近い――監視ではなく、統制です。
ただし落とし穴があります。検証コストです。隠されたデータ上で計算が正しく行われたことを証明するには、単純な取引が有効だったことを証明するよりも、より多くの暗号学的作業が必要になります。そのオーバーヘッドこそが、「プライベートに考えることのできる」コントラクトの代償です。
この区別は小さなものに見えて、結果は大きいです。この領域で「プライベートな支払い」は簡単な課題でした。真の難問は、いつだって「プライベートな計算」だったのです。
