#dusk $DUSK @Dusk ずっとピンと来ていなかったのが、Duskの中の「DuskEVM」というものが結局どんな位置づけなのかという点です。今週は時間を取って、それを単独で取り出してじっくり見てみました。
簡単に言うと、DuskEVMはDuskエコシステム内で、イーサリアムのスマートコントラクト開発方式を互換として扱うための層です。イーサリアム側のあの言語やツールに慣れている開発者なら、新しく一から全部別のものを学び直さなくても、そのままDusk上にアプリをデプロイできます。DuskEVM自体が、完全に独立した台帳や最終的な決済ロジックを別で管理しているわけではありません。取引データの記録(証跡)や最終的な確定は、Duskの下層にある決済層が担当します。DuskEVMは、上に載っていて、スマートコントラクトの実行を主に処理する“専用の層”に近い存在だと言えます。
最初は、それが下層の決済層とは別個の、対等な独立チェーンだと思い込んでいました。つまり2つの台帳がそれぞれ独立に動いていて、互いに依存しないと考えていたんです。しかし公式のアーキテクチャ説明を何度か読み返してようやく気づきました——実行層側で取引を処理した後、最終的には結果をまとめて、下層の決済層へ送って、本当の証跡の保存と確定を行う必要がある、と。両者は上下の関係にあって並列ではありません。自分の誤解がここでずっと尾を引いていたのは、宣伝資料で両方の層が別々に紹介されることが多く、独立して並行する2本のチェーンのように見えてしまいやすいからです。
開発者にとって、この“層の関係性”は実はかなり重要です。つまり、あなたがDuskEVM上にデプロイするアプリの実際の稼働コストは、この層自体が契約を実行するのにどれだけリソースを使うかだけでなく、データを下層の決済層へ送るためのコストも含めて、2つを合算して初めて全体のコストになる、ということです。もしイーサリアム側の経験だけでデプロイコストを見積もると、下層の部分を見落としやすいです。
この理解にズレがあるなら、ぜひ指摘してください。自分もここ数日でようやくこのロジックを整理できたところで、細部に見落としがあるかどうかはまだ確信がありません。