全体像
1つのソース、2つのターゲット。誰が何を検査するか
↔ 図は左右にスワイプして全体を見られます。
コンパイラは1つ、ターゲットは2つです。上の経路が WebAssembly、下の経路が Rust です。あいだにあるのは、両方が共有するものです。規則と、規則が正しいことの証明である Proofcore、そして両方の経路の証拠に規則を走らせる Proofcast です。
2つの経路で違うところWasm では、Buildgate があなたのディスクの手前に立ち、Byteanchor が証拠をバイト列に結びつけます。Rust では、その場所に rustc が立ち、rustc は信頼されています。Buildgate が証拠を判定するのは、手元のビルドではなくプロジェクトの検証の中です。証拠をコンパイル後のバイナリに結びつけるものは、まだありません。覆っている範囲は、もう違いではありません。ターゲット間で比べるテスト用プログラムは、いまはすべて、両方の経路で認証つきの経路を通ります。Wasm が 1,050 本、Rust が 1,055 本です。Rust のレンダラが扱えないプログラムは、今も通常のコード生成に戻り、証拠を持ちません。