以前は「優れたブロックチェーンは何でもできるべきだ」と思っていました。
スマートコントラクト?
もちろん。
プライバシー?
追加して。
EVM?
当然。
カスタム実行?
なぜだめなの。
機能リストが長いほど、プロジェクトは私にはより印象的に見えました。
でも考えが変わりました。
Duskを見て、惹かれたのは別の機能ではありませんでした。
すべてを同じ実行環境に押し込まないという判断です。
Duskには、Rust/WASMのコントラクトをL1上で直接実行するためのDuskVMがあり、DuskEVMはEVM互換の環境を通じてSolidityとVyperの実行を提供します。2つの道はいずれも、決済とデータ可用性のためにDuskDSを使用しています。(docs.dusk.network)
最初はこう思いました。
「こんなに複雑にする必要あるの?」
「1つの環境のほうが簡単なんじゃない?」
でもその後、逆のことを考えるようになりました。
「すべてのアプリを1つの環境に押し込むことこそ、複雑な選択なのかもしれない」と。
通常のSolidityアプリを作る開発者は、まったく別のスタックを学びたいとは思わないでしょう。
Duskのネイティブなトランザクションモデルへの直接アクセスが必要なプロトコルを作る人も、EVMの抽象化が邪魔になるのは望まないはずです。
そこでDuskは、彼らに「異なる入口」を用意しているのです。
それで自動的にアーキテクチャが良くなるわけではありません。
コンポーネントが増えれば、それだけ保守するものも増えます。
インターフェースが増える。
前提が増える。
何かが壊れる可能性も増える。
でも、私はこの考え方が好きです。
「こちらが私たちの唯一のブロックチェーン環境です。みんなそれを使ってください」
と言うのではなく、
Duskは「あなたが何を作っているのか、まず教えてください」と言っているように見えます。
その微妙な違いです。
そして、もしかすると私は考えすぎなのかもしれません。
けれど、あれだけ多くのチェーンが「誰にでも全部入り」を目指しているのを見たうえで、Duskが実行パスを分けたままにすることに、驚くほど新鮮さを感じています。
柔軟性とは、必ずしも機能を増やすことではありません。
時には、「一緒に押し込まないほうがいい機能を理解していること」が柔軟性です。
#dusk $DUSK @Dusk