1 Introduction
Zama’s fhEVM is positioned as:
- Privacy smart contract solution based on fully homomorphic encryption
For open source code, see:
- https://github.com/zama-ai/fhevm(TypeScript + Solidity)
Zama's fhEVM protocol mainly includes:
- https://github.com/zama-ai/tfhe-rs (Rust): Implemented based on Rust, TFHE Scheme for Boolean and Integer Arithmetics Over Encrypted Data.
- A decryption mechanism [Sma23] based on distributed threshold protocols [DDE+23] that prevents misuse by malicious smart contracts, yet is flexible and nonintrusive to honest smart-contract developers.
- A Solidity library that makes it easy for smart-contract developers to use encrypted data in their contracts, without any changes to compilation tools. 即https://github.com/zama-ai/fhevm。
A comparison of existing privacy contract solutions is:
Zama’s fhEVM supports:
- End-to-end transaction and state encryption: Data in transactions is encrypted and invisible to anyone.
- Composability and on-chain data availability: Updates to state are always kept encrypted.
- Does not affect existing dapps and states: Encrypted states can coexist with existing public states and will not affect existing dapps.
Developers can write privacy smart contracts without learning cryptography, because in fhEVM:
- Integrated Solidity: The fhEVM contract is a simple solidity contract that can be built using the traditional solidity tool chain.
- Simple developer experience: Developers can use
euint
data types to mark what is private within their contracts. - Programmable Privacy: All logic for access control of encrypted state is defined by developers within their contracts.