From abd0a88c840d9e5171fabf1c071f4c4cca28a349 Mon Sep 17 00:00:00 2001 From: haim Date: Sun, 30 Aug 2026 15:32:09 +0300 Subject: [PATCH 1/4] [DOCS] get-started/what-is-cofhe: name Teecryptor as the decryptor --- get-started/introduction/what-is-cofhe.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/get-started/introduction/what-is-cofhe.mdx b/get-started/introduction/what-is-cofhe.mdx index 7decd9d..8e66b06 100644 --- a/get-started/introduction/what-is-cofhe.mdx +++ b/get-started/introduction/what-is-cofhe.mdx @@ -7,16 +7,16 @@ description: "A high-level introduction to CoFHE. Fhenix's Fully Homomorphic Enc **CoFHE is an FHE coprocessor that lets any blockchain run computations on encrypted data.** -This makes confidentiality just another Solidity feature. There's no migration to a specialized FHE chain, no new toolchain, and no cryptography to implement yourself. CoFHE handles the heavy FHE math offchain; your contract only ever touches lightweight *handles* to encrypted values, so code stays familiar. Values are encrypted. Everything else feels like ordinary development. +This makes confidentiality another Solidity feature. There's no migration to a specialized FHE chain, no new toolchain, and no cryptography to implement yourself. CoFHE handles the heavy FHE math offchain; your contract only ever touches lightweight *handles* to encrypted values, so code stays familiar. Values are encrypted. Everything else feels like ordinary development. ## Why a coprocessor? -The coprocessor model adds confidentiality without changing how applications are built, same Solidity, same chains, same tooling, with encrypted values as just another type to work with. +The coprocessor model adds confidentiality without changing how applications are built, same Solidity, same chains, same tooling, with encrypted values as another type to work with. - **No migration**: CoFHE attaches to existing blockchains. Confidential contracts deploy to the networks already in use, not a dedicated FHE L1. - **Familiar code**: contracts pass around lightweight *handles* (references to ciphertexts) rather than the ciphertexts themselves, so they read like normal Solidity. FHE operations add some gas overhead, but the onchain footprint stays small and predictable. - **No cryptography to implement**: the heavy FHE math runs offchain on the CoFHE server, which is built to do it efficiently. A contract calls `FHE.add`; CoFHE does the rest. -- **Trust-minimized by default**: decryption is never in one party's hands. A Threshold Network performs it through multi-party computation. +- **Keys stay out of reach**: the FHE Engine computes without any decryption key. Only [Teecryptor](/deep-dive/cofhe-components/teecryptor), the decryption component, holds one, and it runs inside a hardware-attested TEE (Trusted Execution Environment). ## What CoFHE lets you build @@ -34,7 +34,7 @@ Every CoFHE application follows the same three-phase lifecycle: **encrypt to com -The user's plaintext is encrypted in the client using the [`@cofhe/sdk`](/client-sdk/introduction/overview), bundled with a zero-knowledge proof that the input is well-formed, and submitted to CoFHE. The blockchain only ever receives an encrypted handle, never the raw value. +The [`@cofhe/sdk`](/client-sdk/introduction/overview) encrypts the user's plaintext in the client. It attaches a zero-knowledge proof that the input is well-formed, then submits both to CoFHE. The blockchain only ever receives an encrypted handle, never the raw value. @@ -42,7 +42,7 @@ The smart contract uses [`FHE.sol`](/fhe-library/introduction/overview) to opera -When an authorized user wants a result, they present a signed [Access Control Permission](/client-sdk/guides/acps). The Threshold Network decrypts via multi-party computation, either re-encrypting the value so only that user can read it (for display), or returning a verifiable plaintext with a signature (for onchain use). +When an authorized user wants a result, they present a signed [Access Control Permission](/client-sdk/guides/acps). Teecryptor checks that permission against the onchain access list, then decrypts inside its enclave. It either seals the value so only that user can read it (for display), or returns a signed plaintext a contract can verify (for onchain use). @@ -64,7 +64,7 @@ sequenceDiagram Note over Contract,CoFHE: Compute Contract->>Contract: FHE.add / FHE.lt / FHE.select ... Contract->>Contract: derive result handle (deterministic) - Note over Contract,CoFHE: operation emitted onchain — nothing returns to the contract + Note over Contract,CoFHE: operation emitted onchain, nothing returns to the contract CoFHE->>CoFHE: pick up operation, compute ciphertext for the same handle Note over User,CoFHE: Decrypt @@ -89,7 +89,7 @@ Developers only interact directly with **two** parts of CoFHE; the rest runs beh | Component | Role | | --- | --- | -| **Task Manager** | Onchain gateway that validates FHE requests and enforces access control | +| **TaskManager** | Onchain gateway that validates FHE requests and enforces access control | | **FHE Engine** | Picks up onchain task events, validates and orders them, executes the FHE operations on encrypted data, and commits results | | **Teecryptor** | Decrypts inside a hardware-attested TEE, after checking permissions and commitments | | **Registries** | Track ciphertexts and record result commitments so integrity can be verified before any decryption | @@ -100,8 +100,8 @@ For a component-by-component breakdown, see the [CoFHE Architecture deep dive](/ - **Encrypted end-to-end**: values are encrypted client-side and stay encrypted through computation; only handles touch the chain. - **Verified inputs**: zero-knowledge proofs ensure every encrypted input is well-formed before it enters the system. -- **Verified results**: the coprocessor commits to each result onchain, and the Threshold Network checks integrity before it will decrypt anything. -- **No single point of trust for decryption**: decryption requires the Threshold Network's multi-party computation, gated by signed ACPs. +- **Verified results**: the coprocessor commits to each result onchain, and Teecryptor checks the ciphertext against that commitment before it decrypts anything. +- **Gated decryption**: nothing is decrypted without a signed ACP and a matching onchain grant. Teecryptor fails closed when either is missing. ## Next steps From ee34f9328647e31ee54bd051495730224ce8d2b9 Mon Sep 17 00:00:00 2001 From: haim Date: Thu, 3 Sep 2026 16:13:50 +0300 Subject: [PATCH 2/4] [DOCS] get-started/what-is-cofhe: call the offchain layer the compute pipeline --- get-started/introduction/what-is-cofhe.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/get-started/introduction/what-is-cofhe.mdx b/get-started/introduction/what-is-cofhe.mdx index 8e66b06..607f4a7 100644 --- a/get-started/introduction/what-is-cofhe.mdx +++ b/get-started/introduction/what-is-cofhe.mdx @@ -15,7 +15,7 @@ The coprocessor model adds confidentiality without changing how applications are - **No migration**: CoFHE attaches to existing blockchains. Confidential contracts deploy to the networks already in use, not a dedicated FHE L1. - **Familiar code**: contracts pass around lightweight *handles* (references to ciphertexts) rather than the ciphertexts themselves, so they read like normal Solidity. FHE operations add some gas overhead, but the onchain footprint stays small and predictable. -- **No cryptography to implement**: the heavy FHE math runs offchain on the CoFHE server, which is built to do it efficiently. A contract calls `FHE.add`; CoFHE does the rest. +- **No cryptography to implement**: the heavy FHE math runs offchain in the [compute pipeline](/deep-dive/cofhe-components/compute-pipeline), which is built to do it efficiently. A contract calls `FHE.add`; CoFHE does the rest. - **Keys stay out of reach**: the FHE Engine computes without any decryption key. Only [Teecryptor](/deep-dive/cofhe-components/teecryptor), the decryption component, holds one, and it runs inside a hardware-attested TEE (Trusted Execution Environment). ## What CoFHE lets you build @@ -38,7 +38,7 @@ The [`@cofhe/sdk`](/client-sdk/introduction/overview) encrypts the user's plaint -The smart contract uses [`FHE.sol`](/fhe-library/introduction/overview) to operate on encrypted handles, adding, comparing, selecting, as if they were ordinary numbers. Each operation deterministically derives a new result handle and is recorded onchain; the CoFHE server independently computes the matching ciphertext offchain. Nothing returns to the contract, and plaintext is never exposed at any point. +The smart contract uses [`FHE.sol`](/fhe-library/introduction/overview) to operate on encrypted handles, adding, comparing, selecting, as if they were ordinary numbers. Each operation deterministically derives a new result handle and is recorded onchain. The compute pipeline picks up that record, and the FHE Engine computes the matching ciphertext offchain. Nothing returns to the contract, and plaintext is never exposed at any point. From c25b56d1cf3a466fa2cdadaf9294c8d28ffb6437 Mon Sep 17 00:00:00 2001 From: haim Date: Thu, 3 Sep 2026 17:10:16 +0300 Subject: [PATCH 3/4] [DOCS] get-started/what-is-cofhe: explain split key custody in the trust bullet --- get-started/introduction/what-is-cofhe.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-started/introduction/what-is-cofhe.mdx b/get-started/introduction/what-is-cofhe.mdx index 607f4a7..99a8d6f 100644 --- a/get-started/introduction/what-is-cofhe.mdx +++ b/get-started/introduction/what-is-cofhe.mdx @@ -16,7 +16,7 @@ The coprocessor model adds confidentiality without changing how applications are - **No migration**: CoFHE attaches to existing blockchains. Confidential contracts deploy to the networks already in use, not a dedicated FHE L1. - **Familiar code**: contracts pass around lightweight *handles* (references to ciphertexts) rather than the ciphertexts themselves, so they read like normal Solidity. FHE operations add some gas overhead, but the onchain footprint stays small and predictable. - **No cryptography to implement**: the heavy FHE math runs offchain in the [compute pipeline](/deep-dive/cofhe-components/compute-pipeline), which is built to do it efficiently. A contract calls `FHE.add`; CoFHE does the rest. -- **Keys stay out of reach**: the FHE Engine computes without any decryption key. Only [Teecryptor](/deep-dive/cofhe-components/teecryptor), the decryption component, holds one, and it runs inside a hardware-attested TEE (Trusted Execution Environment). +- **Trust-minimized by default**: no machine holds the decryption key whole. Its shares sit with independent partners, and each partner releases its share only to a [Teecryptor](/deep-dive/cofhe-components/teecryptor) enclave that the TEE (Trusted Execution Environment) hardware has attested. Teecryptor reassembles the key in memory and never stores it. ## What CoFHE lets you build From fb73692e750eeef0fd9891d00e3147be1b2d1c1c Mon Sep 17 00:00:00 2001 From: haim Date: Thu, 3 Sep 2026 20:26:56 +0300 Subject: [PATCH 4/4] [DOCS] get-started/what-is-cofhe: drop the empty clause on the compute pipeline --- get-started/introduction/what-is-cofhe.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/get-started/introduction/what-is-cofhe.mdx b/get-started/introduction/what-is-cofhe.mdx index 99a8d6f..4e542ce 100644 --- a/get-started/introduction/what-is-cofhe.mdx +++ b/get-started/introduction/what-is-cofhe.mdx @@ -15,7 +15,7 @@ The coprocessor model adds confidentiality without changing how applications are - **No migration**: CoFHE attaches to existing blockchains. Confidential contracts deploy to the networks already in use, not a dedicated FHE L1. - **Familiar code**: contracts pass around lightweight *handles* (references to ciphertexts) rather than the ciphertexts themselves, so they read like normal Solidity. FHE operations add some gas overhead, but the onchain footprint stays small and predictable. -- **No cryptography to implement**: the heavy FHE math runs offchain in the [compute pipeline](/deep-dive/cofhe-components/compute-pipeline), which is built to do it efficiently. A contract calls `FHE.add`; CoFHE does the rest. +- **No cryptography to implement**: the heavy FHE math runs offchain in the [compute pipeline](/deep-dive/cofhe-components/compute-pipeline). A contract calls `FHE.add`; CoFHE does the rest. - **Trust-minimized by default**: no machine holds the decryption key whole. Its shares sit with independent partners, and each partner releases its share only to a [Teecryptor](/deep-dive/cofhe-components/teecryptor) enclave that the TEE (Trusted Execution Environment) hardware has attested. Teecryptor reassembles the key in memory and never stores it. ## What CoFHE lets you build