Facet's security model is based on the innate, objective reality that is derived from (1) immutable transaction history and (2) deterministic computation. FacetVMs don’t create that objective reality - they merely report it.
If two people agree on the state of Ethereum, they will also agree on the state of Facet.
- On-Chain Transactions: Every Facet transaction is an Ethereum transaction that is sequenced and finalized by Ethereum’s consensus mechanism. This means that the immutable integrity of the transaction history is maintained, irrespective of the number of FacetVMs computing the state. Thus, the foundational data (inputs) that Facet operates on is always secure and decentralized.
- Deterministic State Computation: The key to Facet’s security lies in deterministic state computation. FacetVMs operate deterministically, meaning that given the same inputs (i.e. transactions), every FacetVM will always produce the same output (i.e. state). This deterministic nature ensures that the state is an objective reality, independent of how many FacetVMs are computing it.
While having multiple FacetVMs might create a perception of increased security because they would independently compute and align on the same state, the actual security of Facet does not rely on the number of FacetVMs. This contrasts with proof-of-stake operating models, where more validators equate to greater security. With Facet, anyone can independently verify the correctness of the state by running the FacetVM themselves.
Even if you do act on incorrect Facet state data it is unlikely to cost you money because the transactions you send will be conditional. For example, if someone reports to you that an asset you hold is worth 10x what it’s actually worth, and you decide to sell on the basis of that knowledge, your transaction will include a slippage value that will cause the transaction to revert.
The concept of an "honest operator" is central to Facet's security model. As long as there is at least one honest operator running a FacetVM, it is difficult for any malicious party to alter the state without being detected. This honest operator can independently verify the state and call out any discrepancies, maintaining the integrity of the system.
And of course - you yourself can run the FacetVM and be that “honest operator.”
"Be the [honest] FacetVM state validator you want to see in the world."