私のコンピューターには、数年前に撮ったスクリーンショットが残っている。匿名チェーン上の送金、確認待ちに4分52秒かかった。俺は当時、ずっと座りっぱなしで、たばこも半箱ぶん吸ってしまった。そんな性格で、Dusk Network が「金融決済のこの飯を食う」と言ったとき、俺は真っ先に反発した。

でも Piecrust を分解してみて納得した。これが搭載している仮想マシンは、2023年に古いRuskから再構築され、WASM を基盤にしている。速度は十倍以上になっていて、すでにモジュール化アーキテクチャに溶け込んでいる——DuskDS、DuskEVM、DuskVM がそれぞれ担当を分け、Piecrust はいまも主役の WASM 仮想マシンだ。十倍以上の件はひとまず置いとくとして、俺の心を掴んだのは Host Functions だ。暗号まわりの重い処理を、コントラクトのバイトコードから引っこ抜いてホスト環境に載せ、コントラクトには業務ロジックだけを残す。さらに下層には ZeroCaf も用意されていて、Ristretto のスカラー場を使い、Bulletproofs と相性がいい。ハッシュは Poseidon、証明は PlonK。チームのオープンソース貢献は 160回以上もフォークされていて、GitHub では現在 600以上の Star が付いている。$ETH

ついでに DUSK の Gas アルゴリズムも調べてみた。gas_used に gas_price を掛けるんだけど、Out of Gas でも容赦なく同じように差し引かれる。皮を剥ぐような取り扱いができるということは、実行環境の切り分けがきれいで、曖昧な領域がないってことだ。

そして改めて、そのスクリーンショットを見ると、ちょっと笑ってしまう。半箱ぶんのたばこを吸い切ったのは、実はプライバシーのせいじゃなかった。ああいうチェーンは暗号の負担を、コントラクトとクライアント側に全部押し込むから、遅いのは自分で選んだ結果だ。DUSK の Host Functions は、いちばん重い仕事を、いちばん置くべきでない場所から移したのに等しい。負担が間違った肩に載ってしまえば、マシンがどれだけ速くても無駄だ。#dusk $DUSK @Dusk .