Duskのドキュメント$DUSK を1時間かけて読み、#creatorpad 件目(のプロダクト/資料)に取り組んだのに、ある詳細に引っかかりました。入ってみたときに想定していたように、実際には「private(非公開)」ではないのです。@Dusk はデフォルトで全てを隠すわけではなく、プライバシーはトランザクションおよびスマートコントラクトのレベルで設定されます。そのため、開発者が「何が機密か」「何が完全に公開か」「どのような条件下でだけ開示されるか」を正確に選べます(たとえば監査人からの要請のようなケースです)。これは、多くのプライバシーチェーンが売りにする「すべてがシールドされる」という通常の設計思想とは別の設計判断です。私は、その選択が契約の中でどこで行われるのか——例えば、デプロイ時に設定されるフラグなのか、それとも呼び出しごとに調整できるのか——を見つけようとし続けました。ドキュメントには振る舞いは明確に書かれているのですが、外から見て正確な仕組みを特定できませんでした。コンプライアンスのユースケースを考えているなら、かなり意味のある違いに感じます。というのも、「選択的開示(selective disclosure)」と「デフォルトで匿名(anonymous by default)」は、かなり別の問題を解決するからです。実際にこの上でコントラクトを書いたことがある人に質問です。この開示設定は、実際にどこに存在する(どこで管理される)のですか?
#dusk