午後は、Piecrustが通常のWASMと比べて実際に何を変えているのかを調べていました。ほとんど見た目の違いだろうと思っていたのですが、そうではありませんでした。
Piecrustは旧RuskVMに取って代わり、WASMランタイムのWasmerを基盤にしています。ただし、Duskの公式資料によると、根本的に異なる点が2つあります。ひとつは、SNARK検証のようなZK処理をVM内でネイティブにサポートしていること。もうひとつは、多くのブロックチェーンVMとはまったく異なる方法でメモリを扱うことです。
特に印象に残ったのは、その部分でした。
汎用の既製WASMランタイムが持つシンプルさを手放す代わりに、ゼロ知識証明をほかの場所に処理させることなく、ネイティブに検証できるVMを手に入れるわけです。
ただ、ここで少し立ち止まって、自分が実際に把握していることと推測していることを正直に分けておきます。Piecrustがメモリを異なる方法で扱い、ZK処理をネイティブに行うことは、Duskが明らかにしています。一方で、旧RuskVMと現行のPiecrustの間に、実測可能なパフォーマンス差があるのかは、どこを探しても見つけられませんでした。
技術的な説明にとどまらず、これがなぜ重要なのかを何度も考えました。Duskのプライバシーモデル全体を支える暗号処理をネイティブに扱えるよう設計されたVMは、後付けで採用した汎用的な選択肢とは違います。
では、これほど特化したVMを構築することは、長期的に本当に成果につながるのでしょうか。それとも、要件が変わったときに拡張しにくくなるだけなのでしょうか?
#dusk
$DUSK
@Dusk
Piecrustは旧RuskVMに取って代わり、WASMランタイムのWasmerを基盤にしています。ただし、Duskの公式資料によると、根本的に異なる点が2つあります。ひとつは、SNARK検証のようなZK処理をVM内でネイティブにサポートしていること。もうひとつは、多くのブロックチェーンVMとはまったく異なる方法でメモリを扱うことです。
特に印象に残ったのは、その部分でした。
汎用の既製WASMランタイムが持つシンプルさを手放す代わりに、ゼロ知識証明をほかの場所に処理させることなく、ネイティブに検証できるVMを手に入れるわけです。
ただ、ここで少し立ち止まって、自分が実際に把握していることと推測していることを正直に分けておきます。Piecrustがメモリを異なる方法で扱い、ZK処理をネイティブに行うことは、Duskが明らかにしています。一方で、旧RuskVMと現行のPiecrustの間に、実測可能なパフォーマンス差があるのかは、どこを探しても見つけられませんでした。
技術的な説明にとどまらず、これがなぜ重要なのかを何度も考えました。Duskのプライバシーモデル全体を支える暗号処理をネイティブに扱えるよう設計されたVMは、後付けで採用した汎用的な選択肢とは違います。
では、これほど特化したVMを構築することは、長期的に本当に成果につながるのでしょうか。それとも、要件が変わったときに拡張しにくくなるだけなのでしょうか?
#dusk
$DUSK
@Dusk