Skip to content

Commit a6b871a

Browse files
fix(docs): improve FCC overview guide
1 parent f0824ee commit a6b871a

1 file changed

Lines changed: 43 additions & 41 deletions

File tree

docs/fcc/1-overview.mdx

Lines changed: 43 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,12 @@ It also delivers two built-in system applications: **Protocol Managed Wallets (P
2828

2929
## Key Features
3030

31-
- **Secure Offchain Computation**: TEE machines run verifiable code in hardware-isolated environments, ensuring computation integrity even if the machine operator is untrusted.
32-
- **Cross-Chain Transaction Signing**: Protocol Managed Wallets enable programmable assembly and signing of transactions on external blockchains (XRPL, BTC) through smart contract calls on Flare.
33-
- **Fast Data Attestation**: A new TEE-based FDC enables rapid attestation of external data, where TEE machine signatures serve as proof of data provider consensus.
34-
- **Extensible Architecture**: Developers can build custom Flare Compute Extensions that run arbitrary computations within TEE machines, with results verifiable onchain.
35-
- **Decentralized Consensus**: Instructions are relayed to TEE machines only after reaching a 50%+ signature weight from Flare's data providers, leveraging the same [signing policy](/network/fsp) used across the Flare Systems Protocol.
36-
- **Private Key Management**: TEE machines securely generate, store, back up, and restore private keys, enabling multi-signature wallet operations across blockchains.
31+
- **Secure Offchain Computation:** TEE machines run verifiable code in hardware-isolated environments, ensuring computation integrity even if the machine operator is untrusted.
32+
- **Cross-Chain Transaction Signing:** Protocol Managed Wallets enable programmable assembly and signing of transactions on external blockchains (XRPL, BTC) through smart contract calls on Flare.
33+
- **Fast Data Attestation:** A new TEE-based FDC enables rapid attestation of external data, where TEE machine signatures serve as proof of data provider consensus.
34+
- **Extensible Architecture:** Developers can build custom Flare Compute Extensions that run arbitrary computations within TEE machines, with results verifiable onchain.
35+
- **Decentralized Consensus:** Instructions are relayed to TEE machines only after reaching a 50%+ signature weight from Flare's data providers, leveraging the same [signing policy](/network/fsp) used across the Flare Systems Protocol.
36+
- **Private Key Management:** TEE machines securely generate, store, back up, and restore private keys, enabling multi-signature wallet operations across blockchains.
3737

3838
:::danger
3939
Although the Flare confidential compute is in the final stages of development, it is not yet publicly available.
@@ -46,9 +46,20 @@ Stay tuned for that and the upcoming guides.
4646
graph LR
4747
4848
subgraph FCCSystem["FCC System"]
49-
FC["<b>FCC Contracts</b> <p>Extensions Registration & attestation Instruction emission Private key administration</p>"]
50-
DP["<b>Data Providers & Cosigners</b> <p>Instruction relaying Instruction augmentation Data connector verification</p>"]
51-
TEE["<b>TEE Machines</b> <p>Identity Instruction verification Private key management Custom logic per extension</p>"]
49+
FC["<b>FCC Contracts</b>
50+
Extensions
51+
Registration & attestation
52+
Instruction emission
53+
Private key administration"]
54+
DP["<b>Data Providers & Cosigners</b>
55+
Instruction relaying
56+
Instruction augmentation
57+
FDC verification"]
58+
TEE["<b>TEE Machines</b>
59+
Identity
60+
Instruction verification
61+
Private key management
62+
Custom logic per extension"]
5263
end
5364
5465
Users["<b>Users</b> <p>Smart contracts Direct users</p>"] --> FC
@@ -102,14 +113,31 @@ graph TB
102113

103114
Each TEE deployment consists of two main components:
104115

105-
- **TEE Machine**: Runs inside a confidential virtual machine and is not publicly accessible.
116+
- **TEE Machine:** Runs inside a confidential virtual machine and is not publicly accessible.
106117
It sits behind a firewall and has a single configuration endpoint used by the owner.
107118
The TEE machine pulls actions from the proxy at its own pace, processes them, and pushes results back.
108119

109-
- **TEE Proxy**: A publicly accessible server that acts as the interface between the outside world and the TEE machine.
120+
- **TEE Proxy:** A publicly accessible server that acts as the interface between the outside world and the TEE machine.
110121
It receives signed instructions from data providers, manages action queues, stores results, and serves them to external users.
111122
The proxy also monitors the Flare C-chain for signing policy updates.
112123

124+
## Flare Confidential Compute Extensions
125+
126+
Applications within FCC are organized as **Flare Compute Extensions (FCE)**.
127+
Each compute extension represents an isolated set of functionalities running on TEE machines, extending the concept of smart contracts into TEE environments.
128+
A compute extension is defined by:
129+
130+
- **Supported code versions:** Each code version is a hash of the Docker image running in the confidential VM and must be reproducible.
131+
- **Registered TEE machines:** Machines running supported code versions that have been registered with an onchain attestation proof.
132+
133+
The FCC infrastructure provides the following for all compute extensions:
134+
135+
- **Identity:** Each TEE machine has a unique identity (TEE id) defined by a private key generated at boot.
136+
- **Onchain Registration:** TEE machines register within a compute extension by proving they run a supported code version, verified through machine attestation and the FDC.
137+
- **Result Verification:** Data and computation results signed by a registered TEE identity can be trusted and verified onchain.
138+
- **Instruction Relaying:** Function calls on TEE machines are triggered through instruction events on Flare's smart contracts, securely relayed by data providers.
139+
- **Private Key Management:** Compute extensions support secure key generation, backup, and restoration across TEE machines.
140+
113141
## System Applications
114142

115143
### Protocol Managed Wallets (PMW)
@@ -119,11 +147,11 @@ This introduces blockchain abstraction and external execution capabilities on Fl
119147

120148
Key capabilities:
121149

122-
- **Multisig Operations**: Wallets represent sets of private keys across multiple TEE machines, acting as signers on k-of-n native multisig accounts on external blockchains (XRPL, BTC).
123-
- **Nonce Management**: Each payment instruction is issued with a unique nonce.
150+
- **Multisig Operations:** Wallets represent sets of private keys across multiple TEE machines, acting as signers on k-of-n native multisig accounts on external blockchains (XRPL, BTC), where any k of the n keys are sufficient to authorize a transaction.
151+
- **Nonce Management:** Each payment instruction is issued with a unique nonce.
124152
On UTXO blockchains, nonces are emulated through transaction chaining.
125-
- **Reissuance and Nullification**: Transactions can be reissued with different fees, or nullified by consuming the nonce with a minimal-fee transaction.
126-
- **Execution Proofs**: FDC attestation proofs verify whether a payment was executed as expected, enabling protocols to automatically mitigate failed payments.
153+
- **Reissuance and Nullification:** Transactions can be reissued with different fees, or nullified by consuming the nonce with a minimal-fee transaction.
154+
- **Execution Proofs:** FDC attestation proofs verify whether a payment was executed as expected, enabling protocols to automatically mitigate failed payments.
127155

128156
### Flare Data Connector (FDC)
129157

@@ -133,29 +161,3 @@ Data providers parse these requests, perform attestations using their existing d
133161
Each TEE machine that receives a threshold weight of signatures from data providers and cosigners signs the attestation response with its TEE identity key.
134162
Since TEE machine identities are verified on-chain during registration, their signatures serve as proof of data provider consensus usable within smart contracts.
135163

136-
## Flare Compute Extensions
137-
138-
Applications within FCC are organized as **Flare Compute Extensions (FCE)**.
139-
Each compute extension represents an isolated set of functionalities running on TEE machines, extending the concept of smart contracts into TEE environments.
140-
A compute extension is defined by:
141-
142-
- **Supported code versions**: Each code version is a hash of the Docker image running in the confidential VM and must be reproducible.
143-
- **Registered TEE machines**: Machines running supported code versions that have been registered with an onchain attestation proof.
144-
145-
The FCC infrastructure provides the following for all compute extensions:
146-
147-
- **Identity**: Each TEE machine has a unique identity (TEE id) defined by a private key generated at boot.
148-
- **Onchain Registration**: TEE machines register within a compute extension by proving they run a supported code version, verified through machine attestation and the FDC.
149-
- **Result Verification**: Data and computation results signed by a registered TEE identity can be trusted and verified onchain.
150-
- **Instruction Relaying**: Function calls on TEE machines are triggered through instruction events on Flare's smart contracts, securely relayed by data providers.
151-
- **Private Key Management**: Compute extensions support secure key generation, backup, and restoration across TEE machines.
152-
153-
### Building Custom Extensions
154-
155-
The **Flare Confidential Compute SDK** provides a Golang framework and deployment guidelines for building custom compute extensions.
156-
Using the SDK, developers can focus on implementing specific functionalities while the framework handles:
157-
158-
- Registration and attestation of TEE machines.
159-
- Secure instruction relay from the Flare blockchain.
160-
- Verification and use of TEE machine results on-chain.
161-
- Private key management.

0 commit comments

Comments
 (0)