DuskEVMが面白いのは、EVM開発者に最初から作り直すことを求めていないからです。
すでにSolidity、Vyper、Foundry、Hardhat、viem、またはethersで開発しているなら、そのおなじみの開発フローをDuskスタックに持ち込むという考え方です。
ただ、私がより興味深いのは、その裏側で何が起きるかです。
DuskEVMはイーサリアム互換の実行環境であり、DuskDSはコンセンサス、決済、データ可用性を担当します。
DUSKは実行に使われ、ブリッジを通じてDusk L1とDuskEVMの間を移動できます。
また、トランザクションのフローにも注目する価値があります。
トランザクションはまずDuskEVMのシーケンサーに到達し、その後L2ブロックに取り込まれます。
バッチャーがトランザクションデータをDuskDSに公開し、状態コミットメントとフォールトプルーフによって、その結果の状態がDuskDSの決済につながります。
この最後の部分が重要なのは、トランザクションの取り込みと決済が同じではないからです。
トランザクションが取り込まれたのを見ただけで、「経過時間の長さ」だけに基づいて最終性を前提としてよいとは限りません。
さらに、Duskがすべてのアプリケーションを同じ環境に押し込もうとしていないのも気に入っています。
Solidityアプリケーションの場合、EVMウォレットや既存のEthereumツールチェーンがそのまま使えるため、DuskEVMは明らかな選択肢です。
Dusk L1と直接連携する必要があるRust/WASMコントラクトには、DuskVMが選択肢として残ります。
つまり、面白いのは単に「DuskにEVMが追加された」ことではありません。
開発者にとってなじみのある実行環境を提供しつつ、それをDusk自身の決済およびデータ可用性レイヤーに接続したままにしている点が本質です。
@Dusk
#dusk
$DUSK