今日の午後、夫が @Dusk のことを話してくれていて、スマートコントラクトに関するプロジェクトがどのように進んでいるか、特にコントラクト実行を効率よく扱う点を中心に説明してくれました。それを聞いて気になったので、Dusk のコントラクトと移行(migration)システムをさらに深掘りし始めました。
Dusk がスマートコントラクトの実行をどう扱っているかをよく見ていると、私の関心を引いたのが Piecrust の部分でした。
これは重たい実行環境というわけではありません。軽量な WebAssembly ベースの VM(仮想マシン)で、安全かつモジュール化されたコントラクト実行のために作られています。印象的だったのは、コントラクトのロジックと、その下で動く重い暗号処理を分離しているところです。
コントラクトは VM 内でアプリケーションロジックだけを扱います。高コストな処理――ZK 証明の検証や署名の検証――は、代わりにネイティブのホスト関数へと押し出されます。この分け方は、考えてみると確かに理にかなっています。暗号検証は安くありません。すべてのコントラクトにその負荷を背負わせてしまうと、理由もなく処理全体が遅くなるだけです。
モジュール化の観点も重要です。金融アプリケーションは時間とともにますます複雑になりますし、開発者には、作るたびに大量の暗号計算を各コントラクトの中で抱え込まなくて済むような実行レイヤーが必要になります。
正直、こうした細部は Dusk について語る人がつい見落としてしまいがちです。でも、おそらく実際には、それ以上に大きな仕事をしていて、評価される以上の働きをしているはずです。特に、現実的な規模でプライバシー重視のアプリケーションを動かそうとする場合にはなおさらです。
私にとっての本当の疑問は、実際のオンチェーン上の金融活動が増えてきたとき、この仕組みがどれだけ持ちこたえるのか、という一点です。
#Dusk @Dusk $DUSK
Dusk がスマートコントラクトの実行をどう扱っているかをよく見ていると、私の関心を引いたのが Piecrust の部分でした。
これは重たい実行環境というわけではありません。軽量な WebAssembly ベースの VM(仮想マシン)で、安全かつモジュール化されたコントラクト実行のために作られています。印象的だったのは、コントラクトのロジックと、その下で動く重い暗号処理を分離しているところです。
コントラクトは VM 内でアプリケーションロジックだけを扱います。高コストな処理――ZK 証明の検証や署名の検証――は、代わりにネイティブのホスト関数へと押し出されます。この分け方は、考えてみると確かに理にかなっています。暗号検証は安くありません。すべてのコントラクトにその負荷を背負わせてしまうと、理由もなく処理全体が遅くなるだけです。
モジュール化の観点も重要です。金融アプリケーションは時間とともにますます複雑になりますし、開発者には、作るたびに大量の暗号計算を各コントラクトの中で抱え込まなくて済むような実行レイヤーが必要になります。
正直、こうした細部は Dusk について語る人がつい見落としてしまいがちです。でも、おそらく実際には、それ以上に大きな仕事をしていて、評価される以上の働きをしているはずです。特に、現実的な規模でプライバシー重視のアプリケーションを動かそうとする場合にはなおさらです。
私にとっての本当の疑問は、実際のオンチェーン上の金融活動が増えてきたとき、この仕組みがどれだけ持ちこたえるのか、という一点です。
#Dusk @Dusk $DUSK