この映画はもう十分な回数見てきたので、ブロックチェーンが「何かを犠牲にせずにセキュリティとパフォーマンスの両方を解決した」と言ってくると怪しく感じてしまいます。
Duskで引っかかったのがPiecrustです。私はいつもの理屈を前提に入りました。セキュリティの物語の一部として、計算はWASMサンドボックスの中に閉じ込めておく、という考えです。ところがDuskは別の道を取っていました。VMは依然としてWASMコントラクトを実行しますが、重い暗号計算の一部は、サンドボックスを通してすべてを押し込むのではなく、ホスト側の関数を通して外に露出させています。Dusk自身はPiecrustを「ZK操作にネイティブ対応したWASM VM」と説明しており、現在のドキュメントでもDuskVMはプライバシーとゼロ知識の実行を中心に組み立てられています。
正直、理由は分かります。ハッシュ、署名チェック、証明の検証といった処理をずっと続けるのなら、毎回仮想化のオーバーヘッドを払うのは無駄に思える。ネイティブ実行のほうが速いはずです。ですが、暗号の世界でスピードは決して無料ではありません。通常、どこか別の場所で代償を払います。
その「代償」のほうが、私はまだ引っかかっています。ホスト関数は信頼境界の一部になります。だから問いは単に「VMは安全か?」ではなくなり、「VMが呼び出してよいもの一式がどれくらい安全か?」になります。
まだ完全には信頼できていませんが、だからといって設計が無謀だとも思いません。クリーンな分散化の理屈を守るために、実用的なパフォーマンスを犠牲にするようなチェーンを十分見てきた結果、トレードオフを受け入れるシステムにより関心が向くようになりました。
たぶん、ここで感じる違いはそこです。Duskが完璧な答えを見つけたからではなく、厄介なエンジニアリング上の判断を表に出す覚悟があるように見える、ということです。
@Dusk $DUSK #dusk
Duskで引っかかったのがPiecrustです。私はいつもの理屈を前提に入りました。セキュリティの物語の一部として、計算はWASMサンドボックスの中に閉じ込めておく、という考えです。ところがDuskは別の道を取っていました。VMは依然としてWASMコントラクトを実行しますが、重い暗号計算の一部は、サンドボックスを通してすべてを押し込むのではなく、ホスト側の関数を通して外に露出させています。Dusk自身はPiecrustを「ZK操作にネイティブ対応したWASM VM」と説明しており、現在のドキュメントでもDuskVMはプライバシーとゼロ知識の実行を中心に組み立てられています。
正直、理由は分かります。ハッシュ、署名チェック、証明の検証といった処理をずっと続けるのなら、毎回仮想化のオーバーヘッドを払うのは無駄に思える。ネイティブ実行のほうが速いはずです。ですが、暗号の世界でスピードは決して無料ではありません。通常、どこか別の場所で代償を払います。
その「代償」のほうが、私はまだ引っかかっています。ホスト関数は信頼境界の一部になります。だから問いは単に「VMは安全か?」ではなくなり、「VMが呼び出してよいもの一式がどれくらい安全か?」になります。
まだ完全には信頼できていませんが、だからといって設計が無謀だとも思いません。クリーンな分散化の理屈を守るために、実用的なパフォーマンスを犠牲にするようなチェーンを十分見てきた結果、トレードオフを受け入れるシステムにより関心が向くようになりました。
たぶん、ここで感じる違いはそこです。Duskが完璧な答えを見つけたからではなく、厄介なエンジニアリング上の判断を表に出す覚悟があるように見える、ということです。
@Dusk $DUSK #dusk
