#dusk $DUSK @Dusk 夕暮れの中の小さなひとつのディテールが、「プライベートトランザクション」とは実際に何を意味するのかを考え直すきっかけになりました。
私は普段、ブロックチェーンのトランザクションを、ひとつの単純な流れとしてイメージしています。つまり、アセットがあって、それを送ると、ネットワークが確認して、それで終わり、というようなものです。
しかしDuskは、ネイティブのDUSKトランザクション側と、一般的な計算レイヤーを分けています。そして、トランザクションがコントラクトと相互作用する必要があるとき、その両者をつなぐブリッジの役割を果たす「Crossover」というものがあります。

最初は正直、これはアーキテクチャの中に埋もれている単なる技術的な詳細だと思いました。
でも、なぜそれが存在するのか考え始めました。
トランザクション層がプライバシーを扱い、計算層がコントラクトの実行を扱うのであれば、この2つの世界の間を行き来できるようにすることが重要になります。Crossoverは、すべてを単なる透過的な一連の流れとして扱うのではなく、両者の接続を運びます。
ホワイトペーパーでも、トランザクション層と一般化された計算層の間でDUSKをつなぐためのオプションの注記として説明されています。

それで、私はDuskを少し別の見方で見るようになりました。
プライバシーは、送るものを隠すことだけではありません。さらに、そのアセットが計算の一部になったときにも、それが維持されなければなりません。
それは、ずっと難しい問題のように感じます。
なぜなら、プライベートなアセットがスマートコントラクトと相互作用するとき、後続の計算で起きる処理と、プライベートトランザクションの状態とを結びつける何かが必要になるからです。
現実の運用で、この複雑さがどれほど増えるのか、私はまだ確信が持てていません。
たぶん、私が注目しておきたいのはこのトレードオフです。Duskは、アセットが単純なトランザクションから実際の計算へ移っていくときにも、プライバシーを損なわずに維持できるのか。しかも、全体のプロセスを必要以上に複雑にしないままでいられるのか、そこを見極めたいと思います。