# The Privacy-Preserving EVM

We have forked the standard Go-Ethereum client to create the ppEVM. It retains 100% opcode compatibility with Ethereum but changes how data is handled during runtime.

#### The Encrypted Runtime

In a standard EVM, the StateDB is a clear-text database. In ppEVM:

* Encrypted State: Every value in the database is encrypted using AES-256 before being written to disk.
* Decryption-on-the-Fly: When a smart contract needs to read a variable, the TEE fetches the encrypted chunk, decrypts it in the secure CPU enclave, performs the math, and re-encrypts it before writing it back.
* Leakage Protection: If a hacker gains root access to a FOGEVM node, all they will see is meaningless ciphertext.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fogevm.vip/core-technology/the-privacy-preserving-evm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
