moxzi

Trustalpha

What each way of building and running moxzi actors asks you to trust, and what an on-chain build proves.

Each way of running moxzi asks you to trust someone. This page lists who, so you can choose the right one.

Who you trust#

You trustWho can read your source or state
moxzi buildYour machine and the moxzi files on itYou
moxzidThe server's operatorThe operator, and anyone with the token
moxzi-webThe web page and its originAny script on the page
On-chain buildThe Internet Computer subnet, and the compiler canister's current moduleThe canister's controllers

What an on-chain build proves#

An on-chain build record says: this compiler module, given these files and these options, produced a module with this hash. Anyone can check each part:

It doesn't prove that the source is safe, or that the canister you install the module into is controlled by who you think. And a canister's controllers can upgrade it, so check the compiler's module hash, not only its canister id.

Local builds#

moxzi build prints the hash of the compiler it used on every build, and moxzi info prints the compiler's and linker's hashes. Compare them with the release's SHA256SUMS. Anything that can change files on your machine can change your build.

moxzid#

The operator of a moxzid server can read and change every actor's state and code. The bearer token controls access to the whole server. Callers aren't authenticated: x-caller is a claim, not a signature. See Authentication.

The browser#

Actors in a page run inside the page's JavaScript. Any script the page loads can call them, read their state, and change their stored data.

Certificates#

Only the Internet Computer can produce certified responses, because they're signed by a subnet. moxzid and moxzi-web report that no certificate is available, rather than producing one that can't be trusted.

On this pageWho you trustWhat an on-chain build provesLocal buildsmoxzidThe browserCertificates