Integrating FHE into a blockchain-runtime is a hard and complex task. Our engineering philosophy is Ship Fast, and we believe that to build the best possible product we need to meet real users early. Similar to the approach described in Vitalik’s “training wheels” post (in the context of rollups), we too are relying on “training wheels” releasing CoFHE to achieve this goal.Outlined here is a non-exhaustive list of trust-points, centralized components and compromises made to ship CoFHE to users as fast as possible, along with how we plan to address them in the future. This list will be updated as things progress.
Component
Compromise
Plan to solve
Timeline
Status
Threshold Network (TN)
All parties are run by Fhenix
N/A
N/A
❌
Threshold Network (TN)
Use of a Trusted Dealer for keys and random data generation
N/A
N/A
❌
Threshold Network (TN)
Parties trust the Coordinator
N/A
N/A
❌
Threshold Network (TN)
TN trusts CoFHE (tx-flow decryptions)
N/A
N/A
❌
Threshold Network (TN)
Parties trust a Trusted Dealer
1. Run TD in a TEE 2. Public ceremony for share creation 3. Eliminate TD
N/A
❌
Threshold Network (TN)
Parties are not using unique random data within the protocol
Pull random data from the TD
N/A
❌
Threshold Network (TN)
SealOutput reencryption performed in a centralized manner
N/A
N/A
❌
ZK-Verifier (ZKV)
CoFHE trusts ZK-Verifier
Run ZKV in a TEE
N/A
❌
CoFHE
Trust in CoFHE to perform correct FHE computations