You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/protocol/proof-of-contribution.md
+61-4Lines changed: 61 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,7 @@ PoCo provides three core guarantees:
18
18
***Governance and access control**: users decide who can access their data.
19
19
***Trusted payments and penalties**: contributors get paid automatically, and misbehavior is economically discouraged.
20
20
21
-
PoCo allows building production-grade confidential compute workflows without needing to design trust, access, or monetization layers.
22
-
23
-
## Why PoCo matters
21
+
## Why PoCo matters?
24
22
25
23
iExec is built around confidential computing, where computations run inside Trusted Execution Environments.
26
24
Users don’t need to trust the machine running the task, TEE’s cryptographic attestation prove that execution
@@ -33,5 +31,64 @@ PoCo uses this model to guarantee:
33
31
* results come from **verified enclaves**
34
32
* payments and penalties are applied **automatically** on-chain.
35
33
36
-
In short: PoCo provides the verifiable, confidential, decentralized compute layer backed by hardware security.
34
+
In short: PoCo allows building production-grade confidential compute workflows, backed by hardware security, without needing to design trust, access, or monetization layers.
35
+
36
+
## How the TEE-centric workflow works?
37
+
38
+
This reflects the default workflow used today on iExec networks.
39
+
40
+
1. The user triggers match orders on-chain operation
41
+
42
+
A requester matches the app, dataset, and workerpool orders. This creates a **Deal** on-chain and locks the
43
+
requester’s funds.
44
+
45
+
PoCo now governs:
46
+
* who has access
47
+
* what is paid
48
+
* under which conditions the task is considered valid
49
+
50
+
2. The scheduler assigns the task to a TEE-enabled worker
51
+
52
+
The workerpool selects an available worker with the required TEE capabilities.
53
+
No replication is needed, trust comes from hardware attestation, not from multiple workers.
54
+
55
+
3. The worker executes the app inside a secure enclave
56
+
The worker runs a confidential application inside its enclave:
57
+
* the code is measured
58
+
* the environment is verified
59
+
* the enclave proves its authenticity through remote attestation
60
+
* PoCo verifies this attestation through the SMS
61
+
62
+
This guarantees:
63
+
* no one can inspect the data
64
+
* the worker cannot tamper with the execution
65
+
* results come from a genuine, verified enclave
66
+
67
+
4. Secrets are transferred securely (SMS → Enclave)
68
+
69
+
If the task uses secrets (dataset decryption key, ...):
70
+
* the Secret Management Service (SMS) enclave verifies the worker’s enclave
71
+
* secrets are provisioned for the specific enclave only
72
+
* secrets are only accessible and processed inside the TEE enclave.
73
+
74
+
This is fundamental for confidential and monetizable datasets.
75
+
76
+
5. The enclave computes and produces the result
77
+
78
+
At the end of execution, the enclave:
79
+
80
+
* makes the result available for the requester (on IPFS for example)
81
+
* signs a challenge to prove that the execution happened inside an enclave
82
+
* sends the proof to the PoCo via the worker
83
+
84
+
6. PoCo validates and finalizes the task on-chain
85
+
86
+
PoCo checks:
87
+
* worker permission to push a result for the task (through an off-chain scheduler authorization)
88
+
* enclave authenticity by validating the the enclave challenge signature
37
89
90
+
If everything is valid the ask is finalized and funds are released according to the on-chain rules:
91
+
* the requester's locked money is finally seized
92
+
* the worker gets paid
93
+
* app & dataset owners get their revenue shares
94
+
* any misbehavior results in stake-based penalties for the scheduler
0 commit comments