Open7

何もわからんから始めるWebAssembly

kokukumakokukuma

WebAssembly自体は、Javascriptで実行できる低レイヤの言語だと。
C++とかRustとかTinyGoとかでコンパイルできると。
サーバからバイナリ落として利用するってものだからTinyGoなのね。
WebAssembly の概要

kokukumakokukuma

istio/envoyとのつながりはこの辺がよくまとまっている。
envoyの拡張を書くのに、WebAssemblyが使えるらしい。
これでEnvoyの拡張を動的に行えるようになったと。
xDSってEnvoyが問い合わせるAPIみたいなのを作れて、そこ経由でバイナリを配布するような事ができるそう。
https://qiita.com/ryysud/items/f4faa4e92cb925ebbfce

kokukumakokukuma

WASMをブラウザ以外で動かすために、WebAssembly System Interface(WASI)やProxy-Wasmがあるらしいな。wasm filterのその一例と。
https://logmi.jp/tech/articles/324997

というか、ブラウザがWasmの実行環境を提供している(WasmのVMを実装している)という
理解のほうがただしいか。

kokukumakokukuma

WASM、ゼロ知識証明に使えたりしないかなと、この辺みてて思った。
https://zenn.dev/frog/articles/42c80598a42a08

RPが検証したい内容を書いてWASMでOPに対して送りつける。
OPでではユーザの情報を送られたロジック通して変換した上でID Tokenとかに入れてRPに返す的な。

OP側でどんなロジック実行されるかわからんから辛いかな。