昨夜、Duskのコアコンポーネントのページに戻って、Dusk Tradeがその下にあるすべてのものの中でどこに位置しているのかを把握しようとしました。というのも、Dusk Tradeを単なる別のアプリとして扱ってしまっていて、それが何の上に成り立っているのかを深く考えていなかったからです。

一番下にはDuskDSがあります。コンセンサス、決済、データ可用性、ファイナリティを担い、ノード実装としてRuskの上で動作し、コンセンサスメカニズムとしてSuccinct Attestationを使い、ピアツーピアのネットワークにはKadcastを用いています。そこから上には2つの実行パスがあります。DuskEVMはSolidityおよび標準的なEVMツール群、DuskVMはネイティブのRustとWASMのコントラクトで、それらはいずれも最終的にDuskDSへ決済を戻します。さらにその上には、アイデンティティ、クレデンシャル、選択的開示を扱うCitadel、そしてウォレットの発見やアカウント接続を扱うDusk Connectがあります。Dusk Tradeは最上部に位置し、実際のプロダクト層として、それらすべてをユーザーが体験するオンボーディング、購入、販売、そして決済という形に変換します。

印象的だったのは、Dusk Tradeをひとつの綺麗なワークフローとして機能させるために、どれだけ正しく連携させる必要があるかという点です。Citadelからのアイデンティティ、Dusk Connectからのウォレット状態、EVMまたはVMからの実行、そしてDuskDSからのファイナリティ――これらが、単一の取引アクションの背後できちんと噛み合わなければなりません。

この密な連携こそが、実際には“難しいエンジニアリング課題”で、しかも単一のレイヤーそれぞれよりも難しいのでしょうか?

#dusk $DUSK @Dusk $BTW $HEMI