DuskEVMテストネットは8月10日に公開され、8月13日には大きく再拡散された — @Dusk が「DuskEVM Testnet is LIVE」と投稿して、まるで見出しみたいに扱われていたけど、実際かなり見出しそのものでもある。今回の作業では、発表スレッドが約束していることではなく、実際に何が同梱されて出荷されるのかを掘り下げた。 $DUSK
ここで気になったのは、DuskEVM上にデプロイするとき、書くのは普通のSolidityで、Hardhatで、そのままおなじみのEVMスタックを使い、ガス代はDUSKで支払われ、デフォルトでは透過的だということ。Hedger — 実際の機密トランザクション層で、Duskが存在する理由そのものと言っていい準同型暗号 + ZK の部分 — は、「適切な場合に」使う別個のものとして横に置かれている。しかもそれもまだテストネット段階で、最初から組み込まれているわけではない。
つまり順序としては、まず一般的なEVM互換性が先に出て、プライバシーは... そのうち、ということになる。Ethereumのコントラクトを移植する開発者は、今日の時点で即座に馴染みのある環境を得られる。みんなが本当に期待している機密性の話は、任意で、まだこれからだ。
ドキュメントのページを何度も読み返して、プライバシーがデフォルトの流れに最初から組み込まれているはずだと思っていたが、そんなものは見当たらなかった。フラグか何かを見落としているのかと思って確認し直したけど、違った — 別モジュールで、別の統合手順が必要だった。
だからといってそれが間違いだとは言わない、#dusk このような順序でインフラを整えるのはたぶん賢いやり方だろう。ただ、これは「デフォルト」と「宣伝されているもの」が、別々の時期に出荷される別々の製品だということをかなり明確に示す例ではある。
実際に使う価値が出てきた段階で、DuskEVMの初期アクティビティのどれだけが結局は普通の透過的なコントラクトに落ち着くのか、気になってしまう — いったん簡単な道がもう機能しているなら、誰か本当にHedgerを使うんだろうか?