Smart Contract Library
The Smart Contract Library extends the EVM with encrypted data types and operations. It is deployed on the host blockchain and provides:- Encrypted data types (
ebool,eaddress,euint256) - Arithmetic operations (
e.add,e.sub,e.mul,e.div, etc.) - Comparison operations (
e.eq,e.le,e.gt, etc.) - Conditional operations (
e.select) - Access Control (
e.allow)
Confidential Compute Server
The Confidential Compute Server runs inside a Trusted Execution Environment (TEE) and securely handles all confidential operations in the system. It provides a unified service for encrypted computation and decryption, ensuring privacy and integrity for sensitive data and operations. Key responsibilities:- Executes confidential computations and decryption requests within a secure enclave
- Processes encrypted operations triggered by blockchain events
- Validates access control before performing decryption
- Monitors the blockchain for requests and returns results directly, without requiring callback transactions
Client-side JavaScript Library
The JavaScript Library provides client-side functionality for interacting with the host chain and Inco:- Encrypts user inputs using the network’s public key
- Handles ephemeral key and EIP-712 signature generation for decryption requests
- Decrypts results locally for the user